中文 英语

为什么开发新处理器如此困难

在RISC-V成功之后,许多公司有兴趣开发自己的处理器,但验证是一个艰巨的挑战。

受欢迎程度

RISC-V处理器ISA的引入和初步成功重新点燃了人们对定制处理器设计的兴趣,但工业界现在正在努力解决如何验证它们的问题。在过去的20年里,曾经在市场上存在的专业技术和工具已经被整合到少数几家生产处理器芯片或IP核的公司手中。

一个处理器的验证不同于其他IP片的验证,甚至是一个SoC的验证。处理器是通用硬件的终极部件,它会产生自己独特的一组问题。

“它可以运行任何软件计划,”公司副总裁兼总经理Paul Cunningham说节奏设计系统。“它是你能想象到的最可配置的深度状态设备之一。真正地说我已经完成了对CPU的验证,也就是说你已经运行了所有可能在CPU上运行的软件程序,当然你永远不会这样做。这是非常棘手的。CPU验证是极其困难的。”

在一个硬件必须尽可能灵活的时代,谨慎的做法是在软件中做尽可能多的事情。Imperas software的首席执行官Simon Davidmann说:“一家公司发现,在处理器中使用少量软件构建状态机比在Verilog中创建状态机要好得多。”“如果你在里面建立状态机Verilog如果出了问题,你就得重新旋转芯片。但如果你构建小控制器,并编写状态机程序,那么当出现问题时,你可以稍后解决问题。”

但这产生了两个问题。“在最近的一个处理器验证项目中发现,你必须让软件团队参与到这个过程中,”Hagai Arbel说VTool。“这带来了一系列新的挑战,因为他们正在技术和精神上讲一种完全不同的语言。”

第二个问题是核查。“一个处理器的好坏取决于它的验证,”杜安·普赖尔说,他是该公司的首席技术专家门托,西门子的一家企业。“以暴力手段结束核查是不可行的。我们在高端和低端市场都看到了这种情况。”

无论一个处理器核心是基于RISC-V还是一个独特的指令集架构(ISA),彻底的验证都是至关重要的。oneespin Solution的设计验证专家尼古拉•图辛奇(Nicolae Tusinschi)表示:“用户再也不能指望在硅上进行几十年的验证,就像传统处理器那样。”“RISC-V的使用者没有特别通行证;经验表明,许多开源核心的验证都很弱,并且包含许多极端情况下的bug。所有处理器开发者都必须广泛验证他们的核心设计,记录流程和实现的覆盖范围,并使用户能够利用这种验证来实现包含核心的完整芯片系统(SoC)设计。”

无论项目的规模如何,处理器的某些方面都是常见的。“处理器确认可广泛分为控制验证和数据路径验证,“中央工程集团的丹尼尔Schostak,建筑师和研究员说手臂。“两者都没有简单,两者都有他们的挑战。通过控制验证,主要挑战是交互组件的数量,确保所有角落案例都被覆盖,而在数据路径验证时,主要挑战是在制造边界案件,以便正确覆盖这些挑战。这些挑战可以通过用于区域,性能或电力的微观建筑功能进一步复杂化。“

这个问题在开源领域更加复杂,特别是涉及到RISC-V的时候。“一方面你有功能验证,”路易·德·卢纳(Louie De Luna)说Aldec。“但你也要进行合规测试。您需要确保任何自定义指令都与源代码兼容。这将影响您的覆盖模型,并且还没有实际的工具流。在这方面还有很多工作要做。除了学习如何使用所有工具,你还必须了解如何使用它们进行测试。”

移动复杂性
虽然处理器性能自2000年前后没有显著提高,但这并不意味着复杂性保持不变。“我们仍然看到处理器的复杂性在增加,”Colin McKellar说,他是验证平台的副总裁想象力的技术。“人们越来越想从这个过程中挤出更多的东西。人们非常希望拥有某种独特的功能集或独特的做事方式。”

这种对独特性的渴望正在推动当前的趋势。“在低端产品,尤其是边缘设备,电力和成本限制要严格得多;价格点更低,”门拓的普莱尔说。这意味着更紧密耦合的加速、可定制性,甚至删除指示都是有价值的。与高端产品相比,较小的设计和专属软件有助于降低再验证成本。RISC-V以较低的成本提供了一个易于定制的平台。总的来说,自定义的优点大于缺点,创造了一组新的验证工程师面对处理器(重新)验证问题,尽管是在更小和更封闭的系统上。”

