19.3 `define and `undef
19.3.1 `define
`define wordsize 8 reg [1:`wordsize] data; //定义一个带有可变延迟的nand `define var_nand(dly) nand #dly `var_nand(2) g121 (q21, n10, n11); `var_nand(5) g122 (q22, n10, n11);
下面的语法是非法的,因为它被拆分为字符串:
`define first_half "start of string $display(`first_half end of string");
每一个形式参数被替换位字面意义上的形式参数。因此,当一个表达式被用作实际的参数时,该表达式将被完全替换。如果在宏文本中多次使用形式参数,这可能会导致表达式被求值多次。例如:
`define max(a,b) ((a) > (b) ? (a) : (b)) n = `max(p+q, r+s) ;
19.3.2 `undef
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215232.html原文链接:https://javaforall.net
