如何选择正确的RISC-V内核

随着越来越多的公司对基于RISC-V ISA的器件感兴趣,以及越来越多的内核、加速器和基础设施组件以商用或开源形式出现,最终用户正面临能否做出最佳选择的日益严峻挑战。

如何选择正确的RISC-V内核

每个用户都可能有一系列的需求和顾虑,这些需求和顾虑几乎等同于RISC-V产品的灵活性,远远超出了传统的PPA指标、扩展安全和保障问题,或质量考虑。这可能包括验证附属的适应性,使架构扩展和必要的验证能够随之进行。

传统上,我们需要部署三个级别的原型制作——虚拟原型、仿真和FPGA原型,包括它们之间的混合。然后,每个平台用于各种目的,包括软件验证、架构验证、硬件功能验证、性能分析等。

虽然RISC-V的设计和软件生态系统正在建立,但配置和验证生态系统却落后了,需要建立新的技术。正是RISC-V的灵活性给验证带来了巨大的挑战,远远超出了对固定处理器验证的要求。这也使得软硬件协同开发不仅成为可能,而且成为必要。

软硬件协同开发

过去的做法式先选择硬件,然后开发其上运行的软件。但对于RISC-V,硬件通常由软件驱动。Imperas Software的创始人兼首席执行官Simon Davidmann说:“首先你必须选择你想要的标准RISC-V选项。“RISC-V功能集目前有200或300个选项。您如何知道您的算法是否会受益于浮点单元、SIMD、硬件乘法器甚至矢量引擎?对于希望该处理器执行的应用类型或工作,您必须计算出需要且负担得起的硬件能力。这本身就变成了一个挑战。”

首先,这就需要原型来进行权衡。如果设计师的目标是评估性能和用途,虚拟样机是唯一可行的选择。构建硬件原型比创建子系统或整个SoC的SystemC模型要耗时10到50倍以上。SystemC虚拟原型的运行速度通常足以回答性能问题。

其次,获得正确的精确度可能也很困难。Arteris IP负责解决方案和业务开发的副总裁Frank Schirrmeister表示,这完全是关于准确性和快速构建模型的能力。“正确的准确性由您的问题所要求的任何内容来定义,而生成这些内容并不简单。如果你是一个ASIP供应商,你将能够从任何模板生成这些。根据问题的不同,你可能需要流水线精度,你可能需要内存精度,这不需要完全准确,但当你有一个CAD部门参与时,他们太害怕回答错误的问题。”

第三,准确性是速度的一个折衷。Imperas的Davidmann说,“虽然一些虚拟原型是周期精确的,但它们通常运行得太慢,无法达到必要的软件吞吐量。最高性能的虚拟原型不是性能引擎,因为它们不模拟处理器流水线。从软件角度看,你可以编译它并在硬件上运行它,你可以通过查看指令数或大致时间来了解大致性能。这应该足以做出这种架构决策。”

第四,这需要几个原型。通常,制作原型出于两个原因,一个是架构验证,以确保满足所有性能指标和要求以及功能验证。另一个原因是嵌入式软件和固件开发,这可使用不同级别的原型制作技术,最常见的是使用FPGAs开发一个用于架构和功能验证的仿真平台,也可使用QEMU等架构模型来构建用于性能验证和嵌入式软件开发的虚拟平台。

第五,可能性越来越多。RISC-V国际公司的首席技术官Mark Himelstein说,“用RISC-V开发原型的方式很多,这些产品包括从制造商级别的单板计算机到支持企业LINUX的主板。仿真环境(如QEMU)允许开发人员在硬件完成之前开发软件,从嵌入式SOC(来自Espressif和Telink等公司),到FPGAs(来自Microsemi等公司),再到英特尔和SiFive即将推出的Horse Creek板,到处都有现成的部件。”

这又回到了性能/精度的权衡上。物理原型需要更多的设计工作,因为要连接和合成真实的RTL,但它们能提供更高的精度和吞吐量。FPGA系统中的物理原型,无论是自主开发的还是来自大型EDA公司,都需要努力培养,但运行速度比SystemC模型快一个数量级,比全门级模拟快几个数量级。通常,设计团队会在IP选择过程中从基于C的模型转向物理模型,以便在选择IP后验证实际设计,并作为系统软件开发平台。

一旦知道想要的硬件特性集,就可以看看是否有人已经创建了一个满足你大部分需求的解决方案。有可能所有的供应商都在那里,会有一个商业解决方案,也有你正在寻找的东西类型。但是,有了RISC-V,你就不必照原样接受那个解决方案,因为RISC-V的一个重要价值是可以自由更改、修改和添加想要的不同内容。

选择实施方案

有许多方法可以实现一组功能,例如流水线级的数量,或者推测性执行功能。每一种在功率、性能和面积之间都有不同的权衡。ISA风格,无论是RISC-V、Arm、Cadence的Xtensa,Synopsys的ARC,都不会真正影响建模和原型设计的目标和权衡。无论处理器品牌如何,系统架构师都需要回答有关SoC设计目标的问题。