在高端市场,其他力量也开始发挥作用。Cadence的Cunningham说:“处理器架构从更复杂的指令开始向RISC过渡。”“这一趋势开始趋于平缓,我们开始转向多核模式。然后我们就无法在多核环境下进行扩展了。在这一点上,所有新的复杂级别都围绕着定制的特定架构——针对特定领域(如AI、图形或视频)定制的不同类型的计算引擎。核心管道的潜在复杂性可能不会像以前那样快速变化,但它仍然存在。还有更多关于安全的事情。还有很多投机性的执行。”

投机性执行是一种优化技术,它已链接到许多高调的处理器漏洞,例如幽灵和堤防。安全性是一个持续的挑战,它是一个仍在添加设计要求的区域。

“安全是现代处理器的一个新维度,确保处理器实现有效的硬件信任根(HRoT)是关键,”布雷克验证系统(Breker Verification Systems)副总裁兼首席营销官戴夫·凯尔夫(Dave Kelf)说。“为了验证这一点,负面的验证(证明除了规定的机制外没有办法进入区域)是很重要的。正式的这是好的,但在系统级别耗尽容量。因此,允许指定和分析系统状态空间的工具将成为处理器验证团队的重要工具箱组件。”

当期望在处理器上运行操作系统时,必须提供额外的支持级别。“预计通用处理器将支持所有现代操作系统和一系列应用程序,”联合创始人Shubhodeep Roy Choudhury说Valtrix系统。“这些用例中的大多数情况需要支持硬件,例如用于虚拟内存的TLB / MMU,虚拟化虚拟化和用于浮点计算的FPU。对并行执行线程的支持具有内存排序和高速缓存一致性含义。鉴于使用情况,处理器单元和跨产品的数量,与其他设计相比,通用处理器的验证是一个更具挑战性的任务。“

支付验证
没有逃离必须支付的价格来执行处理器核心的验证。您可以直接支付成本,或为您提供别人来支付费用。

“顶级处理器公司已经投入了巨大的投资,拥有很多专业知识,以便他们可以提供很好的东西,”Cunningham说。“必须记住RISC-V是指令集。这不是CPU的实际实现。必须验证实施,并且必须具有足够的质量,并满足某些权力,性能和面积目标。ARM不仅仅是一种指令集。他们提供了整个生态系统。他们正在花费数百万美元。“

质量对处理器很重要。“胳膊跑了10个15每核的指令,“Imeras'Davidmann说。“这是很多指示。平均RISC-V开发人员或IP提供商甚至没有硬件仿真器。他们无法在那样验证的任何地方做任何地方。多年来,当人们购买ARM或MIPS和电源处理器时,他们依赖于IP供应商进行验证。“

但并不是所有的核都那么大或复杂。想象力公司的McKellar说:“现在的许多RISC-V项目都非常小,而且其复杂性是可以管理的。”“与验证相关的成本不会很大。但是,当你开始改进性能或增加多线程、并行处理的复杂性时,它会增长得相当快。我可以想象,有一半的公司试图做复杂的处理器,会发现这是一个很大的挑战,而食物链上的人会停止与它相关的资金,因为它是昂贵的,并没有必要正确工作。”

Codasip副总裁杰瑞·阿迪佐内对此表示赞同。“我们的一个客户打算使用开源的RISC-V核心和开源工具,创建108个可重复的协处理器,但他们遇到了几个问题。首先,他们必须证明核心是有效的。然后,他们意识到这个核心唯一可用的测试套件是开源的,因为所有其他商业工具都在Arm、Codasip、MIPS和Synopsys等公司开发的工具包中。然后他们必须证明所有这些处理器可以处理35条指令来实现特定的加速,这在开源中是非常困难的。你可以从Arm那里买到所有这些,确保它能正常工作。您还可以构建自己的核心,这假定您知道如何构建处理器,并可以确保它不会被锁定。但核查始终是最大的瓶颈。”

这也可以证明是非常昂贵的。“验证是最艰难的部分和最昂贵的,”ardizzone说。“这是瓶颈,至少需要几个季度的工作。每次触摸硬件时,你都必须重新验证它。“

对于开源硬件,较低的成本是关键卖点之一。Aldec的De Luna表示:“像英特尔和Arm这样的公司在这方面非常擅长,你知道,当你把它集成到SoC中,你就能够验证它的工作。”“现在业界说这并不容易。如果你想想开源社区,很多事情都是基于预算的。但还有很多东西需要整合在一起。该行业需要整合端到端的流程,而这只有通过更多的合作才能实现。”

验证技术
二十年前,有几家公司生产用于处理器验证的工具。那时,大多数系统公司都有自己的专有处理器核心。从那以后,他们都迁移到一个大型处理器公司之一,现在专业知识已经集中在那些公司内。

