选择正确的 RISC-V 内核

本文由半导体产业纵横(ID:ICVIEWS)编译自semiengineering


RISC-V生态完善任重道远

随着越来越多的公司对基于 RISC-V ISA 的设备感兴趣,以及越来越多的核心、加速器和基础设施组件以商业或开源形式提供,最终用户面临着越来越困难的挑战:如何确保他们做出最佳选择。

每个用户可能会有一组需求和担忧,这些需求和担忧几乎等同于 RISC-V 产品的灵活性,远远超出传统的 PPA 指标,扩展到安全和保障问题或质量考虑因素。这可能包括验证附属物的适应性,它使架构扩展和必要的验证能够与之相伴。

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

RISC-V 的设计和软件生态系统正在建立,但配置和验证生态系统正在落后,行业需要建立新技术。RISC-V的灵活性给验证带来了巨大的挑战,超出了固定处理器验证所需的任何挑战。RISC-V不仅让硬件软件共同开发成为可能更成为了必要的。


硬件软件共同开发

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

需要原型来进行这些类型的权衡。“如果设计师的目标是评估性能和适合目的,那么虚拟原型设计是唯一可行的选择,”Quadric 首席营销官 Steve Roddy说。“构建硬件原型比创建子系统或整个 SoC 的 SystemC 模型耗时多 10 到 50 倍。SystemC 虚拟原型的运行速度通常足以回答性能问题,例如在可接受的精度范围内,可以通过该处理器内核获得每秒多少帧的吞吐量,或者功能 X 的峰值和平均带宽要求是多少。”

获得正确的准确性可能很困难。“一切都与准确性和快速构建模型的能力有关,” Arteris IP解决方案和业务开发副总裁 Frank Schirrmeister 说。“正确的准确性取决于问题要求,而生成这些要求并非易事。如果是 ASIP 提供商,将能够从拥有的任何模板生成这些内容。根据可能需要流水线准确性的问题,可能需要内存准确性,它不需要完全准确,但是当涉及 CAD 部门时,他们太害怕回答错误的问题。”

但准确性是与速度的权衡。“虽然一些虚拟原型是周期准确的,但它们通常运行速度太慢,无法获得必要的软件吞吐量,”Imperas 的 Davidmann 说。“最高性能的虚拟原型不是性能引擎,因为它们不对处理器流水线建模。他们从软件的角度来看它,您可以在其中编译它并在硬件上运行它,您可以通过查看指令数或近似时序估计来了解近似性能。这应该足以做出这种架构决策。”

它通常需要几个原型。“我们通常出于两个原因制作原型,”Microchip Technology 的 FPGA 业务部软件和系统工程高级总监 Venki Narayanan 说。“一个是架构验证,以确保我们满足所有性能指标和要求以及功能验证。另一个原因是嵌入式软件和固件开发。验证需要使用不同级别的原型制作技术,最常见的是使用我们自己的 FPGA 开发用于架构和功能验证的仿真平台。我们还使用 QEMU 等架构模型来构建用于性能验证和嵌入式软件开发的虚拟平台。”

可能性的数量正在增加。“如今,公司可以通过多种方式使用 RISC-V 进行原型设计,”RISC-V International 的首席技术官 Mark Himelstein 说。“这些范围从制造商级别的单板计算机到支持企业 LINUX 的主板。仿真环境(如 QEMU)允许开发人员在硬件完成之前开发软件,并且从嵌入式 SoC(来自 Espressif 和 Telink 等公司)到 FPGA(来自 Microsemi 等公司),到处都有现成的部件,到英特尔和 SiFive 即将推出的 Horse Creek 开发板。”

回到性能/准确性权衡。“物理原型需要更多的设计工作,因为连接和综合了真正的 RTL,但它们提供了更高的准确性和吞吐量,”Quadric 的 Roddy 说。“FPGA 系统中的物理原型,无论是本土开发的还是来自大型 EDA 公司的,都需要付出努力才能实现。但它的运行速度比 SystemC 模型快一个数量级,比全门级仿真快几个数量级。设计团队通常会在 IP 选择过程中从基于 C 的模型转向物理模型,以验证 IP 选择后的实际设计,并作为系统软件开发平台。”

一旦知道想要硬件中的哪些功能集,就可以看看是否有人已经创建了满足大部分需求的解决方案。Davidmann 说:“很有可能,所有的供应商都在那里,将会有一个商业解决方案,它具有用户正在寻找的东西类型。” “但是使用 RISC-V,不必按原样接受该解决方案。RISC-V 价值的一个重要部分是可以自由更改、修改和添加想要的不同内容。”


选择实施方案

