1
我希望連接例如信號取決於宏的值:如何實現信號連接取決於SystemVerilog中宏的值(`如果FOO == X)?
moduleA u_MODULE_A (
...
`if FOO == 0
.a (siga),
.b (sigb),
.c (sigb),
`elif FOO == 1
.a (sigb),
.b (siga),
.c (sigc),
`elif FOO == 2
.a (sigc),
.b (sigb),
.c (siga),
...
`endif
...);
的moduleA
有超過100個端口和FOO
宏有在目前15倍可能的值(將增加更多)。
我現有的解決方案是: 1.爲每個值創建附加宏:FOO_0,FOO_1,... 2.使用generate多次實例化moduleA。
這兩種解決方案都有很多維護代碼的工作。
有沒有人有更好的解決方案?