驾驭RISC-V浪潮

2020-09-14 02:45:11

在RISC-V的带领下,开源硬件继续发展壮大--尽管这种处理器技术既不是免费的,也不是简单易用的。

然而,开源硬件运动在之前的多次尝试之后已经建立了坚实的立足点,即使对处理器来说也是如此,这些尝试只取得了有限的成功。随着对更多定制硬件的需求,以及越来越多的初创企业寻求构建高度适合AI/ML算法的加速器和解决方案,人们对开源硬件的兴趣一直在上升。市场最终会变得多大,开源是否能提供一些公司今天想要的一切,还有待观察。但越来越多的人认识到开源硬件可以发挥作用,这开始吸引整个行业的更多兴趣和投资。

尽管如此,误解依然存在。“人们经常说,‘开源,它是免费的。’但这不是免费的,“谷歌项目负责人、OpenTitan项目总监多米尼克·里佐说。“这就是为什么我们发现最成功的开源项目是那些人们拥有长期既得利益并以合作方式合作的项目。这与开放源码的风格形成了鲜明对比,人们开发了一些东西,然后把它作为开放源码踢过了墙。

改变的是对更多大规模定制解决方案的需求,这可能会比一般的开源硬件更倾向于RISC-V。“RISC-V是更加定制化计算和特定领域计算趋势的产物,”Cadence解决方案营销高级组主任Frank Schirrmeister说。“你可以争辩说,这更多的是一种影响,而不是根本原因。根本原因是客户需要特定于域的、特定于工作负载的计算,通过特定于域的体系结构和特定于域的语言来实现。任何可扩展的处理器都在该域中运行。开源与此是正交的。“。

在更广泛的商业应用之前,开源硬件也有一些有趣的挑战需要解决。ARM汽车物联网战略副总裁蒂姆·惠特菲尔德(Tim Whitfield)表示:“IP必须满足同样严格的验证标准,并在不破坏SoC或系统设计人员现有总拥有成本模型的情况下,在今天的商业硬件范围内提供长期支持和维护。”“风险在于,对于几乎没有差别的设备来说,与许可相关的成本节约往往被花在验证、物理设计和软件开发上的时间和金钱降到最低。有多个组织正在涌现,试图解决其中的一些问题。然而,为了取得成功并为SOC提供一些基础,他们将需要有意愿的参与者的持续支持和投资。联合体模式适用于SoC的许多标准,这是该模式的延伸。“。

到达那里需要时间。OpenHW集团总裁兼首席执行官里克·奥康纳(RickO‘Connor)说:“当人们开始考虑开源硬件时,有一些纯粹主义者希望一切都开源。”“为硬件行业--尤其是半导体行业--破解这一难题将是分阶段进行的。许多人认为RISC-V组织是关于处理器核心的免费和开源实现。基础任务是管理指令集的规范、各种标准扩展和指令集的可扩展性。当他们谈到ISA是自由和开放的时候,他们的意思是你可以自由地使用这个ISA做任何你想做的事情。“。

文化也在改变。谷歌的Rizzo补充说:“开源是一项重要的投资,你确实需要有多个拥有既得利益的各方来见证这个空间的成功和长期的成功。”“老实说,我认为验证IP才是真正赋予RTL价值的东西。你真的不能没有一个,特别是当你想要去生产的时候。“(工业和信息化部电子科学技术情报研究所陈皓)。

总价值必须评估。Valtrix系统公司首席执行官兼联合创始人舒布霍迪普·罗伊·乔杜里说:“RISC-V作为基准参考是稳定的,并且经过了良好的测试。“公司可以添加他们的秘方,从而节省设计时间和成本。与其他公司的合作分摊了开发成本。验证成本可能仍然很高,因为每个人都希望确保自己的IP按照规范工作。后端成本是不可避免的,因此节省的成本微乎其微。此外,还可以灵活地从多个处理器IP公司中进行选择,因此,如果一个供应商的IP不起作用,还有其他选择。“

开源硬件自诞生以来,IP行业已经走过了漫长的道路,人们对商业IP的期待也提高了门槛。

