中文 英语

RISC-V合规的挑战

当规范是可扩展的时,显示处理器核心遵循规范变得更加困难。

受欢迎程度

开源的RISC-V指令集架构(ISA)继续获得动力,但RISC-V的灵活性带来了一个问题——你如何知道一个RISC-V实现是否符合基本标准,并能与其他实现很好地合作,以便它们都能运行在同一个生态系统中?此外,你如何确保生态系统开发适用于所有实现,以及所有声称是RISC-V的核心都正确实现了规范?

RISC-V芯片开发人员需要深入研究一致性测试。好消息是,RISC-V合规框架正在开发中,以确保声称是RISC-V核心的产品将运行一组通用的应用程序、工具和系统软件。但是每个EDA团队都需要开发一致性测试技能。

一致性测试的作用是确保一个实现可以与其他实现一起工作,这是EDA行业没有很多经验的事情。在过去,EDA行业通常认为一个实现代表了所有其他实现必须满足的黄金行为,而许多其他标准使用插件节来确保兼容性。但是,RISC-V内核有如此多可能的实现、配置和适应,这是一个巨大的挑战。

Esperanto Technologies的系统架构师、RISC-V合规任务小组主席Allen Baum说:“RISC-V是一个开源标准ISA,具有出色的模块化和可扩展性。“任何人都可以构建一个实现,除了商标的商业使用之外,没有许可费。基本指令集通过扩展来增强,以支持特殊函数,如原子指令和压缩指令,以及额外的数据类型,如浮点、向量和位操作。”

RISC-V的潜在成功并不仅仅在于其架构是开放的,而是任何实现都可以运行为ISA编写的应用程序和系统软件。“实现者可以自由地添加自定义扩展来提高功能和性能,同时不必包含不需要的功能,”Baum补充道。“然而,不受约束的灵活性可能导致不兼容,从而分散客户基础,并消除合作生态系统开发的激励。”

软件兼容性是关键。Imperas software的营销副总裁Kevin McDermott说:“RISC-V ISA定义了可以由处理器硬件资源执行的软件指令之间的接口。“它定义了硬件和软件之间的本质界限。”

遵从与验证
在微处理器和微控制器的环境中,合规性确保了一定程度的兼容性,以便软件、开发工具和操作系统可以在一系列设备上使用。

麦克德莫特说:“任何想要开发RISC-V设备的人都希望确保他们有一个符合ISA标准的正确实现,以便从软件和工具的可重用性中受益,并享受RISC-V生态系统的全部好处。”“当设备之间的不兼容性出现时,就会出现碎片化的风险,这需要对软件进行修改,以至于软件重用受到限制,从而阻碍了广泛的投资。”

这是行业面临的新挑战。Imperas的首席执行官西蒙•大卫曼补充道:“业内还没有成熟的合规方法。“对于所有其他isa来说,它们都由一家公司控制,因此确保它们发出正确的产品是一个非常不同的问题。有了RISC-V,多家公司将设计产品,他们和他们的客户必须有信心他们的实现符合规范。”

合规不是关于RTL验证或试图证明RTL是正确的。遵从性是试图确保它符合标准。Breker verification Systems的首席营销官Dave Kelf表示:“合规是一个关键的新验证问题。RISC-V联盟正在制定一套合规套件来帮助实现这一目标。然而,这只是一个开始。”

合规与核查应该走多远?该公司战略副总裁Tim Whitfield表示:“合规对于引导生态系统朝着一致的方向发展至关重要,最终使行业从共享投资中受益。手臂的嵌入式和汽车业务线。“我们坚信,适当的合规水平同样至关重要。这反映在我们的资源和投资中,这是Arm架构扩散和成功的关键。在合规方面需要取得平衡,因为有时它可能太少,导致生态系统兼容性问题,或者太复杂,导致不必要的成本和时间。”

用于遵从性和验证的工具和技术也可能不同。“合规性测试与标准SoC验证不同,它关注指令和有效序列,而不是使用约束随机等技术”,该公司设计验证技术营销总监Neil Hand说Mentor是西门子旗下的企业.“虽然传统文化也有一席之地约束随机在美国,合规需要关注ISA本身。这确实引入了许多新的内容方法挑战,特别是因为不同的核心可能有不同的微架构,这将影响数据的时间。这意味着合规在很大程度上变成了一个软件问题,以确保有效和无效的指令序列给出正确的结果。”

虽然验证方法依赖于覆盖率,但遵从性也存在类似的问题。“如何衡量RISC-V ISA的合规性已经成为许多考虑采用该平台的公司日益关注和困惑的根源,”该公司营销副总裁Chris Jones解释道Codasip.“与遗留架构不同,没有一种方法可以确保遵从性。在合规标准出台之前,RISC-V生态系统面临着碎片化的风险。考虑到标准扩展的数量不断增加,测试每种可能的RISC-V排列并不是一项简单的任务。在我们讨论遵从性之前,我们需要就遵从性意味着什么以及应该实现什么样的框架达成一致。考虑到生态系统中既有合作方,也有竞争方,无论采用何种合规框架,都必须是公正和独立的。”

