新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 互连总线的产品生命周期(下)

互连总线的产品生命周期(下)

—— PSS建构效能模型、设计验证及后芯片验证
作者:ADI时间:2022-03-17来源:CTIMES收藏

  可携式刺激源标准()是最新的业界标准,其用来规范测试意图与行为,让测试刺激源可重复套用到不同的目标平台。不仅改变系统单芯片(SoC)传统的确认与验证方法,也带来了许多优点以及衍生不少挑战。本文继上篇从SystemC效能分析探索架构的生命周期探讨,下篇着重于分析解说如何透过通用型流量产生器进行确认与验证。

随着设计要求日趋复杂,验证技巧与方法也随之不断演进。可携式刺激源标准(PSS)是演进的最新产物,它的目的是因应测试可移植性的挑战。新型PSS允许用户建立测试意图,藉以重复套用到不同的目标平台。除了可移植性之外,PSS验证技巧还提供多方面的价值,包括视觉测试代表性、限制设定、数据流随机性及更高的测试质量。本文探讨这些演变,提出一项架构的案例研究,进行SystemC效能分析解说确认与验证过程。


的UVM式验证
互连架构的效能分析可归纳出效能、功率及空间的最佳组态。确定互连组态后,即可用来产生AMBA互连RTL以及可设定的自动化流程。但这种流程由于存在组态、软件结构、以及人工解读组态等方面的限制因此容易出错,所以需要进行验证,确保无瑕疵的产生流程。在以往这方面都是采用业界标准UVM方法。

图5显示用来验证互连总线的UVM环境,当中包含不同类型的AMBA(AXI、AHB、APB)主控器与UVC从属端,以客制化组态分别连到DUT从属端与主控器。这个环境可用通用组态进行设定。记分板(scoreboard)不仅会记录交易,还会显示任何数据不匹配的AI。

图片.png
 
图5 : 对互连总线进行UVM式IP验证

测试包含一系列程序以及虚拟程序,用来控制底层UVC与接口的功能。测试程序依循的测试计划,是源自针对性与随机性测试案例。功能覆盖点亦是依据验证计划所建立,藉以确保符合规格。在此之后会执行多项模拟与建立一个覆盖数据库,藉以搜集程序代码与功能覆盖范围。接着会分析数据库并检验覆盖区的死角。接下来进行回归测试,然后产生报告并分析结果。这个流程会不断重复,直到达到想要的覆盖目标,以确保高质量的验证。

本文引用地址:http://www.eepw.com.cn/article/202203/432109.htm

连同做为验证计划一部分的导引式测试,UVM技巧依赖随机测试来达到覆盖目标。它从随机刺激源开始,之后逐渐限缩限制条件,直到达成覆盖目标为止,依赖随机化的与运算主机群的蛮力来覆盖状态空间。程序代码覆盖率是定量衡量数据,但功能覆盖则是DUT程序代码执行的定性衡量。通常这项质量受限于人们执行验证计划以及分析覆盖报告方面的勤奋与坚持程度。

另一项决定验证质量的因素是高效率的自动化检查。结合利用记分板进行封包比较,以及判定检查点,可在流程后段判定后芯片bug瑕疵的数量。UVM式验证技巧是自给自足且有效的方法,可确保高质量的验证。然而,PSS技巧可透过各种功能进一步改善验证流程。

PSS式验证一开始是针对每项设计规格建立验证计划,然后设立验证环境。之后针对可携式刺激源模型、限制条件、以及组态档案撷取出测试意图。支持这项标准的工具之后可为特定种类的验证环境产生测试程序,以及搜集图像式覆盖图表。分析这种类型的覆盖范围,可显示在测试限制条件与组态下的覆盖漏洞,以及重新检讨流程。

图6显示验证流程以及介绍PSS模型。这里要提的重点是PSS模型不会取代UVM环境,实际上,它是加到现有UVM环境以增强其功能。UVM验证环境仍会有主控器与从属端UVC,以及SB与组态,而虚拟程序则会绕过UVM SV基础架构。这个环境是由顶层UVM测试来控制,一方面呼叫虚拟程序来控制UVC作业,另一方面与可携式刺激源互动,并透过PLI与DPI式系统呼叫产生格式。PSS模型完全可重复用在SystemC式效能建模程序。由PSS模型产生的测试逻辑会控制各UVC之间的作业。IP层级的模拟则会使用产生的测试来执行,并搜集覆盖数据。


 图片.png

图6 : 互连总线进行PSS式IP验证

表2显示在PSS与UVM验证环境中进行回归检验的结果。由于采用UVM方法,让达到最高覆盖范围(套用豁免条件)需执行的受限随机测试的次数大幅降低。PSS验证的随机机制一开始是执行抽象描述,描述DUT高层级状态之间的合法交易,以及自动仿真覆盖这个状态空间所需的最少测试。图像覆盖范围让用户能检视横向传递路径以及产生测试,藉以覆盖最大长度的图像。

 

2. PSS UVM 设定与回归

测试运行(Tests Run)

通过

失败

不执行

整体程序代码覆盖率

(仅UVM) 125

125

0

0

298034/388949 (76.6%)

(UVM PSS) 75

75

0

0

298034/388949 (76.6%)


可携式刺激源验证方法可以控制的另一项因素,就是测试质量。由于可透过图像看到测试状况,让使用者可以更好地了解控制以及数据流。此外,相同的工具还能用来在运行时间进行主动检查,允许有效的自动检查。这方面还能结合记分板检查以及判定检查点,藉以改善验证质量。

可携式刺激源方法是在更高的抽象层上执行,之后会整合底层的验证流程。因此尽管在测试或刺激源产生流程方面有明确的改善,这种验证方法仍以原始型态局限在底层流程。在和UVM环境整合方面,一方面它受益于重复使用验证组件,另一方面它也会受限于本身的复杂性。类似的状况,在UVM方面,验证的质量受限于验证计划的质量以及覆盖报告的分析。


