账号:
密码:
智动化 / 文章 /

互连汇流排的产品生命周期(下)
PSS建构效能模型、设计验证及後晶片验证
[作者 ADI]   2022年03月17日 星期四 浏览人次: [9395]

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


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


互连汇流排的UVM式验证

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


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



图5 : 对互连汇流排进行UVM式IP验证
图5 : 对互连汇流排进行UVM式IP验证

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


连同做为验证计画一部分的导引式测试,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层级的模拟则会使用产生的测试来执行,并搜集覆盖数据。



图6 : 互连汇流排进行PSS式IP验证
图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模型,就可以创建出各种复杂情境,若是以人工撰写的方式就很难创建。



图7 : 互连汇流排的PSS式SoC验证流程
图7 : 互连汇流排的PSS式SoC验证流程

互连汇流排的验证 ;

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


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



图8 : 互连汇流排的PSS晶片验证流程
图8 : 互连汇流排的PSS晶片验证流程

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


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


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


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


总结

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


(本文作者Gaurav Bhatnagar、Courtney Fricano为ADI主任工程师)


叁考电路

[1]Ajamian, Tom. “AMBA Interconnect Design Flow Automation.” Synopsys, Inc., 2015.


[2]Bhatnagar, Gaurav and David Brownell. “Portable Stimulus vs. Formal vs. UVM: A Comparative Analysis of Verification Methodologies Throughout the Life of an IP Block.” DVCon, 2018.


[3]Portable Stimulus Working Group. Accellera Systems Initiative, 2019.


[4]TrekUVM?: Eliminating UVM Overhead. Breker Verification Systems, 2019.


[5]UVM (Standard Universal Verification Methodology). Accellera Systems Initiative, 2019.


相关文章
利用PMBus数位电源系统管理器进行电流感测
透过新方法为讯号链系统建立电源解决方案
利用软体驱动、安全的预测性马达维护提升生产力
最大限度精减电源设计中输出电容的数量和尺寸
先进电源的便捷设计方法
comments powered by Disqus
  相关新闻
» SoftBank完成Altaeros ST-Flex自主浮升器电讯测试
» 东元全方位节能减碳方案 养殖、食品加工首选
» 自动化展开布局 东佑达扩建新吉二厂动工
» 安勤ARTEMIS即时定位追踪系统协助纺织厂布车管理
» 德承於Embedded World 2022展示多元嵌入式运算解决方案
  相关产品
» Aerotech开发Automation1运动控制平台新功能
» 洛克威尔自动化发表全新微型控制器和设计软体
» 德承新款嵌入式工业电脑DV-1000提升边缘运算功效
» 安勤推出模组化人机介面机台系统OTC打造智慧工厂硬核心
» Basler boost相机配备安美森影像感测器和Basler F-mount镜头