欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

CHIPS 联盟的 SweRV 内核和开放工具生态系统

最编程 2024-04-30 21:01:08
...

这篇文章最初发表在Antmicro上。

https://antmicro.com/blog/2020/07/swerv-cores-tools-ecosystem/


AntMicro的开源工作跨越了计算堆栈的所有部分,从软件和人工智能,到PCB、FPGA,以及最近的定制硅。我们将这些领域与开源工具和方法的总体愿景,以及允许我们快速行动并构建以未来为中心的解决方案的软件驱动方法联系在一起。我们的合作伙伴和客户,他们中的许多人也在CHIPS Alliance和RISC-V等组织的背景下与我们合作,分享我们开发开放系统的方法。最近,我们非常高兴被邀请在Western Digital的“Production grade, open RISC-V SweRV Core Solutions in CHIPS Alliance”会议上发表演讲,会上我们介绍了我们的系统方法,以我们正在帮助开发的针对其SweRV核心的开源工具生态系统为例。


SweRV是什么?

SweRV是最初由Western Digital开发的生产级RISC-V实施系列,该公司宣布将其产品中的20亿个内核过渡到RISC-V,这表明他们完全致力于这种开放处理器架构。SweRV有三个变种:最初的EH1和最近发布的EH2和EL2。


EH2是世界上第一个双线程商用嵌入式RISC-V内核,专为物联网和AI系统设计,双线程模式下的CoreMark/MHz高达6.3 CoreMark/MHz,16 nm时的频率为1.2 GHz。另一方面,EL2是一款小巧、低功耗但高性能的RISC-V内核(16 nm大小仅为0.023平方毫米,运行频率高达600兆赫兹和3.6 CoreMark/MHz),面向诸如状态机定序器和波形发生器等应用。最好的一点是,任何人都可以免费使用和扩展它们,并计划在未来部署更多高性能内核。


但是CPU和它周围的工具一样好,Western Digital知道这一点。这就是为什么整个SweRV系列被移交给CHIPS Alliance,该联盟现在的目标是通过维护相关工具的动态生态系统,促进在实际场景中使用内核。许多必要的构建块已经就位,而在AntMicro、FOSSI社区和其他人的积极参与下,其他构建块仍在开发中。在本文中,你将看到如何在模拟、FPGA和ASIC环境中使用SweRV的示例。


快速入门

