SystemVerilog宏不需要'';在一行的末尾

SystemVerilog宏不需要'';在一行的末尾,verilog,system-verilog,uvm,Verilog,System Verilog,Uvm,在SystemVerilog中,不需要添加“”'在一行的末尾。例如: `uvm_do(pkt) 我想知道为什么编译器可以处理这个问题,但是如果没有“”,就不能处理常规行' SystemVerilog总是要求在语句的末尾加分号 但是,您需要查看由UVM宏展开的代码。大多数宏扩展为如下代码: `define uvm_whatever \ begin \ some_code(); \ end 如果要手动键入开始/结束代码,则结束后不需要分号。因此,在宏调用的末尾不需

在SystemVerilog中,不需要添加“
'在一行的末尾。例如:

`uvm_do(pkt) 

我想知道为什么编译器可以处理这个问题,但是如果没有“
”,就不能处理常规行'

SystemVerilog总是要求在语句的末尾加分号

但是,您需要查看由UVM宏展开的代码。大多数宏扩展为如下代码:

`define uvm_whatever \
    begin \
       some_code(); \
    end
如果要手动键入开始/结束代码,则
结束后不需要分号。因此,在宏调用的末尾不需要分号

以下是来自UVM文档的报价:

宏表示文本替换,而不是语句,因此它们应该 不能用分号终止