论文部分内容阅读
随着超深亚微米(Very Deep Submicron,VDSM)工艺技术的快速发展,基于知识产权(Intellectual Property,IP)复用技术的片上系统(System-on-a-Chip,SoC)已成为集成电路(Integrated Circuit,IC)设计的主流。SoC内部一般嵌入可执行用户程序的中央处理器(Central Processing Unit,CPU)或数字信号处理器(Digital Signal Processor,DSP)核。在绝大多数应用场合,用户程序存放于片外的存储设备中。因此,SoC需具备加载用户程序至片内高速存储设备的能力,即具有自举加载机制。针对芯片面积控制严格、引脚数目有限、开发时间紧迫等SoC开发的特点,本文基于串行接口,以状态机控制为核心,提出了一种通用的SoC多自举加载机制。为验证该机制,论文以增强型8051为CPU内核、内置集成电路总线(Inter-Integrated Circuit,I2C)及串行外设总线(Serial Peripheral Interface,SPI)等模块为自举加载接口,构建了一款8位验证SoC芯片。接着,以验证SoC为基础,设计和验证了基于I2C和SPI接口的自举加载机制。最后,依据实际项目的需求,在课题组开发的一款商用USB数据传输SoC芯片应用和实现了基于I2C接口的自举加载机制;测试结果表明I2C自举加载机制成功实现了该SoC芯片的程序加载。论文主要研究工作归纳如下。1.阐述了SoC开发流程中的关键技术,包括IP复用、逻辑综合、SoC测试技术等,重点分析了片上总线设计技术、SoC软硬件验证技术和SoC多自举加载机制中用到的自举加载接口协议等关键问题。2.以状态机为控制核心,针对片内无只读存储器(Read-Only Memory,ROM)的情况,提出了一种硬件实现的SoC多自举加载机制。该加载机制的工作原理是:首先,对用户程序的数据格式进行自定义设计;接着,设计自举加载模块使其SoC上电后令CPU处于复位状态,并取得对自举加载接口模块及程序空间的控制权;随后,自举加载模块配合所定义的用户程序数据格式,将片外存储介质中的用户程序移至片内程序空间;最后,用户程序搬移完毕后CPU脱离复位并执行用户程序。3.为了实现和验证多自举加载机制,以8位增强型8051 CPU为核心构建了一个验证SoC平台。以验证SoC平台为基础,设计了包含I2C和SPI两种自举加载机制的SoC芯片,验证了所提出的SoC多自举加载机制的正确性。首先,完成了验证SoC芯片的模块级设计和系统级设计,包括芯片的整体框架设计、往下细分的片上互联模块设计和自举加载模块中两种接口加载机制的设计三个方面;接着,搭建软硬件协同验证平台对SoC两种自举加载机制的功能进行了验证;随后,对验证SoC中主要模块的功能进行了用户程序的设计及软硬件协同的系统级验证,证明了I2C和SPI两种自举加载机制功能的正确性。其中,为了解决在测试顶层文件中直接添加端口激励造成的不可控性及难以直观观察结果的问题,设计了一种利用激励发生模块调用端口激励文件产生端口时序信号的激励发生机制。4.利用综合工具Design Compiler对设计的验证SoC芯片进行了逻辑综合。同时,针对项目需求设计,将I2C自举加载机制应用于课题组设计的USB数据传输SoC芯片中。芯片流片后,进行了晶圆测试和封装测试。测试结果表明,该SoC芯片通过I2C自举加载机制成功将用户程序搬移至片内实现了自举加载。综上所述,论文从设计周期短、电路规模控制严格、成本较低等多方面考虑出发,提出了一种自定义用户程序数据格式和自举加载模块配合设计实现的通用SoC多自举加载机制,并通过构建验证SoC芯片进行了功能验证。进一步,将I2C自举加载机制应用于课题组设计的USB数据传输SoC芯片中,测试结果表明SoC在片内无ROM的情况下,成功通过I2C自举加载机制搬移用户程序至片内执行,为SoC开发人员对自举加载机制的设计提供了有益的参考。