在技术层面上,相对于建模和性能分析工具支持,RISC-V在市场上确实处于稳定地位。有许多相互竞争的核心厂商,每个厂商都有不同的实现和处理器特性。作为一个主系统CPU,它没有Arm那么长的历史,EDA世界很少有生态系统参与者对现成RISC-V内核提供经过广泛验证的现成建模支持。作为一个可配置、可修改的核心,RISC-V世界落后于Tensilica花了25年时间构建的指令集自动化水平。因此,RISC-V作为一个现成的构建模块,其建模支持较少,作为指令集实验的平台,其自动化程度也较低。

但这只是需要实施评估的一个方面。它的质量如何?如果要修改,怎么重新验证?

绩效是最容易评估的,这与任何传统的处理器没什么不同。处理器供应商会提供典型分析数据,表明这种微架构的运行速度。他们拥有所有这些数据,任何获得处理器内核许可的人都会熟悉这些数据,并会与他们交谈并获取这些信息。他们的数据手册中可能会有许多可选选项,他们会说,“如果你打开这个选项,你就会得到这个或那个。”您可以在数据手册和供应商网站上查看。”

在这个级别,你可能需要周期精度。“我看到大多数人将它输入模拟器,并通过它运行足够的数据来做出合理的决定,”Schirrmeister说。“我看不出会很快升级到虚拟原型。一些公司正在讨论FPGA原型,其中有自己的单板解决方案。根据需要回答的问题,您可能会决定对其进行配置、生成,然后将其注入FPGA以运行更多数据,并安装适当的软件例程。业界有足够快的进入仿真器和原型的方法。最基本的问题是,你希望根据尽可能准确的数据做出这个决定,但当你想做出这个决定时,你可能没有准确的数据。”

许多原型不仅包括处理器。虚拟平台提供了与其他外部物理硬件功能集成的能力,如在现实世界环境中运行的存储器和传感器。混合系统可以将虚拟平台与其他外部功能的物理原型结合在一起。FPGA仿真和原型设计有助于发现与时序相关的错误,如竞争条件,因为这更加精确,并且外部功能正在快速运行。

验证

由于处理器设计已经在内部进行了很长时间,因此没有用于构建处理器的公共验证生态系统,并且RISC-V的特性需要比过去更灵活的验证解决方案。这种创造才刚刚开始。

这就是开源的优势。“如果你看看RISC-V生态系统,你会发现有大量非常有经验的处理器开发人员,”Schirrmeister说。“有两个极端。一个是我从一个供应商那里得到一个核心,如果它不工作,你与他们有问题。另一方面,我有完全的自由,可以自己做任何事情。一种平衡正在这两个极端之间的某个地方形成。您得到的东西是由您的供应商提供一定量的验证,然后扩展是您自己的责任。”

这就是度量标准的用武之地。Breker Verification Systems的首席执行官Dave Kelf说:“ISA兼容性只是充满复杂性的阶梯中的第一级,只有少数公司爬得上去。“原型制作可能是完全确保处理器可靠运行的唯一方法,但是利用真实工作负载来驱动这些原型只触及了真实处理器覆盖范围的表面。这与推动加速开发和上市时间问题的开放ISA的竞争努力不一致。”

但是,这些指标是什么呢?OpenHW质量小组正试图找出这些指标应该是什么。Davidmann说,“这包括像功能覆盖这样的事情,因为它不仅是简单的指令。对于高质量处理器,您需要的远不止这些。你需要一个验证方法,在这个方法中,你有信心与一个涵盖了一切的参照物进行比较。功能覆盖只表明你已经进行了测试,但这必须与某种方法相结合,与某种形式的已知参考进行比较。我们将增加故障注入技术,这样就有可能发现您的测试平台是否真的检测到了问题。”

这需要一套工具。“随着RISC-V生态系统的成熟,商业实现开始支持定义的细分市场,”Axiomise创始人兼首席执行官Ashish Darbari说。“我们看到了对汽车、物联网等需要功能安全合规性的支持。RISC-V供应商正在投资先进的验证技术,包括用于架构建模和性能的虚拟原型。现在一些工具可用于早期实施,以便在早期设计中删除错误,并避免在设计人员努力通过处理器-内存接口上的模拟来捕捉极限情况错误时插入错误。”

其中一个必不可少的工具是基于特性列表或功能生成测试用例的能力。“自动生成测试内容以驱动原型,并及时考虑验证的复杂性是关键,”Breker公司的Kelf说。“这些生成机制现在开始在市场上出现。”

结论

一个生态系统的好坏取决于它最薄弱的部分,对于RISC-V来说,这就是EDA工具链。这有两个原因。首先,处理器验证工具目前为止还没有商业市场。虽然它们在过去存在,但它们要么已经消失,要么已经被传统的处理器公司吸收。其次,RISC-V ISA的灵活性创造了一种新的系统级优化方法,它需要一套新的工具。人们需要时间来理解这个机会,也需要时间等待商业工具的出现,并恰当地解决这个问题。

原文链接:

https://riscv.org/news/2023/01/selecting-the-right-risc-v-core/

—煤油灯科技victorlamp.com编译整理—

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论