让开源IP达到大容量芯片所需的质量水平是一个挑战。“这就是像OpenHW Group这样的非盈利组织发挥作用的地方,”OneSpin Solutions的营销主管罗布·范·布洛姆斯坦(Rob Van Blommstein)说。他说:“许多公司都在为实现这一目标做出贡献。还有一些大公司对减少对外国专有技术的依赖有着浓厚的兴趣。开源硬件的另一个重要方面是,它从小公司和个人那里释放了如此多的创新潜力,他们可以获得免费的可定制核心和成熟的工具链和生态系统。“。

OpenHW的O‘Connor说:“开源硬件的外观、气味和感觉都必须像你期望从商业IP供应商那里获得的商业IP。”在OpenHW集团,我们正试图与一群公司共同努力,克服惯性,这些公司希望制造经过充分验证的高质量IP-在一个真正的SystemVerilog UVM测试平台中拥有良好的功能覆盖和代码覆盖,如果这是他们正在做的事情,他们将自己建造。“。

一些市场有额外的驱动因素。“安全实现不应该是秘密的,”Rizzo说。“Kerckhoff的原则是,为了您的安全,您不应该依赖实现的保密性。安全工程师或在这个领域工作的人想知道发生了什么,因为您说它是安全的时发生了太多令人不快的事件或次数,但后来有人发现了问题。通过让东西成为专利,你不一定会把那些正在寻找漏洞的人拒之门外,但你确实会阻止研究人员或好奇的人去寻找。

无论是线上还是线下,关注开源硬件的人往往分为两个阵营。Imperas Software的首席执行官西蒙·戴维德曼(Simon Davidmann)说:“在这条线下面的是那些正在寻找免费午餐的人。”“他们不想为任何东西付钱。如果他们可以免费访问某些东西,他们就可以完成某项工作。然后是线上的那些。这些人就是想要自由的人。“。

在这两个极端之间存在一个连续体。“有一些RISC-V的专有实现是封闭源代码的,并且只在内部使用,”O‘Connor说。“另一个极端是商业知识产权公司,它们在授权的情况下出售知识产权。有许多知识产权公司提供各种不同语言的开源实现,如Chisel、VHDL、Verilog或SystemVerilog,其形状和大小从微型控制器到更高端服务器级别的机器不一而足。“。

超越底线意味着知道你可以为自己付出多少努力,需要多大的风险,以及你需要什么技能才能做到这一点。戴维德曼补充说:“如果你在这条线之上,你可能有大量建造巨型SoC的经验。”“它要求您有一种方法,您可以在其中分析代码,进行大量分析以确定代码需要改进的地方或通信渠道,选择要添加哪些指令,处理需要扩展或定制的体系结构内容,然后构建模型、在其上测试软件、进行验证,并在硬件上进行更多验证。这不是那些没有太多经验的人应该做的事情,因为这是相当有挑战性的。但它让他们有能力做传统处理器做梦也想不到的事情。“。

专有处理器知识产权公司提供许多相同的替代方案。但RISC-V点燃了人们对这些选项的兴趣。

可扩展教学设置有些人希望最大限度地发挥创新的自由。Synopsys的ARC DSP处理器产品营销经理格雷厄姆·威尔逊(Graham Wilson)说:“有一小部分人会说我想要完全拥有处理器,我想要完全定制它。”“他们会投资并学习这些工具,他们会花时间。学习如何构建这些新指令是一个战略决策。然后,他们还会修改内核的体系结构,添加新的接口,从战略上决定从ARC可配置可扩展内核开始拥有处理器。“。

有些人采取中间立场。奥康纳说:“这些人从一个经过很好验证的通用核心开始。”“他们采用验证基础设施,并安装他们自己的定制加速器或他们自己的定制指令。显然,他们自己来核实这些,但他们可以建立在我们提供的核查基础设施上。如果他们希望这成为开源社区的标准实现,那么也许这是我们在OpenHW集团内部策划的事情。“。

