FPGA中for语句问题

由于没有时钟输入,所以不用在always里面的话怎么用?
说不清楚的话给我个实例也行

第1个回答  2010-12-01
在RTL级建模中,FOR语句更多地是表示一种电路复制的含义,它根据循环次数对电路进行复制。
下面是一个5bit循环异或门按一定规律复制了4次,for(i=1;i<=5;i=i+) gray_cnt_temp[i-1]=cnt[i-1]^cnt[i]; 下面还有一个错误的例子:用FOR语描述一个计数器,for(i=1;i<1000;i=i+1) counter<=counter+1;事实上,将例将会把一个加法器电路复制1000次,违反了设计原则。一般的FOR语句也是不会放到always语句里面的,通常把放到task中,还实现子程序类似功能。可参考下面的参考资料。

参考资料:王钿《基于VerilogHDL的数字系统的设计》

本回答被网友采纳
第2个回答  2010-12-02
最好用在always里。我记得有书说过综合的话只能用在always里。
仿真时用generate命令。
上楼解释的有些问题。本回答被提问者采纳
第3个回答  2010-12-02
verilog中的for循环和C语言中的for循环不一样,表示的是电路的硬件行为,循环几次,就是将相同的电路复制几次!因此循环次数越多,占用面积越大,综合就越慢
相似回答
大家正在搜