开源硬件在经历过多次尝试之后已经建立了坚实的基础,但在这一领域的成功仍然是有限的,至少对于处理器而言,目前的成绩还十分有限。随着市场对定制硬件需求的增多,以及越来越多的初创企业开始寻求用于构建高度合适AI/ML算法的加速器和解决方案,开源硬件的热度持续升温。开源硬件的市场究竟有多大?开源最终是否能够满足公司所需的一切?这些问题还有待观察。但越来越多的人开始认识到开源硬件的作用,开源硬件也已引起投资者的注意。
目前,人们对于开源硬件还存在一些误区。“人们经常说‘开源就是免费的’,事实上它并不是免费的” Google项目负责人兼OpenTitan项目总监Dominic Rizzo说,“这就是为什么我们发现最成功的开源项目是人们怀着长期的既得利益并以协作的方式共同努力的项目,这与开放源代码本身的风格刚好相反。在开放源代码中,开发者会将开发出来的源代码公之于众。”
目前的变化在于,开源硬件需要大规模的定制解决方案,与一般的开源硬件相比,RISC-V尤其如此。Cadence解决方案营销高级组主管Frank Schirrmeister表示:RISC-V是追求定制化计算和特定领域计算趋势的结果,这是一种结果而不是原因,根本原因是客户需要通过领域特定体系结构和领域特定语言来实现特定领域以及特定工作负载的计算,任何可拓展的处理器都在该领域中发挥作用,开源正好满足需求。
在更广泛地被商业化之前,开源硬件还面临着一些挑战。Arm汽车和物联网业务线的策略副总裁Tim Whitfield表示,IP必须满足严格的验证标准以及在当今商业硬件中的长期支持和维护而不破坏SoC或系统设计人员现有的总拥有成本模型,风险在于,对于一款几乎没有差异的设备,通常通过在验证、物理设计和软件开发上花费的时间和成本,最大程度地减少与许可相关的成本节省。目前有一些试图解决此类问题的组合,但为了成功地解决问题并为SoC提供一些构建模块,需要有意愿的参与者提供持续地支持和资助,这种联合体模式对SoC上的许多标准都运行良好,这也是一种拓展模型。
联合体模式的实现还需要一些时间。 “当人们开始考虑开源硬件时,就会有纯粹主义者想要一切开源。” OpenHW集团总裁兼首席执行官Rick O'Connor说,“硬件行业(尤其是半导体行业)将分阶段实现一切开源。许多人认为RISC-V架构意味着免费和处理器核心开源。基础任务是对指令集规范和各种标准扩展的管理,以及指令集的可拓展性的管理。当人们在谈论ISA(指令集架构)的自由开源时,就意味着我们可以自由地使用该ISA。”
理念也在发生变化。 “开源是一项重大的投资,的确需要多方参与才能看到这一空间取得长远的成功” Google的Rizzo补充道,“事实上,验证IP是真正赋予RTL价值的东西,二者缺一不可,尤其是需要投入生产时。”
总体价值必须被评估。“作为参考基准的RISC-V稳定且经过了良好的测试。” Valtrix Systems首席执行官兼联合创始人Shubhodeep Roy Choudhury说,“公司可以加入自己特有的方案从而节省设计时间和成本。同他人合作可以分摊开发成本,但验证成本可能依然很高,因为人人都想确保自己的IP按照规范工作,后端成本则不可避免,因此能节省的成本很少。从多个处理器IP公司中进行选择非常灵活,如果一个供应商提供的IP效果不佳,还有其他选择。”
开源硬件的商业IP之路
IP行业已经走了很长一段路,人们对商业IP的期望也越来越高。
开源IP达到大批量芯片所需的质量水平是一个挑战。“这就是像OpenHW Group这样的非营利组织发挥作用的地方,” OneSpin Solutions的营销主管Rob van Blommstein说,“许多公司都为实现这一目标做出了贡献,也有一些希望减少对外国技术依赖性的大公司对其感兴趣。开源硬件的另一个重要性在于它可以提供免费的可定制内核以及成熟的工具链和生态系统,从而为小型公司和个人带来巨大的创新潜力。”
OpenHW的O'Connor表示,开源硬件必须像从商业IP供应商那里获得的商业IP一样,OpenHW集团试图与一群希望提供经过良好验证的高质量IP的公司共同努力,在真正的SystemVerilog UVM测试平台中提供良好的功能覆盖范围和代码覆盖范围,如果这一平台测试是公司自己在做,那么他们会自己建立这一平台。
对于市场而言,还有一些其他的驱动因素。Rizzo说:“安全性并不意味着保密,根据柯克霍夫斯原则,不应该依赖现实的保密性来确保安全性。因为当你认为它很安全时,安全工程师以及这一领域的工作者想知道具体情况,随后又有人发现了问题,的确发生过太多令人不愉快的事情。一些东西具有专业性,所以不必将正在寻找漏洞的人拒之门外,但的确可以阻止研究人员或好奇者的这一行为。”
免费使用还是创新自由?
着眼于开源硬件的人们一般分为两个阵营。Imperas Software首席执行官西蒙·戴维曼(Simon Davidmann)说:“其中一个阵营的人正在寻找免费的午餐,他们不想支付任何费用。如果他们能够不用付出就获得某些东西,那么他们就可以完成某些工作。另一个阵营的人则想要获得自由。”
在两个阵营之间存在一个连续体。 “有一些RISC-V的专有实现是闭源的,只能在内部使用。” O'Connor说:“另一端是商业IP公司在许可的情况下销售IP。有一些IP公司提供各种开源语言的实现,这些实现以Chisel、VHDL、Verilog或SystemVerilog等各种不同的语言提供,并且形式多样大小不一,从微型控制器到高端服务器级机器。”
想要成为得到自由阵营中的一员,意味着明白自己能够付出多少、承担多少风险以及实现这项目标所需的技能。 “如果想要获得创新自由,那么需要拥有构建大型SoC的经验。” Davidmann补充说:“它要求公司有一种方法可以在其中配置代码,进行大量分析以识别代码需要改进的地方或需要哪些沟通渠道、选择要添加的指令、处理所需的体系结构内容进行扩展或定制,然后构建模型并在其上测试软件,对其进行验证,并对硬件进行更多验证。没有太多经验的公司不应该这样做,因为这非常具有挑战性。”
专有处理器IP公司提供许多相同的替代方案,RISC-V引起了人们对这些选择的兴趣。
开源模型
可扩展的指令集与可扩展的体系结构
有些人希望实现最大化创新的自由。Synopsys的 ARC DSP处理器产品营销经理Graham Wilson说:“有一小部分人会说我想完全拥有处理器,我想完全定制它。这部分人会投资并花时间了解这些工具,将学习如何构建这些新指令作为一项战略决策,然后进入并修改内核的体系结构,添加新的接口,并且从策略上,他们已经决定从ARC配置的可扩展内核拥有处理器。
有些人则采取中间立场。O'Connor说:“这些人从经过充分验证的通用内核开始,采用了验证基础架构,并使用自己的自定义加速器或自定义指令。显然,他们可以自行验证这些内容,也可以在我们提供的验证基础架构上进行构建。如果他们希望这成为开源社区中的标准实现,那么也许这就是我们将在OpenHW集团内部组织的。”
即使是那些打算购买RISC-V内核的人,仍然可以看到一定程度的自由。西门子业务部门Mentor的设计验证技术市场总监Neil Hand表示:“许多采用RISC-V的人都不想定制该处理器,他们仍然可以对多个处理器进行基准测试并推迟处理器决策。在过去,通常会在项目开始时做出处理器决策,之后便可以解决问题。使用RISC-V,则可以从多个供应商处获得可比的ISA,并且可以根据扩展名和体系结构在不同的供应商之间进行迁移。”
随着行业的成熟和行业中越来越多的扩展可用,创造自定义说明的需求可能会减少。Synopsys的Wilson表示:“我们不会加速FFT,因为它已经被优化了。当出现诸如无线通信或有线通信之类的新算法或新规范时,您可能会发现客户会有特定的瓶颈,然后为其添加说明。不过业界会从中吸取教训,并构建一个更通用的解决方案,或者将其作为处理器包中的可扩展指令来提供。”
一些处理器可能针对特定领域。“如果将目光投向物联网或某些5G设备,它们就是单用途设备,” Mentor's Hand说。“随着我们进入由这些专用应用程序专用计算平台驱动的新计算时代,由于软件生态系统的存在,仍然需要可编程性。但是从扩展角度来看,可能存在特定需求,但不一定普遍。”
不过,这一现状也会随着时间而发生改变。Davidmann说:“如果使用某些早期内核,例如苏黎世联邦理工学院(ETH Zurich)的PULP内核,则需要RISC-V基础中不存在的一些特定说明,因此必须建立自己的自定义说明。如今,这些说明已存在于标准中。RISC-V指令集已经变得非常丰富,涵盖了很多内容。有一些工作组非常接近完成其他指令集上的大部分工作。”
一些核心将由它们的应用程序域驱动。“在人工智能和机器学习中,很多基础计算是乘积累加,” Cadence Tensilica集团产品营销总监乔治·沃尔说,“但是仍然可以提高效率,以防止处理器将零乘以零,这是一个可扩展的指令集可以派上用场的例子。”
在这些算法中,有一些正在逐渐通用化。Aldec市场营销总监Louie De Luna说:“ CNN的卷积层包含大量的乘法累加运算,它们拉低了计算效率。CNN需要同时将多个数据块从矩阵移动到外部存储器,以避免由于多次访问存储器而造成的延迟。CNN的纯硬件实现缺乏解决这些问题的灵活性,因为它们需要复杂的控制器来处理计算和数据传输,但是可以创建自定义指令来解决这些类型的特定领域的问题。”
其他人也同意这一看法。Wilson表示,考虑SeeFar雷达的应用,这些算法利用滑动窗口,因此能够看到通过添加自定义指令来加速这些过程。它们与标准DSP功能不同,是一种数据吞吐功能,但是自定义指令有助于通过滑动窗口从加载存储器或寄存器中拉出数据。
一些处理器开始合并嵌入式FPGA,这提供了动态可重配置性,不过这将带来另一个问题。QuickLogic FPGA产品经理Mao Wang说:“如果您拥有嵌入式FPGA,而供应商强迫您使用专有工具,那么您将无法将其集成到您的设计环境中,它迫使您在仅具有使用该软件能力的情况下使用两种或三种不同的法律许可的方法,同时支撑结构也会变得很复杂。”
业界未能建立使FPGA易于编程的软件社区。QuickLogic总裁兼首席执行官Brian Faith表示,更多的工程师是计算机科学或数据科学学位,而不是面向硬件的学位。在后摩尔时代,硬件需要更像软件,如果可以的话,这将为其带来更多的潜在用途。FPGA公司希望用户继续使用自己的工具,这使开源公司或工具很难真正立足扎根。QuickLogic是第一家公开支持FPGA开源工具的可编程逻辑公司。
传统而言,FPGA公司保护其比特流(雷锋网注,一个比特流是一个比特的序列。)。开放意味着放弃设备配置信息、时序和其他被认为专有的信息。Faith补充说:“我们现在正在向社区提供这些包括在开源工具中的信息,您不再需要尝试进行任何逆向工程就可以一直进行设计并获得比特流。”
一些开放源代码程序(例如OpenTitan)从RISC-V内核开始,然后再往上添加,并将最终结果放入社区。OpenTitan是开源芯片的信任之根。Rizzo说:“我们正在公开采购RTL和设计验证IP,这需要与后端合作伙伴合作以完成芯片的所有工作。它提供了一组逻辑安全保证,当一台机器启动时,我们将进行非常深入的低层次检查,以便了解它正在引导我们了解的、控制的和已经签名的代码。”
开源硬件社区的构建需要多家公司共同参与
随着开源软件社区的扩展,出现了一些新的业务模型,同样的情况也发生在硬件上。Cadence的Schirrmeister说:“如果我一个人做,那么参与成本就很高。但目前在两者之间有机会提供服务,可以使用一种工具从开源架构开始自动生成,也可以召集提供多种服务和工具的人员。这将是一家熟悉该架构的公司,且已经完成了较为成功的修改,因此他们能够同我一起工作,了解我的需求并有帮助我修改和验证体系结构的能力,因为我不需要从头开始。”
其他人也同意这一看法。Wilson说:“客户知道他们想要的具体说明并可能会要求我们为他们做这些说明,客户知道算法和瓶颈是什么,但不知道如何实现这些,因此在同了解处理器硬件的公司合作时,更容易契合。”
开源硬件社区的搭建是一个不断有新成员参与的过程。例如,Codasip提供了由Western Digital开发并由CHIPS联盟根据RISC-V ISA开发的SweRV内核。“我们已经添加了一个支持包,” Codasip的高级市场总监Roddy Urquhart说。“这使得实现RISC-V SweRV内核变得容易得多。我们不仅提供核心,还包括对传统第三方设计流程的支持,以及对设计、实现、测试和编写软件所必需的组件的支持。”
投资RISC-V成本与收益
对于投资RISC-V的公司而言,可能意味着花费、进行IP捐赠,在特定领域提供专业知识以及承担风险。“我们需要承担的最大风险是失去控制权,” QuickLogic的Faith说:“从某种程度而言,这比写支票要困难得多,这需要说服董事会或管理团队我们不想要生态系统,我们也不想保护我们部署的设备、路由架构或通道,我们也不想保护时间信息。实际上这相当于放弃控制权,这比我们的任何花费都要昂贵。但我认为这是一个实现增长的好机会,我愿意承担这一风险,克服对失去控制的恐惧。”
一些公司愿意提供人力。O'Connor说:“客户可以通过执行测试和运行测试或通过有关我们如何构建验证测试平台的指导来获得帮助。客户可以参与工程,但公司的成员不必参与,这就是我们创建可持续的虚拟团队的方式。客户不需要成为成员即可使用IP,我们的IP是完全开源的。客户可以下载它,将其放进设备中就可以使用了。”
但是成员参与会带来回报。“如果客户想改变路线图和确定IP中的功能,就必须成为成员,” O'Connor补充道,“如果客户想影响我们正在进行的项目的优先级,则需要成为成员。如果客户想影响我们验证IP的方法和结构,则需要成为成员并参与任务组。”
EM Microelectronics的工程师Greg Tumbush生动地描述了强大的合作关系。“中断验证是一项艰巨的任务。当OpenHW Group讨论中断结构的样子时,我建议他们使用Core Local Interrupt Controller(CLIC)或Core Local INTerruptor(CLINT)中断方法。在构思设计时,离标准核心越近越好。首先,国际空间站可能正在正确建模。其次,他们所做的验证适用于客户。而且,就漏洞修复而言,客户开发的任何内容都是直接可归因的。如果客户拥有完全不同的内核,则客户的公司与OpenHW之间没有协同作用。如果我验证了中断,那么下载该内核的任何人都不必验证中断,这是艰巨的任务。通过贡献,客户可以发挥杠杆作用,并借助杠杆作用,可以影响核心的发展方式。”
Rizzo说:“这些折衷之一是,我在某种程度上放弃了控制权,并且尽了最大的努力使事情朝着健康的方向发展。如果从不同的角度来看,并且习惯了很多细粒度的控制,那么很难接受。所以必须以积极的态度来对待它,并了解开源的优势。这会花费更长的时间,并且需要更多的讨论,但是这些折衷是值得的。我们在某些方面很擅长,但在并不是在各个方面都是专家。因此,我们在某种程度上放弃控制权,并且与特定的合作伙伴合作,真正实现了愿景。”
结束语
随着RISC-V处理器ISA的出现,开源硬件已成为现实。该行业现在拥有足够的动力,可以解决问题并找到解决方案。
新的商业模式正在出现,但是开源硬件看起来不太像开源软件。硬件需要更多的投资,因为将其用于实施会带来更大的成本和风险。但是通过协作,有可能找到更好的架构和更好的解决方案。
本文编译自https://semiengineering.com/riding-the-risc-v-wave/
雷锋网雷锋网
相关文章: