电子说
今年是 Linux 内核发布 30周年。作为开源软件运动的基础,开源代码催生了数百个使用免费、公共 Linux 发行版的项目。结果是一长串强大、稳定和灵活的产品。
鉴于其成功,是否可以将相同的方法应用于支持开源硬件的采用?像 RISC-V 这样的指令集架构 (ISA) 能否像 Linux 内核作为开源软件的基础一样为开源硬件的普及奠定基础?
答案是肯定的和否定的。
目前的架构,RISC-V 是开放的,可作为标准使用,允许围绕它构建产品的自由、灵活性和速度。但另一方面是硬件更复杂,堆栈中有多个层,这意味着它不像运送软件包那么简单。
我们对 RISC-V 硬件生态系统的利益相关者进行了调查——OpenHW Group、RISC-V International、NXP Semiconductors 和 Andes Technology。我们研究了与开源软件的相似之处、采用开源硬件的障碍以及支持社区和生态系统的重要性。
最后,我们考虑:开源硬件对商业芯片制造商意味着什么?
质量、支持生态系统是关键
OpenHW 集团总裁兼首席执行官 Rick O'Connor将 RISC-V 等同于 Linux 内核结果,”奥康纳告诉EE Times。“当然,内核是 20 年前软件方面的种子,我认为 ISA 在硬件方面也是同样的种子。”
里克·奥康纳
尽管如此,在采用开源硬件方面仍然存在障碍。“当然,其中之一就是质量,”奥康纳补充道。“例如,如果你在一家大批量芯片或 SoC [片上系统] 公司工作,你不会走进你老板的办公室,把你的徽章押在你下载的这个 IP 块上,然后说‘我们'准备好了'基于来自大学的这个酷核心,我们应该把它放在我们的大容量 SoC 中。'”
因此,该组织提倡开放式验证流程,“人们可以使用并查看生态系统所取得的质量和结果,[然后]生产出大批量 SoC 公司所期望的东西,如果他们完全在他们的拥有,”奥康纳说。
该小组还指出了业界对 RISC-V 和 RISC-V International 的作用的误解,RISC-V International是监督核心 ISA 规范的基金会。
“人们一直认为基础是开发内核,”O'Connor 说。“它不是。它是关于开发一系列定义指令集架构的规范。然后有各种不同的采用选项:商业、开源、封闭源代码、营利性、非营利性、用不同的语言编写,这取决于你最喜欢的逻辑捕获语言是什么。”
在这方面,他强调 OpenHW Group 不仅仅是关于 RISC-V 内核。“我们真正关注的是开发可用于不同尺寸 SoC 的异构集群计算所需的工件。将不同类型的内核、加速器和我们需要的所有各种块聚集在一起。”
这就是 RISC-V ISA 发挥关键作用的地方,它开启了“创新的新前沿”,O'Connor 断言。“它使任何人都可以将核心缝合在一起,无需与任何人签署协议。下载 ISA 规范,然后我们就走了。从这个角度来看,它是一个关键的推动因素。如果您回想 20 年前,Linux 内核的实现有很多很多——远远超过我们今天的实现。
“我们对硬件行业的挑战是我们如何围绕 RISC-V 实现五个或六个系列的核心实现,这将是可持续的。”
罗伯·奥沙纳
恩智浦半导体研发软件工程副总裁 Rob Oshana 表示,开源硬件的发展方式将与开源软件的发展方式大致相同。“Linux 是成千上万的开发人员以协作方式使用和贡献的实际源代码”,通过Linux Kernel Archives。
“RISC-V International 拥有一个规范,而不是一个实现。该规范以一种非常协作的方式发展,并且在 RISC-V 社区和生态系统的当前状态下已被证明是可行的,”Oshana 说。
“由于基金会不拥有开放的实施,OpenHW Group 正在通过开发免费、开放、免版税的实施的章程来填补这一空白,以及像 Linux 基金会一样的其他附属品。”
需要:社区支持,而不仅仅是规范
随着开源从软件扩展到硬件,对社区或合作伙伴生态系统参与的需求不断增长。“任何开放的社区都需要培育、照顾和喂养。将某些东西扔进Git并称其为“开放”总是失败。需要一个社区,”奥沙纳争辩道。
“如果不是社区努力构建内核、威廉希尔官方网站 板、软件、参考平台,OpenHW Group 的内核就不会成功。” 他补充说,OpenHW Group“正在利用最佳实践来使这种硬件技术也取得成功”。
Oshana 认为,关键是利用最佳实践并“以持续的速度投资真正的工程,以使 [硬件开发] 取得成功并保持成功”。“每个发行版在某些方面都是独一无二的。”
同时,开源工具也在不断发展。“随着时间的推移,我们需要一套可靠的基于硬件的工具来支持这一点,”Oshana 指出。他和其他人认为,衡量一个开放社区的真正标准是参与度。例如,一旦实现发布,一个关键指标是用户社区如何管理变更请求、错误修复等。“这相当于 Linux 中的上游流程,”Oshana 说。“维护者的角色需要明确。”
马克·希梅尔斯坦
RISC-V International 的首席技术官 Mark Himelstein 也加强了这一社区方面。“Linux 不一定是最好的操作系统,但人们为什么要采用它呢?因为有社区和支持。神奇的是所有权的骄傲。现在使用 Linux 很容易,而且使用 RISC-V,我认为我们是硬件的 Linux。我相信在五到十年的时间里,RISC-V 同样会成为硬件的明智之选。”
硬件比软件强
开源硬件和软件的主要区别在于整个堆栈的复杂性。“看看今天生产中的大部分硅片——超过 95% 的量是在基于 Verilog 的工具流程和用于该生产版本的商业验证基础设施中生产和验证的,”O'Connor 说。“因此,如果我们希望有人采用这些内核,则需要将它们轻松地拼接到商业工具流程中。”
SoC 厂商大多使用 SystemVerilog Universal Verification Methodology 验证环境。“我们不会试图教导或说服他们使用不同的东西,”奥康纳说。“如果我们真的希望 RTL 采用这些开源块,他们需要能够融入该工具流。”
尽管如此,硬件的物理特性仍然存在软件开发人员没有遇到的问题。O'Connor 指出:“直接从半导体晶圆厂几何级别的物理原理,到晶圆厂工艺背后的配方,”他列举了在较大节点的工艺设计等领域的工作令人鼓舞。
“你已经在晶圆厂中获得了配方、最重要的库、用于生产GDSII的 CAD 工具的物理层和掩模技术本身;然后是生产掩模的设备,以及用于验证设计的仿真和验证软件和工具,用于捕获和综合设计的综合工具,然后是用于这些设计的 IP,”他解释道。
“该堆栈中的所有这些层都有与每一层相关的深厚专利组合,这些专利组合是几十年来开发的。每一层之间都有很多联系。因此,尝试用开源实现和工具直接替换整个堆栈并不是任何商业公司都会尝试做的事情,”O'Connor 指出。
OpenHW Group 的创始人考虑是否要创建一个专门针对 RISC-V 内核的生态系统。他们最终决定不这样做。
奥康纳说他们的第一个目标是创造这些核心。“但我们正在以解决开源硬件实施挑战的愿景和心态来做这件事。换句话说,使用通用构建块轻松构建异构集群,以及使用自己的秘诀(围绕它构建的加速器和扩展)对其进行定制的能力。”
这涉及在通用元素上进行协作,并在软件工具级别、硬件 RTL 级别,甚至在验证级别定义接口点。“然后,您的增值就是您如何修改通用构建块集以添加自定义加速,构建这些自定义异构集群来实现您的秘密加速器算法。所以,这个概念是 RISC-V 作为 ISA 让我们开始在处理器核心级别构建引人注目的通用构建块,然后在此基础上构建。同时利用最好的商业工具为实施者提供高度的信心。
“所以,IP 是他们可以信任的东西。”
他预测开源 FPGA 很快就会出现,最终会出现 SoC。
商业视角
Andes Technology是商业公司如何接入开源基础设施的一个例子。这家台湾公司推出了几款基于 RISC-V 的处理器,并宣布了一些客户实施。
除了为 SK Telecom 和 Renesas 设计 RISC-V 内核外,Andes 最近还宣布,开发 5G 基站芯片的初创公司EdgeQ将使用其核心 RISC-V 许可证和 Andes 定制扩展来提供开放和可编程的集成人工智能的 5G 平台。自定义扩展将允许 EdgeQ 设计、扩展和自定义他们自己的指令集,以实现他们声称当前无线基础设施无法满足的新颖性能、特性和功率配置文件。
富兰克威尔林
“对我们来说,RISC-V 是硬件接口或描述的开源 ISA,而不是开源核心,”Andes Technology 总裁 Frankwell Lin 说。“在 RISC-V 阵营中,从公司到公司,我们都是竞争对手。我们在 RISC-V 标准级别进行合作。但是,在日常业务中,我们必须相互竞争。”
Andes 在嵌入式 RISC 内核和专有 ISA 架构方面拥有十年的经验。“尽管我们将 90% 的资源转移到了 RISC-V 开发上,但我们仍然拥有我们的专有核心,从事许可业务,并且两者都还在工作,”Lin 说。
除了 RISC-V,Lin 还注意到开放和行业标准硬件组件的数量不断增长。“在硬件方面,RISC-V 并不是第一个开源的。” 例如,Verilog 硬件描述格式是开源的,主要是根据 EDA 领导者 Cadence 和 Synopsys 之间的协议,Lin 说。
同样开放的还有硬件接口标准,例如 PCIe、USB、OpenCL 和 OpenCV 以及用于连接的蓝牙和 WiFi。
随着开放硬件工具名单的增长,一个关键问题是是否需要类似于 Linux 内核的基础来促进开源硬件的采用。与 Linux 一样,社区支持和个别公司的贡献至关重要。
尽管如此,对设计工具和生产设备的大量投资使得开源硬件很难卖。这些障碍意味着硬件模块必须与现有工具链轻松集成,以解决硬件设计和生产每一层的复杂性。
审核编辑 黄昊宇
全部0条评论
快来发表一下你的评论吧 !