我有一个“受约束”的模块,其中有几个延迟作为参数。我想模拟模块中所有可能的延迟配置。
由于我有很多配置要测试,我不想在同一个测试台中实例化所有可能的配置。
我的想法是为每个配置启动一个模拟。
我考虑过生成一个模拟脚本,该脚本将为每个延迟配置启动模拟。问题是我无法使用从命令行检索到的值来覆盖模块的参数。
我用$value$plusargs("ARG=%d",val)
的和是变量的事实val
与后面的不兼容defparam
。
完美的事情是从命令行参数创建一个定义或 localparam,但我在研究中没有找到任何关于它的信息。
我也愿意接受有关另一种方式进行这些模拟的任何建议,也许更有效,因为我认为这样做会很长。
PS:为了避免为每种配置重新编译和重新启动模拟器,我还考虑过在每种情况下重新实例化测试模块。但是,我认为(系统)verilog 不可能。