原生灵活的 32 位 Arm 微处理器

2021-07-22 22:11:40

近 50 年前,英特尔创造了世界上第一个商业生产的微处理器 - 4004(参考文献 1),这是一种适度的 4 位 CPU(中央处理单元),具有 2,300 个晶体管,使用 10 μm 硅工艺技术制造,只能进行简单的算术运算计算。自从取得这一突破性成就以来,技术不断发展,越来越复杂,目前最先进的硅 64 位微处理器现在拥有 300 亿个晶体管(例如 AWS Graviton2(参考文献 2)微处理器) ,使用 7 纳米工艺技术制造)。微处理器现在如此嵌入我们的文化中,以至于它已成为一项元发明——也就是说,它是一种允许其他发明得以实现的工具,最近能够进行开发 COVID-19 疫苗所需的大数据分析在创纪录的时间内。在这里,我们报告了一个 32 位 Arm(一种精简指令集计算 (RISC) 架构)微处理器,该微处理器在柔性基板(我们称为 PlasticARM)上采用金属氧化物薄膜晶体管技术开发。与主流半导体行业不同,柔性电子产品在一个通过超薄外形、一致性、极低成本和大规模生产潜力与日常物品无缝集成的领域内运行。 PlasticARM 率先将数十亿个低成本的超薄微处理器嵌入到日常用品中。与传统半导体器件不同,柔性电子器件构建在纸张、塑料或金属箔等基板上,并使用有机物或金属氧化物或非晶硅等有源薄膜半导体材料。与晶体硅相比,它们具有许多优势,包括薄度、一致性和低制造成本。薄膜晶体管 (TFT) 可以在柔性基板上制造,其加工成本比在晶体硅晶片上制造的金属氧化物半导体场效应晶体管 (MOSFET) 低得多。 TFT 技术的目标不是取代硅。随着这两种技术的不断发展,硅很可能会在性能、密度和功率效率方面保持优势。然而,TFT 使电子产品具有新颖的外形和硅无法实现的成本点,从而极大地扩展了潜在应用的范围。微处理器是每个电子设备的核心,包括智能手机、平板电脑、笔记本电脑、路由器、服务器、汽车,以及最近构成物联网的智能对象。尽管传统的硅技术已将至少一个微处理器嵌入到地球上的每一个“智能”设备中,但它面临着使日常物品变得更智能的关键挑战,例如瓶子(牛奶、果汁、酒精或香水)、食品包装、服装、可穿戴贴片、绷带等等。成本是阻碍传统硅技术在这些日常用品中可行的最重要因素。尽管硅制造的规模经济有助于显着降低单位成本,但微处理器的单位成本仍然高得令人望而却步。此外,硅芯片本身并不薄、柔韧和贴合,所有这些都是这些日常用品中嵌入式电子产品非常理想的特性。另一方面,柔性电子产品确实提供了这些理想的特性。在过去的 20 年中,柔性电子产品已经发展到提供成熟的低成本、薄型、柔性和适应性强的设备,包括传感器、存储器、电池、发光二极管、能量收集器、近场通信/射频识别和印刷电路比如天线。这些是构建任何智能集成电子设备的基本电子元件。缺少的部分是灵活的微处理器。尚无可行的柔性微处理器存在的主要原因是,需要在柔性基板上集成相对大量的 TFT 以执行任何有意义的计算。这在新兴的柔性 TFT 技术之前是不可能的,其中需要一定程度的技术成熟度才能进行大规模集成。一种中间方法是将基于硅的微处理器芯片集成到柔性基板上——也称为混合集成 3、4、5——其中硅晶圆被减薄,并将来自晶圆的芯片集成到柔性基板上。尽管薄硅芯片集成提供了一种短期解决方案,但该方法仍然依赖于传统的高成本制造工艺。因此,对于预计在未来 10 年和 6 年之后生产数十亿个日常智能对象来说,它不是可行的长期解决方案。我们的方法是使用灵活的电子制造技术在本机开发微处理器,也称为本机灵活的处理引擎 7. 我们用来构建此处描述的本机灵活的微处理器的灵活电子技术由聚酰亚胺基板上的金属氧化物 TFT 组成。金属氧化物 TFT 成本低,还可以缩小到大规模集成所需的更小的几何尺寸 8. 早期原生灵活的处理器工作基于开发 8 位 CPU(参考文献 9、10、11、12),使用低温多晶硅 TFT 技术,制造成本高,横向可扩展性差 8. 最近,基于二维材料的晶体管已被用于开发处理器,例如使用二硫化钼 (MoS 2) 的 1 位 CPU晶体管 13 和由互补碳纳米管晶体管构建的 16 位 RISC-V CPU 14。然而,这两项工作都是在传统的硅晶片上而不是在柔性基板上进行演示的。

