假设我有一些define宏,然后还有其他一些已定义的导线。
我有这样的人是什么意思?从导线中取出2个LSB只是意思吗?
`define A_DEFINE 32
// *SOME CODE IN HERE*
output [`A_DEFINE-1:0] my_out_wire;
// *MORE CODE HERE*
我似乎找不到这种含义的任何解释。
该语法`define A_DEFINE 32
声明了一个名为的宏A_DEFINE
。宏是可用于代码中文本替换的东西。
语法`A_DEFINE
意味着扩展A_DEFINE
宏。从本质上讲,这是A_DEFINE
在扩展宏的地方获取值并复制的。
预处理器为您完成此操作。本质上,您将得到:
// *SOME CODE IN HERE*
output [32-1:0] my_out_wire;
// *MORE CODE HERE*
如果您需要在代码中包含可配置的元素,则定义很方便。这样,如果您有多个信号应该一样宽,则只需使用定义。如果您需要从32更改为64,只需修改定义即可。
也看看SystemVerilog parameter
。这也可能会有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句