Это не код "ModelSim", как код Visual Studio. Это Verilog .
Маркер #
означает задержку в наносекундах.
Итак, что означает этот код:
- При t = 0 установите tb_in_top на все 0.
- При t = 5 нс установите tb_in_top в 4-битное двоичное значение 0000.
- При t = 10 нс установите tb_in_top в 4-битное двоичное значение 0001.
- При t = 15 нс установите tb_in_top в 4-битное двоичное значение 0010.
- При t = 20 нс установите tb_in_top в 4-битное двоичное значение 0011.
(... продолжайте считать, увеличивая tb_in_top на 1 каждые 5 нс ...)
- При t = 80 нс установите tb_in_top в 4-битное двоичное значение 1111.
- При t = 180 нс завершить моделирование.
Да, у 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
Наконец, обратите внимание, что Verilog, использующий операцию задержки #
, не может быть синтезирован в логику; его можно использовать только для симуляции.