问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

能告诉我什么是testbench吗?

发布网友 发布时间:2022-05-21 01:06

我来回答

1个回答

热心网友 时间:2023-10-10 04:53

=================================概念===============================
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来自:求助得到的回答
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
异想记歌词,杨幂唱滴! 有什么好打理的烫发发型可以推荐? 有哪些韩系卷发造型比较好打理? 哪些短发卷发造型比较好打理? 什么样的卷发发型比较好打理? 好打理的卷发造型有哪些值得推荐? 有哪些卷发发型比较好打理? 有哪些卷发造型比较好打理? 为什么离线迅雷看看播放器就不能用了,毕竟里面的是已经下载好了的,知... 迅雷离线用不了,连云播的搜索都用不了,是被封了吗? 初学modelsim,有一段VHDL代码,怎么给这段代码写testbench testbench与vhdl源程序有啥区别 VHDL编写testbench QQ幻想中如何接试练任务?务必详细,复制免进,谢谢 江苏省东海县桃林镇徐东村现有人口多少 桃山狩猎场、乌龙狩猎场有哪些可猎杀动物?如何收费和捕猎? 华阴的区划 太极县桃花渡村是哪里 七台河鸿福家园归属哪个派出所管辖? 东海县温泉镇与桃林镇分别有哪些村 桃林的区位优势 哪里的桃园甲天下 桃林镇的行政区划 想知道:三明市 从将乐县到大田县奇韬镇桃东村卫生所怎么坐公交? 河南农大桃李园桃东楼在哪儿? 桃东桃西开放时翻译 桃山区的行政区划 怎样消除密码柜的提示音 五香牛肉描述什么写 求助描写酱牛肉的打油诗,顺口溜! vhdl中testbench输出是u是怎么回事 求VHDL,verilog大神编一个testbench 待测试模块如下 大神们,这是在QUARTUSII中的VHDL程序怎么写TESTBENCH呀 ?用生成模板修改后的回复就可以。。。帮帮忙 VHDL中reset时间长短重要吗 VHDL testbench 我要写16位串行数据接收, 4000个 怎么写? 利用VHDL设计,顶层文件为.bdf图形文件,调用modelsim输出无结果,出现warning,为什么? 为什么在VHDL源程序中时钟是上升沿触发,在modelsim仿真时波形却是下降沿触发的?谢谢! VHDL 读取文件中数据的问题 新手求助VHDL写了个流水灯想用modelsim看到中间变量的波形 vhdl赋初值 VHDL中怎么设置时钟周期 半永久纹眉后眉毛又黑又粗有什么解决方法 刚做了韩式半永久纹眉,现在感觉又黑又应,自己眉毛完全看不出来了怎么办? 做了半永久眉毛七天了 很黑 不对称 很不满意 心情好差什么时候能掉痂啊 快点淡一些吧!!!!当时纹 我昨天刚做的半永久眉毛又黑又粗又难看想洗去能恢复原始吗? 印刷后期工艺的 烫金,制一个版要多少钱? 电脑制版中的烫金、烫银问题 完成烫金工艺需要哪些设备 请问一个专业问题,印刷烫金烫银是怎么报价的?按平米还是按数量?现在的市场价是多少? 固安县玫瑰花园二手房