verilog中显示FILE名和LINE号以及define中特殊符号的使用


资料来源

(1)Verilog系列:【63】如何显示FILE名和LINE号 (qq.com)

(2)system verilog standard;

1.如何显示FILE名和LINE号

(1)`_FILE_提供文件的完整路径和文件名;如果用在被包含文件中,则返回被包含的文件名;

(2)`_LINE_用以指示本行语句在源文件中的位置信息;

注1:下图中定义MY_PRINT宏时,采用了\符号;

注2:下图中定义MY_PRINT宏时,object的两侧没有必要使用``,已经实测;

2.define中特殊符号的使用(uvm源码中使用频度较高)

注:该块内容会随着理解程度的加深做进一步的update;

(1)`define宏中可以包含\,`", `\`"以及``;

(2)\符号用于define的多行定义;

(3)`"需要成对出现,define扩展后,`消失,"保留,使用`"可以内嵌宏并将其转换为字符串;

`define FRUIT_NAME apple

`define FRUIT_NUM 20

`define FRUIT_INFO `"`FRUIT_NAME``_```FRUIT_NUM`"

(4)``用于隔离,像是隔离嵌套的宏与其他字符,define扩展后,``消失;

(3)通过例子可以看出,`或者``在define扩展后消失了,其他内容保留;