verilog之display

Posted electricdream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了verilog之display相关的知识,希望对你有一定的参考价值。

verilog之display

1、函数简介

$display是用于显示不同格式的变量的函数,用于测试过程中观察数据数据的特点。该观测不如波形图直观,但是如果可以详细的设置好观测点,有时可以达到事半功倍的效果。

2、实际测试

module display;
    
/* 数据类型简写
%h或%H 以十六进制数的形式输出
%d或%D 以十进制数的形式输出
%o或%O 以八进制数的形式输出
%b或%B 以二进制数的形式输出
%c或%C 以ASCII码字符的形式输出
%v或%V 输出网络型数据信号强度
%m或%M 输出等级层次的名字
%s或%S 以字符串的形式输出
%t或%T 以当前的时间格式输出
%e或%E 以指数的形式输出实型数
%f或%F 以十进制数的形式输出实型数
%g或%G 以指数或十进制数的形式输出实型数,无论何种格式都以较短的结果输出
*/    
/*转义字符

 换行
	 横向跳格(即跳到下一个输出区)
\ 反斜杠字符" 双引号字符"
o 1到3位八进制数代表的字符
%% 百分符号%
*/
/*功能区分
$display自动地在输出后进行换行,
$write则不是这样。如果想在一行里输出多个信息,可以使用$write
*/
/*具体例子
*/
reg [3:0] a;
initial begin
a=1b1;
$display("\ " 	 o %d %% 
",a);
$display("a= %d",a);
$display("a= %d",a);
$write("a= %d",a);
$write("a= %d",a);
end
endmodule

3、测试结果

run -all
#  "      o  1 % 
# 
# a=  1
# a=  1
a=  1a=  1

可以看到display显示分行,而write只是在同一行工作。一个成段,一个成句,基本功能还是一致的。

以上是关于verilog之display的主要内容,如果未能解决你的问题,请参考以下文章

verilog HDL 的$display显示的信息在哪里?

Verilog $display用来在哪里输出信息?过程与步骤

Verilog中的$display和$write任务

Verilog设计中#,$display,initial为啥不可综合?

verilog $*命令

verilog作业