关键词:
微控制单元
Cortex-M0
AMBA
数字低功耗
FPGA验证
摘要:
二十一世纪以来,随着集成电路的迅速发展以及其代工厂工艺节点的不断缩小,我们的工作和生活早已与集成电路密不可分。5G、自动驾驶、工业控制、物联网等新兴产业更是依赖于集成电路,而其中微控制单元(MCU)则是必不可少的核心模块之一。目前绝大多数MCU产品都是基于ARM公司提供的CPU针对不同的应用场景进行设计,最为普遍的是八位和十六位的MCU,能够基本满足中低端的市场需求,但是在未来,高效、低功耗的三十二位MCU一定会成为市场的主流。本文基于高性能以及低功耗的需求,选取了ARM公司的Cortex-M0作为CPU,基于AMBA总线协议,结合FPGA上板调试完成了一款32位MCU芯片的设计、流片以及验证。本文遵循由上到下的设计原则,首先分析了Cortex-M0核内部结构以及AMBA总线协议,为后续MCU架构的设计以及各个模块的设计提供了理论基础。接着阐述了数字IC功耗的来源以及低功耗的具体实施方法,为各个模块的低功耗设计提供理论基础。本文基于MCU系统功能定义以及模块的划分,完成了MCU架构设计,并对各个子模块进行Verilog硬件语言的编写及仿真,在此过程中基于功耗优化理论经行了低功耗设计。在完成各个模块的设计之后编写顶层例化,至此完成源码的设计阶段。之后结合Keil开发工具和FPGA实现软硬件的联合仿真,极大增强了设计的可靠性。本文设计了两版MCU,第一版在完成了源码编写以及仿真之后,基于CMOS180nm工艺,继续完成了DC综合、INNOVUS布局布线、后仿真以及版图的输出。设计PCB以及测试平台的搭建完成芯片测试。3.3V给IO供电,1.8V给内核供电情况下,工作电流在0.01A左右,时钟频率最高能跑到50MHz,逻辑输出基本符合预期。第二版在第一版的基础之上,改进了MCU架构以及增加了核心的中断服务模块,极大地降低了功耗,增强了MCU的实用性。基于CMOS 65nm工艺,继续完成了DC综合、INNOVUS布局布线、后仿真以及FPGA验证。应用软硬件结合方式并结合FPGA对MCU进行了验证,时钟频率最高能跑到80MHz,在给予不同的外部中断时,MCU能正确响应中断并在指定从设备将结果正确输出,与仿真结果一致,符合设计预期。