【问题标题】:Importing values from external file using `include使用 `include 从外部文件导入值
【发布时间】:2020-07-30 01:56:21
【问题描述】:

我想在外部文件中定义一组全局参数值并将它们导入 Verilog(不是 SystemVerilog)文件。我怎样才能做到这一点?我知道这可以在 VHDL 中使用 pkg 来完成,我期待类似的东西。

我正在尝试这个:

对于主模块:

        module temp (
        `include "file.vh"
        input [WIDTH:0] data_in,
        output reg [WIDTH:0] data_out,
        input clk
    );
        always @(posedge clk) begin
            data_out <= data_in;
        end
    endmodule

还有一个file.vh 文件:

    `define WIDTH = 12;

请在此处纠正我,因为此代码不起作用。

【问题讨论】:

    标签: verilog register-transfer-level


    【解决方案1】:

    您的代码中有一些语法错误。您将 define 宏语法与 parameter 语法混淆了。我假设你想要宏。这些更改将修复错误。

    对于文件file.vh,使用:

    `define WIDTH 12
    

    对于模块,使用:

    `include "file.vh"
    
    module temp (
            input      [`WIDTH:0] data_in,
            output reg [`WIDTH:0] data_out,
            input clk
        );
            always @(posedge clk) begin
                data_out <= data_in;
            end
    endmodule
    

    define 宏使用简单的文本替换。您只想用数字 12 替换 WIDTH 文本;你不想使用=;

    在模块中使用宏时,需要在前面加上反引号:

    `WIDTH
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-09
      • 1970-01-01
      • 2020-12-22
      • 2019-01-16
      • 1970-01-01
      • 2011-05-24
      • 2021-01-03
      • 1970-01-01
      相关资源
      最近更新 更多