原创 端到端验证IP在SoC项目中的应用

2007-5-22 13:44 2842 4 4 分类: MCU/ 嵌入式

设计IP使用率越来越高的趋势已经大幅降低了每门所需耗费的设计精力,不过它对于功能验证的努力也存在负面影响。实际上,自从集成多重设计IP模块成为标准以来,验证已经成为SoC项目的首要任务以及风险的一个来源。为应对这样的挑战并消除这些风险,设计与验证团队意识到他们需要更多的帮助。

目前大多数设计和验证团队都采用各种各样的验证IP(VIP)。实际上,VIP对每个复杂协议或总线标准(如PCI Express或AMBA AHB/AXI)都是极为重要的。将VIP的使用与一套验证重用策略结合,并搭配一套从初步计划开始贯穿至整个验证功能收敛全过程的方法,团队可以实现最佳成效。

确保复杂协议检查表的符合性的需要进一步体现了VIP的优越性。这是对其本身的重要保证,并且同时需要跨越整个验证过程。

VIP的终极目标是改进验证过程,同时降低验证项目的风险预测。然而该使用哪种VIP的决定却变得更加复杂。就像汽车存在低档车和极品车,VIP如今也存在多种级别。由于VIP并非都是一样的,因此不能随便选择VIP,而是要选择既满足你的需求又能节省资源并降低风险的正确的VIP。这一点是非常重要的。若选择了错误的VIP,通常会导致项目延期,甚至整个项目被取消。

本文将讲述如何优化VIP的选择决策。此外,它还将介绍多种VIP种类,以及在VIP选择中需要考虑的关键因素。

进行VIP选择时需要考虑的关键因素

由于不同种类的VIP在功能性上有很大的不同,了解你需要何种性能是非常重要的。因此就要从确认验证的关键所需开始进行选择。下面列出的是需要考虑的最普遍的问题:

1. 验证工作是一种信赖模块的“快餐式”集成,还是要执行完整的功能性验证?

2. 从模块级到芯片或系统级验证时,你将如何重用VIP?

3. 你如何保证所有复杂协议的符合性?

4. 你是否会同时验证多个协议?

5. 你会如何指定验证目标并衡量验证进度?

根据你对这些问题的回答将会缩小可用VIP的范围。例如,“快餐式”集成需要的VIP性能远低于完全验证。简单集成可以用“总线功能模型(BFM)”完成。稍微复杂一点的项目可以用“Testbench VIP”完成。另一方面,IP开发与SoC项目对VIP使用的重要性要高出许多。它们需要端到端VIP,为衡量完整性需提供明确的指标,并且需要一套完备的解决方案,而这将跨越从架构建模到模块设计再到全芯片/系统验证的整个验证过程。它还跨越了包括形式分析、模拟、加速和仿真在内的全套验证引擎。

考虑你的未来需求也非常重要。即便你现在不需要很多功能,选择有一定余量的VIP通常是有必要的,这样可以为你将来需求的提高做好准备。

将你的需求与VIP性能挂钩

VIP种类主要有三种。它们分别是BFM、Testbench VIP和端到端VIP。每种VIP都有其自身的特点和不足。表1对其进行了分类。


0612B_DC8_T1.jpg
表1:将VIP种类进行划分


BFM与Testbench VIP将会满足基础模块连通性检验的需求。对于更为复杂的应用,就要用到端到端VIP。虽然有很多供应商提供商用VIP,你会发现多数半导体和系统公司内部开发的只有BFM。

评估端到端VIP的价值

1. 自动生成:将信息提取至常人可用的级别

即便是相对简明的协议(如AMBA AHB)都会给验证团队带来巨大而复杂的挑战。一次简单的总线读取就有数百种排列,这是在可以阅读的验证计划文件以及实际验证过程本身中都要获取的信息。要手动全面测试这样一个协议将会需要有庞大的、费力的验证计划和过程。而人们获取所有这些验证情况的能力限制使得该过程风险更大。这就是端到端VIP、通用VIP或组件为解决方案带来好处的一个明显事例。这些高级通用VIP将协议细节提取到一个常人可以有效管理的级别。它们不需要追踪数百万种的协议情况(例如:缓冲溢出条件下许可激活时,总线是否从FFFCA位置读取),提供了更高的提取级别。通过这一种模式,VIP工程师将只需这样问:“所有读取是否都已进行?”

人们可能会想:“多数情况并不重要,因为它们本质上与其它已经验证的过程相似。”虽然从地址A进行一次读取与从地址B的读取确实没有多大差别,但从整个大蓝图来说仍然是很重要的。测试人员经常会漏掉组合和边界值,因此会削弱验证的完全性。

实现全部功能覆盖率的唯一方法就是采用前后关联自动测试激励生成。这可以保证所有重要的配置和排列都得到了测试,甚至包括罕见的设备状况,如错误条件。例如,自动生成包括错误输入在内的所有可能行为的激励因素。

此外,虽然仿真过程迭代正变得更加便宜,它们毕竟不是免费的(也永远不可能免费)。因此实在不应该浪费它们。端到端VIP会指挥验证引擎避开那些不在规定设计内的协议功能,以及那些已经验证过的功能。这是使用功能覆盖率方法的一个重要优势。它强调了从计划到验证收敛的整个过程。

2. 重获控制:将自动计划用于闭合收敛过程

