RISC-V验证挑战蔓延!RISC-V架构真能让芯片迎来新的生机?

RISC-V生态系统正在努力跟上快速创新和定制化的步伐,这增加了每个设计所需的验证工作量,并将这些工作分散到更多公司的更多工程师身上。历史的假设是,对于一个成熟的主流处理器IP核来说,从成本和时间上看,验证占SoC项目工作的60%到80%甚至更多。但处理器IP的商业模式是建立在一刀切的基础上的,这使得芯片公司可以在许多项目中摊销NRE(非经常性工程)。RISC-V的实现往往规模较小,定制化程度较高,在很多情况下,一个项目与另一个项目之间的差异很大。


RISC_V验证挑战蔓延!RISC_V架构真能让芯片迎来新的生机?_金融商务_银行AI


"很多人现在必须验证处理器,而以前他们不需要,"Imperas软件公司的首席执行官Simon Davidmann在最近的RISC-V峰会的一次小组讨论中说。"验证一个处理器,无论是功能还是性能,都是非常新的东西。过去在Intels、Arms、Arm架构许可方、MIPS等内部都是这样做的。这都是非常专有的,非常本土化的。那些公司有巨大的资源来做,并且用内部专有的解决方案做了很多非常聪明的东西,但这些方案并不是很公开。"


同时,RISC-V为来自全球各地的公司打开了修改源代码的大门,这为进行修改的公司和在设备中实现修改后的内核的公司增加了全新的验证挑战。


"人们对使用高级语言来架构内核的工具很感兴趣,以生成RTL和测试平台,"Aldec公司营销总监Louie De Luna说。"验证需要确保高覆盖率,这意味着接近100%的代码覆盖率,以及功能覆盖率。而这仅仅是个开始,因为我们看到的大部分是32位小核与裸机操作系统。应用处理器的方式还不多。为此,他们将需要先进的仿真和硬件软件验证。因此,我们建议公司确保他们的仿真测试台是仿真就绪的,而如今这是一个手动过程。"


当然,随着RISC-V生态系统的成熟,这种情况将会改变。


"现在,RISC-V有一个完整的验证生态系统,公司正在参与其中。"Davidmann说,他指出了形式验证领域的OneSpin和Axiomise等公司。"其他公司,如Cadence,都是带着验证IP进来的,而Mentor和Synopsys则是做仿真器和模拟。处理器DV正在发生巨大的变化,而生态系统也在不断发展以帮助它。RISC-V的挑战是邀请EDA和验证生态系统提出新的更好的解决方案来帮助他们,因为现在不仅仅是一两家公司要做处理器DV。而是每个人都要做。"


RISC-V还增加了许多工程师过去从未需要关注的新验证层,例如性能验证。


"我们做了很多功能验证,但随着RISC-V在生态系统中无处不在,性能验证的问题也将变得非常重要。"SiFive的高级总监Nasr Ullah在RISC-V峰会小组讨论中说。"而且会变得更难,因为工程师不仅要知道功能上的工作原理,而且你还必须有一套工程师了解它需要多长时间,以及他们能做什么来使它变得更好。这是很难做到的。对于性能验证,第二个问题--与功能验证不同,在功能验证中,你可以专注于很多非常核心的低级测试--你必须开始担心应用级程序,以及它们如何与所有其他部件交互。然后,这就变成了一个能够只使用Verilog模拟器的问题,例如。你必须开始寻找其他的方案来做这件事。"


第一步是对性能进行建模。"然后,一旦RTL被建立起来,复杂的相互作用开始工作,你就必须去找一些能够模拟整个系统的东西,"Ullah说。"仿真往往是我们必须使用的,RISC-V在这方面有一些创新。FireSim是加州大学伯克利分校开发的一个基于Chisel的工具,它是一个非常快速的仿真解决方案。我们已经成功地使用它在磁带输出之前构建我们的系统,并在上面实际运行完整的应用程序和操作系统。它仍然是一个仿真器,所以你要把它与仿真混在一起,因为你不能在仿真中运行所有的东西。"