即使是那些希望购买RISC-V内核的人也可能会看到一定程度的自由度。“许多采用RISC-V的人并不打算定制那个处理器,”西门子公司Mentor的设计验证技术市场总监尼尔·汉德(Neil Hand)说。他们仍然可以自由地对多个处理器进行基准测试,并且可以推迟这一决定。在过去,您通常会在项目开始时做出处理器决策,并且从那时起它就会被修复。有了RISC-V,您就有了来自多个供应商的可比ISA,您可以根据扩展和架构在不同的供应商之间移动。“。

随着行业的成熟和更多的扩展在行业中变得可用,发明定制指令的需求可能会减少。Synopsys的威尔逊说:“你不会加速FFT,因为它已经被优化了。”当新的算法或新的规范出现时,如无线通信或有线通信,您可能会发现客户会找出具体的瓶颈,然后添加相应的说明。但业界将从中吸取教训,建立一种更通用的解决方案,或者将其作为处理器包内的可扩展指令提供。“。

某些处理器可能是特定于域的。“如果你展望物联网世界或一些5G设备,它们是单一用途的设备,”Mentor的手说。“他们需要做一件事,而且要做得非常好。随着我们进入计算的新时代,在这些专门构建的、特定于应用的计算平台的推动下,由于软件生态系统的原因,您仍然需要可编程性。但是从扩展的角度来看,您会有独特的需求。它们不一定会普及到所有地方。“。

这将随着时间的推移而演变。戴维德曼说:“如果你去一些早期的核心,比如苏黎世工业大学的纸浆核心,他们想要一些RISC-V基础上不存在的具体说明。”“因此,他们必须构建自己的定制说明。今天,这些指示存在于标准中。RISC-V指令集已经变得相当丰富,涵盖了很多东西。有些工作小组已接近完成额外指示的大部分工作。“。

可扩展体系结构某些核心将由其应用程序域驱动。“就人工智能和机器学习而言,很多潜在的计算都是乘法累加,”Cadence的Tensilic集团的产品营销总监乔治·沃尔(George Wall)表示。“但仍有很多效率可以增加,以防止处理器将零乘以零.。这就是可扩展指令集派上用场的一个例子。“。

其中一些算法正变得相当通用。“美国有线电视新闻网的卷积层包括大量的乘法累加运算,它们阻碍了计算效率,”ALDEC的市场总监路易德·露娜说。CNN需要同时将多个数据块从矩阵移动到外部存储器,以避免多次访问存储器造成的延迟。CNN的纯硬件实现缺乏解决这些问题的灵活性,因为它们需要复杂的控制器来处理计算和数据传输,但是可以创建定制指令来解决这些类型的域特定问题。“

其他人也表示同意。“考虑一下Seefar雷达的应用,”威尔逊说。“这些算法利用滑动窗口,因此您可以看到添加了自定义指令来加速这些操作。它们不同于标准的DSP功能。它是一个数据吞吐量函数,但自定义指令有助于通过滑动窗口从加载存储或寄存器中拉出数据。“。

一些处理器开始集成嵌入式FPGA,这提供了动态可重新配置的元素。(请参阅相关文章《现场配置处理器》。)。但这带来了一个额外的问题。QuickLogic FPGA产品经理毛旺(音译)表示:“如果你有嵌入式FPGA,而供应商强迫你使用专有工具,那么你就没有办法将其集成到你的设计环境中。”“它迫使您通过两三种不同类型的法律或许可方法,才能拥有使用软件的能力。支撑结构也变得相当错综复杂。“。

该行业未能使软件社区能够轻松地访问FPGA编程。QuickLogic总裁兼首席执行官布莱恩·费思说:“有更多的工程师毕业于计算机科学或数据科学学位,而不是面向硬件的学位。”“在后摩尔时代,硬件需要更像软件,如果可以,将为其打开如此多的潜在用途。FPGA公司喜欢有围墙的花园。他们喜欢用户停留在他们的工具上,使得开源公司或工具很难站稳脚跟。我们是第一家公开支持和接受FPGA开源工具的可编程逻辑公司。“。

FPGA公司传统上保护他们的比特流。使其开放意味着提供设备配置信息、计时和其他被认为是专有的信息。“我们现在正在向社区提供这些信息,以便包括在开源工具中,”Faith补充道。“你不再需要试图对任何东西进行反向工程,才能将设计贯穿始终,并获得比特流。”

