1. 程式人生 > >關於always塊內for循環的執行方式

關於always塊內for循環的執行方式

inpu inf idt 波形 模塊 for循環 周期 執行 param

//該模塊主要用來說明for結構在時序邏輯中的執行方式
module for_test(input clk_1,nrst,output now_nine,nrst_pos,output reg[9:1] eq_dly
    );
    integer i;
    parameter eq=1b1;
 always @(posedge clk_1 or negedge nrst)   
    begin
      if (!nrst) 
           for (i=1; i<=9; i=i+1)
               eq_dly[i] <= 0;  
       
else begin eq_dly[1] <= eq; for (i=1; i<9; i=i+1) //說明了整個 eq_dly[9:1]=9‘b111111111;並不是一個時鐘周期就完成了賦值。而是經過個九個時鐘沿!!!! eq_dly[i+1] <= eq_dly[i]; end end assign now_nine = !(&(eq_dly)); assign nrst_pos = !(eq && now_nine);
endmodule

波形文件如下:

技術分享圖片

關於always塊內for循環的執行方式