C++TCL PLI联合仿真下的芯片验证方法分析_第1页
C++TCL PLI联合仿真下的芯片验证方法分析_第2页
C++TCL PLI联合仿真下的芯片验证方法分析_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、【Word版本下载可任意编辑】 C+TCL PLI联合仿真下的芯片验证方法分析 :现代电子技术 潘闻融,周智 电子科技大学 0引言 当今社会,芯片技术与人们的生活密切相关,在各种电子产品中都有芯片的身影,而且,它们往往是电子产品关键的技术。制造芯片的流程非常复杂而且资源投入巨大,保证芯片的设计质量非常重要。验证工作是芯片制造过程中及其关键的一个环节,无缺陷的芯片不是设计出来的,而是验证出来的,验证过程是否准确与完备,在一定程度上决定了一个芯片的命运。 目前在百万门级以上的ASIC,IP,SoC设计时代,验证约消耗整个设计工作的70,需要专职的验证团队,而且验证团队人数通常是设计团队的1.52倍

2、。随着设计规模的扩大,芯片验证的重要性到达了一个新的高度,但对验证方法也提出了更多的要求,怎样搭建高效稳定的验证模型成为目前研究的热点。本文重点介绍如何搭建一种分层次的验证模型,以及如何使用这套验证模型开展仿真。 1验证架构 验证架构通常称为testbench,如图1所示,可以把验证架构分为激励源、发送器、接收器、参考模型和记分牌五个部分。激励源属于脚本层,发送器和接收器属于时序层,参考模型和记分牌属于软件层。 激励源仿真的数据在激励源中生成,它是一个TCL脚本语言解释器,激励代码采用TCL解释性脚本语言编写,激励生成之后会放到发送端共享缓存区中,这个过程在设计代码开始仿真之前。 发送器当仿真

3、开始后发送器会根据设计条件把数据从发送端共享缓存区中取出来,传递到设计模块和参考模型中,发送器由Verilog代码编写实现,需要设计自己的PLI函数用来作为与发送端共享缓存区传递数据的接口。 接收器接收器用来采集设计模块处理后的数据,并把数据放到接收端共享缓存区中,用于记分牌读取数据,接收器由Verilog代码编写实现,需要设计自己的PLI函数用来作为和接收端共享缓存区传递数据的用C+语言编程实现。把这两个验证组件设计成两个函数,分别为Pan_rm(char*s_indata,vectorvr_outdata)和Pan_check(char*s_indata,vectorvc_outdata)

4、,函数入口参数为字符指针类型的原因是TCL脚本语言处理的全部是字符类型的变量,脚本层生成的激励数据为字符类型。 当仿真执行到Verilog代码中PLI任务的时候,PLI函数中的calltf()会调用Pan_rm函数或Pan_check函数。在发送器中,calltf()把发送端共享缓存区中的数据取出并传给Pan_rm函数,Pan_rm函数把入口的字符类型变量转换成整型变量,然后根据需求规格做相应的处理,把处理结果放入共享队列;在接收器中,calltf()收集设计模块的处理结果并传给Pan_check函数,Pan_check函数取出共享队列里面对应的Pan_rm函数的处理结果并与Pan_check

5、函数的人口数据开展比较,把比较的结果存入到接收端共享缓存区,打印结果到一个输出文件中以便验证人员定位问题。 5共享缓存区 为了实现脚本层,时序层和软件层能够使用共享缓存区,要把C+扩展的TCL命令、编写的PLI函数命令以及软件层代码写在同一个C+工程文件里,定义全局变量作为共享缓存区实现三个层次的互联,通过VC编译代码以动态库的形式加载到仿真器里面去。 6结语 TCL脚本命令在仿真之前运行,一经执行所有的激励数据就会生成,在PLI函数的checktf()例程里面获取modelsim的TCL解释器,并用TCL初始化函数将其初始化,这样扩展的TCL命令就可以在Modelsim的解释器里使用了。 需要注意的是,如果不在PLI函数的checktf()例程里面获取并初始化Modelsim的TCL解释器,那么PLI函数是加载在Modelsim内核的,如果要修改PLI函数里面调用的全局变量,要在扩展的TCL命令之前加上vsim_kernel,这样才可以修改全局变量。当验证组件准备好、验证环境搭建完毕后,编写自动运行脚本执行仿真过程,按照如图2所示的操作流程自动开展验证工作:运行自动脚本,启动仿真器,加载动态库,Modelsim的TCL解释器运行T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论