2015-10-17 113 views
0

我想在verilog設計中使用循環,出於某種原因for循環的初始值沒有設置正確。 我嘗試在verilog中編寫一個簡單的for循環並檢查模擬。我仍然得到錯誤的初始值。Verilog For循環:錯誤的初始值

這是簡單的for循環我想:

integer j; 
always @(posedge clk) 
begin 
    for (j=0; j< 16; j=j+1) 
    begin 
    count <= count+1; 
    end 
end 

在模擬中,j的第一個轉變是從X到16 有人能幫助我嗎?

+1

這**的**循環的一個時鐘週期內完成即** **Ĵ增量從0到16,在一個時鐘週期。因此,你只能看到j的最終值,它是16,最初是** j = x **,因爲它之前沒有被初始化。 – ssgr

回答

0

由於ssjr在評論中表示always @(posedge clk)表示一個觸發器,其中包含的所有內容都是在一個時鐘週期的模擬中完成的。

數到15,你可能有:

reg [3:0] count; 
always @(posedge clk) begin 
    if (count < 5'd15) begin 
    count <= count+1; 
    end 
end