中文 英语

RISC-V验证挑战蔓延

持续的设计创新增加了验证的复杂性,并促使更多的公司实际进行验证。

受欢迎程度

RISC-V生态系统正在努力跟上快速创新和定制的步伐,这增加了每个设计所需的验证工作量,并将工作分散到更多公司的更多工程师身上。

历史上的假设是,核查代表60%到80%或更多SoC项目努力在成本和时间方面趋于成熟、主流处理器IP核心。但处理器IP业务模式是基于一刀切的,这使得芯片公司可以在许多项目中摊销NRE(非经常性工程)。RISC-V实现往往更小,更定制,并且在许多情况下,从一个项目到下一个项目有很大的不同。

“现在很多人都需要验证处理器,而以前他们不需要,”微软的首席执行官西蒙·大卫曼(Simon Davidmann)说治之软件最近在RISC-V峰会的一个小组讨论会上。“验证一个处理器,无论是功能还是性能,都是一件非常新的事情。它过去是在英特尔、Arm、Arm架构许可方、MIPS等内部完成的。这些都是非常专有的,非常本土的。这些公司拥有巨大的资源来做这件事,并利用内部专有解决方案做了很多非常聪明的事情,这些解决方案并不十分公开。”

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

的市场总监Louie De Luna说:“人们对使用高级语言来构建核心以生成RTL和测试平台的工具非常感兴趣。Aldec.验证需要确保高覆盖率,这意味着接近100%的代码覆盖率,以及功能覆盖率。而这仅仅是个开始,因为我们所看到的大多数都是带有裸金属操作系统的小型32位内核。应用程序处理器的方法还不多。为此,他们将需要先进的仿真和软硬件验证。所以我们建议公司确保他们的模拟测试平台是可以模拟的,而现在这是一个手动过程。”

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

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

RISC-V还增加了一些新的验证层,这是许多工程师过去从来不需要关注的,比如性能验证。

SiFive高级总监Nasr Ullah在RISC-V峰会上表示:“我们做了很多功能验证,但随着RISC-V在生态系统中无处不在,性能验证问题也将变得非常重要。”“这变得更加困难,因为工程师不仅必须知道它的功能是如何工作的,而且你必须有一组工程师,他们知道需要多长时间,以及他们可以做些什么来让它变得更好。这很难做到。对于性能验证,第二个问题——与功能验证不同,您可以专注于许多非常核心的低级测试——是您必须开始担心应用程序级程序以及它们如何与所有其他部分交互。例如,仅使用Verilog模拟器就成了一个问题。你必须开始寻找其他选择来做到这一点。”

第一步是建立性能模型。乌拉说:“然后,一旦RTL建成,复杂的交互开始工作,你就必须去模仿整个系统。””模拟往往是我们必须使用的,RISC-V在这方面有一些创新。FireSim是UC Berkeley开发的基于chisel的工具,它是一个非常快速的模拟解决方案。我们已经成功地使用它在磁带制作之前构建了我们的系统,并在上面运行了完整的应用程序和操作系统。它仍然是一个模拟器,所以你想把它和模拟混合在一起,因为你不能在模拟中运行所有东西。”

更复杂的是,处理器核心是验证最复杂的IP。

微软产品经理Sven Beyer说:“在现有处理器上添加一些定制指令相对容易。OneSpin解决方案.“性能和代码大小分析并不容易,但在许多情况下,可以隔离这些更改的影响,并确保它们为目标工作负载提供所需的结果。另一方面,对于整个核心来说,功能正确性和安全保证可能必须从头开始重新考虑。最大的挑战不仅是为优化的处理器自动生成核心工具链,而且还包括验证。这里的关键是超越合规性,用一个很大程度上自动化的流程彻底验证微架构实现了所需的指令集架构,使用其自定义指令,而没有任何额外的功能或意想不到的副作用。”

生态系统的挑战
在很大程度上,问题是有多少工作可以在多个设计中重用和利用。

