在#systemverilog# 关键字之 `define macros 学习笔记(1)中,我们学习了三种systerverilog 的用法,觉得还挺有意思的。今天,我们来讲一下实际中经常用到的具体用途。
在实际编写大型验证平台过程中,我们会遇到各种比较复杂的层次结构问题。比如:test_top.dut.A.B.C.D.E.F 等。如果这个层级结构比较长的话,很不方便我们去维护,容易出错,降低debug 效率。 通常,我们会封装一个带有宏参数的宏,来简化复杂性。
如下面的例子:
顶层:tb_top
test :
宏文件 uvm_user_defines.svh:
我们定义个 带有宏参数的宏 `msg
`define msg(x,y) `"x:`\`"y`\`"`"
`define TEST