【DVCon-US-2020】基于UVM的集群级测试平台的硬件加速

简介: 【DVCon-US-2020】基于UVM的集群级测试平台的硬件加速

论文概述


 本文题目是 Hardware Acceleration for UVM based CLTs,作者是Intel和Synopsys的印度工程师,发表在DVCon2020上,提出了一种基于UVM的集群级测试平台(CLT)的硬件加速方法。




研究目的


 随着SoC设计复杂度的提升,完备验证变得越来越难。尤其是对于Cluster级别的仿真,仿真跑得是真慢啊,一个仿真要仿到天荒地老。是的,本文的目的:仿真加速。




新方法


方法提出


 由于emulation平台对UVM支持上的限制,基于emulation的加速方法不能直接应用于使用了UVM的CLT验证平台。通常在emulation平台上跑RTL及C++的验证平台。


 考虑到在IP / Sub-system / SoC级别已经基于UVM做了很多验证工作,复用之前的case需要用软件平台跑仿真, 我们承担不起Cluster级软件仿真的巨大耗时。想要跑得快,就需要用到emulation平台,就需要用C++把UVM那一套重新实现一遍,重复造轮子,费时费力还不一定能造好。怎么办?


 本文提出了一种兼容UVM和emulation的方法,稍微花个一两周改一改UVM的环境,用simulator和emulator进行软硬件协同仿真。对于较小的case,仿真速度有3~5倍的提升;对于较大的case,仿真速度能够提升20倍以上。


 新方法:simulator+emulator软硬件联合仿真。UVM部分在simulator上跑,RTL部分在emulator上跑。示意图如图1。


35bee40ab6084a0588320c126aed1e9c.png


图1 CLT setup in Simulator Accellerator



方法实现


 对原有环境的修改:


  1.    DUT coding方式要支持emulation。既有的部分RTL在simulation中是没问题的,但部分写法对emulation不友好,需要修改。(本文未举例,我没玩过emulation,不太清楚。)


  1.    确定哪些设计是要放在emulator上跑。一般是指定hierarchy,某hierarchy以下全部部署在emulator上跑,其他的放在simulator上。


  1.    在正式编译和仿真之前,确保完成以上加速更改后CLT在simulator上仍然是可行的。确保相关问题已经debug过且fix已经合入,不要等到我CLT上再发现低等bug,我这时间可耗不起。


  1.    simulator仿真验证差不多后,对应RTL就要作为model应用到加速平台啦。



 采用以上方法对功能进行验证后,大概能提速4、5倍,但这似乎还不够,需要进一步提升model的性能。之前的CLT在配置的时候是用于simulation的,多多少少对emulation不太友好,因此可以稍微修改以下, 进一步提升model性能:


  1.    优化HW/SW接口。simulator和emulator的软硬件接口中,存在一些“冗余”的port,导致了额外的软硬件同步开销,因子可以进一步清理这些port。这一步大概可以提升3倍性能。


  1.    在emulator中产生clock。在常见simulation环境的时候,往往是在软件这一侧生成clock然后传递到硬件(图2)。这样硬件在工作的时候,每次都会产生一个时钟同步时间,极大影响效率。因此,建议把生成clock的事情让emulator来做。


  1.    第2步中把clock生成放在emulator中,这就导致了一个新的问题,就是软件在用clock的时候需要跟硬件做同步,这同样会影响性能。因此,需要在硬件侧做些逻辑,把clock传到SW侧,来减少同步及其对性能的消弱(图3)。


ebe1421546984d0e995d52fdb3e1a195.png


图2 Clock setup in traditional simulation

bab8a2378e1e43e49afb3e6e036f0e27.png


图3 Clock setup in simulation acceleration




 这样一来,对于长时间的仿真而言,仿真加速大概有20倍。




