微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > verilog里的for循环使用 菜鸟求助

verilog里的for循环使用 菜鸟求助

时间:10-02 整理:3721RD 点击:
看到了下面2种写法,请问有什么区别啊?
1》 for循环在always模块外面,例如:
for(i=0;i<8;i=i+1)
always(......)
2>for循环再always模块里面,例如:
always @( posedge clk or negedge rst)
if (~rst_n)
for(i=0;i<8;i=i+1)
......

2比1好。
但从可综合的角度看, 都不推荐。  最好改用计数器来做。  可以多看看别人写的代码。

个人觉得for循环相当于是一个重复的 自己体验一下

第二个可综合,第一个没试过是否可综合

【1】第一种里面,最能让tool看明白,并且精确mapping的做法是用  generate,而不是for。可以看verilog的标准
【2】用for,说明coder的潜意识还是试图建立一种“data structure” 且相信tool可以精确识别,所以还是在写自顶向下的software,而不是自底向上的hardware

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top