找回密码
 注册
关于网站域名变更的通知
查看: 141|回复: 1
打印 上一主题 下一主题

Testbench入门

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-9 14:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
Testbench入门

% r. S6 F$ z5 R! v& p$ I编写 testbench目的* y  h( f& B, t
编写 testbench 的主要目的是为了对使用硬件描述语言(HDL)设计的电路进行仿真验2 @* u( e2 v0 s3 K, ~$ z% K' k
证,测试设计电路的功能、部分性能是否与预期的目标相符。
2 z! S9 Y; l' I" D) f& X3 _编写 testbench进行测试的过程如下:
8 i: R$ _, u$ m4 g5 ^: t1)产生模拟激励(波形);
1 g; d' o: o1 T- O) I. E* O$ n2)将产生的激励加入到被测试模块并观察其输出响应;
; Y7 R3 @: v6 b- x( Y. i3)将输出响应与期望进行比较,从而判断设计的正确性。
! b0 W( o: z$ t0 `( w3 e. n7 g2 基本的 testbench结构
' x9 F/ o5 U& Z4 v* \" Mmodule test_bench;
* ~9 c. S  `" G, @$ k" H// 通常 testbench没有输入与输出端口) v3 P9 _5 y5 `, r3 O2 F
信号或变量定义声明7 a1 z1 [  {1 l" _" N7 i
使用 initial或&nBSP; always语句来产生激励波形. e8 s9 b4 W1 m
例化设计模块
' |& Q5 j7 _$ J- C* c2 R% S监控和比较输出响应
( S2 a8 K" H5 a% iendmodule" j) A: f) [' Z
简单的 testbench  的结构通常需要建立一个顶层文件,顶层文件没有输入和输出端口。! i6 b+ o9 w" H# @9 D7 F; U7 c4 E
在顶层文件里,把被测模块和激励产生模块实例化进来,并且把被测模块的端口与激励模块" [! J& [) y6 l$ l7 q
的端口进行对应连接,使得激励可以输入到被测模块。端口连接的方式有名称和位置关联两
* O5 B% ~; ~8 q8 H5 u0 h. @种方式,我们常常使用“名称关联”方式。
: ~  R1 y$ C1 Y3  产生激励的一些描写方式
8 T' ~8 O  |* w3.1  产生时钟的几种方式6 N+ _5 }0 x" O. A9 t7 L$ z) b
1)使用 initial方式产生占空比  50﹪的时钟/ a3 h' m0 N9 u2 ~" a; ?, Q
initial
% {) s4 B" }2 S5 c3 ubegin
; I6 O; S" L9 cCLK = 0;
6 H8 C: B  H' O8 Y: S" I& u1 K#delay;
- J8 w( i+ |" h% G+ \9 E, `* P3 Hforever
" c3 B  y' n7 N6 s) |% J+ T1 A/ t#(period/2) CLK = ~CLK;/ t! g. K2 `1 ?$ g1 j1 x
end
9 B6 T! t- ~8 q" D% p注意:一定要给时钟赋初始值,因为信号的缺省值为 z,如果不赋初值,则反相后还是
- V2 n6 m/ L8 iz,时钟就一直处于高阻 z状态。
7 m" \. A6 J, F2 c' N8 Q
* o" M6 V3 s, p! I完整资料见附件:
/ L: _$ u* }, S: i. G
游客,如果您要查看本帖隐藏内容请回复

该用户从未签到

2#
发表于 2020-1-9 18:50 | 只看该作者
刚好需要的东东,谢谢分享。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-19 22:19 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表