在verilog里always和 initial的区别是什么?
module tb_fulladder;
wire SUM,C_OUT;
reg A,B,C_IN;
fulladder m1(.sum(SUM),
.c_out(C_OUT),
.a(A),
.b(B),
.c_in(C_IN));
initial
begin
A=1'd0;B=1'd0;C_IN=1'd0;
#5 A=1'd1;B=1'd1;C_IN=1'd1;
#5 A=1'd0;B=1'd1;C_IN=1'd1;
#5 A=1'd1;B=1'd0;C_IN=1'd0;
#5 A=1'd1;B=1'd1;C_IN=1'd0;
end
endmodule
这为什么用 initial
人气:354 ℃ 时间:2020-05-28 09:17:35
解答
initial块内的语句从上到下只执行一次 不符合电路的运行模式 所以是不可综合的 它一般用来仿真时赋值;你这个代码里面的initial就是用来给输入赋值测试你这个全加器的.always块内的语句是反复执行的 一般写成类似于 ...请问initial既然只执行一次,那还要了干嘛?仿真 初始化各种数据啊 比如说 你这个程序 每隔五个时钟 改变一下输入 测试输出是否正确 基本上就是这么用的
推荐
- verilog 里面,always和always@(*)有区别吗?
- 求静置,沉淀,过滤,吸附的区别
- 什么是机构的死点位置?用什么方法可以通过死点位置?
- 20℃时100克硫酸铝饱和溶液中有3克铝元素,则20℃时硫酸铝溶解度是
- GGMM叔叔阿姨~^^
- 李同学过年收到压岁钱1000元,妈妈帮他存进银行,年利率是10%,半年复利一次,那么李同学5年后存款的为多少呢.
- 用心急如焚,争先恐后造句
- 男孩的英文怎么拼写?
猜你喜欢