OpenHW集团的验证主管Mike Thompson表示,生态系统现在正在应对这一问题。他说:“几年前,这个生态系统试图做的基本上是让RISC-V IP可用。“现在有一系列可用的RISC-V IP。现在,这个生态系统正在努力将其传播给大量用户。我们得到了很多关于如何采用某种核心并添加到自己的指令集的问题。这些都是RISC-V的新采用者开始考虑的问题,直到现在我们才开始看到生态系统解决这些问题。这仍处于早期阶段,看看它如何发展会很有趣。”

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

Silicon Labs的验证经理Steve Richmond指出,这需要从多个工具中进行一些改进。他说:“我们的知识产权团队已经大量使用了这些方法——模拟、正式验证、模拟、封闭覆盖。”“这些特定的活动不会有太大的改变,但你仍然从这个角度来做这些事情,这真的是一个复杂性的问题。然而,RISC-V确实打开了许多领域特定的编程范式,因此我们正在调整我们的解决方案,以实现我们物联网soc之一的某些特定方面。它增加了一层复杂性,让我们能够理解一个核心,并理解我们需要用这个核心做什么。希望通过OpenHW集团的一些可用的工具,建立一个良好的IP基础,这样我们就可以开始在任何方向上进行定制,我们的设计师和架构师最终希望在未来采用这些核心。比起从零开始,这更像是一种增量式发展。”

SiFive的乌拉同意这些技术的存在,而且每家公司都有自己的方法来实现这些技术。“但RISC-V开辟了一个广泛的范式,更多的人必须在一起工作。我们可以带来一个核心,其他人带来其他部分,现在我们必须开始考虑所有工具的互操作性。有很好的工具,但它们不能很好地协同工作。”

还有其他主要问题。“核实非常困难,实际上对很多人来说都令人生畏。许多人没有意识到它的复杂性以及处理器需要的验证量。如果你从Arm或其他人那里买了一个核心,他们已经为你做了10到15千万亿次的指令测试,所以你所要做的就是集成。设计你自己的处理器和添加你自己的东西的想法,你必须学习更多关于处理器DV的知识。这是真正的挑战。我们试图通过培训和其他类似的事情来帮助人们。这就是为什么利用人们在过去20到30年里围绕SoC验证和性能分析开发的现有解决方案非常重要的原因之一SystemVerilogUVM并将所有这些应用到RISC-V方法中。但这是一个艰巨的挑战。”

Aldec的De Luna也指出了另一个挑战。“我们看到了以前从未见过的RISC-V用例,”他说。“我们从设计方面看到了这一点,但我们也看到了验证方面的极端情况。我们看到新的UVM用例需要解决。”

这使得尽可能利用现有工具,并在必要时创建新工具或扩展现有工具变得非常必要。汤普森说:“这个行业面临的挑战是,他们往往忘记了核查是一个已经解决的问题。“他们只是忽略它,然后发现一旦他们在实验室遇到问题,他们应该做一些验证。这是一个和验证一样古老的故事。业界开始意识到解决方案已经存在,我们需要将它们应用于RISC-V,就像我们将它们应用于PCI Express端点或DDR-4内存控制器一样。它们实际上是同样的工具,同样的方法,可以提供同样高质量的硅。验证主要是关于细节的打磨,没有什么灵丹妙药。这只是进化的一个自然部分。RISC-V社区已经意识到这是一项艰巨的任务,而且已经有好几年了。你只要去工作就行了。”

此外,Aleksandar Mijatovic,高级数字设计师Vtool据观察,RISC-V将成为Arm目前的宝座的竞争对手,Arm仍然是大多数架构师的首选。“不要让这看起来太像Linux/Windows的争论,Arm不太可能轻易放弃它的地位,但我们肯定会在未来几年看到更多的RISC-V的使用。主流,没有;常规的,是的。主流仍将使用预先验证的专有技术,并以现金换取上市时间,但我们将看到大量RISC-V,这样每个验证工程师都知道该如何使用它。”

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

