树莓派自研MCU,为何选择了RISC-V?
????如果您希望可以时常见面,欢迎标星????收藏哦~
来源:内容编译自树莓派,谢谢。
树莓派新近发布的RP2350 MCU 上的 Hazard 3 RISC-V 内核是由 Raspberry Pi 的 Luke Wren 在业余时间设计的 - 而且由于它们是开源的,您可以自行下载设计文件并开始研究最终将在数百万台设备上使用的同一块芯片。正如 Eben Upton 所说:“通过将 Hazard3 添加到RP2350中,我们旨在让软件开发人员有机会在稳定、支持良好的环境中试验 RISC-V 架构,并将 Hazard3 推广为干净、开放的内核,适合在其他设备中逐字使用,或作为进一步开发的基础。”
“我从学生时代就开始利用业余时间从事逻辑设计。这很容易让人上瘾,我认为更准确地说,我是一个从事芯片设计的业余爱好者,而不是一个有业余爱好的芯片设计师!这是一种开源处理器设计,任何人都可以将其放入自己的芯片中,并在任何地方运行 RISC-V 代码。您还可以在 FPGA 板上运行它,或者在自己的机器上运行模拟器。它全部使用 yosys、nextpnr 和 gtkwave 等开源工具构建。
“开始的最佳方式是获得一块 FPGA 电路板,然后开始编程。编写 RTL [寄存器传输级] 一开始有点费脑筋——你可以把它想象成一个 C 程序,其中所有语句都同时执行,而不是按顺序执行——但看到自己的硬件开始运转的那种兴奋感会让你继续前进。从闪烁的 LED 开始,然后继续。
“Hazard3 100% 是我自己设计的。它是 Hazard5 的一个分支,是我为 RISCBoy 设计的处理器,RISCBoy 是我为 Game Boy Advance 设计的开源竞争产品。Hazard5 是一个五级管道,因此有许多危险:数据流、控制流和结构——危险也是一种‘风险’,就像指令集一样。
“Hazard5 旨在以最高频率在 iCE40 FPGA 上运行,因此我也可以在更高的频率下运行 RISCBoy 图形核心。另一方面,Hazard3 是一款生产级处理器,可在小面积封装内提供尽可能高的性能,并且符合我期望在微控制器设计中看到的频率范围。它是 Hazard5 的生产版本,具有更短的管道、硬件调试以及人们在实际系统中期望的一些安全和内存保护功能。
“从分叉 Hazard5 到让 Hazard3 运行 CoreMark 只用了不到一周的时间。从那时到第一个RP2350流片用了大约两年的时间,整个过程中断断续续地进行开发。目前仍有维护工作正在进行,并计划进行未来的扩展 — — 它永远不会“完成”,只是从开发过渡到稳定版本。
“在开始研究 RISCBoy 之前,我曾有一个名为 Tarantula 的项目,这是一个实现 Armv6-M 指令集的八线程桶式处理器,因为那是我当时最熟悉的 ISA,我在暑期实习期间写了一些汇编语言。我放弃了这个项目,因为我意识到我永远无法与任何人分享它,而且我认为我甚至不再拥有那个源代码了。
“从那时起,那次经历改变了我看待事物的方式。当我决定从头开始构建游戏机(包括处理器)时,我查看了当时可用的指令集,当时大约是 2018 年,其中有一些有趣的指令集 - 日立 SuperH 的法律限制刚刚大大放宽 - 但 RISC-V 脱颖而出,成为我可以相当轻松地实现它的指令集。
“基本指令集非常简洁,你可以从扩展菜单中添加更多复杂性。我可以与其他人分享,他们可以实际使用它,我可以使用真正的生产级编译器(如 GCC 或 LLVM)进行编程
“那是很久以前的事了,RISC-V 已经取得了长足的进步,无论是从技术上还是从社区上。在 RISC-V 之后,其他指令集也变得更加开放,但我认为发展势头很明显。批评基础 ISA 中做出的一些技术决策很容易——我们真的需要 31 个链接寄存器吗?——但在我看来,社区才是最重要的。
“我对 RISC-V 感到很兴奋,因为它可以让你在干净、标准的架构上进行疯狂科学家的架构实验。如果你看看 CHERI,这是嵌入式安全领域一个非常令人兴奋的发展,那些人刚刚写了一个规范,你可以直接去实现它——无需等待它上桌。”
第二颗MCU的提升
从RP2040到RP2350有很多变化。主要的变化是安全性,通过以150MHz运行的双Cortex-M33处理器实现更高的性能,更大的内存和新的OTP,以及更低功耗模式。
在 RP2040 上,在低功耗状态下,所有时钟关闭时,功耗会降至约 180 微安。在 RP2350 上,我们可以关闭芯片大部分的电源,将功耗降至不到十分之一,这对于低功耗应用非常有用,例如,设备可能要花很长时间等待传感器的输入。
我们从稳压器换成了开关。稳压器在负载下本质上效率不高。因此,我们改变了核心电源稳压器——它实际上是一个组合设备,因此它有一个小型稳压器,用于低至 1 毫安的低功耗模式,当大部分芯片断电并且我们等待唤醒时。然后,当我们打开核心时,我们会切换到开关模式电源,它可以提供高达 200 毫安的电流——比 RP2040 还要多,因为芯片更大,所以峰值电流更高。开关比 RP2040 上使用的稳压器更高效。
PIO 仍然存在;但有一些增强。我们现在有第三个 PIO 块,所以又有四个状态机。我们仍在使用 TSMC 40nm 工艺。重复使用您熟悉的工艺可以节省大量时间。当您要使用新的工艺节点时,您必须去获取大量新 IP,并学习如何使用它们。
因此,坚持相同的流程意味着我们可以重用我们在 RP2040 和 RP1(Raspberry Pi 的第一款内部芯片,用于 Raspberry Pi 5)上所做的一些 IP 和知识。所以我们重用了 RP2040 中的单元库、内存、ADC、PLL 和 USB PHY。
因此,有很多东西是相同的,我们可以相当轻松地将其放入,然后专注于更改其他逻辑并添加任何新 IP,例如 OTP 或核心电源调节器。我们确实审查并更新了现有设计的部分内容,但 RP2350 中有很多新设计,一些更高级别的功能(例如电源变化或安全性)触及了很多芯片,对设计和验证产生了广泛的影响。
参考链接
https://www.raspberrypi.com/news/risc-v-on-raspberry-pi-pico-2/
END
????半导体精品公众号推荐????
▲点击上方名片即可关注
专注半导体领域更多原创内容
▲点击上方名片即可关注
关注全球半导体产业动向与趋势
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
今天是《半导体行业观察》为您分享的第3897内容,欢迎关注。
推荐阅读
『半导体第一垂直媒体』
实时 专业 原创 深度
公众号ID:icbank
喜欢我们的内容就点 “在看” 分享给小伙伴哦