感觉挺奇怪的,原文如下,见DC UG 2019的P108。
很多模块里,比如总线模块,数据位宽等等参数都是要传递给下辖的各个模块的。如果按照这个说辞的话,岂不是变得很麻烦?
Guidelines for Modules
Observe these guidelines for modules:
• Avoid using logic expressions when you pass a value through ports.
The port list can include expressions, but expressions complicate debugging. In addition,
isolating a problem related to the bit field is difficult, particularly if that bit field leads to
internal port quantities that differ from external port quantities.
• Define local references as generics (VHDL) or parameters (Verilog). Do not pass
generics or parameters into modules.
既然章节包括两点,那么具有一定程度相关性:第一点提到Avoid using logic expressions when you pass a value through ports,故第二点Do not pass generics or parameters into modules是指避免通过input ports传入常量,而应以generics或parameters传递来实现模块内部的引用。