有许多方法可以实现一组功能,例如流水线阶段数或推测执行功能。每一种都将在功率、性能和面积之间进行不同的权衡。“ISA 风格,无论是 RISC-V、Arm、Cadence 的 Xtensa、Synopsys 的 ARC,都不会真正影响建模和原型设计目标以及权衡,”Roddy 说。“无论处理器品牌如何,系统架构师都需要回答有关 SoC 设计目标的问题。在技术层面上,相对于建模和性能分析工具支持,RISC-V 潮流确实在市场上处于稳定地位。有许多相互竞争的核心供应商,每个供应商都有不同的实现和处理器特性。作为主系统 CPU,它没有 Arm 的寿命长,因此在 EDA 领域得到广泛验证的生态系统参与者较少,对来自各种 RISC-V 供应商的现成 RISC-V 内核的即用型建模支持。作为可配置、可修改的核心,RISC-V 世界落后于 Tensilica 花费 25 年构建的指令集自动化水平。因此,RISC-V 作为现成构建块的建模支持较少,用作指令集实验平台的自动化程度较低。”

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

性能是其中最容易评估的。“这与选择任何传统处理器供应商没有什么不同,”戴维曼说。“他们会告诉你这个内核每瓦特能提供多少 Dhrystones,他们会提供典型的处理器分析数据,这表明这就是这个微架构的运行速度。他们拥有所有这些数据,任何获得处理器核心许可的人都会熟悉这些数据,并会与他们交谈并获取这些信息。数据表中可能会有许多可选选项,可以在供应商网站上的数据表上查看它。

在此级别,您可能需要循环精度。Schirrmeister 说:“大多数人将其输入仿真器并通过它运行足够的数据以做出合理的决定。我认为短期内不会升级到虚拟原型。一些公司正在谈论 FPGA 原型,可以在其中拥有自己的单板解决方案。根据需要回答的问题,可以决定对其进行配置、生成,然后将其泵入 FPGA 以通过它运行更多数据,并在其之上使用适当的软件例程。该行业拥有足够快的进入仿真器和原型设计的途径,使这成为可能。基本问题是根据尽可能准确的数据做出这个决定,但是当想做出那个决定时可能没有那么准确的数据。”

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


验证

由于处理器设计长期以来一直在内部进行,因此没有用于构建处理器的公共验证生态系统,并且 RISC-V 的功能需要比以往任何时候都更加灵活的验证解决方案。这种创造才刚刚开始。

“有像 Dhrystones 或 CoreMark 这样的行业指标,因此人们可以比较性能,”Davidmann 说。“但是你怎么能比较验证质量呢?需要有一个公平的竞争环境,需要一些质量指标来进行验证。”

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

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

这些指标是什么?“在OpenHW质量组中,我们正在努力找出这些指标应该是什么,”Davidmann说。“这包括功能覆盖之类的东西,因为它不仅仅是简单的说明。对于高质量的处理器,需要的远不止这些。需要有一种验证方法,可以确信您与参考系数的比较涵盖了所有内容。功能覆盖率只是表明你已经有了测试,但这必须与某种形式的已知参考进行比较的方法相结合。我们将添加故障注入技术,以便能够确定您的测试台是否真的检测到问题。”

RISC-V生态完善任重道远

这需要一套工具。“随着 RISC-V 生态系统的成熟,商业实施开始支持明确的细分市场,”Axiomise 创始人兼首席执行官 Ashish Darbari 说。“我们看到了对需要功能安全合规性的市场的支持,例如汽车。我们看到对物联网的支持,需要安全性。RISC-V 供应商正在投资于高级验证技术,包括用于架构建模和性能的虚拟原型设计。现在有工具可用于尽早采用形式化方法,以便在设计过程的早期消除错误并避免错误插入,因为设计人员很难通过处理器与内存接口上的仿真来捕捉极端情况错误。”

必要的工具之一是能够根据特性列表或功能集生成测试用例。“自动生成测试内容以驱动原型并及时考虑验证复杂性是关键,”Breker 的 Kelf 说。“这些生成机制现在开始出现在市场上。”


结论

一个生态系统的好坏取决于它最薄弱的部分,对于 RISC-V 来说,就是 EDA 工具链。这样做的原因有两个。首先,直到最近,处理器验证工具还没有商业市场。虽然它们在过去存在,但它们要么消失,要么被解散到传统的处理器公司中。其次,RISC-V ISA的灵活性创造了一种新的系统级优化方法,需要一套新的工具。理解这个机会需要时间,并且需要时间才能出现适当解决它的商业工具。


本文转自:半导体产业纵横,转载此文目的在于传递更多信息,版权归原作者所有。如不支持转载,请联系小编demi@eetrend.com删除。

最新文章