Pryor说:“多年的经验和方法论发展在能够可靠地验证和验证处理器方面具有巨大的优势。”“我们一直对处理器公司推动验证流程创新和效率的方式印象深刻。”

咨询公司最近帮助别人验证了处理器核心讨论了多么重要的经验。“我们的先前经验和知识是必不可少的,”VTool的仲裁说。“我第一次开始20年前开始处理器验证,但如果这是第一次谈论这种类型的问题,我会偶然发现试图解决问题。即使您有一个非常小或简单的处理器,设计验证团队也需要用这种知识做好准备。有几种可能的解决方案,我们可能没有做到最好的方式。但是,与其他类型的设计相比,您肯定需要对问题不同。“

麦凯乐表示同意。“你既需要专业知识,又需要方法。它们是密切相关的。如果没有专家,这些工具可能就没有那么大的价值。如果没有工具,专家们就会陷入困境,因为工具箱太弱了。世界上缺乏高级认证工程师,很多公司都在相互竞争所需的技能。他们中的许多人对自己需要做的事情没有足够的深度。”

而获得这些知识是很困难的。“如何测试一个处理器基本上是封闭的,封装在这三、四家基本厂商的内部,”大卫曼说。“没有太多的论文、出版物或工具可以提供帮助。”

有用的建议
坎宁安提供了以下建议。“最重要的是,去雇一个人。确保你知道你是否真的想去构建你自己的处理器,如果你需要,认真对待它。这仍然是一件大事。你需要有人来领导和承认这一点。”

这一切都始于规划。“对你能实际实现的东西和你需要时间到市场所需的时间表是明智的,”麦克拉尔说。“专注于试图限制组合并减少功能。一些高级功能或功能的组合可能对最终客户来说可能不是值得注意的,但会花费大量的时间和精力来正确验证它们。非常开放,因为没有人回答。没有有一件事适合所有人。评论非常重要。有独立的评论和接受批评非常重要。并尽早测试新的东西。你应该尽早做新的和坚硬的东西,花了很多时间和努力,更少的时间和努力在旧的东西上。“

并问问自己为什么要做。“除非你试图真正做出创新和习俗的东西,否则已经存在了良好的解决方案,”Davidmann说。“如果您正在尝试添加一些非常有趣的面料或自定义指示,那么也许这就是为什么你应该下降RISC-V路线。更多人正在构建自己或配置自己的处理器,这意味着更复杂,更加复杂,更多的验证,以及验证行业的更多机会。“

开源的验证
RISC-V无疑推动了开源硬件的概念,一些人质疑他们是否也可以期待开源验证由此产生。SmartDV的应用工程总监Bipul Talukdar说:“开源模式的成功需要一个基础设施,使真正的设计和产品能够被创建、投入制造和交付市场。”“必要基础设施的关键部分是RISC-V验证平台,该平台使用开源规范和CPU执行ISA精确验证设计。”

一些人看到希望。Imperas Software的营销副总裁Kevin McDermott说:“RISC-V社区正在共同努力寻找解决方案。”“谷歌Cloud开发和增强开源项目的RISC-V随机指令流生成器,利用免费的riscvOVPsim参考模型,也许这是最好的说明。”

然而,核心EDA工具不太可能被开源取代。真正的成本不是EDA工具。问题在于它的复杂性,大型处理器供应商仍然在寻找意想不到的bug和漏洞,尽管他们有多年处理这些问题的经验。

该处理器验证系列的第二部分将专注于早期采用者使用的新兴方法和工具。

相关案例
验证知识中心德赢vwiniOS
顶部故事,特殊报告,白皮书,博客和视频存储库德赢娱乐合法吗
确保RISC-V设计按预期工作
开源的增长预测令人印象深刻,但验证过程可能比商业isa更难。
打开源处理器会导致验证班次吗?
存在工具和方法,但实际验证的工具和方法还不清楚。
RISC-V市场,安全和增长前景
专家表,第1部分:新指令集架构的优缺点。
RISC-V的挑战与机遇
谁通过开源ISA赚钱,RISC-V生态系统的当前状态,以及供应商之间的区别。
开源EDA可以工作吗?
DARPA程序推动更便宜和更简单的工具,但它可能不那么容易。
开放的isa正在获得吸引力
强调灵活性,市场和异质性的时间需要更多的加工选择



1评论

Tayo 说:

没有提到Synopsys的ARC处理器IP,尽管是在ARM之后提供可配置实现的第2大玩家,但通过验证RISC-V尚未能够实现?

留下一个回复


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