编写测试平台-HDL模型功能验证.pdfVIP

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 1章 什么是验证 验证不是一个测试平台,也不是一系列测试平台的集合。验证是一个证明设计思路如何实 现的过程。验证贯穿于我们的日常生活中:支票簿的结算、品尝食物、在地图上寻找用标记标 出的特定目标,这些都是验证的过程。 本章将从重要性和代价的角度介绍验证的基本概念,以及如何确认验证的内容。我们将讨 论不同的验证方法之间的差异、测试和验证之间的差异。也将介绍验证在设计复用中的重要 性,以及验证复用时所面临的挑战。 1.1 什么是测试平台 术语“测试平台”(Testbench )通常指一段仿真代码,用来为设计产生特定的输入序列, 也用来观测设计输出的响应。测试平台常常采用VHDL 、Verilog 、e 或OpenVera 语言编写,有 时也会调用一些外部的数据文件或C 函数。 图1.1是一个测试平台和待测设计(DUV )之间相互关系的示意图。测试平台为设计提供 输入信号,并监视设计的输出信号。注意,这个系统是一个完全封闭的系统:系统没有来自外 部的输入信号,也没有输出信号。测试平台是系统的控制核心。验证的任务就是确定产生什么 样的输入模式,以及期望的设计输出。 测试平台 待测设计 图 1.1 一种常见的测试平台和待测设计的结构 1.2 验证的重要性 大多数书籍关注语法、语义和语言的RTL 子集 典型的VHDL 和Verilog 书籍的大多数章节都在介绍语言的语法和语义,通常也会用两三 章的篇幅介绍可综合性编码风格或寄存器传输级(RTL )语言子集。 2 编写测试平台—HDL 模型的功能验证(第二版) 这些书籍通常只用一章的内容来介绍测试平台。但是一章的内容不足以解释清楚与测试平 台有关的知识,并且这些解释常常是非常简单的。几乎所有的书籍都把测试平台用到的技术局 限于产生同步方式的激励矢量,用波形浏览工具检测输出信号。大多数书籍介绍语言的文件输 入功能,把更多的内容安排在语法和语义方面。 这些书籍中大部分的内容是在讲述如何编写可综合的VHDL 或Verilog 代码,而不是强调 如何编写验证功能正确性的测试平台,因此读者会得出前者比后者更重要的结论。事实上,这 与所有的硬件设计队伍的结论相悖。 验证工作占设计工作量的70% 在这个设计规模达数百万门ASIC 、可复用的知识产权(IP )和系统芯片(SoC)的时代, 验证占到了设计工作量的70 %。设计团队应该配备能够正确描述验证需求的工程师和专门进行 验证的工程师。验证工程师的数量甚至应该是 RTL 设计人员的两倍。 验证是必不可少的 由于验证的工作量巨大,以及缺乏合格的硬件设计和验证工程师,因此几乎所有项目的验 证都不能及时完成就不足为奇了。事实上,我们经常在设计完成后才考虑验证工作。当设计进 度受到影响时,问题就会产生。这也是现在的新工具和方法学把验证作为研究目标的原因,它 们试图通过并行化、更高层次的抽象和自动化来缩短验证需要的时间。 并行化可以缩短验证所需的时间 如果验证工作可以并行进行,那么就可以使用更多的资源来缩短验证所需的时间。这就好 比在地上挖一个坑,可以让很多拿着铁锹的工人一起来挖。为了让验证工作得以并行进行,必 须让编写代码、调试、验证以及设计的实现过程都并行化。 抽象可以缩短验证所需的时间 采用更高层次的抽象使我们可以不关心底层的细节,从而提高工作效率,这就好像在上面 的例子里使用挖土机来挖坑。 抽象减少了对底层细节的控制 高层次的抽象通常伴随着对底层控制的减少,因此必须仔细选择。高层次的抽象要求额外 的训练以理解抽象的机制及其后果。 使用挖土机挖坑会遇到同样的失去控制的问题 :工人不再直接和泥土打交道,而是操作 操作杆和踏板。挖掘的工作更快,但精度降低了,并且只有受过训练的工人才能工作。验证工 作可以在更高的抽象层次完成,例如事务级、总线周期级甚至更高的层次,而不是在底层直接 和 0、1 打交道。 第 1 章 什么是验证 3 自动化可以缩短验证所需的时间

文档评论(0)

bhyq + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档