关键词:$display, $write, $strobe, $monitor
Verilog 中主要用以下 4 种系统任务来显示(打印)调试信息:$display
, $write
, $strobe
, $monitor
。
$display
$display
使用方法和 C 语言中的 printf
函数非常类似,可以直接打印字符串,也可以在字符串中指定变量的格式对相关变量进行打印。例如:
$display("This is a test."); //直接打印字符串
$display("This is a test number: %b.", num); //打印变量 num 为二进制格式
如果没有指定变量的显示格式,变量值会根据在字符串的位置显示出来,相当于参与了字符串连接。例如:
$display("This is a test number: ", num, "!!!");
如果没有指定格式,$display
默认显示是十进制。$displayb
, $displayo
, $displayh
显示格式分别为二进制、八进制、十六进制。同理也有 $writeb
, $writeo
, $writeh
, $strobeb
等。
下表是常用的格式说明。
%h 或 %H | 十六进制格式输出 | %c 或 %C | ASCII 码格式输出 |
%d 或 %D | 十进制格式输出 | %e 或 %E | 指数格式输出 |
%o 或 %O | 八进制格式输出 | %f 或 %F | 浮点数 (real 型) 格式输出 |
%b 或 %B | 二进制格式输出 | %t 或 %T | 当前时间格式输出 |
%s 或 %S | 字符串格式输出 | %m 或 %M | 当前层次访问路径输出 |
还可以使用转义字符显示特殊字符,例如:
换行符 | %% | 百分号”%” | |
制表符(Tab 键) |