




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于随机测试的SoC系统级功能验证方法的研究 杨 珺1, 曹 阳1,2, 时间:2009年05月15日 字 体: 大 中 小 关键词: 摘? 要:关键词: SoC; 系统级功能验证; 随机测试?目前,基于RTL级(Regi
2、ster Transfer Level)的SoC(System-on-Chip)验证技术存在着许多局限性。这是因为:(1)SoC硬件部分的结构越来越复杂,致使在RTL级进行SoC验证的时间开销越来越大1-2; (2)在RTL级,SoC的硬件和软件部分需要分别采用硬件描述语言和高级语言进行描述,这不仅增加了软、硬件设计和验证人员间在交流上的困难,而且增加了系统设计人员对软、硬件划分方案进行评估的困难3;(3)设计完成SoC硬件系统的RTL级模型后,才能进行SoC软、硬件系统的协同仿真和验证,增加了SoC系统产生功能性错误的可能性,延长了系统的开发周期4-5。因此,使SoC的验证工作从更高抽象级的
3、系统级开始进行,从而尽早地发现功能性错误,缩短SoC系统的开发周期是十分必要的。在SoC的验证工作中,最重要的问题是构建测试平台TB(Test Bench),而构建测试平台的核心则是设计测试向量TC(Test Case)。因此,较短的测试向量的生成时间以及较高的测试向量的功能覆盖率就成为验证工作中最为关键的问题。目前,采用随机测试向量的验证方法被认为是解决这一问题最便捷和最有效的验证方法2,该方法的特征就是随机地从被验证对象DUV(Design Under Verification)测试激励输入域中任意地或适当加以控制地选取测试向量。因此,如何随机地生成测试向量是进行随机验证的关键。SCV(S
4、ystemC Verification Standard)是OSCI(Open SystemC Initiative)组织公布的系统级验证标准,是一种基于SystemC类库的公开源代码的C+类库,SCV验证库可以提供直接随机测试、带权重的随机测试和带约束的随机测试三种向量的生成方法。因此,SCV标准允许用户在较高的抽象级上构建测试平台并允许用户随机地写入测试程序,具有灵活性高、测试平台可复用、验证周期短等特点。本文将基于SystemC和SCV验证库来创建系统级的测试平台,通过对一个具有4×4包交换功能的系统级模型的验证,来研究基于随机向量的SoC系统级的功能验证方法。1 系统级功能测
5、试平台SoC系统级的功能验证是针对SoC系统级的功能模型进行的验证,其目的是验证SoC系统级功能模型是否符合功能规范说明的要求。在进行功能验证前,首先应根据功能规范说明建立测试平台,其核心内容是设计测试向量。测试平台不仅能够将测试向量输入到被验证对象上,而且能够获取被验证对象产生的结果,该结果可以用来判定被验证对象功能的正确性,如图1所示。?为了验证随机测试在SoC系统级进行功能验证的有效性,在系统级构建以AMBA总线为核心、以CPU为主设备、以存储器和4×4包交换模块为从设备的SoC功能模型,并针对4×4包交换模块的功能进行测试。系统级测试平台的核心由4个发送模块(Sen
6、der0Sender3)、4个接收模块(Receiver0Receiver3)和4×4包交换模块组成,如图2所示。其中发送模块用来随机地生成数据包并将数据包送入包交换模块;接收模块用来从包交换芯片中读取数据包。?2 测试向量和验证结果通常,基于SCV随机测试向量的验证工作分为随机验证环境配置、基于直接随机测试向量的验证、基于带权重的随机测试向量的验证以及基于带约束的随机测试向量的验证四个阶段。本文的验证环境建立在Sun Blade 2000工作站上,通过集成SCV验证库以及相应的编译、连接和调试工具构建而成。4×4包交换芯片系统级功能模型的验证工作在各阶段的时间开销分别为3
7、0h、15h、35h和45h。2.1 基于直接随机测试向量的验证针对规范1规范3的验证,采用直接随机测试向量的验证方法。在描述中,包的数据部分被定义为sc_int的整数类型,它的有效数值范围是-128,127;包的目的端口号被定义为dest0dest3的布尔变量类型,它的有效数值范围是0,15;而包的源端口号则在实例化的过程中被分别对应标记为03。因此,采用SCV生成直接随机测试向量用数据包的过程主要是随机化包的目的端口号和包的交换数据,如下所示:/生成包的目的端口号sc_uint dest;scv_smart_ptrd;d->keep_only(1,15);d->next();d
8、est=(sc_uint)*d;pkt_data.dest0=dest0;pkt_data.dest1=dest1;pkt_data.dest2=dest2;pkt_data.dest3=dest3;/生成包的交换数据scv_smart_ptrp;p->keep_only(-128,127);p->next();pkt_data.data=(sc_int)*p;从生成的10 000个随机数据包中任意截取10个,得到如表1所示的结果。由表1可以看出:(1)包的目的端口号是随机的数字03,包的数据是随机的数据-128+127。(2)输入模块可以正确地将发送包送入各个输入端口,输出模块可
9、以正确地从输出端口读出输出包。(3)发送包目的端口号的个数等于输出包的总数。以上结果表明,4×4包交换芯片系统级模型的每个端口均可以正确地发送或者接收数据包,每个输入端口均可以正确地将数据包传送到多个不同的端口。在某时间段内,采集R0R3移位前后的数值,得到如表2所示的结果。?由表2可以看出:(1)若FIFO中有新的数据包,则各个寄存器能够从对应的FIFO中正确地读取这些新的数据包;否则,各个寄存器将保持当前值。(2)各个寄存器接收新的数据后就进行移位,移位的顺序是R3R2R1R0R3。2.2 基于带权重的随机测试向量的验证针对规范4的验证,采用带权重的随机测试向量的验证方法。在测试
10、中,端口0作为测试向量的输入端口,端口0、1、2、3作为测试向量的输出端口。其中,端口0、1、2、3的包输出比例分别为70%、10%、10%和10%。因此,采用SCV生成Sender0带权重的随机测试向量用数据包描述为:if(pkt_data.id=0)scv_bagdist;? /定义含权重分布信息的包用于随机化? dist.add(1,70); ? /定义OUT0的输出比例? dist.add(2,10); ? /定义OUT1的输出比例?dist.add(4,10); ? /定义OUT2的输出比例dist.add(8,10); ? /定义OUT3的输出比例scv_smart_ptrd; ?
11、 /对带权重的包随机化d->set_mode(dist);d->next();dest=(sc_uint)*d; ? /赋数据包目的端口号pkt_data.dest0=dest0;pkt_data.dest1=dest1;pkt_data.dest2=dest2;pkt_data.dest3=dest3;? 使Sender0生成10 000个随机数据包,得到如表3所示的结果。可以看出:每个输出端口输出数据包数目的比例与设定比例基本一致。?2.3 基于带约束的随机测试向量的验证?从SoC的RTL级开始进行的验证工作容易造成设计周期的长跌宕,因此,在更高层次的系统级寻求高效的功能验证方
12、法具有十分重要的现实意义。实验结果表明,本文提出的基于随机向量的SoC系统级功能验证方法,不仅能够获得较好的功能覆盖率,而且能够尽早地发现SoC的功能性错误。此外,还说明:(1)三种随机验证方法对功能规范的依赖程度、时间开销和验证效率不尽相同。直接随机测试向量生成方法对功能规范的依赖程度最低,但时间开销最高、验证效率最低;带权重的随机测试向量生成方法对功能规范的依赖程度较高,但时间开销最低、验证效率较高;带约束的随机测试向量生成方法对功能规范的依赖程度最高,但时间开销较高、验证效率最高。在实际的验证工作中可以选择其中一种或组合两种以上的方法进行验证。(2)直接随机测试向量生成方法适用于做黑盒测
13、试验证,适于对验证对象进行定性分析;带权重的随机测试向量和带约束的随机测试向量方法适用于做白盒测试验证,适于对验证对象做定量分析。参考文献1 ?YU Jin Shan, LI Tun, TAN Qing Ping. Scheduling of?transactions under resource constraint based on extended?preemptive time petri nets for SoC system-level testcase generationA. The Second International Conference?on Systems ICON
14、S 2007C.Sainte-Luce,Martinique,2007,4:20-252 ?BERGERON J. Writing testbenches:functional verification?of HDL modelsM.Boston:Kluwer Academic Publishers,?2000.3?BELTRAME G, SCIUTO D, SILVANO C, et al. Exploiting?TLM and object introspection for system-level simulationA.?Proceedings of the Conference on Design, Automation and ?test in EuropeC. Munich,Germany,2006:100-105.4 ?KLINGAUF W, GADKE H, GUINZEL R. TRAIN: A?virtual transaction layer architecture for TLM-based HW/SW codesign of synthesizable MPSoCA. Proceedings of?The Conference on Design,Automation and Test in EuropeC.Munich
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 植物细胞结构与功能试题及答案
- 年度采购计划的制定与实施策略试题及答案
- 2024年CPMM考试核心内容试题及答案
- 大连高二会考数学试卷
- 2024年CPMM新大纲解读试题及答案
- 仓库防台防汛培训课件
- 2024年CPMM科学复习试题与答案
- 江西省上饶市民校考试联盟2025届高考化学押题试卷含解析
- 2025塔里木职业技术学院辅导员考试题库
- 2025泉州纺织服装职业学院辅导员考试题库
- 增演易筋洗髓内功图说(校对勘误版)
- 中国铁路总公司《铁路技术管理规程》(高速铁路部分)2014年7月
- 清明节主题班会PPT模板
- ART-850A系列数字式厂用变保护测控装置技术说明书
- 红色大气中考百日誓师大会PPT模板
- 2022年全国计算机一级EXCEL操作题
- 上海美创力喷码机简易操作及维护
- 维语宗教事务条例(2015)
- 悬挑式卸料平台作业的风险评价结果
- 红河学院本科生毕业论文模板
- IQC(来料)检测报告模板
评论
0/150
提交评论