中易网

能告诉我什么是testbench吗?

答案:1  悬赏:10  
解决时间 2021-02-23 03:19
刚开始看modelsim,说道testbench,不是特别清楚。说quarters中不能实现?不知道你能不能给我讲讲
最佳答案
=================================概念===============================
testbench是一种验证的手段。

首先,任何设计都是会有输入输出的。但是在软环境中没有激励输入,也不会对你设计的输出正确性进行评估。那么此时便有一种,模拟实际环境的输入激励和输出校验的一种“虚拟平台”的产生。在这个平台上你可以对你的设计从软件层面上进行分析和校验,这个就是testbench的含义。
=====================================================================

============================初步认识=================================
就初学而言,testbench更像一个激励的产生器。
举例:一个ram,可能有几个input和output。分别列在下面。

clk,时钟输入
addr,地址输入
wen,写使能
data,数据输入

然后还有一个dataout的数据输出。
那么你可以写一个文件,给clk,addr,wen,data送入你预想的一些信号,然后观察q的输出,看看ram是否工作正常。那么这个文件从一定意义上可以叫做"testbench"。

联想(帮助理解):从quartus里面你仿真,你可能对着那个画图一样的东西画上输入,然后编译以后看他的输出。对吧。那么在modelsim里面,我告诉你,可以不用画图了~,你只需要按照一定规则写一个.v或者.vhd的文件,这个文件可以给你的设计提供你预想的输入。这个就是testbench的文件。然后在modelsim这个特定的软件环境下,这个软件能根据你的代码给你的设计提供输入,又可以把你设计的输出在屏幕上显示出来给你debug。那么这个时候,一个在modelsim上的testbench就完成了。

狭义的总结一下:FPGA的testbench就是一个.v(verilog)或者.vhd(vhdl)的文件。这个文件能给你的设计提供激励,并能在一些专用的软件中提供良好的debug接口。这个就是一个testbench。
=====================================================================

=============================高级应用================================
关于testbench的高级应用。
刚才说了初步的testbench。其实testbench是verification(验证)中的一个手段。
验证是什么呢?举例:做鱼了,你往里面加了调料,然后再尝尝味道,这个就是验证的过程。同样你可以分成几个部分,一条鱼,好比你的设计,然后你给他一定的激励,也就是调料啦。然后你再尝一尝,看看鱼是不是达到你想要的味道了。那就是一种验证的手段,如果淡了。那么加点盐,再尝尝,这个就是反复验证。

testbench图解一下比较清楚。
============================= Testbench=============================
| | | |
| | ================== | |
| 激励生成 |====》 | | | 输出校验 |
| |预想输入 | 设计 |==》 | |
| | | | 设计 | |
=============== ================== 输出 ===================

(字符画好累人。。不知道效果好么)

testbench里面包含了三个东西:
1、激励生成。也就是我们刚才初级时候说的所谓的“testbench”。英文么就是simulator,这个只用来生成输出,他自己没有输入,只是按照一定的规律去给你的设计激励,激励通过设计的输入端口送到你的设计中。其余的事情不管。这里的激励,都是预先设想好的,比如根据某个协议,或者某种通信方式传递。

2、你的设计。英文可以叫做DUT:design under testbench或者DUV:design under verification。当然咯。这个是你主要目标。

3、输出校验。校验你的输出。英文叫markerboard,他所管的事情就是,接收你设计的输入,然后通过校验,找出对应的问题。然后报错,或者统计错误。等等。通俗的讲,你设计它就是把你自己解脱出来,让他来帮你找错误。他输出给你的可能就是通过打印啊,通知啊,等等方法了解你设计的正确性。

那么你有可能问了,这个东西用verilog或者VHDL能写么,modelsim里能用么?的确是可以的,有写甚至可以用c的代码通过程序接口来转换到modelsim里面来帮助验证。
===============================高级应用结束==========================

最后小说两句:testbench是一个平台,帮助你从软件方面验证的。对于这个概念不需强求,等你自己的验证写多了,自然而然就会了解其中深刻的含义。先开始慢慢的写一些激励,然后再写写校验。到时候你收获的东西自然而然的能帮助你理解testbench和verification
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
手机话费月底账单什么时候扣
歌手梁博挑战成功了吗?歌手梁博唱什么歌曲
再富也要穷孩子的具体事例
有猛字的四字成语有哪些
济南恒星 刻字机 质量怎么样?
广西圣康新药特药有限责任公司中药饮片分公司
博雅苑我想知道这个在什么地方
有关北外高级翻译学院的问题,希望已经从高翻
回龙山庄怎么去啊,有知道地址的么
有人被QT上骗的吗?我被骗了198大家千万不要
家佳乐热水器显示e1啥问题
刘海屏手机看视频怎么不是满屏?能设置吗。
民办大学可不可以专升本
东营金田商贸有限公司怎么去啊,有知道地址的
沈阳皇姑区指定的第二代居民身份证办理地点在
推荐资讯
瓶山村我想知道这个在什么地方
海飞丝洗发水进到小孩子眼睛怎么办
河间市曙光汽车销售服务有限公司这个地址在什
ab列plc中的cnb代表是什么模块
国家标准奶粉每100kj含多少微克
福联升老北京布鞋吴江店在什么地方啊,我要过
2018年农历正月是二十三是几月
江宁路旁有很多行道树,开黄色花,接红色灯笼
如何用布林线寻找主升浪的股票
爸爸回来了第二季贾乃亮哪一期回东北
十万个冷笑话手游多少时间开新区
dota毒狗是谁
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?