在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
人气:301 ℃ 时间:2020-05-28 09:17:35
解答
initial块内的语句从上到下只执行一次 不符合电路的运行模式 所以是不可综合的 它一般用来仿真时赋值;你这个代码里面的initial就是用来给输入赋值测试你这个全加器的.always块内的语句是反复执行的 一般写成类似于 ...请问initial既然只执行一次,那还要了干嘛?仿真 初始化各种数据啊 比如说 你这个程序 每隔五个时钟 改变一下输入 测试输出是否正确 基本上就是这么用的
推荐
猜你喜欢
- 文言文里什么叫虚词实词.比如呢
- 中心不在原点的椭圆方程
- 关于x的不等式x²-(2+a)x+2a>0的解集为
- 探索规律:二分之一,负六分之一,十二分之一,负二十分之一,三十分之一,( ),五十六分之一
- 一天有个年轻人来到王老板的店里买了一件礼物,这件礼物成本是18元,标价是21元.结果是这个年轻人掏出100元要买这件礼物.王老板当时没有零钱,用那100元向街坊换了100元的零钱,找给年
- Mrs Black is Ann's mother.(同义句转换)
- 在等差数列{an}中,已知前三项和为15,最后三项和为78,所有项和为155,则项数n=( ) A.8 B.9 C.10 D.11
- 六年级学生制作了176件蝴蝶标本,分别在展板上展出.展板有两种,其中大展板用了6块,小展板用了7块,大展板每块贴的标本比小展板贴的2倍多4件,大展板每块可贴多少件标本?