互连总线的SoC验证
当互连整合成SoC的一部分,就必须检查它与系统中各主控器与从属端之间的整合状况。这方面通常是在处理器上执行C语言测试,藉以检查互连总线的整合状况。IP层级上的通用主控器会变换成特定总线主控器,像是多重处理器、DSP、DMA控制器、各种序列协议的主控器,像是SPI、I2C、CAN等协议,以及各种客制化主控器与从属端。这会引发特定程序或宏,藉以控制SoC中的不同主控器与从属端。

宏或程序通常会进行缓存器程序化,藉以从包括DMA控制器、内存等主控器接收与发送交易。在这个层级并没有受限的随机化,因此每种情境都必须探索以及进行人工撰写程序。在重复使用方面,IP层级的某些UVM监视器可用来监视协议或利用记分板来检查任何特定的兴趣点。但一旦转移关注焦点,就必须重新执行涵盖主要部分的测试与程序。

PSS验证技巧是为SoC测试重复使用的IP所设计。图7显示在SoC层级验证方面重复使用流量产生器PSS模型。在IP层级撰写的模型,系针对不同地址映像进行设定,配合每种SoC规格与针对C测试产生程序。

模型中几乎所有程序–除了整合执行程序代码的部分以外–都可重复使用在为处理器应用撰写模型上,亦即这类执行程序代码远远较为复杂,包括各种主控器争夺启动与关闭宏,或是像DMA与内存控制器,它们能启动互连总线上的单一或突发交易。

对于每个通用主控器,需要重新撰写执行程序代码,藉以让它们能和SoC中各种主控器进行整合。工具的随机性允许多种主控器与从属端交易的组合。SoC层级上针对整合检查建立目标测试的限制,可配合测试的视觉表征妥善管理。在产生C语言测试后,它们会和SoC设定以及一些系统标准基础架构进行整合。C语言测试之后会进行编译,然后在处理器执行,用来产生交易。

图7显示运用PSS工具建立多核心测试,这类测试很难以人工撰写出来。测试意图的不同部分可设定在核心上执行,藉以建立有趣的情境。在含有多个总线主控器的状况,上述功能特别有用。由于有这种功能组合,让不同主控器进行程序化变得可行。能够重新产生SoC层级的图像化受限随机测试,但又不需实际重写这些情境,也是一项重大优势。

另外,它也允许测试产生,利用不同的地址映像检查相同IP的不同执行例。而当我们在SoC层级上,在SoC层级为不同IP结合不同种类的PSS模型,就可以创建出各种复杂情境,若是以人工撰写的方式就很难创建。


图片.png
 
图7 : 互连总线的PSS式SoC验证流程

互连总线的验证
业者需要执行验证才能确定产品合规性,确保符合客户的规格、可用性及符合允收(acceptance)测试的要求。传统上,评估板需要执行C语言测试,通常都是根据原始规格以人工撰写程序代码。这种重复性的工作可利用PSS方法大幅精减,让系统自动产生兼容于评估软件的C语言测试码。

图8代表PSS方法的验证流程。流量产生器的PSS模型可根据每种SoC规格以及配合Eval-C测试产生流程,针对不同地址映像进行设定。PSS工具通常能够针对多个核心产生测试程序,支持特定情境的测试。产生的C测试程序经过除错器的编译,程序代码会透过像JTAG的接口加载到评估板。执行测试程序代码之后,结果就会显示在评估板与除错器接口。在SoC层级撰写的程序结合图型限制的随机性,这种成品完全具备重复使用的能力。

图片.png
 
图8 : 互连总线的PSS芯片验证流程

此外,测试意图的视觉代表性,以及方便套用限制的能力,让使用者能建构方向性明确的流程。这种独特且具控制性的方法在验证过程中可建立各项测试,而这在以往通常都是完全以人工操作来进行。

这里的执行程序代码也必须针对芯片验证的相关规范重新撰写。验证平台的基本驱动程序用来控制总线上的不同主控器,像是这类应用经常用到的DMA以及内存控制器。产生的C程序代码也需要进行整合,并采用评估平台接受的格式。通常这方面的流程包括重复使用表头(header),撷取预写验证码的档案,然后重复套用到产生的整合程序代码。程序代码之后进行编译,并和目标除错器一起执行,藉以确保在这个层级进行妥善的测试。

PSS工具通常能够分析后处理应用得到的结果。结果数据的视觉分析除了反映测试通过或失败的状况,还能将产生结果的程序代码区段一同显示出来。这在验证程序方面特别有用,因为传统除错功能在这方面的能力相当有限。

虽然我们还在后芯片应用针对流量产生器模型重复使用C测试流程,但我们有信心可能运用C语言测试法套用在任何评估平台上。事实上,将SoC型PSS模型重复套用在后芯片评估板,这种模型已证实可用在其他处理器类型的应用。这类应用的可重复利用性,系可携式刺激源方法的独有特性。

总结
PSS类型的通用流量产生器支持可重复使用的测试方案,透过SystemC执行效能分析测试互连总线,藉以执行验证与确认。其中每项流程都需要进行整合以及基础架构的开发。不过,这些一次性流程有机会在后续应用中重复使用。除了可重复使用外,PSS类型的方法在特定随机性、测试意图的视觉代表性、以及初期覆盖范围分析等方面提供许多优势,使其价值进一步增加。能够建构通用型应用的弹性,让厂商有机会开发即插即用型解决方案,进一步加速验证与确认的流程。
(本文作者Gaurav Bhatnagar、Courtney Fricano为主任工程师)



评论


相关推荐

技术专区

关闭