复杂的事实是,处理器内核是最复杂的IP验证。


"在现有处理器的基础上添加一些自定义指令是相对容易的,"OneSpin Solutions的产品经理Sven Beyer说。"性能和代码大小分析并不容易,但在许多情况下,人们可以隔离这些变化的影响,并确保它们为目标工作负载提供预期的结果。另一方面,功能正确性和安全保证可能必须从头开始重新考虑整个核心。最大的挑战是不仅要自动生成优化处理器的核心工具链,还要自动进行验证。这里的关键是超越合规性,用一个基本自动化的流程详尽地验证微架构实现了所需的指令集架构与其自定义指令,而不会产生任何额外的功能或意外的副作用。"


    生态系统的挑战  


在很大程度上,问题是这些工作有多少可以在多个设计中重复使用和利用。


OpenHW Group的验证总监Mike Thompson表示,生态系统现在才刚刚开始着手解决这个问题。"几年前,生态系统试图做的基本上是使RISC-V IP可用,"他说。"现在有一个RISC-V IP的集合可用。现在,生态系统正在努力解决如何将其传播到一个庞大的用户群中。我们收到了很多关于如何采用某个核心并加入他们自己的指令集的问题。这些都是RISC-V的新采用者开始考虑的问题,我们现在才开始看到生态系统解决这个问题。现在还处于早期,看看它是如何发展的,这将是有趣的。"


同时,随着RISC-V提供的新的设计自由度,处理器验证正在成为所有SoC采用者的一项非常大的任务,它正在以各种方式在DV团队中发挥作用。


Silicon Labs的验证经理Steve Richmond指出,这需要从多种工具中进行一点进化。"这些方法论中的很多已经非常多的参与,也是我们IP团队的一部分--仿真、形式化验证、模拟、关闭覆盖,"他说。"这些特定的活动并没有那么大的变化,但你还是要从这个角度去做,这只是真正的复杂性问题。然而,RISC-V确实开放了很多特定领域的编程范式,所以我们正在调整我们的解决方案,比如说,我们的物联网SoC中的某个特定方面。它增加了一点复杂度,能够接受一个核心,了解我们需要用这个核心做什么。希望通过建立一些可用的工具,以及OpenHW集团的努力,把一个良好的IP基础放在一起,这样我们就可以开始对我们的设计师和架构师最终想要在未来把这些核心带到的任何方向进行分层定制。比起从零开始,这更像是一种三角开发。"


SiFive的Ullah同意这些技术的存在,每个公司都有它的方法论。"但是RISC-V开启了一个宽广的模式,更多的人必须一起工作。我们可以带来一个核心,别人带来其他部件,现在我们必须开始考虑所有工具的互操作性。有很好的工具,但它们并不能很好地协同工作。"


还有其他主要问题。"验证是非常困难的,实际上让很多人望而生畏。很多人没有意识到其中的复杂性,也没有意识到一个处理器所需要的验证量。如果你从Arm或者谁那里买了一个核心,他们已经为你做了10到15个petacycles的指令测试,所以你要做的就是集成。这种设计自己的处理器和添加自己的东西的想法,你必须学习更多的处理器DV。这是一个真正的挑战。我们试图帮助人们进行培训和类似的一切。这也是利用人们在过去20到30年中围绕SoC验证、围绕SystemVerilog、UVM等东西进行性能分析并将所有这些应用到RISC-V方法论的现有解决方案非常重要的原因之一。但这是一个艰巨的挑战。"


RISC_V验证挑战蔓延!RISC_V架构真能让芯片迎来新的生机?_金融商务_银行AI


Aldec的De Luna也指出了另一个挑战。"我们已经看到了RISC-V的用例,这是我们以前从未见过的。"他说。"我们从设计方面看到了这一点,但我们也看到了验证方面的角落案例。而且我们看到了需要解决的新的UVM用例。"


