【芯片设计- RTL 数字逻辑设计入门 4.1 -- verilog 组合逻辑和时序逻辑延时比较】

时间:2025-05-14 11:50:21

文章目录

  • Overview
    • 时间线简单示意

Overview

我们来详细分析下面这段 RTL Codesbcs_sbbusy 为什么会比 sbcs_sbbusy_nx 慢一拍(晚一个时钟周期变化)。

assign sbcs_sbbusy_nx = set_sbcs_sbbusy;

always @(posedge clk or negedge dmi_resetn) begin
  if (!dmi_resetn) begin
    sbcs_sbbusy <= 1'b0;
  end
  else begin
    sbcs_sbbusy <= sbcs_sbbusy_nx;
  end
end

如上代码所示:

  • sbcs_sbbusy_nx组合逻辑 ,通过 assign 直接连接到 set_sbcs_sbbusy

  • sbcs_sbbusy寄存器(reg) ,是通过 posedge clk (时钟上升沿)触发赋值的同