(系统)verilog 宏包含注释?

(System)verilog macro containing a comment?

在 verilog 中是否有任何方法可以编写包含注释的宏,以便在宏的每个实例中注释都为 'instantiated'?我需要宏内的注释来关闭对宏中其他代码的 lint 投诉。

您应该使用块注释 (/* */) 和可能的多行宏。示例:

`define macro_with_comment \
  /* your comment here */ \
  macro_body_here \
  /* another your comment here */ \
  another_line

请注意,如果出现问题,宏很难调试。

不鼓励对工具使用注释 pragma。 (System)Verilog LRM 对注释在宏处理中的使用不是很清楚。很明显,单行注释(前面有 // 不是扩展文本的一部分,但没有提到 /* mult-line */ 注释。大多数预处理器会删除 expandint 文本之前的所有注释。

Verilog-2001 向语言添加了属性 (* text *),但人们仍然不知道他们应该使用它们而不是注释。