在 verilog 中是否有任何方法可以编写包含注释的宏,以便在宏的每个实例中“实例化”注释?我需要宏内的注释来关闭对宏中其他代码的 lint 投诉。
不鼓励使用工具的注释编译指示。 (System)Verilog LRM 对注释在宏处理中的使用不是很清楚。很明显,单行注释(以
//
开头)不是扩展文本的一部分,但没有提及/* mult-line */
注释。大多数预处理器删除了expandint 文本之前的所有注释。
Verilog-2001 为语言添加了属性
(* text *)
,但人们仍然不知道他们应该使用它们而不是注释。
你应该使用块注释(
/* */
)和可能的多行宏。例子:
`define macro_with_comment \
/* your comment here */ \
macro_body_here \
/* another your comment here */ \
another_line
请注意,如果出现问题,宏很难调试。
关于:
`定义 macro_with_comment(SLASH_CHAR=/) \
``SLASH_CHAR``SLASH_CHAR 在这里写下你的评论\
宏体在这里\
``SLASH_CHAR``SLASH_CHAR 在这里写下你的评论\
宏观身体在这里...