打印
[Actel FPGA]

我们为什么要写testbench?(转贴)

[复制链接]
1813|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
手写识别|  楼主 | 2009-11-19 23:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们为什么要写testbench?- C  V' H7 j! D9 p8 Y
经常看到有人问我们为什么要写testbench,总是觉得不好回答,下面是整理出来的一些理由供大家参考。
与写testbench相对应的功能手段还有画波形图,两者相比,画波形图的方法更加直观和易于入门,那为什么我们还要写Testbench呢?原因有以下五点:
第一,画波形图只能提供极低的功能覆盖。! \  `) k" A; q) L. t! B
    画波形无法产生复杂的激励,因此它只产生极其有限的输入,从而只能对电路的极少数功能进行测试;而testbench以语言的方式描述激励源,容易进行高层次的抽象,可以产生各种激励源,轻松地实现远高于画波形图所能提供的功能覆盖率。以PCI转以太网电路设计为例,该设计并不复杂,但却已经需要考虑多种情况:PCI的配置读写、存储器读写等操作;以太网的短包、长包等。如果这些激励都用画波形图完成,其工作量是难以想象的;用testbench则可以轻松完成这些工作。
第二,画波形无法实现验证自动化。
    对于规模设计来说,仿真时间很长,如果一个需要仿真一天设计在检错时仅通过画波形图来观测,将几乎不能检查出任何错误;而testbench是以语言的方式进行描述的,能够很方便地实现对仿真结果的自动比较,并以文字的方式报告仿真结果。我们甚至可以在下班时开始仿真,然后第二天早上上班时再查看验证结果。
第三,画波形图难于定位错误。
   用画波形图进行仿真是一种原始的墨盒验证法,无法使用新的验证技术;而testbench可以通过在内部设置观测点,或者使用断言等技术,快速地定位问题。
第四,画波形的可重用性和平台移植性极差。www.fpga-design.net- Z$ n7 n: \1 h7 Z; l
    如果将一个PCI转100Mb以太网的设计升级到PCI转1000Mb以太网,这时原来画的波形图将不得不重新设计,耗费大量的人力物力及时间;但若使用testbench,只需要进行一些小的修改就可以完成一个新的测试平台,极大地提高了验证效率。
第五,通过画波形的验证速度极慢。FPGA设计网论坛 专业FPGA设计论坛# I$ Z$ o3 I* u. s- z( l/ }6 a- p
    Testbench的仿真速度比画波形图的方式快几个数量级,在Quartus下画波形需半个小时才能跑出来的仿真结果,在ModelSim下使用testbench可能只需几秒钟就可以完成。: J0 I5 [  C/ `( w9 g3 ]
    所以,在设计中除了那些极简单的设计(如调用厂商提供的MegaCore),推荐通过写testbench的方法来做功能验证。

相关帖子

沙发
linhai1986| | 2009-11-19 23:50 | 只看该作者
学习了

使用特权

评论回复
板凳
linhai1986| | 2009-11-19 23:50 | 只看该作者
支持LZ:)

使用特权

评论回复
地板
xiaoxin1986| | 2009-11-21 09:02 | 只看该作者
顶一个

使用特权

评论回复
5
beny5566| | 2009-11-21 13:14 | 只看该作者
解释的挺清楚的,
呵呵。

使用特权

评论回复
6
3B1105| | 2009-11-29 12:16 | 只看该作者
学习了!顶一个!

使用特权

评论回复
7
3B1105| | 2009-12-1 23:04 | 只看该作者
学的挺好!学习了

使用特权

评论回复
8
llljh| | 2009-12-2 18:50 | 只看该作者
仿真时间太长确实不是……

使用特权

评论回复
9
huzixian| | 2009-12-4 20:55 | 只看该作者
写的不错

使用特权

评论回复
10
手写识别|  楼主 | 2010-2-24 00:29 | 只看该作者
翻过头来重新看自己 的帖子,还是觉得可以想到更多的只知识

使用特权

评论回复
11
joy如是| | 2011-9-27 09:47 | 只看该作者
那就添呀,嘿嘿,受教了!

使用特权

评论回复
12
jingbaobao| | 2011-11-23 16:15 | 只看该作者
是啊,这样可以大大提高兼容性能啊。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

65

主题

361

帖子

1

粉丝