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