这使得必须尽可能地利用现有的工具,并在必要时创建新的工具或扩展现有的工具。"行业遇到的挑战是,他们往往会忘记验证是一个已解决的问题,"Thompson说。"他们只是忽略它,然后后来一旦他们在实验室中出现问题,就会发现他们应该做一些验证。这是一个和验证一样古老的故事。业界开始醒悟过来,有了解决方案,我们需要将它们应用于RISC-V,就像我们将它们应用于PCI Express端点或DDR-4内存控制器一样。它们确实是同样的工具,同样的方法,将提供同样的高质量硅。验证主要是关于细节的打磨,没有什么灵丹妙药。这只是进化过程中的一个自然部分。RISC-V社区正在,并且已经有好几年了,已经意识到了这是一个很大的工作的事实。你只需要做这些工作就可以了。"


此外,Vtool的高级数字设计师Aleksandar Mijatovic观察到,RISC-V是以竞争者的身份来挑战目前由Arm占据的宝座,Arm仍然是大多数架构师的首选。"如果不把这件事说得太像Linux/Windows之争,Arm不太可能轻易放弃它的地位,但我们肯定有可能在未来几年看到更多的RISC-V使用。主流,没有;常规,有。主流仍然会使用预验证的专有东西,用现金换取上市时间,但我们会看到很多RISC-V在身边,这样每个验证工程师都会知道该怎么用它。"


"与基于Arm的SoC相比,将RISC-V添加到系统中,需要验证工程师进行额外的工作。它需要对CPU本身进行验证,这将包括额外的资源,也会对项目进度产生影响。Vtool的项目经理Olivera Stojanovic指出:"在最终决定是否在项目中使用开源架构之前,必须考虑到上市时间、许可证的价格、安全要求、芯片的面积和功耗,以及CPU在下一代SoC上的潜在重用。


    哪些可以重复使用?  


最大的问题是,每一个新的设计到底需要做多少工作--以及有多少工作可以以合同的方式卸载给RISC-V生态系统中的专家,因为并不是每个人都有发现漏洞和修复漏洞的专长。面临的挑战是继续推动创新,同时还要控制成本,防止生态系统分裂。


"现在,我们遇到的问题是因为缺少某些ISA扩展,例如DSP处理的指令或规范的另一个缺失部分,"Codasip的CTO Zdenek Prikryl说。"其他类型的问题是,RISC-V规范有时不够精确,并留有太多解释的自由度。这可能导致碎片化,这是一件坏事。我们必须对此小心谨慎。"


拥有既定的工具和方法论可以帮助防止这种情况的发生。"OpenHW集团一直在做的事情之一是发展这样的想法,即拥有一个工业质量的RISC-V内核作为开源,但验证环境是一个最先进的、商业风格的验证环境,它是作为开源的,你可以下载,"Davidmann说。"你可以下载它,使用它,并看到验证质量。如果你对核心进行修改,因为它是开源的,所以你已经得到了一个开箱即用的高质量验证环境。这是一个非常新的概念,可以使人们采用RISC-V和验证处理器的难度降低。"


目标是让处理器设计验证成为所有SoC团队的主流和常规,这样RISC-V创新就不会成为过度的负担。


"虽然RISC-V实现了大量的用例,但验证的复杂性却成倍增加,继而会对成本和项目进度产生影响,"Valtrix系统公司首席执行官Shubhodeep Roy Choudhury说。"这看起来是一个很难解决的问题,但仔细规划和选择验证中的方法论和最佳实践可以帮助很多。"


这包括更多的自动化,使用适应系统配置的测试套件,以确保不同的处理器配置在任何时候都是稳定的、经过良好测试的。


