【问题标题】:Clock generation in top level testbench顶级测试台中的时钟生成
【发布时间】:2013-10-15 12:38:45
【问题描述】:

我的测试平台的顶层如下所示:

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是程序(测试台)。

我得到这个编译错误:

网络类型不能用于此作业的左侧。这 违规表达式是:Clk Source info: Clk = (~Clk);

我尝试将logicregwire 用于Clk 并得到同样的错误。

【问题讨论】:

    标签: verilog system-verilog


    【解决方案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);
    

    【讨论】:

    • 应该注意,您收到该错误的原因是因为Clk 在端口映射中首次遇到时被隐式声明为线路或网络类型。
    猜你喜欢
    • 2019-10-10
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多