一些开源程序,如OpenTitan,从RISC-V核心开始,然后添加到上面,将结果放到社区中。OpenTitan是一个开源的硅信任之根。Rizzo说:“我们正在开源RTL和设计验证IP--所有这些都是你与后端合作伙伴合作生产芯片所需要的。”“它提供了一套合乎逻辑的安全保障。当机器启动时,我们会进行非常深入的低级别检查,这样我们就可以知道我们知道、控制并签署的是启动代码。“。

增加服务随着开源软件社区的扩大,新的商业模式由此诞生。同样的情况现在也发生在硬件上。Cadence的Schirrmeister说:“如果我一个人做这件事,入门成本非常高。”“然而,介于两者之间的服务是有机会的。您可以使用一个工具自动生成它,您可以从一个开源架构开始,然后从那里开始,或者您可以召集提供混合服务和工具的人员。这将是一家熟悉该架构的公司。他们成功地进行了修改,因此他们的增值功能变成了与您合作、了解您的需求、帮助您修改和验证体系结构的能力,这样您就不必从头开始了。“。

其他人也表示同意。威尔逊说:“客户可能知道他们需要具体的说明,他们可能会要求我们为他们做这件事。”“他们知道算法,他们知道瓶颈在哪里,但他们需要帮助来实现它。这些人可能会更好地与处理器公司合作,因为该公司也了解物理实施的影响。“。

这些东西可以堆叠起来。例如,Codasip提供由西部数据公司开发并由芯片联盟基于RISC-V ISA管理的SweRV核心。Codasip的高级营销总监罗迪·厄克哈特(Roddy Urquhart)表示:“我们已经围绕它增加了一个支持方案。”这使得实施RISC-V SweRV核心变得容易得多。我们不仅提供核心,还包括对传统第三方设计流程的支持,以及设计、实施、测试和编写软件所需的组件。“

对于投资RISC-V的公司来说,这可能意味着花费美元,进行知识产权捐赠,提供特定领域的专业知识,并承担风险。QuickLogic的Faith说:“我们不得不付出的最大代价就是害怕失去控制。”“在某些方面,这实际上比开支票还难。这是在说服董事会或管理团队,我们不想要有围墙的花园,我们不想保护我们如何布局设备,如何保护路由体系结构或通道。我们不想保护时间信息。这实际上是放弃了更多-因为这是控制-比我们为此花费的任何美元都要多。我认为这是一个成长的机会,我愿意冒这个险,放下对失控的恐惧。“。

一些公司愿意提供人力。“您可以通过执行测试、运行测试或提供有关我们如何构建验证测试平台的指导来提供帮助,”O‘Connor说。“你可以有工程参与,但会员不必贡献。这就是我们如何创建一个可持续的虚拟团队。但你不一定要成为会员才能使用IP。我们的IP是完全开源的。你可以下载它,把它放到你的设备里,然后就可以走了。“。

但参与的同时也带来了回报。“如果你想影响路线图,决定IP中有哪些功能,你需要成为会员,”O‘Connor补充道。“如果你想影响我们承担的项目的优先顺序,你需要成为会员。如果您想影响我们如何验证该知识产权的方法和结构,您需要成为成员并参与任务组。“。

EM微电子工程师格雷格·汤姆布什(Greg TumBush)生动地描述了参与的力量有多大。“中断验证是一项艰巨的工作。当OpenHW小组讨论中断结构时,我建议他们使用核心本地中断控制器(CLIC)或核心本地中断程序(CLINT)中断方法。在构思设计时,越接近标准核心越好。首先,国际空间站可能对它进行了正确的建模。其次,他们所做的核实也适用于你。而且,您开发的任何修复bug的东西都是直接有贡献的。如果你有完全不同的内核,那么你的公司和OpenHW之间就没有协同效应。如果我验证中断,那么任何下载该内核的人都不必验证中断,这是他们职责范围内的一项重大任务。通过贡献你获得了杠杆和杠杆。

.