"这将使处理器设计验证成为主流,同时降低采用新配置的风险。"Roy Choudhury说。"刺激发生器、虚拟平台/模拟器等工具以及处理器测试在设计时应考虑到RISC-V的可配置性和可扩展性。如果实现者决定改变设计的某一部分,验证工具、测试和相关的基础设施应具有足够的可配置性,以针对delta及其与其他组件的交互。测试和他们打算验证的每个处理器组件之间的映射必须存在。这将使DV工程师能够在设计的某些部分发生变化时确定测试的优先级。"


    来自生态系统的提示  


对于第一次进入RISC-V的系统架构师,Silicon Labs的Richmond建议利用已有的基础设施和生态系统。"抓住内核,然后把它们扔到FPGA上。在硬件RTL人员参与之前,这在硅实验室肯定早就发生了。外面有很多东西,从工具链的角度来看,有很多东西可以学习。另外,利用外面的东西。从验证的角度来看,OpenHW集团正在进行的某些活动,你应该可以在几个小时内复制,甚至更少。"


Thompson指出,"RISC-V阅读器",对于新加入ISA的人来说,以及在生态系统中追寻信息。同时,Ullah表示,开源工具值得研究。首先,Verilator,开源的Verilog模拟器。事实证明,它的速度非常快,而且非常有用。第二,FireSim,加州大学伯克利分校出品的基于FPGA的仿真器。我已经能够比在Motorola或三星时更早地构建我的设计。第三,Sparta,我们推出的开源仿真框架,变成了开源。你可以进行性能建模和功能建模,它们可以一起工作。"


RISC_V验证挑战蔓延!RISC_V架构真能让芯片迎来新的生机?_金融商务_银行AI


另外,由于验证不是免费的,Stojanovic表示,验证社区必须投入时间和资源,为RISC-V验证的标准和最佳实践做出贡献。"为生态系统提供开源解决方案将促进RISC-V的使用,但要想在市场上具有竞争力,成为企业的首选,这还有很长的路要走。"


Mijatovic表示,说白了,生态系统将需要达到传统竞争提供的标准和功能。"这意味着对处理器验证的重要支持。设计团队已经有相当好的文档和配置选项支持,但在硅片之前,一切都需要验证。理想情况下,对于每一个可配置的设计,我们将有一个自动生成的验证环境,以及一个按钮的方法来检查结果。生态系统为验证的每个部分提供开箱即用的解决方案的每一项努力,都将使RISC-V更接近成为标准实现。"


生态系统在RISC-V的演进中起着重要作用,例如清楚地传达规格并避免ISA碎片化。


Davidmann说:“在IP周围有一个设计生态系统,在OS周围有一个软件生态系统,但也有一个验证生态系统。我们正在努力发展。RISC-V International扮演着关键角色,需要重点关注两件事。一种是规范,以确保它们紧密而清晰,并确保每个人都理解同一件事。另一个是他们将要执行的兼容性和体系结构合规性,因为至关重要的是我们不要零散。我们可以利用工具,利用编译器,利用软件。生态系统可以做很多事情,而RISC-V International可以做很多事情,其成员可以做很多事情来帮助RISC-V发挥活力,并帮助其成功发展。”

10
21
0
99

相关资讯

  1. 1、怎么清空电脑数据重装系统?清空电脑数据重装系统图文教程4121
  2. 2、暑假作业不会做?教你如何用作业帮app发布悬赏解题3786
  3. 3、为什么win8系统很少有人用?Win8系统缺点介绍3890
  4. 4、Win7系统注册表被管理员禁用掉了怎么解决?3965
  5. 5、DNF助手怎么关注史派克?DNF助手关注史派克的方法2921
  6. 6、软件怎么分享到同步推软件分享到同步推的方法981
  7. 7、QQ浏览器关闭页面怎么恢复?浏览器关闭页面恢复技巧分享2383
  8. 8、Win11是真的吗?Windows11什么时候正式出?2987
  9. 9、Win10搜索框怎么变透明?Win10搜索框设置透明教程4006
  10. 10、bilibili如何设置透明头像?bilibili透明头像设置方法3309
全部评论(0)
我也有话说
0
收藏
点赞
顶部