首页 文章

顶级测试平台SystemVerilog中的时钟生成

提问于
浏览
0

我只是尝试了一个SystemVerilog示例 .

最高级别的测试平台如下所示:

module top();
  // `timescale 1ns/1ps

    reg_intf intfc(.clk(Clk));
   register_m dut (intfc);
   register_test_m (intfc);

   bit Clk = 0;
   initial 
   forever #1 Clk = ~Clk;
endmodule : top

reg_intf 是一个接口, register_m 是设计模块, register_test_m 是程序(testbench) .

我得到编译错误 -

网络类型不能在此分配的左侧使用 . 违规表达式为:Clk来源信息:Clk =(~Clk);

我尝试使用Logic,Reg,Wire for Clk并得到了同样的错误 .

你能建议一下吗?

1 回答

  • 1

    在使用之前移动 Clk 的声明:

    module top();
      // `timescale 1ns/1ps
    
       bit Clk = 0;
    
        reg_intf intfc(.clk(Clk));
       register_m dut (intfc);
       register_test_m (intfc);
    
       initial 
       forever #1 Clk = ~Clk;
    endmodule : top
    

    与您的问题无关:您需要register_test_m模块的实例名称:

    register_test_m tb (intfc);
    

相关问题