在verilog里always和 initial的区别是什么?

2024-11-25 23:13:58
推荐回答(2个)
回答1:

verilog描述的是硬件电路。所以initial语句只能用在仿真时测试平台testbench中。
可以使用状态机来描述。
具体步骤如下:
1.根据功能画出状态转换图
2.参考状态机写法,将你的图用verilog实现
3.按要求编写仿真平台testbench
4.状态机和测试平台编译通过后使用quartus或ISE调用modelsim仿真
5.仿真通过,设计完成。

回答2:

initial块内的语句从上到下只执行一次 不符合电路的运行模式 所以是不可综合的 它一般用来仿真时赋值;你这个代码里面的initial就是用来给输入赋值测试你这个全加器的。。
always块内的语句是反复执行的 一般写成类似于 always @ (posedge clock or negedge reset) 或 always @ (*)的形式写成时序或组合逻辑