RISC-V驾驶新的验证概念

做已经完成在过去只能带你走那么远,但RISC-V导致的某些方面验证从根本上重新思考。

受欢迎程度

半导体工程坐下来讨论缺口所需工具和新方法为什么RISC-V处理器,与皮特•荷迪集团产品管理主管节奏;副总裁Mike Eftimakis策略和生态系统Codasip;创始人兼首席执行官西蒙•Davidmann治之软件;斯文拜尔,项目经理处理器验证西门子EDA;高级主管Kiran Vittal联盟伙伴营销Synopsys对此;首席执行官戴夫Kelf Breker验证,总裁兼首席技术官和Hieu Tran Viosoft集团下面的摘录的谈话。

SE:手臂似乎和英特尔的基准,但无论是过处理RISC-V的可定制性和可扩展性。后臂和英特尔是正确的道路吗?

荷迪:我坚信RISC-V将是一个巨大的球员在特定领域的处理。建筑许可的手臂能够为特定的域配置处理器。我们看到RISC-V是特定领域的数据路径处理被添加到RISC-V核心覆盖各个领域,可以找到应用程序。这是伟大的。真的很强大,RISC-V能够做到这一点。但是,当然,这增加了验证的挑战。我们看到巨大的采用正式的,继续使用动态验证,我们提到模拟仍然是重要的。测试这个东西和系统情况下,基于PSS的工具。RISC-V的吸引力是可以配置它的能力更好的比也许是可能的与现有的域,更灵活的账户。

Davidmann:的技术是建立在过去在英特尔,手臂,和MIPS,已经很限制自由他们需要担心的。RISC-V,爆炸是一个完整的可配置性。我们不应该只是学习和复制的。我们需要看到什么,把它应用到现代的挑战。15年前我们建立了模型在手臂和MIPS和PowerPC。这些模型不是很可配置、可扩展或定制。但发生了什么是,因为我们是独立的,我们可以集中和构建我们的技术你可以选择不同的是,不同的配置。RISC-V出现时,我们已经想到这可伸缩性和可配置性和可扩展性。我们有12个不同的账户。它不仅仅是一个模拟器。 It is the modeling capability, the extension capability, the debuggers, the analysis, the verification tools. RISC-V is such a challenge for everybody else, whereas our technology was already factored in a way in which we could apply it. We can’t just pick up the technologies that existed before for other ISAs. We need to work out how they can be adjusted to RISC-V. Look what happened with GCC. RISC-V has something like 70 extensions, and the C tool developers have absolutely given up and said, ‘There is no way we can meet and test 70 different interacting combinations.’ It’s impossible for the tool chain. They cannot live with those crazy configuration options. What RISC-V is doing is moving to what they call profiles and platforms. They are saying there is this profile, which is intended for embedded in this area, and it’s going to have these extensions as mandatory. They are trying to reduce that freedom because the existing compiler tool chains can’t cope. If we want to gain what RISC-V can offer, we have to build better technologies in the infrastructure around it, like the simulators, other tools like the compilers, like the verification tools. They all have to have the flexibility and freedom that RISC-V gives you to extend it and configure it. We can’t just take what existed before.

Vittal:编译器,所有的组合,需要永远得到的性能。有很多的机会,我们有一个工具,使用AI-enabled技术来提高你的软件栈的性能。回到最初的问题,面临的挑战是对特定领域的应用。当每个人都在定制他们的需求,有一个很大的灵活性。如何验证?这是最大的挑战。

Eftimakis:RISC-V介绍了启用此功能来定制——我们称之为自定义计算。随着摩尔定律的结局,这是唯一的方式获得的性能或效率。RISC-V在那里。它需要一个新的心态。它需要一个新工具。这就是为什么我们开发了一些工具,你不固定的方式思考一个指令集。我们在高级语言描述指令集,然后生成RTL背后的一切,编译器等。它不工作,如果你使用老方法与固定的编译器和尝试包括所有相同的编译器选项。

Davidmann:RISC-V,给设计师所需的自由,我们需要解决的问题下一代语言是什么。我们要搬到语言,允许这个硬件的可配置性,以不同的方式比有像SystemVerilog我所说的实现语言。这是实现和进入设计编译器,但你需要的是重新配置您的硬件的能力在更抽象的水平。我相信未来有一个语言,当这种情况发生时,RISC-V将为每个人都更容易。

Kelf:大多数RISC-V发展一直相对较小,嵌入式处理器——单身核心类型的设备。现在,公司开始看看应用程序处理器,多核设备和平铺的soc与许多内核。这就是橡胶是真的要上路的这些设备的验证。到目前为止,一切都是相对孤立的,看着处理器本身。现在我们要看到这些非常先进的系统。即使你得到一个应用程序处理器工作,然后我们需要担心一致性和其他东西。这就是我们需要借用的手臂。我同意,我们不能只留着旧方法和期望构建这些super-configurable处理器,但我们也要站在巨人的肩膀上。我们必须了解的胳膊,英特尔已经把成千上万的人小时,试图弄清楚如何处理并发性在这些大规模并行系统等等。

荷迪:不仅仅是一致性。当你开始从议题转移到更复杂的结构,很多东西进来。分支预测的问题,无序的问题与预取指令,执行——所有这些事情。你把OpenTitan核心信任的根。它没有任何的弱点。当你进入更大的应用程序体系结构时,你必须更复杂的获得所需的性能。当很多这种东西。所以我们在冰山的一角。

Kelf:并发性只是一个例子。有很多事情像你刚刚提到的,我们还没有开始接触。这些大公司算出来。我们可以借鉴这些家伙,但构建新事物我们必须为可配置性,额外的指令。Tensilica和弧这样做。所以我们需要看那些人做了什么。

