Configuration 使用“ifndefine”的系统verilog顶级配置

Configuration 使用“ifndefine”的系统verilog顶级配置,configuration,verilog,Configuration,Verilog,我有一个顶层文件,它是基于以下代码在内部配置的 `ifndef VAR_NAME `define CONFIG_VARIABLE = 1 else `define CONFIG_VARIABLE = 0 我想从sv测试文件中控制VAR_名称 我怎样才能做到这一点 谢谢完成此操作的唯一方法是确保在顶部文件之前编译测试文件,并且两个文件位于同一编译单元中。(这意味着它们不能单独编译 这是一种糟糕的方法,因为您不能重写`define,只能在编译流的下游替换它。更好的方法是使用参数并让测试实例化顶部。

我有一个顶层文件,它是基于以下代码在内部配置的

`ifndef VAR_NAME
`define CONFIG_VARIABLE = 1
else
`define CONFIG_VARIABLE = 0
我想从sv测试文件中控制VAR_名称

我怎样才能做到这一点


谢谢

完成此操作的唯一方法是确保在顶部文件之前编译测试文件,并且两个文件位于同一编译单元中。(这意味着它们不能单独编译


这是一种糟糕的方法,因为您不能重写
`define
,只能在编译流的下游替换它。更好的方法是使用参数并让测试实例化顶部。

您不能在测试中执行。文本宏定义是编译时属性。