想象一下你被蒙上了眼睛,并被扔到远离任何城市的荒郊野外。你要怎样找到回家的路?你不知道你在哪里,也不知道你正在往哪走。很多验证团队发现他们正处于这样的困难境地。他们正在冲刺,却没有一张清晰的区域地图。更加悲哀的是,这样的团队无法简明地或者精确地告诉管理者他们目前所处的验证阶段,或者何时能够完成。

要解决这些问题,端到端VIP必须提供三大关键要素:

a. 端到端VIP必须提供清楚的功能闭合收敛定义,包括团队里所有人所了解的指标。这就需要制定一个DUT功能矩阵清楚地说明哪些需要测试,哪些不需要。该矩阵接着被编入一个可执行的验证计划。

b. 它必须提供一种方式来观察与衡量与指标相关的验证结果。这可以让所有人了解验证阶段距离闭合收敛还有多远。

c. 需要有一个报告机制,这样可以让团队和他们的管理者精确地了解目前所处的验证阶段。他们还可以精确地预测达到闭合收敛阶段还需要多少时间和资源。

虽然需要有一个闭合收敛过程的计划,这仍然是不够的。验证过程必须是自动的,这样才能成功验证数百万门的SoC。即便你拥有数千个人的资源,但要管理这数千人进行复杂的功能验证也是非常困难的。

VIP计划的自动化性能强调三个基本元素。首先,它们提供了一套可执行的验证计划(vPlan)。它是一套工程师可读、机器也可读的文件,清楚地说明了需要验证的功能矩阵(见图1)。其次,它们添加了自动激励产生,确保功能矩阵的每个部分都得以执行。第三,它们提供了覆盖点和覆盖指标,让你可以评估并报告验证完成度。


点击看大图
图1:来自PCI Express统一验证元件的验证计划样本


验证团队还经常面临查找错误与达成覆盖闭合的痛苦任务。端到端VIP通过将二者自动化减轻了这种难度。例如,它们提供了失败类选法寻找错误。并且没有错误时,它们会提供达到最大覆盖率的方法。因此端到端VIP可以让每个新增仿真测试找到更多错误以及提高覆盖率。

3. 将效率最大化:使用重用法使VIP可以使用在每个验证阶段

VIP就是要重用。VIP必须是只要花费小小的努力就能够使用的(以及能重用的)。在第一次使用,或者从模块到芯片再到系统级验证时都是这样。要达到这一目标,需要在可重用VIP架构以及重用方法上的巨大投入。这可以通过设计团队或者VIP供应商提供,不过必须要使用得当,以获得VIP重用的最大利益。

这并非只是理论上的。采用经市场验证的重用方法和端到端VIP的用户已经证明,在创造和重用他们的验证环境时,可以提高50~100倍的生产效率。

4. 超越检查表:对符合性进行充分校准、衡量和报告

达成协议符合性通常是SoC验证的重要部分。为了帮助你达到符合性,很多协议都有关联的符合性检查表。虽然完成这样的检查表很有价值,检查所有选项并不能保证设计是真正符合协议的,更不能保证设备是充分验证过的。例如,要真正达到PCI Express符合性,要求你超越检查表。它要求:执行所提供的核查;每次核查的闭合收敛必须事先校准(例如必须给每个都提供完成度指标);必须设立自动报告机制。

下面是端到端VIP的主要方面,对于回答关键的符合性问题是非常必要的:

a. 哪些符合性条目没有被验证?

b. 由特定的符合性条目所描述的所有情况是否都被覆盖到?

c. 标准测试案例是否会验证为特定用途而定制的功能?

d. 你能否为你的经理和其他团队制定一份进度报告?

让我们检查一个PCI Express交易层的核查,找出检查表缺陷的例证。TXN.2.21#19声明“完成标头为请求者ID、标记、属性和流量类别提供的值,必须与相应要求的标头所提供的相同。”表2鉴定了检查表中没有提供的,以及你需要提供的内容。


0612B_DC8_T2.jpg
表2:错误检查清单示例


端到端VIP在验证过程的所有阶段为你提供了实现、完成度标准、覆盖率与报告机制。这为你节省了时间,并且由于它是得到充分认证的,让你可以避免因初次使用软件而产生的问题。例如,一个通用验证元件主张检查数据的有效性以及一套功能覆盖率机制,记录不管是否由DUT产生的所有值。将这一基础架构与供应验证计划配对,为任何或所有符合性检查以及总体验证目标的完成度提供了最新的报告。请看图2的完成度报告样本。


点击看大图
图2:符合性检查完成度报告一览


本文小结

SoC项目中的计划和重用的需求随着它们急速增加的复杂性而呈现爆炸性成长趋势。这已经使得端到端VIP的新标准成为项目成功的关键部分。

为了实现你的总体验证目标,并管理与复杂SoC与IP开发项目相伴的风险,端到端VIP又被称为统一验证元件,需要满足以下需求:

1. 自动产生前后相关激励因素;

2. 提供一套计划和指标自动管理,并报告收敛状态;

3. 确保从模块到芯片再到系统级的可重用性;

4. 充分校准、衡量并报告完成部分的符合性;

5. 跨越整个验证过程和所有验证引擎。

通过端到端VIP,一个完整的模块到系统级验证过程,以及一个可靠的验证方法,设计/验证团队可以实现他们的质量、可预测性、时间安排和效率目标。

作者:Pete Heller

高级产品市场经理

Erez Kovshi

高级工程经理

Cadence设计系统公司

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条