testbench_vantage

testbench_vantage

ID:39989462

大小:51.08 KB

页数:9页

时间:2019-07-16

testbench_vantage_第1页
testbench_vantage_第2页
testbench_vantage_第3页
testbench_vantage_第4页
testbench_vantage_第5页
资源描述:

《testbench_vantage》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Testbench_VantageitatorMakeEDAServeYou仅供学习、严禁拷贝!1Testbench的结构.1单顶层结构一种结构是testbench只有一个顶层,顶层再把所有的模块实例化进去。打个比方,类似树结构,只有一个模块有子节点而没有父节点,其它模块都有父节点。如下图结构所示:top⋯⋯测试模块1DUV测试模块2⋯⋯测试模块是一些接口模型,接口模型还可能包含了一些激励在内。测试模块和DUV之间通过端口映射进行互连。.2多顶层结构另外一种结构是多顶层结构,如下图所示:TOP1TOP2TOP3⋯⋯(harness)(testcase)(公用的子程序)⋯⋯

2、BFM1DUVBFM2⋯⋯在这种结构中,有一个顶层是作为测试向量模块,一个或多个顶层是一些公用子程序,这些子程序由于完成一些通用的功能被封装成任务、函数等被公用。还有一个叫harness的顶层,该顶层由DUV和一些接口模型构成一个狭义上的测试平台,其它模块可以调用BFM里面的task或event等,向DUV施加激励。注意这些顶层之间是没有端口映射的,它们之间的互相调用和访问是通过层次路径名的方式来访问,上图的虚线表示层次路径名的访问。下面举例说明层次路径是如何访问的。由于大部分人对C都有所认识,在这里作个比较,便于了解。VerilogHDL的顶层类似于C的结构体,而实例化

3、的模块、任务、函数、变量等就是结构体里的成员,可以通过句点(.)隔开的方式访问结构体里面的每一个成员。如:顶层harness实例化进来的模块BFM1里面有一个任务SEND_DATA,该任务可以产生激励输入到DUV,在testcase里调用该任务就可写为:initialbegin……harness.BFM1.SEND_DATA(……);end多顶层结构的可扩展和重用性比单顶层结构强得多。层次路径的访问方式非常有用,在下一节会讲述更多的应用。第2页,共9页2如何编写Testbench.1何时使用initial和alwaysinitial和always是2个基本的过程结构语句,

4、在仿真的一开始即开始相互并行执行。通常被动的检测响应使用always语句,而主动的产生激励使用initial语句。initial和always的区别是always语句不断地重复执行,initial语句则只执行一次。但是,如果希望在initial里的多次运行一个语句块,怎么办?这时可以在initial里嵌入循环语句(while,repeat,for,forever等),如:initialbeginforever/*无条件连续执行*/begin……endend其它循环语句请参考一些教材,这里不作赘述。另外,如果希望在仿真的某一时刻同时启动多个任务,可以使用fork....jo

5、in语句。例如,在仿真开始的100ns后,希望同时启动发送和接收任务,而不是发送完毕后再进行接收,如下所示:initialbegin#100;fork/*并行执行*/Send_task;Receive_task;joinEnd.2如何作多种工作模式的遍历测试如果设计的工作模式很多,免不了做各种模式的遍历测试,而遍历测试是需要非常大的工作量的。我们经常遇到这样的情况:很多时候,各种模式之间仅仅是部分寄存器配置值的不同,而各模式间的测试都是雷同的。有什么方法可以减轻这种遍历测试的工作量?不妨试试for循环语句,采用循环变量来传递各种模式的配置值,会帮助减少很多测试代码,而且不

6、会漏掉每一种模式.initialbeginfor(i=0;i

7、block_wr释放内存FIFOafull内存分配和回收示意图在这个例子里,假设总共有2K的内存块,希望在测试程序里监测内存分配和回收的块号是否正确,监测是否存在同一块号重复分配、重复回收的情况。设置一个2K位的变量对内存的使用情况进行记录,每一位对应一个内存块,空闲的块号记为1,被占用的块号记为0。该变量的初始值为全1,当分配一个块号出去时先判断该位是否为空闲,若是空闲则将该位设置为被占用,否则就为重复分配错误。相反,当回收一个块号时,先判断该位是否被占用,若是被占用则将该位设置为空闲,否则就为重复回收错误。程序如下:alw

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
相关文章
更多
相关标签