SoC设计方法与实现第四章SoC系统结构设计郭炜魏继增郭筝谢憬内容大纲•SoC系统结构设计的总体目标与各个阶段•SoC中常用的处理器•SoC中常用的总线•SoC中典型的存储器•多核SoC的系统结构设计•SoC中的软件结构•电子系统级(ESL)设计内容大纲•SoC系统结构设计的总体目标与各个阶段•SoC中常用的处理器•SoC中常用的总线•SoC中典型的存储器•多核SoC的系统结构设计•SoC中的软件结构•电子系统级(ESL)设计SoC系统结构设计方法基于Y-chart的SoC系统结构设计方法SoC的系统结构设计的过程•功能设计阶段•应用驱动的系统结构设计阶段•平台导向的系统结构设计阶段内容大纲•SoC系统结构设计的总体目标与各个阶段•SoC中常用的处理器•SoC中常用的总线•SoC中典型的存储器•多核SoC的系统结构设计•SoC中的软件结构•电子系统级(ESL)设计常用处理器分类•通用处理器(CPU)•数字信号处理器(DSP)•可配置处理器通用处理器——ARM系列处理器•ARM(AdvancedRISCMachines)系列处理器是RISC架构处理器,具有高性能、低功耗等特点。ARM系列处理器主要有ARM7、ARM9、ARM10、ARM11等•ARM7系列处理器是低功耗的32位RISC处理器,支持16位的Thumb指令集•ARM9系列处理器实现5级的流水,增加了MMU单元,实现数据和指令分离的存储器结构•ARM10、ARM11等系列处理器增加了流水线的深度,提高了工作时钟频率。ARM11中还增加了SIMD功能扩展,提高对多媒体处理的能力通用处理器——MIPS系列处理器•目前主要有两种架构的处理器:32位和64位的MIPS32架构和MIPS64架构•MIPS32的4K系列处理器主要面向SoC应用,采用5级流水线、32位数据和地址宽度,存储器采用数据和指令分开的哈佛结构(Harvard)。MIPS32的24K系列采用8级流水、32位地址和64位数据宽度•在MIPS64架构的处理器有MIPS645K系列和20K系列分别采用6级和7级流水线结构。5K系列的MIPS645kf和20K系列的MIPS6420kc中集成浮点运算单元,面向高性能SoC应用通用处理器——PowerPC系列处理器•PowerPC处理器在20世纪90年代由IBM、Motorola、Apple公司共同推出,主要面向不同的市场应用,包括个人计算机和其他嵌入式市场•32位Harvard结构的处理器使用5级流水线结构并集成硬件乘法、硬件除法和MMU单元•在Xilinx的Virtex-4系列FPGA中集成了PowerPC的处理器DSP——TI系列•TI是著名的DSP公司,目前主要有C5000和C6000两种DSP平台•TIC5000平台包括TMS320C54系列、TMS320C55系列。TMS320C54系列采用CISC结构的定点和改进的Harvard结构体系。TMS320C54系列DSP指令系统很丰富且灵活多变;而TMS320C55系列定点DSP并行性更好,每个周期最大可执行两条指令•C6000平台的TMS320C62、TMS320C64系列DSP是业内最高性能的DSP,提供高达1GHz的时钟速度。TMS320C64系列DSP采用TI的VLIW结构。TMS320C67系列浮点DSP可以提供高数据精度和高的处理速度DSP——ADI系列•Blackfin处理器包括一个10级RISC流水线的高性能16/32位内核,以及具有面向加速视频和多媒体处理的SIMD支持•TigerSHARCDSP是一款高性能的静态超标量数字信号处理器,该处理器专为大型的信号处理和通信任务而在结构上进行了优化。该处理器将非常宽的存储带宽和双运算模块结合在一起,每周期能够执行多达4条的指令、24个16位定点运算和6个浮点运算。DSP——Freescale系列•DSP563000核是24位信号处理器,采用RISC的流水线结构和超哈佛的存储器结构,适合在音频领域应用•StarCore系列DSP采用一种独特、高性能、长度可变的变长执行组(VLES)结构。执行过程以执行组为单位,采用指令预取、取址、指令分配、地址生成和执行组成的5级流水结构。每个执行组采用指令级并行技术,支持SIMD,主要面向多媒体信号处理领域的应用可配置处理器——Tensilica系列处理器•在SoC设计方法学中,强调快速的设计和IP复用。Tensilica基于这种思想提出了可配置处理器的设计思路•Tensilica主要有3种系列的处理器:Xtensa7系列、XtensaLX2系列和DiamondStandardProcessor系列•Xtensa7、XtensaLX2属于可配置,而DiamondStandardProcessor是基于上述两种的一个优化结构,不能配置•在Xtensa7系列、XtensaLX2系列处理器中,核心功能是固定的如流水线,以及对操作系统的支持。可配置的选项包括处理器的结构、处理器的指令集、协处理器、存储器系统(包括缓存、本地存储器、外部存储器等)、中断处理、测试等可配置处理器——NIOS系列处理器•Altera的Nios/NiosⅡ是一款基于FPGA的可灵活配置的RISC架构软内核处理器,采用32位指令集,支持5级流水线•其可灵活配置性是指Nios/NiosⅡ处理器架构并不是固定、一成不变的,而是用户可以通过Altera提供的工具根据设计的性能或成本要求增加或裁减一些系统的特性和外设,甚至可以在系统中放置多个Nios/NiosⅡ处理器以满足应用需求•用户通过Nios/NiosⅡ处理器提供的用户自定义指令逻辑接口可以在处理器的基本指令架构之上进行指令的扩充,以增强处理器的处理能力可配置处理器——ARC系列处理器•ARC系列处理器是一个拥有4级流水线的体系结构,支持16位或32位指令集。它具有能够配置的各种功能组件、外围接口及扩展指令集•ARC710系列处理器为嵌入式软核,厂商提供针对它的软件集成开发环境及各种DSP的功能部件库•开发人员可从一个基本的处理器内核开始,通过不断定制、裁剪各种功能,从而达到应用的性能、成本、功耗的最佳匹配•该种处理器支持可选的DSP指令,设计人员可以通过增加指令和内核寄存器来扩展处理器,以便进一步定制系统性能不同处理器的选择•首先对于目标应用的运算能力要有一个量的估计或计算•其次是根据应用类型选择合适的处理器类型内容大纲•SoC系统结构设计的总体目标与各个阶段•SoC中常用的处理器•SoC中常用的总线•SoC中典型的存储器•多核SoC的系统结构设计•SoC中的软件结构•电子系统级(ESL)设计总线•总线提供了系统中各个设备之间一种互连的访问共享硬件机制•在数字系统中,总线承担数据传输的任务如处理器和存储器之间的数据传输•总线的传输能力由总线的宽度和工作频率决定•总线的设计通常要考虑4个因素:总线宽度、时钟频率、仲裁机制和传输类型AMBA总线•AMBA总线是ARM公司开发的片上总线标准,目前已经到了3.0版本•AMBA总线标准包括AHB(AdvancedHigh-performanceBus)总线、ASB(AdvancedSystemBus)总线、APB(AdvancedPeripheralBus)总线和AXI总线•AHB和ASB总线连接高性能系统模块,ASB是旧版本的系统总线,使用三态总线,目前已被新版本的AHB总线所代替。AHB是AMBA2.0标准,而AXI是最新推出的新一代AMBA3.0标准AMBA总线典型的AMBA-AHB系统结构AMBA总线AMBA-AXI系统结构实例CoreConnect总线•CoreConnect是IBM开发的一套片上系统总线标准•CoreConnect总线包括PLB(ProcesorLocalBus)总线、OPB(On-ChipPeripheralBus)总线、DCR(DeviceControlRegister)总线•在CoreConnect总线中,PLB总线连接高性能设备如处理器、存储器接口、DMA等。OPB总线连接低性能设备如各种外围接口等•DCR总线主要用来访问和配置PLB和OPB总线设备的状态和控制寄存器CoreConnect总线处理器片内存储器DMA外部存储器接口桥OPB主设备OPB从设备外围设备OPB仲裁仲裁PLBDCRPLBtoOPBOPBtoPLBCoreConnect的总线系统结构Wishbone总线•Wishbone总线是由Silicore公司推出的片上总线标准•这种总线具有简单、灵活和开放的特点,现在已经被OpenCores采用并组织维护•在Wishbone中,所有核都连接在同一标准接口上。当需要时,系统设计者可以选择在一个微处理器核上实现两个接口,一个给高速设备,另一个给低速设备•一个Wishbone系统由主设备、从设备、INTERCON和SYSCON组成。其中INTERCON定义了主设备和从设备之间的连接方式,而SYSCON用来产生系统时钟和复位信号•在Wishbone中有4种不同的连接方式可以使用,它们分别是点对点、数据流、共享总线和交叉连接方式Wishbone总线典型的Wishbone总线系统结构AVALON总线•AVALON总线主要应用在FPGA中,作为SOPC(SystemOnaProgrammableChip)中的片上总线•AVALON总线是Altera推出Nios核时开发的片上总线典型的AVALON总线系统结构开放核协议•开放核协议(OCP,OpenCoreProtocol)是由OCP-IP组织定义的IP互连协议•它不是总线定义,而是在IP核之间的一种独立于总线之外的高性能接口规范,这种方法提高了IP的重用率,进而可以减少设计时间、设计风险和制造成本•OCP在两个通信实体之间定义了点到点的接口•这两个通信实体中,一个作为主设备,可以发起命令;另一个作为从设备,对主设备的命令做出回应•OCP是在国际IP标准组织(VISA)的虚拟接口标准VCI上的扩展开放核协议典型的OPC协议系统结构复杂的片上总线结构多总线结构一复杂的片上总线结构多总线结构二内容大纲•SoC系统结构设计的总体目标与各个阶段•SoC中常用的处理器•SoC中常用的总线•SoC中典型的存储器•多核SoC的系统结构设计•SoC中的软件结构•电子系统级(ESL)设计SRAM•SRAM(静态随机存储器)的特点是存储速度非常快,可以达到和处理器的时钟同步•SRAM存储器的接口简单,比较容易设计•SRAM在系统中常常作为处理器的缓存•同存储空间的RAM的面积较大,在SoC中只能少量使用SDRAM•SDRAM(同步动态随机存储器)的价格低、体积小、容量大•与SRAM相比,SDRAM的控制逻辑复杂,速度较慢•由于动态内存单元容易失去电荷,因此会失去存储在其中的数据。在SDRAM中,必须包括一个刷新电路,不断地刷新其中的电荷,以使其值保持不变ROM•ROM(只读存储器)是一种只读存储器,包括掩膜式ROM、可编程ROM(PROM)、可擦除的可编程ROM(EPROM)和电可擦除的可编程ROM(EEPROM)等•ROM在SoC中一般用来存储固定的代码或资料Flash•Flash(闪存)存储器是价格性能兼顾的一种新型的不挥发存储器•它是EPROM和EEPROM工艺综合的产物,兼顾了这两类存储器的优点•NORFlash和NANDFlash是现在市场上两种主要的Flash存储器内容大纲•SoC系统结构设计的总体目标与各个阶段•SoC中常用的处理器•SoC中常用的总线•SoC中典型的存储器•多核SoC的系统结构设计•SoC中的软件结构•电子系统级(ESL)设计可用的并发性•指令级并行性(ILP,InstructionLevelParallelism)利用指令之间的无关性,使得多条指令可以同时执行,改变传统串行执行指令造成的较大延时,提高指令和程序的执行效率•数据级并行性(DLP,DataLevelParallelism)是指,一组待处理的数据内部存在较为松散的依赖关系,在理论上可以对这