0
在構建流水線處理器的過程中,似乎時序邏輯正在PC中創建一個1週期的延遲,從PCFetch中的值中更新。我的Verilog代碼如下連續邏輯中的傳播延遲
[email protected](posedge clk)
begin
if(rst)
PC <= 0;
else
PC <= PCFetch;
end
PCFetch是另一個模塊實例化的輸出。所以假設時鐘週期X,PCfetch被更新爲0002.然而,PC的更新僅在時鐘週期x + 1發生。我聽說這是由於時序邏輯造成的傳播延遲。有什麼方法可以解決它。
我用分配PC = rst? 16'b0:PCFetch; 這應該有與我的順序塊相同的邏輯right/ – kype
@kype您應該重置您的PCFetch信號,因爲我認爲這是您的觸發器。您不需要重置組合信號。 – Russell