构建基于金属氧化物 TFT 的处理元件的第一次尝试是一个 8 位算术逻辑单元,它是 CPU 的一部分,与在聚酰亚胺 15、16 上制造的印刷可编程 ROM 相结合。 最近,Ozer 等阿尔。 7、17、18 展示了金属氧化物 TFT 中本机灵活的专用机器学习硬件。尽管机器学习硬件 18 具有最复杂的柔性集成电路 (FlexIC),该集成电路由金属氧化物 TFT 构建,大约有 1,400 个门,但 FlexIC 不是微处理器。可编程处理器方法比机器学习硬件更通用,并支持丰富的指令集,可用于对从控制代码到数据密集型应用程序(包括机器学习算法)的各种应用程序进行编程。原生灵活的微处理器包含三个主要组件——(1) 32 位 CPU,(2) 包含 CPU 和 CPU 外围设备的 32 位处理器,以及 (3) 片上系统 (SoC)包含处理器、存储器和总线接口——所有这些都是在柔性基板上用金属氧化物 TFT 制造的。原生灵活的 32 位处理器源自支持 Armv6-M 架构 19(一组丰富的 80 多条指令)的 Arm Cortex-M0+ 处理器和用于软件开发的现有工具链(例如,编译器、调试器、链接器、集成开发环境等)。整个原生灵活的 SoC 称为 PlasticARM,能够从其内部存储器运行程序。 PlasticARM 包含 18,334 个 NAND2 等效门,这使其成为在柔性基板上使用金属氧化物 TFT 构建的最复杂的 FlexIC(至少比以前的集成电路复杂 12 倍)。 PlasticARM 的芯片架构如图 1a 所示。它是一个 SoC,包括一个源自 32 位 Arm Cortex-M0+ 处理器产品 20 的 32 位处理器、存储器、系统互连结构和接口块,以及一个外部总线接口。 a, SoC 架构,显示了内部结构、处理器和系统外设。该处理器包含一个 32 位 Arm Cortex-M CPU 和一个嵌套向量中断控制器 (NVIC),并通过互连结构 (AHB-LITE) 连接到其内存。最后,外部总线接口提供通用输入输出 (GPIO) 接口以与测试框架进行片外通信。 b、PlasticARM 中使用的 CPU 与 Arm Cortex-M0+ CPU 的特性相比。两款 CPU 都完全支持 Armv6-M 架构,具有 32 位地址和数据能力,以及来自整个 16 位 Thumb 和 32 位 Thumb 指令集架构子集的总共 86 条指令。 CPU 微体系结构具有两级流水线。寄存器在 Cortex-M0+ 的 CPU 中,但在 PlasticARM 中,寄存器被移动到 SoC 中基于锁存器的 RAM 中,以节省 Cortex-M 的 CPU 面积。最后,两个 CPU 彼此二进制兼容,并且与同一架构系列中的其他 CPU 兼容。 c,PlasticARM 的die layout,表示Cortex-M 处理器、ROM 和RAM 等白框中的关键块。 d,PlasticARM 的模具显微照片,显示模具和核心区域的尺寸。该处理器完全支持 Armv6-M 指令集架构,这意味着为 Cortex-M0+ 处理器生成的代码也将在派生自它的处理器上运行。处理器由 CPU 和与 CPU 紧密耦合的嵌套向量中断控制器 (NVIC) 组成,用于处理来自外部设备的中断。 SoC 的其余部分由存储器(ROM/RAM)、AHB-LITE 互连结构(高级高性能总线 (AHB) 规范的一个子集)和将存储器连接到处理器的接口逻辑以及最后一个外部用于控制两个通用输入输出 (GPIO) 引脚以进行片外通信的总线接口。 ROM 包含 456 字节的系统代码和测试程序,并已实现为组合逻辑。 128 字节的 RAM 已实现为基于锁存器的寄存器文件,主要用作堆栈。图 1b 显示了 PlasticARM 中使用的 Cortex-M 和 Arm Cortex-M0+ 的比较。尽管PlasticARM中的Cortex-M处理器不是标准产品,但它实现了支持16位Thumb和32位Thumb指令集架构子集的Armv6-M架构,因此它与所有Cortex- M 类处理器,包括 Cortex-M0+,属于同一架构系列。 PlasticARM 中的 Cortex-M 和 Cortex-M0+ 之间的主要区别在于,我们将 SoC 中 RAM 的特定部分分配给 CPU 寄存器(大约 64 字节),并将它们从 CPU 移动到 Cortex-M 中的 RAM在 PlasticARM 中,而在 Cortex-M0+ 中,寄存器保留在其 CPU 中。通过从 CPU 中消除寄存器并使用现有 RAM 作为寄存器空间,CPU 面积大幅减少(约 3 倍),代价是寄存器访问速度变慢。

