uvm_report機制,例如uvm_info、uvm_warning、uvm_error、uvm_fatal,列印出的資訊包含有檔案名和行号,那麼uvm是如何擷取檔案名和行号的呢?
在uvm源代碼中可以看到,調用了uvm_file和uvm_line這兩個宏,這兩個宏又分别指向了__FILE__和__LINE__這兩個宏。
關于__FILE__和__LINE__
`__FILE__和`__LINE__作為編譯指令,在編譯階段被替換掉:
`__FILE__被替換為目前檔案的檔案名,以字元串的形式存在。
`__LINE__被替換為目前檔案的行号,以十進制數字的形式存在
那如何開關呢?
關: 定義define UVM_REPROT_DISABLE_FILE 和 UVM_REPORT_DISABLE_LINE
開: 不定義上述define即可