1 / 85
文档名称:

Verilog HDL培训:如何编写TESTBENCH.pdf

格式:pdf   页数:85
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Verilog HDL培训:如何编写TESTBENCH.pdf

上传人:经管专家 2013/11/29 文件大小:0 KB

下载得到文件列表

Verilog HDL培训:如何编写TESTBENCH.pdf

文档介绍

文档介绍:如何编写TESTBENCH
计算机学院微电子所627室
陈海燕
08:29 1
主要内容
„ Verilog对验证的支持
„ 系统函数和系统任务
„ 如何编写模块的TESTBENCH
08:29 2
系统任务和系统函数
„ 是Verilog中预先定义好的,用于调试和编译
预处理的任务或函数。
以$开头,用于控制和检测仿真模拟过程
主要有:
(1)用于获取仿真时间的系统函数
(2)支持文本输出(检测信号、显示信号)的
系统任务
(3)用于文件输入、输出操作的系统任务
(4)用于暂停和退出仿真的系统任务
(5)用于产生随机数的系统任务
08:29 3
获取当前仿真时间的系统函数
„ $time,$realtime,$stime:返回当前仿真时
间。
„ $time返回一个64位的整数时间值,
„ $realtime返回的结果是实数时间值,是更为精确的
仿真时间
32
„ $stime返回一个32位整数时间值。(对大于2 的
时间,返回模232的值。使用它可以节省显示及打
印空间。)
„ 这些函数的返回值使用调用模块中`timescale
定义的模块仿真时间尺度为单位
08:29 4

..\..\verilog_example\
..\..\verilog_example\
# At time 0, input is 0,0,0, output is,xxxx
# At time 4, input is 0,0,0, output is,1111
# At time 10, input is 0,0,1, output is,1111
# At time 13, input is 0,0,1, output is,0111
# At time 20, input is 1,0,1, output is,0111
# At time 23, input is 1,0,1, output is,0101
# At time 26, input is 1,0,1, output is,1101
# At time 30, input is 1,1,1, output is,1101
# At time 33, input is 1,1,1, output is,1100
# At time 36, input is 1,1,1, output is,1110
# At time 40, input is 0,1,1, output is,1110
# At time 44, input is 0,1,1, output is,1011
# At time 50, input is 0,0,1, output is,1011
08:29# At time 54, input is 0,0,1, output is,0111 5
Verilog支持的文本输出的系统任务
显示任务:用于仿真模拟期间显示信息。
$display
$write
$strobe
$monitor
08:29 6
$display
„ $display输出参数列表中信号的当前值。
语法:$display([“ format_specifiers”,] <argument_ list>);
„ $display输出时会自动换行。
$display ($ time, “%b \t %h \t %d \t %o”, sig1, sig2, sig3, sig4);
$display ($ time, “%b \t”, sig1, “%h \t”, sig2, “% d \t”, sig3, “%o”, sig4);
„ $display支持二进制、八进制、十进制和十六进制。缺省基数
为十进制。
$display (sig1, sig2, sig3, sig4);
$displayb (sig1, sig2, sig3, sig4);
$displayo (sig1, sig2, sig3, sig4);
$displayh (sig1, sig2, sig3, sig4);
08:29 7
显示格式符
格式符
%h %o %d %b %c %s %v %m %t
hex octal decimal binary ASCII string strength module time
转义符
\t \n \\ \" %% %0d
tab 换行反斜杠双引号百分符号% 无前导0的十进制数
08:29 8
显示格式符
„ 如没有