(本文编译自Electronic Design)
先进半导体芯片的开发难度持续攀升,推动电子设计自动化(EDA)供应商在工具与方法论上不断创新。他们始终致力于提升工具的容量与性能,同时支持最新的硅工艺节点,此外,他们还在探索提高抽象层级的方法,如高级综合(HLS)和通用验证方法学(UVM)。
近年来最具突破性的创新之一,是Accellera系统倡议标准组织推出的可移植激励标准(PSS),它旨在通过定义统一的测试意图模型来解决硬件验证中测试可移植性和复用性的挑战。
PSS的核心思想是将测试意图(即“测试什么”)与测试实现(即“如何测试”)分离。它采用声明式语言特性,允许验证工程师描述激励的高级行为规范(如状态转换、约束条件),而不是具体的执行步骤。
这种抽象层次使得同一份PSS模型可以被工具自动转换并生成适用于不同验证平台(如仿真、硬件加速、FPGA原型、硅后测试)的测试代码,从而实现跨平台、跨层级的复用。
众多芯片开发商与EDA供应商参与了该标准的制定,确保其能够解决实际应用中的挑战。可移植激励工作组(PSWG)于2018年6月发布了PSS 1.0版本,并在2024年8月推出了3.0版本。
PSS提升了芯片设计验证与确认的抽象层级,让开发人员能够指定抽象验证意图,EDA工具可基于此自动生成测试用例。这些测试用例既能够“纵向”覆盖从IP模块、子系统到完整系统的各级验证需求,也能够“横向”适配从软件仿真、硬件仿真到硅片测试的各类平台。PSS模型的可移植性体现在,同一模型可针对不同目标平台生成适配的测试用例。
在该标准即将完成初始版本定稿时,Breker验证系统公司的Adnan Hamid发表过一篇题为《11个误解》的文章,探讨了可移植激励的相关概念。自那以后,行业发生了诸多变化——多家EDA供应商已开始支持PSS,许多芯片企业也在前沿芯片项目中采用了这一标准。随着标准的不断演进,一些新的误解也逐渐出现。
01
UVM用户迁移至PSS无法获得任何收益
这一误解已基本消除。五年前可移植激励工作组举办技术讲座时,听众的诸多提问都在质疑PSS的存在必要性,但如今情况已截然不同。多数验证工程师现已认识到,PSS带来了全新的抽象层级与可移植性优势。
UVM的纵向可移植性极为有限:被动监视器虽可在IP层级与芯片层级间迁移(反之亦然),但激励生成逻辑与测试用例必须进行修改。而在横向维度,当验证场景从软件仿真环境转向硬件仿真环境,或进入无测试平台的芯片启动实验室时,UVM完全无法提供支持。需要明确的是,PSS并非UVM的替代方案,而是其互补技术。
02
PSS是纯学术性标准
可移植激励工作组的活跃成员中并无学术界代表,全部由商业工具供应商与芯片开发商构成。早在Accellera启动标准化进程之前,多家EDA供应商已推出相关产品,能够基于C++或自定义语言表达的验证意图自动生成测试用例。这些供应商从工作组成立之初便积极参与,贡献了自身的技术专长及用户的实际应用经验。同时,工作组中的芯片开发商在标准制定的每一个环节都持续发力,确保该标准能够切实满足一线验证工程师的实际工作需求。
03
没有实际芯片开发商在使用PSS
由于EDA工具的使用情况通常被视为企业私密信息,因此无法准确统计采用PSS的公司数量。但行业内已公开了大量“成功案例”,许多用户也在行业会议上分享了其应用经验。公开讨论过PSS使用情况的公司包括AMD、ADI、博通、IBM、英飞凌、英特尔、高通、三星和德州仪器等。这份极具分量的名单足以彻底粉碎这一误解。
04
没有EDA供应商支持PSS
这一误解完全不符合事实。只需简单检索便可发现,PSS获得了众多行业厂商的支持,包括:
爱德万测试(Advantest)——将PSS应用于其芯片测试卡产品;
楷登电子(Cadence)——在其系统验证解决方案中支持PSS;
西门子EDA(Siemens EDA)——在其验证解决方案中支持PSS;
新思科技(Synopsys)——在其可移植激励解决方案中支持PSS。
05
PSS用户必须在两种语言之间二选一
诚然,该标准的早期版本指定了两种输入格式:一种是由可移植激励工作组定义的领域特定语言(DSL),另一种基于C++。但用户从未被强制要求二选一,而是可以根据需求灵活混合使用这两种格式。不过,随着标准不断新增功能,确保两种语言之间的一致性和互操作性变得愈发困难。因此,在3.0版本中,标准仅保留了DSL这一种输入格式。这一误解从始至终都未完全成立,而如今则彻底不攻自破。
06
PSS不提供覆盖率支持
在3.0版本发布之前,该标准的覆盖率相关结构确实极为有限。而增强覆盖率支持一直是计划中的核心优化方向,最新版本已具备丰富的数据覆盖率、交叉覆盖率和行为覆盖率功能。验证工程师可通过这些功能,确保芯片设计中的重要场景和行为序列都能得到充分的测试验证。
![]()
图:PSS场景覆盖率的抽象可视化。
07
PSS对寄存器和存储器的支持不足
这是另一个针对PSS早期版本的误解,如今已完全过时。当前用户可通过PSS描述寄存器组、寄存器及其字段,以及它们在存储映射中的组织方式;还能定义地址空间和存储区域,在测试执行过程中随机分配内存块,并为存储器之间的数据传输定义缓冲区。这些功能已充分满足芯片设计中对寄存器和存储器的验证需求。
08
PSS不支持芯片启动实验室中的实际芯片测试
从软件仿真向硬件平台自动移植测试用例的能力,是可移植激励技术的核心优势之一。早期已有案例研究显示,Cavium公司在芯片启动实验室中,通过可移植激励工具生成的C语言测试用例,成功在跨3颗芯片的144个处理器上同时运行。尽管难以统计有多大比例的项目已应用这一硬件可移植性功能,但该能力的有效性已得到明确验证。
09
PSS中的所有内容都必须从零开始编写
诚然,与成熟语言相比,PSS可用的共享软件和商业IP确实相对较少,但这一现状正迅速改变。许多企业已在多个项目中应用PSS,并构建了内部可复用组件库;EDA供应商也在其培训和支持服务中提供示例代码。此外,可移植激励工作组正着手定义一套方法学库,计划在PSS的后续版本中推出,进一步降低用户的开发成本。
10
尝试过PSS的团队不会继续使用
新思科技的一段评价最能粉碎这一误解:“我们见证了PSS的应用状况,对于那些已经采用的用户而言,他们都会持续使用。我曾见过一些标准,用户尝试一次后或许觉得有趣,但下次不会再用。然而对于PSS,一旦团队中有人开始使用,整个团队乃至其他团队都会陆续跟进。我们从未见过有用户在启用PSS后中途停止使用的情况。”其他EDA供应商也反馈了类似的观察结果。
11
没有人再讨论PSS了
本文引用了众多案例研究和供应商的产品方案,足以表明网络上对PSS的讨论热度居高不下。此外,可移植激励工作组还受邀在多个行业会议上举办技术讲座和工作坊。业界对PSS的关注度并未降低,相关讨论也从未停止。
尽管PSS尚未在芯片开发领域实现全面普及,但其应用范围已十分广泛。所有提供验证解决方案的主流EDA供应商均支持 PSS,全球多家大型半导体企业也在日常工作中频繁使用这一标准。对于仍受上述任何误解困扰的从业者而言,如今完全可以放心且自信地采用PSS,亲身体验其带来的诸多优势。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.