b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

testbench_testbench如何加载_vhdl testbench reset(2)

电脑杂谈  发布时间:2017-03-09 10:04:50  来源:网络整理

(2)$display

作用:将需要显示的内容在命令栏显示出来

如:$display("thesignalis%d",ad);//将ad信号以十进制的方式显示出来

(3)$monitor

作用:监视变量的变化,一旦变量变化,则将变量显示出来

如:$monitor("attimeis%tandthesignalis%b\n",$time,signal);

(3)文件操作类

$fopen

作用:打开一个文件面,对文件的操作

$fdisplay

作用:在打开的文件里,写入显示的内容

$fmonitor

作用:在打开的文件里,写入监视的变量变化时的内容

$fclose

作用:关闭当前的内容

如:initial

Begin:block//可以在内部声明局部变量

Integerout_file;

out_file=$fopen("data.out","w");//打开data.out这个文件后,从第一行开始写,如果该文件没有,则首先创建该文件,然后再写。打开文件后返回out_file这个文件整形指针

$fdisplay(out_file,"atthetimeis%t",$time);

.....

$fmonitor(out_file,"atthetimeis%tandthesignalis%b\n",$time,signal);

......

$fclose(out_file);

End

为什么要写testbench

我们为什么要写testbench

经常看到论坛里有人问我们为什么要写testbench,总是觉得不好回答,下面是整理出来的一些理由供大家参考。testbench

与写testbench相对应的功能手段还有画波形图,两者相比,画波形图的方法更加直观和易于入门,那为什么我们还要写Testbench呢?原因有以下五点:

第一,画波形图只能提供极低的功能覆盖。

画波形无法产生复杂的激励,因此它只产生极其有限的输入,从而只能对电路的极少数功能进行测试;而testbench以语言的方式描述激励源,容易进行高层次的抽象,可以产生各种激励源,轻松地实现远高于画波形图所能提供的功能覆盖率。以PCI转以太网电路设计为例,该设计并不复杂,但却已经需要考虑多种情况:PCI的配置读写、存储器读写等操作;以太网的短包、长包等。如果这些激励都用画波形图完成,其工作量是难以想象的;用testbench则可以轻松完成这些工作。

第二,画波形无法实现验证自动化。

对于规模设计来说,仿真时间很长,如果一个需要仿真一天设计在检错时仅通过画波形图来观测,将几乎不能检查出任何错误;而testbench是以语言的方式进行描述的,能够很方便地实现对仿真结果的自动比较,并以文字的方式报告仿真结果。我们甚至可以在下班时开始仿真,然后第二天早上上班时再查看验证结果。

第三,画波形图难于定位错误。

用画波形图进行仿真是一种原始的墨盒验证法,无法使用新的验证技术;而testbench可以通过在内部设置观测点,或者使用断言等技术,快速地定位问题。

第四,画波形的可重用性和平台移植性极差。

如果将一个PCI转100Mb以太网的设计升级到PCI转1000Mb以太网,这时原来画的波形图将不得不重新设计,耗费大量的人力物力及时间;但若使用testbench,只需要进行一些小的修改就可以完成一个新的测试平台,极大地提高了验证效率。

第五,通过画波形的验证速度极慢。

Testbench的仿真速度比画波形图的方式快几个数量级,在Quartus下画波形需半个小时才能跑出来的仿真结果,在ModelSim下使用testbench可能只需几秒钟就可以完成。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-36621-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    每日福利
    热点图片
    拼命载入中...