跨模块引用解析错误 - verilog 检查未定义的跨模块引用
Cross-module reference resolution error - verilog checks for undefined cross-module reference
我正在一个具有不同编译原语的环境中工作
COMP_ALL_MODULES
- 用于编译所有模块
COMP_SELECT_MODULES
- 用于编译一组选定的模块
因此,我面临 COMP_SELECT_MODULES 的以下错误,而不是 COMP_ALL_MODULES
Error found while trying to resolve the cross-module reference. token
'BLK_B'
下面的源代码
assign clock = top.dut.BLK_B.clk;
碰巧 COMP_SELECT_MODULES 没有编译 BLK_B 从而导致错误。
在 C 编程中,我尝试了 'ifdef 检查,如下所示。但这甚至为 COMP_ALL_MODULES.
编译了时钟分配
`ifdef top.dut.BLK_B
assign clock = top.dut.BLK_B.clk;
`else
assign clock = 1'b0;
`endif
大家能否建议如何检查未定义的跨模块引用,如上所示?
你当然想要
`ifndef COMP_SELECT_MODULES
assign clock = top.dut.BLK_B.clk;
`else
assign clock = 1'b0;
`endif
`ifdef 语句测试特定符号是否已定义(例如`COMP_ALL_MODULES 或`COMP_SELECT_MODULES)而不是层次结构中的特定位置是否存在。
我正在一个具有不同编译原语的环境中工作
COMP_ALL_MODULES
- 用于编译所有模块COMP_SELECT_MODULES
- 用于编译一组选定的模块
因此,我面临 COMP_SELECT_MODULES 的以下错误,而不是 COMP_ALL_MODULES
Error found while trying to resolve the cross-module reference. token 'BLK_B'
下面的源代码
assign clock = top.dut.BLK_B.clk;
碰巧 COMP_SELECT_MODULES 没有编译 BLK_B 从而导致错误。
在 C 编程中,我尝试了 'ifdef 检查,如下所示。但这甚至为 COMP_ALL_MODULES.
编译了时钟分配`ifdef top.dut.BLK_B
assign clock = top.dut.BLK_B.clk;
`else
assign clock = 1'b0;
`endif
大家能否建议如何检查未定义的跨模块引用,如上所示?
你当然想要
`ifndef COMP_SELECT_MODULES
assign clock = top.dut.BLK_B.clk;
`else
assign clock = 1'b0;
`endif
`ifdef 语句测试特定符号是否已定义(例如`COMP_ALL_MODULES 或`COMP_SELECT_MODULES)而不是层次结构中的特定位置是否存在。