You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Testbench中Driver与Monitor无正确输出问题排查及代码修改建议

1x3路由器验证异常的问题排查与修改方案

一、路由器设计(router_1x3)端可能的问题

  • 选择信号解码逻辑错误:检查case语句中sel=2'b10的分支是否正确。比如是否误写为2'b01,或者default分支优先级过高覆盖了该情况。修改时确保2'b10分支明确赋值out2 = data_in(同步逻辑必须用非阻塞赋值<=)。
    // 正确的同步逻辑示例
    always @(posedge clk or negedge rst_n) begin
      if(!rst_n) begin
        out0 <= 0;
        out1 <= 0;
        out2 <= 0;
      end else begin
        case(sel)
          2'b00: out0 <= data_in;
          2'b01: out1 <= data_in;
          2'b10: out2 <= data_in; // 确认该分支存在且逻辑正确
          default: begin
            out0 <= 0;
            out1 <= 0;
            out2 <= 0;
          end
        endcase
      end
    end
    
  • 端口定义错误:检查out2是否被定义为output类型,而非input或inout;同时确认sel的位宽与Testbench一致(设计中sel需为2bit)。
  • 复位信号未正确释放:若设计带复位,确认Testbench中复位信号已在测试开始后拉低(或拉高,依复位极性),避免输出始终被复位为0。

二、Testbench Driver模块问题

  • 驱动时序不匹配:若设计为同步逻辑,Driver需在时钟边沿驱动信号,确保DUT能采样到正确值。避免直接组合逻辑赋值,改用时钟块驱动:
    // Driver中的时钟块示例
    clocking cb @(posedge clk);
      default input #1step output #0;
      output sel, data_in;
    endclocking
    
    task drive_packet;
      input [1:0] sel_in;
      input [7:0] data_in_val;
      cb.sel <= sel_in;
      cb.data_in <= data_in_val;
      @cb; // 等待一个时钟周期,让DUT完成采样
    endtask
    
  • 信号连接错误:确认Driver的sel和data_in信号已正确连接到DUT的对应端口,而非悬空或连接到错误信号。
  • 位宽不匹配:检查Driver中sel(需为2bit)和data_in的位宽是否与DUT端口一致,避免因位宽截断导致sel实际值为0。

三、Testbench Monitor模块问题

  • 采样时机错误:Monitor需在DUT输出更新后采样,同步逻辑应在时钟上升沿之后采样(比如@(posedge clk)后延迟一点,或用##1):
    always @(posedge clk) begin
      ##1; // 等待输出完成更新
      $display("out2 = %d", dut.out2);
    end
    
  • 采样信号错误:确认Monitor采集的是DUT的out2端口,而非Testbench中其他初始为0的内部信号。

四、DUT与Testbench连接问题

  • 检查顶层Testbench中DUT的端口连接,确保out2未悬空或接地,正确连接到Monitor的观测信号:
    router_1x3 dut(
      .clk(clk),
      .rst_n(rst_n),
      .sel(driver.sel),
      .data_in(driver.data_in),
      .out0(out0),
      .out1(out1),
      .out2(out2) // 确认该连接存在且正确
    );
    

内容的提问来源于stack exchange,提问作者Arjun Ram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 12:30:09