基于VMM的可重用FPGA验证平台_图文_第1页
基于VMM的可重用FPGA验证平台_图文_第2页
基于VMM的可重用FPGA验证平台_图文_第3页
基于VMM的可重用FPGA验证平台_图文_第4页
基于VMM的可重用FPGA验证平台_图文_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、2009年12月第28卷 第12期理论与方法基于VMM 的可重用FPGA 验证平台何丽梅 郭育华 温志开 马 果(磁浮技术与磁浮列车教育部重点实验室西南交通大学 成都 610031摘 要:针对F PG A 设计中如何高效、充分验证功能的问题, 本文介绍了集众多优势一体的V M M 验证方法, 并通过GF P 封装与解封装项目的具体应用, 讲解了平台的搭建, 并重点分析了其重用性策略。验证结果表明, 这种验证方法采用层次化的平台结构, 具有随机约束、覆盖率驱动、自动化、可重用性和可维护性等优点, 能最大限度的提高验证效率和覆盖率, 有效的减少验证工作量和缩短验证时间。关键词:V M M ; GF

2、 P; 分层式验证平台; 可重用性中图分类号:T P332 文献标识码:AConstruction of resuable FPGA verification testBench based VMMH e Lim ei Guo Yuhua Wen Zh ikai M a Guo(Key laborat ory of Magnet Suspension Technology and Maglev Vehicle M inist ry of Education SouthwestJiaotong University, Chengdu 610031, ChinaAbstract:Aiming at

3、 how to make verificat ion effect ively in the process of FPGA design, this paper does not only int ro -duce the optimized VMM verif icat ion met hodology, but also make det ailed analysis and descript ion in how to assem ble the t estbench especially t he reuse strategy by GFP encapsulat ion and de

4、 -encapsulation application. It is proved that the verif icat ion met hodology has many advantages such as random constraint, coverage -driven, automat ion, reusability and maintainabilit y w h ich w ill im prove efficiency and coverage furthest and reduce w orkload and tim e effectively.K eywords:v

5、erification m ethodology mannul f or syst em verilog; generic fram ing procedure; layered testbench; reusability0 引 言随着芯片工艺的发展和逻辑设计规模、复杂度的急剧膨胀, 功能验证变得日趋重要, 传统的验证方法已经难以满足其要求。如何找到一个高效、可靠的验证方法搭建通用的可重用验证平台, 成为当今逻辑设计的重要课题。在保证实现验证目的、排除芯片设计错误的前提下, 我们希望选择一种验证方法以提高平台的可重用性和可维护性1, 有效减少开发者在平台搭建过程中的工作量, 缩短逻辑开发周期

6、, 使企业利润实现最大化。Synopsys 公司与ARM 公司联合推出的VM M 验证方法学, 是基于Syst emVerilog 硬件验证语言建立的事务级目标模型环境。利用V MM 的层次化、随机约束等特点, 能有效提升现有验证方法, 搭建具有目标模型环境、激励随机生成、含错误指示的自核对式验证平台。1 VMM 验证方法学介绍VMM 验证平台分为五层:测试层、场景层、功能层、指令层、信号层, 使验证从信号级抽象到事务级, 其验证结构如图12所示。各层实现不同的功能, 除测试层外, 各层通过通道(Channel 、反馈(Callbacks 或端口(int erf ace 实现数据的通信, 模拟

7、DU T (被测设计 的外部运行环境。如图1所示, 信号层位于平台的最底层, 用于定义验证平台与DU T 之间的信号接口, 可在驱动器(Driver 及监视器(Monit or 中实现对DUT 的操作。指令层为DU T 提供了一个一致的、低层次的事务接口, 依照各种接口和物理层协议经过信号层驱动物理管脚, 驱动器根据入口协议发送从功能层传来的数据激励, DUT 处理之后监视器根据出口协议接受数据并通过回调函数送到功能层。功能层主要处理应用层事务, 验证DU T 的正确性。场景发作者简介:何丽梅, 硕士研究生, 主要研究方向为电力电子与电力传动。中国科技核心期刊39理论与方法2009年12月第2

8、8卷 第12期 器、发生器等;4 vmm_env 类, 构造整个验证环境, 采用九步法执行, 所有事务均在此实例化并连接执行。VMM 完全以SystemVerilog 为基础编写, 各种层次的代码不但简单扼要、清晰易懂、容易维护, 并且在编写参考模型和事务处理时机动灵活、方便快捷, 功能更是非常强大, 有利于平台的可重用和后期维护3。2 基于VMM 的逻辑验证平台设计图1 V M M 层次化验证平台结构图生器与场景管理器共同构成了场景层, 前者以随机的次序和序列生成场景, 产生DUT 的事务流, 后者根据特定测试用例发起场景并生成与之对应的事务流。以上各层共同构成了验证环境, 测试用例即在其上

9、层实现, 在测试环境和DU T 的任何组件相互作用, 修改发生器的随机约束、定义新的随机场景, 同步不同事务处理器, 插入各种错误信号, 监控被测设计状态以及生成所需定向激励。可以看出, VMM 的分层思想结构性非常强, 每一层相对独立而又相互联系。用V MM 来搭建一个验证平台, 只需根据DUT 的不同, 修改相应的模块则整个平台可以复用。V MM 提供了方便平台搭建的常用基本类, 主要包括:1 vm m_data类, 构造所有事务描述符和数据模型, 提供仿真激励的基本操作;2 vm m_channel类, 构造在事务之间传输事务对象的通道, 可直接传递数据激励;3 vm m_xactor类

10、, 构造事务对象的处理器, 包括监视基于SPI -3接口协议的以太报文GFP 封装与解封装的项目采用VM M 验证方法, 并在此基础上结合项目实际进行了验证平台的设计, 提高了验证效率。2. 1 GFP 封装与解封装逻辑简介逻辑进行GFP 封装与解封装, 支持最大报文长度9600字节, 为SPI -3协议接口, 支持64逻辑通道, 分为存储转发与透传模式(图2 。图2 逻辑功能框图2. 2 系统验证平台根据逻辑特性与验证要求5, 结合VMM 验证方法搭建系统验证平台如图3所示, 各个模块的功能如下文所述。图3 GF P 封装与解封装逻辑VM M 验证平台结构图中国科技核心期刊2009年12月第

11、28卷 第12期图3为GFP 封装与解封装逻辑的验证平台结构图, SPI3_Master 与SPI3_Slave分别模拟了SPI -3协议L INK 侧与PH Y 侧情况, 对应于逻辑的PH Y 侧与LIN K 侧, 与逻辑的同步取决于SPI -3接口协议, 这里不再详述。下面简要介绍本验证平台的几个重要功能模块:1 ETH _Generator 模块主要生成验证DU T 的随机激励。这些激励被封装在一个类对象(class object 或事务(transaction 中, 主要继承自VMM 中的vm m _data, Generator 产生这些数据对象或事务, 并通过通道(chan -ne

12、l 送到下个模块。2 ETH _Transator 模块根据DU T 的功能和协议处理T ransact ion, 在本验证平台中为以太报文。由于本逻辑遵循SPI -3协议, 需将事务转为64位宽字节流并和其他信号如开始、结束、奇偶校验等进行打包, 再通过Chan -nel 送到Driver 中。3 在验证平台中, SPI -3_Master 和SPI -3_Slave各有一个驱动器和监视器。由于GFP 逻辑是上下行双向逻辑, 遵从SPI -3协议主从协议, 故SPI3_Master 、SPI3_Slave 模块中Driver 对应于逻辑分别采用LIN K 侧时序、PH Y 侧时序将ETH _

13、Transactor 传下来的数据驱动进入DU T 。而其中的M onitor 则通过相关协议监控流过虚拟端口的数据流, 其中包括输入逻辑的数据和经逻辑处理后输出的数据, 并通过Callbacks 将追踪到的数据反馈到Scoreboard 模块和Functional Coverage 模块。4 Scoreboard 是一个自动比较器, 对接收数据进行C RC 自校验, 并将M onitor 传递过来的输入与输出逻辑的数据进行依次比对, 利用VM M 提供的消息机制vm m_log打印各种信息, 有利于错误定位, 提高了验证效率。5 Functional Coverage 模块可用作安全保障网,

14、 帮助验证工程师判断搭建的验证平台及编写的测试用例是否达到了预期的功能。在此模块中, 主要通过定义一系列的功能覆盖点, 在运行时, 自动生成和收集各种度量指标, 并统计出覆盖率报告, 有助于找出平台功能上的缺陷与测试不足。6 Interface 是信号层接口, 用于建立验证平台和DU T 之间的连接, 是对设计引脚名的抽象。在指令层中, Driver 和Monit or 都定义了自己的虚拟接口, 避免信号的直接引用, 可以提高验证平台的重用性, 使验证环境和测试案例的实现能使用尽可能高的层次服务。7 Test_env为vmm _env的派生类, 是DUT 的验证环境, 在此派生所有的虚拟方法,

15、 并用关键字super 调用它们的基类实现, 使Test_env实现验证目标设计所需的九个仿真步骤, 平台各组件有序的完成测试案例的仿真。8 其他模块, 如SSRAM 和CPU 行为模型。在系统级验证时, 逻辑之外的所有环境均需模拟, 所以搭建了2个SS RAM 、一个CPU 的行为模型, 用于模拟各自的功能, 并通过相应的接口Interface 与DUT 建立连接。CPU 主要用于配置DUT , 命令下发, 性能读取, 状态查询等。理论与方法 2. 3 验证过程与结果验证根据逻辑需求点进行测试点分解, 主要包括功能测试与异常测试。前者的测试用例从存储转发与透传模式出发, 通过映射关系、WRR

16、 权重、报文长度等随机配置进行编写。异常测试模拟了实际环境中可能出现的众多异常, 如接口异常、报文CRC 错误、时钟丢失等。验证过程中采用了平台错误统计与TestCases 报错结合的方法验证逻辑, 准确的定位错误位置。经过多次回归测试, 所有测试用例全部通过。部分覆盖率定义及结果如图4和图5所示:2. 4 验证平台的可重用性分析本文设计的逻辑平台严格按照VM M 分层结构搭建, 结构清晰, 各模块相对独立却又紧密合作, 有利于平台的功能扩展。验证平台的各个组件也可以有选择的重用, 如平台中的产生器、行为模型等都可以直接重用。对于派生设计或具有相似接口协议的设计, 设计者可以直接重用以前的驱动

17、器、监视器等, 仅需重新修改激励中的事务序列。而对于功能相同或相似, 仅接口协议不同的DUT , 修改与接口协议相关部分即可重用平台。3 结束语本文通过所搭建的GFP 封装与解封装验证平台, 介绍了基于VM M 方法学的分层式验证平台。与传统的验证平台相比, 该验证平台各层分工明确, 结构化更明显, 具有很高的重用性, 各个组件相对独立, 能较快应用于其他中国科技核心期刊41理论与方法验证平台, 大大减少了验证工程师的工作量, 节省了人力资源与时间, 提高了验证效率, 缩短了验证周期, 节约了开发成本。参考文献1 詹文法. 验证平台的可重用性研究D . 合肥:合肥工业大学硕士学位论文, 200

18、4:22-33. 2 Berg ero n J, Cerny E, A Hunter, et al. V erification M etho do lo gy M anual for Sy stem Ver ilog.3 Or ganizatio n A. SystemV erilog 3. 1a L anguag e Refer -ence M anual A ccellera' s xtensions to V erilog M . Ca-l ifornia, A ccellera O rg anization Inc, 2004.2009年12月第28卷 第12期4 马骞, 李

19、惠军. EOS 系统中GF P 封装与解封装的设计J.光网络, 2009(3 :31-33. 5 梁琛. SDH 芯片验证平台的设计D.西安电子科技大学硕士学位论文, 2007:21-29.6 杨鑫, 徐伟俊. Sy st emV er ilo g 中的随机激励. 中国集成电路, 2007(101 :37-41.7 丁婷婷, 申敏. RV M 的分层式验证平台及覆盖率驱动技术J.微计算机信息, 2008(1-2 :140-142. 8 董杨鑫, 郑建宏. 基于断言的So C 设计验证方法J,国外电子测量技术. 2007(10 :14-15.(上接第30页viscometer based on

20、L abVIEW J. Journal of E -lectronic Measurement and Instrument. 2009, 23(5 :97-102.5 JOH N SON GW, JENN INGS R. LabVIEW graph -ical program ming (4th Ed. M .T he McGraw -H ill C om panies:New York, 2006, 243-246.6 雷振山, 魏丽, 赵晨光, 等. LabVIEW 高级编程与虚拟仪器工程应用M . 北京:中国铁道出版社, 2007, 70-74.7 陈锡辉, 张银鸿. LabV IEW 8. 20程序设计从入门到精通M. 北京:清华大学出版社, 2007, 296-302th8 ADVA N

温馨提示

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

评论

0/150

提交评论