讨论


 采用本文所述仿真加速的方法,能够提供波形、断点、单步调试、TB/DUT同步调试等debug能力,跟传统的simulation相差无几,仿真速度还快。


 这个方法也有缺点:


   simulation支持增量编译,放在emulation中就不支持增量编译了,改点东西就要全部编译;


   本方法采用了信号级加速,采用这种方法不需要对 CLT 环境进行任何类型的重新设计或更改,但同时引入了SW/HW port上信号同步的开销,使得仿真无法达到最大性能。为了进一步提升性能,可以采用事务级加速,利用事务器task/function来驱动DUT。事物级加速能够减少SW/HW的接口信号数量,从而减少同步开销。 事物级加速请移步另一篇文章 DVCon2020】以接口为中心的软硬件协同SoC验证仿真加速



 本文集UVM与emulation与一体,方法是个好方法,值得一试。






目录
相关文章
|
9月前
|
关系型数据库 MySQL 测试技术
【分享】AgileTC测试用例管理平台使用分享
AgileTC 是一个脑图样式测试用例管理平台,支持用例设计、执行与团队协作,帮助测试人员高效管理测试流程。
456 116
【分享】AgileTC测试用例管理平台使用分享
|
9月前
|
人工智能 数据可视化 测试技术
AI测试平台自动遍历:低代码也能玩转全链路测试
AI测试平台的自动遍历功能,通过低代码配置实现Web和App的自动化测试。用户只需提供入口链接或安装包及简单配置,即可自动完成页面结构识别、操作验证,并生成可视化报告,大幅提升测试效率,特别适用于高频迭代项目。
|
10月前
|
人工智能 测试技术 芯片
AMD Ryzen AI Max+ 395四机并联:大语言模型集群推理深度测试
本文介绍了使用四块Framework主板构建AI推理集群的过程,并基于AMD Ryzen AI Max+ 395处理器进行大语言模型推理性能测试,重点评估其并行推理能力及集群表现。
989 0
AMD Ryzen AI Max+ 395四机并联:大语言模型集群推理深度测试
|
9月前
|
人工智能 测试技术 调度
写用例写到怀疑人生?AI 智能测试平台帮你一键生成!
霍格沃兹测试开发学社推出AI智能测试用例生成功能,结合需求文档一键生成高质量测试用例,大幅提升效率,减少重复劳动。支持自定义提示词、多文档分析与批量管理,助力测试人员高效完成测试设计,释放更多时间投入核心分析工作。平台已开放内测,欢迎体验!
|
9月前
|
人工智能 测试技术 项目管理
测试不再碎片化:AI智能体平台「项目资料套件」功能上线!
在实际项目中,需求文档分散、整理费时、测试遗漏等问题常困扰测试工作。霍格沃兹推出AI智能体测试平台全新功能——项目资料套件,可将多个关联文档打包管理,并一键生成测试用例,提升测试完整性与效率。支持套件创建、文档关联、编辑删除及用例生成,适用于复杂项目、版本迭代等场景,助力实现智能化测试协作,让测试更高效、更专业。
|
10月前
|
存储 人工智能 算法
AI测试平台实战:深入解析自动化评分和多模型对比评测
在AI技术迅猛发展的今天,测试工程师面临着如何高效评估大模型性能的全新挑战。本文将深入探讨AI测试平台中自动化评分与多模型对比评测的关键技术与实践方法,为测试工程师提供可落地的解决方案。
|
12月前
|
存储 测试技术 虚拟化
VMmark 4.0.3 - 虚拟化平台基准测试
VMmark 4.0.3 - 虚拟化平台基准测试
346 0
VMmark 4.0.3 - 虚拟化平台基准测试
|
9月前
|
人工智能 自然语言处理 测试技术
AI测试平台的用例管理实践:写得清晰,管得高效,执行更智能
在测试过程中,用例分散、步骤模糊、回归测试效率低等问题常困扰团队。霍格沃兹测试开发学社推出的AI测试平台,打通“用例编写—集中管理—智能执行”全流程,提升测试效率与覆盖率。平台支持标准化用例编写、统一管理操作及智能执行,助力测试团队高效协作,释放更多精力优化测试策略。目前平台已开放内测,欢迎试用体验!
|
安全 前端开发 Linux
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
339 3
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
|
10月前
|
存储 人工智能 文字识别
从零开始打造AI测试平台:文档解析与知识库构建详解
AI时代构建高效测试平台面临新挑战。本文聚焦AI问答系统知识库建设,重点解析文档解析关键环节,为测试工程师提供实用技术指导和测试方法论