要在没有任何硬件的情况下快速入门,你可以在Verilator中模拟任何SweRV内核-这是EDA领域最成功、使用最广泛的开源项目之一,我们也广泛使用它。只需到CHIPS Alliance组织中相关内核的GitHub(例如EH1到https://github.com/chipsalliance/Cores-SweRV)并模拟RTL(它是用SystemVerilog编写的)。


Verilator通过编译成优化的模型并运行它,以高性能模拟RTL,表现优于许多专有的替代方案。更重要的是,由于它的维护者-Wilson Snyder,FOSSI社区和CHIPS Alliance的工作,它发展得非常快。AntMicro特别与Western Digital和谷歌合作,增加对SystemVerilog通用验证方法论的支持,使Verilator的设计验证能够用于现实世界的用例(参见下面展望未来)。


将SweRV集成到FPGA

如果你想做一些更具体的事情,你可能希望在FPGA上运行SweRV-当然是以一种可移植的、与供应商无关的方式。


要根据目标平台简化与各种工具链、模拟器和其他工具的接口,你可以使用Edalize-一种Python实用程序,它允许你无缝地使用不同种类的EDA工具,既可用于FPGA设计,也可用于ASIC设计。它可以帮助你维护一致的工作流,并确定特定的错误是与工具相关还是与你的代码有关。我们最近在Edalize中添加了相当多的新功能,同时在我们的工作中大量使用它作为与各种工具接口的默认方式,例如sv-tests(同样,请参阅展望未来以获取有关该主题的更多信息)。


Edalize将帮助你在你选择的FPGA/板上使用基于SweRV的设计,而不必关心记住和维护特定的配置和运行时标志。


来自同一作者的另一个伟大的工具是FuseSoC,它是一个基于Python的包管理器和一组用于HDL代码的构建工具。它使你能够在许多设计中重用你的FPGA IP,当然,它还很好地支持SweRV内核。除了使重用现有内核变得简单之外,它还允许你轻松创建编译时或运行时配置、将设计移植到新目标、设置可配置的持续集成以及让其他项目使用你的代码。SweRVolf SoC也使用FuseSoC。


多亏了与其他开源工具的集成,比如Google的Verble Linter/Formatter,我们也在帮助开发,FuseSoC可以用来样式和格式化SystemVerilog-我们最近写了一篇关于这方面的文章

https://antmicro.com/blog/2020/04/systemverilog-linter-and-formatter-in-fusesoc/


将SweRV集成到SoC

然而,仅有一个核心并不足以完成任何实际工作。如果你想构建一个片上系统,你绝对应该看看LiteX--一个允许你把SweRV放入实际用例的SoC生成器。LiteX是一个IP库和SoC构建器,可以在各种FPGA之间移植,并可以将SweRV变成一个成熟的系统。它有许多IP和其他构建块,如以太网、RAM、UART、SATA等,你可以将其配置为与不同类型的CPU一起使用。它具有初始的SweRV支持,使用户能够使用SweRV快速构建即插即用SoC系统。AntMicro积极参与围绕其建立强大生态系统的工作。LiteX可以运行Zephyr RTOS-在SweRV上也支持-并且,如果有合适的CPU,它也可以运行Linux。LiteX SoC生态系统还可以与我们为其做出重大贡献的另一个工具项目SymbiFlow(开源FPGA流)结合使用。


模拟、实验、测试

如果你希望使用SweRV构建完整的生产系统,并利用RISC-V和开放工具附带的灵活性进行自定义,则很可能需要试验该架构并共同开发硬件和软件。这就是Renode可以大有用武之地的地方,这要归功于它对复杂系统(整个SoC、电路板和电路板系统)的架构探索、仿真、测试和调试能力。你所需要做的就是下载Renode并将几个配置文件组合在一起-它甚至附带了许多适用于各种平台的演示和预编译示例。Renode提供了对SweRV EH1的初始支持(还会有更多支持)以及对LiteX的广泛支持,这将使你能够快速构建和模拟整个开源SoC。最重要的是,Renode支持与Verilator进行硬件/软件协同仿真,以构建你的定制IP并按原样测试其HDL,同时保持在Renode中模拟系统的其余部分,以节省开发时间。


构建并验证生产级ASIC

假设SweRV适合你的用例,你可能最终希望构建并验证包含其中一个CPU的生产级ASIC。作为专注于核心和工具的CHIPS工作组的一部分,SweRV的开发者与谷歌、AntMicro和其他公司合作,正在围绕核心家族构建一个完全开源的设计验证生态系统,包括riscv-dv和Whisper ISS等项目。前者是一个完整的SV/UVM流程,基于用于RISC-V处理器验证的指令生成器,允许你对基于SweRV的设计执行各种测试。它提供了许多专门用于不同功能的测试套件。它同时运行ISS和RTL模拟器,并比较结果。Whisper ISS是用于验证SweRV实现的工具,可以在交互模式下运行,允许用户单步执行RISC-V代码并检查/修改RISC-V寄存器或系统内存,也可以锁步运行,例如使用Verilator。


展望未来

CHIPS Alliance和更广泛的开源社区正在进行工作,以快速转变ASIC开发工作流程,使其完全接受开源。sv-tests就是这样一项工作,这是一套SystemVerilog测试套件,旨在针对各种开源工具对SystemVerilog中的不同类型设计进行压力测试,其中显示了一个结果表,显示了详细的覆盖范围。使用SystemVerilog编写的SweRV当然是该套件的测试目标之一。


SV测试套件为我们正在进行的ASIC工具开源工作提供了信息,其目标之一是实现SystemVerilog设计的开源开发和验证。这个领域一个有趣的工具是Surelog,这是Google和AntMicro合作开发的面向模拟和UVM的成熟的SystemVerilog解析器。我们正在努力将其作为SystemVerilog前端插入到各种开源工具中,使用一个称为UHDM(Universal Hardware Data Model,通用硬件数据模型)的框架,该框架将支持具有相似需求的各种工具之间的代码重用。


随着我们最近发布了世界上第一个开放的PDK(我们为此感到自豪),以及OpenRoad项目正在取得的进展,该项目旨在实现芯片设计和其他领域的完全开放流程,看起来基于SweRV的SoC可以使用开放工具设计、验证和制造的未来已经不远了。


总结

除了是一个不断扩大的生产级核心系列之外,SweRV还利用了我们正在帮助构建的一个非常好的、充满活力的工具生态系统。CHIPS Alliance的目标是通过实现软件驱动的硅方法,彻底改变开发人员使用ASIC和FPGA的方式,这与AntMicro的战略和长期目标完全一致。凭借在RISC-V支持的开源工作方面的丰富经验,我们提供高质量的服务,我们的客户可以使用这些新的协作方法和工具在SweRV之上进行构建。通过contact@antmicro.com联系AntMicro,了解该公司如何为你的下一个以RISC-V为中心的项目提供帮助。


点击文末<<阅读原文>>进入网页了解更多。





CHIPS(Common Hardware for Interfaces, Processors and Systems)联盟利用开源协作的能量来加速硬件开发。

CHIPS联盟开发与硅器件和FPGA相关的高质量开源硬件设计。通过创建开放和协作的环境,CHIPS联盟共享资源,降低开发成本。公司和个人可以一起开发开源CPU、各种周边设备和复杂的IP块。CHIPS联盟对所有有兴趣在开源硬件或软件工具上合作的组织开放,以加速创建更高效和创新的芯片设计。




Linux基金会是非营利性组织,是技术生态系统的重要组成部分。 

Linux基金会通过提供财务和智力资源、基础设施、服务、活动以及培训来支持创建永续开源生态系统。在共享技术的创建中,Linux基金会及其项目通过共同努力形成了非凡成功的投资。请长按以下二维码进行关注。