以下是一些modelsim代码:
begin
tb_in_top = 0;
#5 tb_in_top = 4'b0000;#5 tb_in_top = 4'b0001;
#5 tb_in_top = 4'b0010;#5 tb_in_top = 4'b0011;
#5 tb_in_top = 4'b0100;#5 tb_in_top = 4'b0101;
#5 tb_in_top = 4'b0110;#5 tb_in_top = 4'b0111;
#5 tb_in_top = 4'b1000;#5 tb_in_top = 4'b1001;
#5 tb_in_top = 4'b1010;#5 tb_in_top = 4'b1011;
#5 tb_in_top = 4'b1100;#5 tb_in_top = 4'b1101;
#5 tb_in_top = 4'b1110;#5 tb_in_top = 4'b1111;
#100 $finish;
end
Run Code Online (Sandbox Code Playgroud)
#5和#100代表什么?这些行号是?这段代码有问题吗?
它不是"ModelSim"代码,而是"Visual Studio"代码.这是Verilog.
该#令牌标志着纳秒的延迟.
所以这段代码意味着:
(...继续计数,每5 ns将tb_in_top增加1 ......)
是的,Verilog有for循环,是的,那应该是一个.
该for循环将如下所示:
integer index;
reg [3:0] tb_in_top;
begin
tb_in_top = 0;
for(index = 0; index < 16; index = index + 1)
begin
#5 tb_in_top = tb_in_top + 4'h1;
end
#100 $finish;
end
Run Code Online (Sandbox Code Playgroud)
最后,请注意使用#延时操作的Verilog 无法合成逻辑; 它只能用于模拟.
| 归档时间: |
|
| 查看次数: |
918 次 |
| 最近记录: |