Davidmann:RISC-V,很多人都做单核嵌入式,但是有很多的人放下很多,复杂的处理器阵列,无论是大的矢量发动机,按次序的,无序的,所有的东西。很多人都做大处理数组的元素。他们中的一些人有多个处理器。RISC-V尚未用于高性能的应用程序流程。当手臂开始思考进入数据中心,我们认为它会花很长时间,他们花了超过10年。RISC-V还有另一个10年前的高端应用处理器。有些人会说我们是比这更快到达那里。这就是真正的验证的挑战和噩梦。小32位核心是困难的,但高端高性能更加糟糕。我们有几个客户在RISC-V应用程序进程,和他们说这靴子Linux。 When we applied our DV solution, in the first day we found 20 bugs. That was a single-threaded, 64GC, but it’s a relatively simple core. The future challenge for RISC-V verification is in the high-end application processors. They are multi-issue, out-of-order, virtual memory, cache coherency. That is where the real challenge for RISC-V verification is. We have out-of-the-box solutions for the low-end stuff, single-threaded, even out-of-order stuff, but the application processors, high-performance, that is where the big challenges come in.

Kelf:我们都还记得手臂从Arm7, Armv8。这是一个巨大的飞跃。完全相同的飞跃,我们谈论在这里。手臂的内部验证从很多,到10 <一口> 15 < /一口>周期。所有这些事情,我们现在谈论的。胳膊都算出来,我们知道一点关于他们所做的内部。我们都要为RISC-V做同样的事情,我们可以向他们学习,然后把它所有的新挑战。

荷迪:手臂做了很多演讲,与正式的一件事是,它可能不是规模最大的系统。但是手臂使用正式的验证加载存储单元。然后你必须扩大验证使用模拟和仿真full-chip-level问题。

Kelf:和找出类似的报道。

Davidmann:当我们与人交谈与RISC-V验证,和他们说,他们正在做一个应用程序的核心,如果他们没有模拟,我们迅速离开,因为他们不认真对待这个问题。为应用程序的核心,如果他们没有模拟,他们不明白他们要去的地方。

Vittal:这是两者的结合软件和硬件验证。需要模拟,原型、虚拟样机。一些RISC-V供应商提供参考板与硬件原型设计解决方案。我们正在研究。这对用户减轻疼痛。

SE:可配置的,高级语言,谈论生成编译器和其他必要的流。我们需要看你如何从这些高级规范生成覆盖模型?那么人们会有一致的目标,而且他们试图努力验证吗?

荷迪:一个覆盖模型是不同的概念。回到我们开始的地方与处理器之间的差异验证和ASIC验证,同样的覆盖模型,涵盖所有的场景对ASIC验证计划不一定适合一个处理器。你必须覆盖每一个可能发生的事,包括所有这些不可预见的事情——所有程序员可能与你的核心,现在或将来。这就是我们的传统的覆盖模型,目前,有些无效的和不够好。

Kelf:并且我将进一步说,我们将不得不重新考虑覆盖。当我们朝着更广泛的应用处理器,试图提供一个功能覆盖率模型检查存储加载到内存,你会一遍又一遍地反复检查相同的记忆细胞,不能工作。UVM样式覆盖模型是非常重要的,但远远不够,检查这些新应用程序处理器。场景覆盖,和其他规范coverage-type想法,将会变得更加重要。

Vittal:我们已经使用AI-enabled技术。我们看的质量约束随机刺激,然后我们使用机器学习来改善它。

荷迪:我们都这样做,但这是不够的。

Davidmann:功能覆盖模型- Verilog和SystemVerilog -太棒了,和它的指令RISC-V。但面临的挑战是当我们进入应用程序处理器有一个MMU和TLB。你有一个硬件沃克页表。它只是记忆。有一个寄存器,然后你有六级页表走当有一个页面错误。这是所有内存数据结构。你不能写SystemVerilog功能覆盖率。UVM范式,SystemVerilog死了。我们必须创建新的方法和技术,所以他们知道他们在RTL已经测试了多少。今天不存在任何地方。 There is no documentation for how people need to do it. Scenarios are very exciting for the future. There’s new stuff coming. There are challenges and people don’t know publicly how to do coverage on things like the MMU.

Eftimakis:的工具是不完美的。每个人都需要的总和。这就是我们所说的瑞士奶酪模型。想象你有片奶酪洞。错误可以通过孔,但如果你堆积大量的奶酪片,你最终找到方法阻止错误。我们需要积累这些方法,这些工具,以确保我们得到良好的覆盖。但实际上,它需要很多不同的方法,不同的工具。这就是为什么我们使用来自不同供应商的工具。和我们使用的方法,我们采用的是由英特尔和手臂。应获得合适的水平,我们需要cpu,因为它真的很复杂。

Davidmann:你意识到的第一件事是,你不能去构建这个东西,你今天需要使用有什么,或者建立专门为你想要的。所以等待开源的想法是错误的解决你的问题。你不能验证任何没有商业工具。

Vittal:我们如何民主化和如何传播的知识?这就是我们的挑战是,我们正在发生。

Kelf:RISC-V验证代表艺术状态的验证。有很多新的想法,这将被应用到一大堆其他验证问题。

荷迪:RISC-V的赢家将是那些投资于验证。有一些RISC-V球员不投资,他们认为这是便宜的选择不支付许可费用,但这些都是灭绝。变得很明显,投资于验证RISC-V市场绝对是成功的关键。



留下一个回复


(注意:这个名字会显示公开)

Baidu