请教512个数相加的verilog代码,如何循环简化?急急
时间:10-02
整理:3721RD
点击:
请教verilog hdl 高手:
reg[15:0] addt[511:0];//定义一个512个一维数组
wire[31:0] sumd;
assign sumd=addt[0]+addt[1]+addt[2]+addt[3]+addt[4]+addt[5]+....addt[511];//如何这样写,代码太长了。
请高手指点,如何简化啊。多谢多谢!
reg[15:0] addt[511:0];//定义一个512个一维数组
wire[31:0] sumd;
assign sumd=addt[0]+addt[1]+addt[2]+addt[3]+addt[4]+addt[5]+....addt[511];//如何这样写,代码太长了。
请高手指点,如何简化啊。多谢多谢!
一定要求一个周期完成?
可以用for循环试试
不是代码太长的问题,写出来综合频率得多低啊。
明明是dsp的事情,非要用fpga一个个的加。
对每一位计数,【15:0】一共16个计数器,然后乘以每一位的系数。
【15】对应的计算器乘以2^16最后16个数相加。
楼上说的对,代码长不长是小问题,你这一个周期完成,时钟得多慢呀。如果非要这样可以用generation里面加for循环