RISC-V基金会及其合规工作组正在开发和维护测试套件、框架和方法,以使其生态系统能够确保ISA兼容处理器满足软件用户群对RISC-V的需求。Esperanto的Baum说:“RISC-V合规框架有三个主要元素。“一套模块化的测试套件,可以执行ISA的所有方面;定义正确执行结果的金引用签名;以及根据平台需求和声称的设备功能选择和配置适当测试套件的框架,运行测试并将结果与参考签名进行比较,报告成功或失败。”


图1所示。RISC-V联盟合规框架。来源:世界语

图1中所示的测试套件和框架元素基于标准汇编程序、编译器、加载器和脚本语言。引用签名是由体系结构的引用模型(某种形式)生成的。测试生成使用标准格式,其中包括简化创建、报告结果和帮助调试失败的宏。额外的工具可以使用各种度量来测量测试覆盖率,以确保结果质量。

当前的状态
合规工作组是最早成立的工作组之一,尽管它依赖于创建RISC-V规范的其他委员会的工作成果。Baum解释了合规委员会的工作现状:

  • 对于软件模拟器和带有HDL模拟器的RTL,有一些包装器的例子。
  • 存储库包含几个参考模型。
  • 测试套件已经在真正的硅和fpga上运行。存储库将在将来进行扩充,以包括这些包装器的示例。
  • 用于测试套件选择的测试选项(例如RV32I、RV32IM、RV64I等)已经存在,但RISC-V基金会的合规工作组正在积极添加新的测试并增强框架配置选项。

“RISC-V基金会最近举办了一场‘设计RISC-V软核心竞赛’,所有决赛选手都成功地通过了合规套件,”Baum说。“从长远来看,对于严格意义上与isa无关的功能,比如调试和跟踪标准、内存模型中发现的不确定性行为、高并发系统以及与时间相关的安全问题,将需要测试和工具。”

理解遵从性套件的完整性级别是至关重要的。”报道在RTL设计和验证中使用的度量标准并不适用,因为它们通常是功能性的,并且连接到特定的微架构,”Davidmann说。”代码覆盖率提供模型源的覆盖率,这对于查看测试执行了多少模型很有用,但不能显示覆盖了多少规范。故障模拟提供指令解码覆盖,探索指令的解码和突变合法位,并检测是否存在刺激和观察每个位的测试。”

Davidmann提供了来自他们的工具的结果,这些结果展示了现有的遵从性覆盖水平。


图2所示。RISC-V rv32i指令集的合规覆盖。来源:治之

进一步遵守法规
通过验证,证明设计具有积极作用是任务的一半。另一个要求是证明它没有做错任何事情。McDermott说:“除了基本ISA的合规性之外,还必须确保任何修改、扩展或特性都必须确保基本ISA实现不受后续添加的影响。”

这包括两个部分:验证扩展,以及确保这些扩展没有造成损害。Kelf说:“也许真正的验证问题是确保处理器模型在扩展指令集时仍然兼容。”正如其他可配置处理器公司所发现的那样,指令扩展的问题不仅是验证新指令,而且是确保现有指令功能不被破坏。任何RISC-V验证平台都必须允许在合规套件之上轻松包含测试,从而彻底和完整地测试整个扩展处理器ISA。可重用的测试系统,例如便携式刺激都是必需的。”

形式验证经常被认为是一种更好的方式来显示事物没有坏掉。设计验证的产品经理Sven Beyer说:“完全合规不仅要确保核心做了它应该做的事情,还要确保它不做它不应该做的事情。OneSpin解决方案.“后一个要求需要对正式验证进行详尽的分析,对于检测硬件木马和其他信任和安全漏洞至关重要。”

同样,如果遵从性涉及到规范中没有定义的内容,但对核心用户同样重要,就会提出问题。安全就是一个例子。“安全性问题是一个有趣的问题,因为它不在规范范围之内,”Mentor’s Hand说。“因此,这不是一个合规问题。这并不意味着它应该被忽视。但安全性测试需要一种不同的方法,在这里可以使用正式验证等现有工具和技术。”

这远远超出了合规的范畴。Codasip的Jones表示:“客户想要‘合规+’。他们希望遵循RISC-V ISA,但同时扩展指令集。挑战在于如何提供足够的覆盖率,同时保持测试池的增长和维护工作在可接受的水平。”

它可能涉及的不仅仅是指令集。SmartDV Technologies董事长迪帕克•库马尔•塔拉(Deepak Kumar Tala)表示:“RISC-V开源架构的一个关键组件是缓存一致性互连结构TileLink。“确保符合TileLink规范需要一个完整的验证解决方案,支持快速测试台开发,完整的回归套件,以及交互式分析和调试。”

结论
RISC-V联盟及其成员非常认真地对待合规问题,但这并不简单。在这个过程中,他们必须发明很多技术。此外,该行业必须使用相关工具、模型和方法来防止碎片化的发生。

油气行业似乎有信心实现这一目标,但这一切都需要时间。

有关的故事
在RISC-V系统中构建安全性
第2部分:重点转移到固件、系统级架构以及行业、学术界和政府之间的协作。
开源RISC-V硬件和安全
第1部分:一种新的指令集体系结构的优点和局限性。
RISC-V英寸向中心
对源代码的访问使其对自定义应用程序具有吸引力,但在工具流和软件中仍然存在差距。
RISC-V:不仅仅是一个核心
对开源ISA的兴趣标志着芯片制造商的重大转变,但它需要持续的行业支持才能成功。



留下回复


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

Baidu