【发布时间】:2020-12-29 13:36:39
【问题描述】:
有没有办法根据参数值在 Verilog 中包含文件?以下包括这两个文件,因为直到编译时才评估参数,而在此之前评估预处理器宏。实现这一目标的最佳方法是什么?
generate
if (PARAM_A == 1) begin
`include "file_a"
end else begin
`include "file_b"
end
endgenerate
【问题讨论】:
-
这似乎是XY Problem 的经典案例。请解释这两个文件中的内容,以及 PARAM_A 如何获取其值。
-
具有此代码的文件是用于实现 2 种不同设计的通用文件。这样做是为了避免重复,因为设计之间有很多共性。 PARAM_A 告诉我正在使用哪种设计。
file_a和file_b的实现在设计上也略有不同,它们包括变量、逻辑和其他设计的实例,基本上与任何其他模块一样。
标签: file include verilog system-verilog