PlasticARM 是使用行业标准芯片实现工具通过 PragmatIC 的 0.8-μm 工艺实现的。我们已经为此技术开发了一个工艺设计套件、一个标准单元库和设备/电路模拟,以实现 PlasticARM FlexIC。图 1c 显示了 FlexIC 布局,其中划分了 Cortex-M 处理器、RAM 和 ROM。实施方法的详细信息可以在方法中找到。 PlasticARM 是使用商业“盒装工厂”生产线 FlexLogIC 21 制造的,其芯片显微照片如图 1d 所示。该工艺使用基于氧化铟镓锌 (IGZO) 的 n 型金属氧化物 TFT 技术,并在 200 毫米直径的聚酰亚胺晶片上生成 FlexIC 设计。 IGZO TFT 电路是使用传统的半导体加工设备制成的,这些设备适用于和配置为在厚度小于 30 μm 的柔性(聚酰亚胺)基板上生产器件。它们的沟道长度为 0.8 μm,最小电源电压为 3 V。 n 型金属氧化物薄膜技术的设计面临着许多相同的挑战,这些挑战影响了第一个硅(负沟道)的复杂性和良率1970 年代和 1980 年代初期的金属氧化物半导体 (NMOS) 技术,尤其是噪声容限差、功耗高和工艺变化大(例如 V t)。制造方法的细节可以在方法中找到。我们报告了一个功能齐全的 PlasticARM FlexIC。这已经通过在制造之前运行预编程(硬连线)到 ROM 中的三个测试程序来证明。虽然测试程序是从 ROM 执行的,但这不是系统的要求;它只是简化了 PlasticARM 的测试设置。当前的 ROM 实现不允许在制造后更改或更新程序代码,尽管这在未来的实现中是可能的(例如,通过可编程 ROM)。测试程序的编写方式使得指令执行 CPU 内部的所有功能单元,例如算术逻辑单元、加载/存储单元和分支单元,并使用 armcc 编译器使用设置为“cortex-m0plus”的 CPU 标志进行编译'。测试程序的流程图和详细描述如图 2 所示。当每个测试程序完成其执行时,测试程序的结果通过片外输出 GPIO 引脚传输到测试框架。 a, 一个简单的累加程序从 ROM 中读取值并将它们相加。如果总和与预期值匹配,则会向测试仪读取的 GPIO 输出引脚发送确认信号。该测试使用加载、添加、比较和分支指令。 b,一组 32 位整数值被即时写入 RAM 并在检查读取值与预期值的同时将它们读回。如果所有写入的值都被正确读取,则会向 GPIO 输出引脚发送确认信号。该测试使用加载、存储、添加、移位、逻辑、比较和分支指令。 c、从测试仪通过GPIO输入引脚连续读取一个值。该值被一个常量值屏蔽。如果屏蔽结果为 1,则计数器递增。如果为 0,则计数器复位。如果计数器值等于预期值,则会向 GPIO 输出引脚发送确认信号。该测试使用加载、存储、添加、逻辑、比较和分支指令。斜体字表示测试程序中的变量;粗体和大写的术语是引脚和记忆。众所周知,IGZO TFT 可以弯曲到 3 毫米的曲率半径而不会损坏 22,PragmatIC 还通过将其自己的电路反复弯曲到这个曲率半径来验证这一点。然而,所有 PlasticARM 测量都是在柔性晶圆保留在其玻璃载体上的情况下进行的,使用位于 Arm Ltd 的标准晶圆测试设备,在室温下进行。 PlasticARM 的测量结果与其模拟结果进行了验证。测量设置、结果及其对模拟的验证的详细信息可以在方法中找到。 PlasticARM 的实现和测量电路特性如表 1 所示,并与使用金属氧化物 TFT 7、16、18 构建的以前最好的原生柔性集成电路进行了比较。PlasticARM 的面积为 59.2 mm 2(无焊盘),并包含 56,340 个器件(n 型 TFT 加电阻器)或 18,334 个 NAND2 等效门,至少比之前最好的集成电路(即二进制神经网络 (BNN) FlexIC)高出 12 倍。微处理器的时钟频率最高可达 29 kHz,功耗仅为 21 mW,主要是 (>99%) 静态功耗,其中处理器占 45%,存储器占 33%,外设占 22%。 SoC 使用 28 个引脚,包括时钟、复位、GPIO、电源和其他调试引脚。此设计中没有使用专门的静电放电缓解技术。相反,所有输入都包含 140pF 电容器,而所有输出都由带有有源上拉晶体管的输出驱动器驱动。

