我正在构建一个流水线处理器,似乎顺序逻辑在我的 PC 中创建了 1 个周期的延迟,从 PCFetch 中的值更新。我的verilog代码如下
always@(posedge clk)
begin
if(rst)
PC <= 0;
else
PC <= PCFetch;
end
PCFetch 是另一个实例化模块的输出。因此假设时钟周期 X,PCfetch 更新为 0002。但是,PC 的更新仅发生在时钟周期 x+1。我听说这是由于顺序逻辑引起的传播延迟。有什么办法可以解决。