我们为什么要写testbench?

上一篇 / 下一篇  2007-04-04 15:01:19 / 天气: 舒适 / 心情: 高兴

查看( 522 ) / 评论( 63 )
经常看到论坛里有人问我们为什么要写testbench,总是觉得不好回答,下面是整理出来的一些理由供大家参考。
%R|%zC |U8Zj214078与写testbench相对应的功能手段还有画波形图,两者相比,画波形图的方法更加直观和易于入门,那为什么我们还要写Testbench呢?原因有以下五点:
1H9E2?/o.mFIN214078第一,
ah-_-[-`4x.Y214078
画波形图只能提供极低的功能覆盖。画波形无法产生复杂的激励,因此它只产生极其有限的输入,从而只能对电路的极少数功能进行测试;而testbench以语言的方式描述激励源,容易进行高层次的抽象,可以产生各种激励源,轻松地实现远高于画波形图所能提供的功能覆盖率。以PCI转以太网电路设计为例,该设计并不复杂,但却已经需要考虑多种情况:PCI的配置读写、存储器读写等操作;以太网的短包、长包等。如果这些激励都用画波形图完成,其工作量是难以想象的;用testbench则可以轻松完成这些工作。

`/~ u g\7@,^[8J214078第二,
P)n AC@F;|5I,]b214078
画波形无法实现验证自动化。对于规模设计来说,仿真时间很长,如果一个需要仿真一天设计在检错时仅通过画波形图来观测,将几乎不能检查出任何错误;而testbench是以语言的方式进行描述的,能够很方便地实现对仿真结果的自动比较,并以文字的方式报告仿真结果。我们甚至可以在下班时开始仿真,然后第二天早上上班时再查看验证结果。

+s `oQ| R:sI214078第三,EDA中国门户网站L7v8tC9D+O_u)?*x
画波形图难于定位错误。用画波形图进行仿真是一种原始的墨盒验证法,无法使用新的验证技术;而testbench可以通过在内部设置观测点,或者使用断言等技术,快速地定位问题。

@ tN8|(S i(e zj*y214078第四,EDA中国门户网站m:s6Ry4u
画波形的可重用性和平台移植性极差。如果将一个PCI100Mb以太网的设计升级到PCI1000Mb以太网,这时原来画的波形图将不得不重新设计,耗费大量的人力物力及时间;但若使用testbench,只需要进行一些小的修改就可以完成一个新的测试平台,极大地提高了验证效率。

8i4~;s3A2y214078第五,EDA中国门户网站:o1yoW"peeZ
通过画波形的验证速度极慢。Testbench的仿真速度比画波形图的方式快几个数量级,在Quartus下画波形需半个小时才能跑出来的仿真结果,在ModelSim下使用testbench可能只需几秒钟就可以完成。
EDA中国门户网站#ACi*hb I'kb
   所以,在设计中除了那些极简单的设计(如调用厂商提供的MegaCore),推荐通过写testbench的方法来做功能验证。
FPGA/CPLD器件价格查询

TAG:

bemoon的个人空间 bemoon 发布于2007-04-04 16:58:34
好贴啊!
x(]wDZYFPGA,CPLD,EDA,IC,Altera,Lattice,Xilinx,Modelsim,Synplify,Quartus,ispLever,ISE,Simulation,HDL,edacn,bbs,board建议斑竹置顶吧,省得重复的问题老是出现。
chenhongyi的个人空间 chenhongyi 发布于2007-04-04 21:13:36
怎么也没更多的大侠支持一下?!
jacob_chuang发布于2007-04-05 10:55:53
在调用IP core时,好像只能用testbench来测试
0Ej$m$U1V9o%xp}u!D最专业的FPGA/IC设计论坛
8d @:HN0qYPn最专业的FPGA/IC设计论坛受用,谢谢楼主
nemo-44发布于2007-04-05 11:14:16
我是 新手,不过觉得很有说服力哦!!!
chenshilei发布于2007-04-06 12:02:48
说得透彻!
nqq发布于2007-04-07 14:08:19
哦,原来是这样,激励源自己描述出来有这么多好处,嗯~~
shmilyysm发布于2007-04-08 12:07:37
谢谢楼主的分析
wbdiy6606发布于2007-04-08 15:29:34
好,楼主还好人啊 
shuqian发布于2007-04-09 21:58:39
我是新手,还需进一步的理解
leoguang发布于2007-04-10 11:21:28
还是写testbench好 ^_^
yuanchuang发布于2007-04-11 12:59:47
very good!

K`Cn9j!OCFkHwww.edacn.net
now studing !
tingwhere发布于2007-04-11 15:24:32
好贴,说的让人明白,透彻
zuotongbin的个人空间 zuotongbin 发布于2007-04-12 08:43:54
谢谢
谢谢分享!!
tycoon发布于2007-04-12 08:57:45
说的很透彻。
[U S.z        \:di为您提供逻辑设计资料,IC设计资料,每天我们的精英团队都在提供更多的设计文章我初学testbench,但已经可以感受它不同于quartus波形的强大功能了
koala4282发布于2007-04-12 09:49:25
说的很透彻。FPGA,CPLD,EDA,IC,Altera,Lattice,Xilinx,Modelsim,Synplify,Quartus,ispLever,ISE,Simulation,HDL,edacn,bbs,boardnS0Y8Xog+N
受教了
hwlheavily发布于2007-04-15 10:27:17
好,谢谢阿
boyzuo发布于2007-04-16 04:54:53
按照楼主的思路,我的理解,画波形相当于是汇编,而testbench就是c这样的高级语言了
smellybb发布于2007-04-17 11:56:53
受益匪浅啊
hwlheavily发布于2007-04-18 13:47:37
有收获!!!
lyman发布于2007-04-18 20:39:04
哈哈哈,画波形多麻烦啊
我来说两句

(可选)

日历

« 2008-11-22  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 6509
  • 日志数: 24
  • 商品数: 2
  • 建立时间: 2006-11-11
  • 更新时间: 2008-08-18

RSS订阅

Open Toolbar