【问题标题】:How to pass parameters to a verilog module when performing synthesis?执行综合时如何将参数传递给verilog模块?
【发布时间】:2015-03-28 23:53:44
【问题描述】:

我有一个参数化的 verilog 模块,其位宽是可变的,具体取决于 `define WIDTH 中给出的值。

但是,我希望能够通过在使用设计编译器的综合过程中传入一个参数来以某种方式更改 WIDTH 的值。

我想知道是否有办法做到这一点?

例如,我希望能够为设计编译器的输入文件编写以下内容:

analyze -format sverilog -define WIDTH 10 myverilogfile.v

【问题讨论】:

  • 这可能取决于您的设计编译器,请先参阅用户手册。如果编译器中没有内置该功能,一个想法是编写一个小脚本来用一个值替换关键字,然后运行分析函数。

标签: verilog system-verilog hdl synthesis register-transfer-level


【解决方案1】:

对于设计编译器,格式为:

analyze -format sverilog -define WIDTH=10,DEPTH=128 myverilogfile.v

【讨论】:

  • 如果我使用参数化模块怎么办?不是定义文件
【解决方案2】:

是的,大多数编译器都允许您这样做。它是特定于工具的,但没有标准规范。最常见的格式是+define+WIDTH=10;不过,您必须检查编译器的文档或帮助(或实验)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    • 2020-03-18
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多