任何电阻负载技术的一个关键挑战是功耗。我们预计我们正在开发的低功耗单元库将支持更高的复杂性,高达约 100,000 个门。迁移到超过 1,000,000 个门可能需要互补金属氧化物半导体 (CMOS) 技术。我们已经报道了一种原生灵活的 32 位微处理器 PlasticARM,它采用 0.8 微米金属氧化物 TFT 技术制造。我们已经演示了 SoC 的功能,该 SoC 具有在柔性基板上制造的 32 位 Arm 处理器。由于它与 Armv6-M 架构中的 Arm Cortex-M 类处理器兼容,因此它可以搭载现有的软件/工具支持(例如编译器),因此无需开发软件工具链。最后,据我们所知,它是迄今为止使用金属氧化物 TFT 构建的最复杂的柔性集成电路,包括超过 18,000 个门,至少比以前最好的集成电路高 12 倍。我们设想,PlasticARM 将率先开发低成本、完全灵活的智能集成系统,以实现“万物互联”,包括在未来十年内将超过一万亿个无生命物体集成到数字世界中。拥有用于日常物品的超薄、可整合、低成本、本机灵活的微处理器将揭示创新,从而带来各种研究和商业机会。为了充分利用现代硅集成电路设计流程提供的高度自动化、快速周转的实现和验证,我们开发了一个小型标准单元库。标准单元库是预先验证的小型构建块的集合,可以使用复杂的电子设计自动化工具(如综合、布局和布线)快速轻松地构建更大、更复杂的设计。在开始实施标准单元库之前,先进行了一些初步调查,以便在目标技术的限制下确定最适合该库的标准单元架构。单元架构是库中每个单元共有的一组特征,例如单元高度、电源带尺寸、布线网格等,它们允许单元以标准方式咬合在一起以形成更大的结构。这些共同特征主要受制造过程的设计规则支配,但也受最终设计的性能和面积要求的影响。一旦建立了单元架构,下一步就是确定单元库的内容,不仅要考虑各种逻辑功能,还要确定每个逻辑功能的驱动强度变体的数量。由于设计、实施和表征每个标准单元所涉及的工作量很大,因此决定使用小型原型库进行一些试验,然后根据需要扩展库。为了评估这个小型原型标准单元库的性能,实施、制造和测试了一些简单的代表性电路(例如环形振荡器、计数器和移位阵列)。我们从 1.0-μm 设计规则迁移到新的 FlexIC 0.8-μm 设计规则以减少面积,从而提高产量。由于这意味着用更小的晶体管重新绘制库中的每个单元,我们也借此机会更改了标准单元架构,以包括 MT1(金属跟踪 1)引脚,以便路由器更容易连接单元。电阻材料的改进(更高的薄层电阻,R s)也使电阻器的尺寸减小了 3 倍。

晶体管和电阻器尺寸的显着减小使大多数单元的面积减少了约 50%(参见扩展数据图 1),这反过来又通过减小设计的整体尺寸提高了制造良率。然而,由于仍然存在制造良率问题,我们可以通过改变标准来进一步缓解......