什么可以重复使用?
最大的问题是每个新设计实际需要做多少工作,以及其中有多少工作可以在合同的基础上交给RISC-V生态系统的专家,因为不是每个人都有发现漏洞并修复它们的专业知识。挑战在于继续推动创新,同时控制成本,防止生态系统碎片化。

“现在,我们遇到了一些问题,因为缺少某些ISA扩展,比如用于DSP的首席技术官Zdenek Prikryl说Codasip.“其他类型的问题是RISC-V规范有时不够精确,给解释留下了太多的自由。这可能导致分裂,这是一件坏事。我们必须谨慎行事。”

拥有已建立的工具和方法可以帮助防止这种情况。大卫曼说:“OpenHW集团一直在做的一件事是开发一个工业质量的RISC-V内核作为开源的想法,但验证环境是一个最先进的、商业风格的验证环境,可以作为开源下载。”“你可以下载它,使用它,并查看验证质量。如果您对核心进行更改,因为它是开源的,您就获得了开箱即用的高质量验证环境。这是一个非常新的概念,可以让人们更容易采用RISC-V并验证他们的处理器。”

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

“尽管RISC-V支持大量的用例,但验证的复杂性增加了很多,这可能会对成本和项目进度产生影响,”RISC-V的首席执行官Shubhodeep Roy Choudhury说Valtrix系统.“这看起来是一个很难解决的问题,但仔细规划和选择验证中的方法和最佳实践会有很大帮助。”

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

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

来自生态系统的建议
对于第一次接触RISC-V的系统架构师,Silicon Labs的Richmond建议充分利用现有的基础设施和生态系统。“拿起核,扔上去fpga.早在硬件出现之前,硅谷实验室就已经出现了这种情况RTL人们曾经参与其中。从工具链的角度来看,还有很多东西需要学习。此外,利用现有的资源。从验证的角度来看,OpenHW集团正在进行某些活动,您应该能够在几小时内复制这些活动。”

汤普森指出,“RISC-V阅读器”是ISA的新用户,同时也可以在生态系统中获取信息。

与此同时,乌拉说开源工具值得一试。“首先,Verilator,开源Verilog模拟器。结果证明它非常快,非常有用。第二,FireSim,来自加州大学伯克利分校的基于FPGA的模拟器。我能够比在摩托罗拉或三星时更早地构建我的设计。第三,Sparta,我们推出的开源模拟框架。你可以做性能建模和功能建模,它们可以一起工作。”

此外,由于验证不是免费的,斯托亚诺维奇表示,验证界必须投入时间和资源,为RISC-V验证的标准和最佳实践做出贡献。“为生态系统提供开源解决方案将促进RISC-V的使用,但要成为公司的首选,在市场上具有竞争力,还有很长的路要走。”

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

结论
生态系统在RISC-V的发展中扮演着重要的角色,比如清晰地传达规范,以及避免ISA的碎片化。

“围绕IP有一个设计生态系统,围绕操作系统有一个软件生态系统,但也有一个验证生态系统,”Davidmann说。“我们正在非常努力地发展。RISC-V国际公司将发挥关键作用,有两件事需要关注。一个是规范,以确保它们紧凑和清晰,并确保每个人都理解相同的事情。另一个是兼容性和架构遵从性,这是他们要做的,因为我们必须避免出现碎片化;我们可以利用工具,利用编译器,利用软件。这个生态系统可以做很多事情,RISC-V国际和成员可以做很多事情来帮助RISC-V的活力,并帮助它成功发展。”

相关的
RISC-V:缺少什么,谁在竞争
开源ISA正在多个市场上取得进展,但工具套件还不完整,商业模式也不确定。
用于开源验证的组件
构建开源验证环境并不是一项简单或廉价的任务。目前尚不清楚谁愿意为此买单。
开源的验证
理清开源验证的含义并不容易,但它为新方法敞开了大门
RISC-V知识中心



留下回复


(注:此名称将公开显示)

Baidu