verilog中的多个begin end语句

时间:2018-05-17 19:49:01

标签: verilog system-verilog

在verilog中同时执行不同的begin end语句吗?

以下是代码:

    //Sample test values to run simulation (module jkflop_top continues)
    initial begin
j=0; k=0; rst=1; #4 j=1; k=1; rst=0; #50 j=0; k=1; rst=0; #20 j=1; k=1; rst=0; end //Carry out simulation for 100 units of time initial begin #100 $finish; end endmodule

What the code does is it provides sample input for a j-k flip flop. As the second begin should be finished after 100 units delay from starting of the program如果它们是并发的,那么整个程序会运行100次单位?

1 个答案:

答案 0 :(得分:1)

不同的初始语句同时运行。这与begin / end无关。

仅限开始/结束组'所有代码都有一个初始值。

这里我们有两个开始/结束语句。它们不同时运行,它们按顺序运行。

   for (i=0; i<8; i=i+1)
   begin
   ... // some code
   end
   for (j=0; j<8; j=j+1)
   begin
   ... // some more code
   end

这里我们有两个初始语句,没有开始/结束。它们同时运作。

initial
   #50 reset = 1'b0;

initial
   #100 clk= 1'b1;