您好,欢迎访问三七文档
第一讲SoC设计概论SoC基本概念-SoC关键技术分析-SoC设计方法-SoC总线结构1.SoC基本概念1)片上系统(SystemonChip,SoC):在单一芯片上集成了数字电路、模拟电路、信号采集和转换电路、存储器、MPU、MCU、DSP、MPEG等,实现了一个系统的功能。2)特点:优点:体积小、功耗低、可靠性高、成本低以及更完善的功能和更高的性能指标。缺点:复杂性上升、设计成本高、开发时间长,完全改变了先前整机系统的总体设计方案。3)SoC基本结构:a.嵌入式处理器核(如MPU、MCU或DSP)、存储器(如SRAM、SDRAM、FlashROM)b.专用功能模块(如ADC、DAC、PLL、2D/3D图形运算单元)c.I/O接口模块(如USB、UART、Ethernet等)等多种功能模块d.片内总线(Wishbone、Avalon等)片内总线专用功能模块(ADC、DAC、PLL)存储器(RAM、ROM)I/O接口模块(USB、UART、Ethernet)嵌入式处理器核4)SoC类型:计算控制型:微处理器CPU、数字信号处理器DSP通信网络型:信号处理型:信号采集、编解码器、信号输出2.SoC关键技术分析:设计重用技术、低功耗设计技术、软硬件协同设计、总线架构、可测试性设计、设计验证、物理综合1)设计重用技术a.基于IP的模块级重用建立在IP核基础上的,它是将已经验证的各种超级宏单元电路模块制成芯核,方便设计时使用。b.基于平台的系统级重用平台是一组关于虚拟组件与体系结构框架的库,在平台中包含一些可集成的并且预先验证的软硬件IP、设计模型、EDA工具与软件配套工具等,同时定义了一套通过体系结构探索/集成/验证,支持快速产品开发的设计方法学。基于IP设计重用技术的扩展,延伸了设计重用的理念,强调系统级重用。基于平台的设计方法要求提供面向特定应用领域的设计模板。c.IP核①定义:经过反复验证过的、具有特定功能的,可重复利用的逻辑块或数据块,用于专用集成电路(ASIC)或者可编辑逻辑器件(FPGA)。②IP核分为:软核、固核、硬核2)低功耗设计技术3)软硬件协同设计在传统的设计方法中,硬件和软件是分开进行的,最终的集成要在硬件投片完成后才能进行,在软件中不能纠正的设计错误只能通过硬件的修改和重新投片来解决,严重影响了投放市场的时间,提高了设计成本。软硬件协同设计方法强调软件和硬件设计开发的并行性和相互反馈,克服了传统方法中把软件和硬件分开设计带来的种种弊端,能协调软件和硬件之间的制约关系,达到系统高效工作的目的。a.系统建模目的:1、是在最高抽象层次上利用某种高级语言,描述整个系统行为,获取用户功能需求和约束要求,验证需求分析的正确性。2、在此基础上,全面描述系统功能,精确建立系统模型,深入挖掘软硬件之间的协同性。3、结果:明确体现性能描述、功能特点、技术指标、约束条件等因素。常用模型:1、离散事件模型2、有限状态机模型3、通信进程网络模型4、Petri网模型5、任务流图模型6、控制数据流图模型b.软硬件划分技术在系统描述与建模层次的分析结果上,将系统功能合理地划分为软件和硬件实现部分,使系统性能与成本最优。一般考虑:速度、面积、成本、功耗c.软硬件协同综合软硬件协同综合是利用设计中的各种资源(如系统模型、软/硬件模块等)生成最优的通信体系结构,实现从功能-结构-实现的转换,同时满足系统性能与成本约束。3种综合:通信体系结构综合—软硬件接口、软件综合—软件构件、硬件综合—硬件IPd.软硬件协同仿真与验证系统评估与验证是检验SoC设计的逻辑、功能、时间特性等是否满足用户需求的过程。3级验证:模块/IP核级验证-软硬件协同仿真验证-FPGA验证3种技术:黑、白、灰4)总线架构常采用的互连方式:单总线,多总线,片上网络要求:尽量简单、较为灵活、功耗低5)可测试性设计(SoC面临最大的挑战:降低测试成本)SoC芯核测试方法:并行接入、串行扫描链、设计专门的测试结构6)设计验证(不可或缺的重要组成部分)目的:确保所设计的SoC满足系统规范中定义的功能要求,是保证正确性的关键4级验证:IP核或电路模块的验证、SoC的全功能验证、软硬件协同验证、FPGA验证7)物理综合分为:初始规划、RTL规划,门级规划等多个阶段。3.SoC设计方法3种设计方法:自底向上、自顶向下、上下结合设计流程:算法或模型的建立行为级仿真生成门级网表文件RTL级描述RTL级仿真逻辑综合、优化门级仿真、时序分析行为描述系统功能描述元器件件模型库库4.SoC总线结构(会考各种总线的比较)a.AMBA总线组成:AHB、ASB、APB、AXI是新一代AMBA3.0标准AXI与AHB的对比:b.CoreConnect总线组成:处理器本地总线PLB(ProcessorLocalBus)、片上外围总线OPB(On-ChipPeripheralBus)、一个总线桥、两个判优器,以及一个设备控制寄存器(DCR)(DeviceControlRegisterBus)总线。图示:PLB:通过总线接口单元来访问存储器设备,高带宽、低延迟OPB:连接低性能设备,为连接具有不同的总线宽度及时序要求的外设和存储器提供了一条途径,并尽量减小对PLB性能的影响。DCR:用于访问和配置PLB和OPB总线的设备状态和控制寄存器,用来规范CPU通用寄存器设备、控制寄存器之间传输数据。DCR总线在内存地址映射中取消了配置寄存器,减少取操作,增加了处理器内部总线的带宽。c.AVALON总线(Altera)描述:连接片上处理器和其它IP模块的一种简单的总线协议,它规定了主部件和从部件之间进行连接的端口和通信的时序。特点:(1)简单性,提供一种非常易于理解的协议;(2)优化总线逻辑的资源使用率,将逻辑单元保存在可编程逻辑器件PLD中;(3)同步操作,将其它的逻辑单元很好地集成到同一PLD中,同时避免复杂的时序。使用条件:外设与Avalon总线模块间的数据传输,有Master端传输和Slave端传输两类。每类又分为:基本传输、流水线传输、突发传输、带有流控制的传输、专门针对片外端口的三态传输一个Master端传输和一个对应的Slave端即可完成传输。d.Wishbone总线(opencores)组成:INTERCON、SYSCON图示:INTERCON:定义了主设备和从设备之间的连接方式SYSCON:用于产生系统时钟和复位信号连接方式:4种,点对点、数据流、共享总线和交叉连接。Wishbone总线规范可用于软核、固核和硬核,对开发工具和目标硬件没有特殊要求,并且几乎兼容已有所有的综合工具,可以使用多种硬件描述语言来实现。特点:简单、开放、高效、利于实现等特点而且完全免费,并没有专利保护。e.OCP总线特点:即插即用、不依赖于特定处理器内核的总线协议。图示:总线组成:数据和控制信号,以及测试信号,使用同步单向信号来简化系统设计和时序分析。版权问题:是目前惟一一个无所有权,公开许可,并给出IP核系统级综合要求的以核为中心的协议,克服了反复定义、校验、证明和兼容接口的复杂性。仅定义IP核与IP核或者IP核与片上总线之间的封装接口。f.五种SoC总线综合应用比较g.复杂总线结构双总线结构:主设备可以快速访问本地总线的从设备,也可以通过总线桥访问相邻总线的从设备。图示:两条高速总线AHB,一条低速总线APB,主设备要访问低速设备或者外部存储器需要通过仲裁来决定。第二章逻辑设计基础硬件描述语言VHDL、组合逻辑电路设计、时序逻辑电路设计、有限状态机设计1.硬件描述语言VHDL1.1.VHDL语言VHDL(Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage)用于电路设计的高级语言。VHDL主要用于描述数字系统的结构、行为、功能和接口。VHDL程序基本结构:1.2.VHDL数据对象1.2.1.常量Constant常量名称:数据类型:=设置值;CONSTANTset_bit:BIT:=’1’;常量可以在包集、实体或者构造体中声明。ARCHITECTURE:USER:LIBRARYIEEE;USERIEEE.STD_LOGIC_1164.ALL;USERIEEE.STD_LOGIC_ARITH.ALL;USERIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY:1.2.2.信号(Signal)代表逻辑电路中的“硬”连线,电路的寄存器。实体的所有端口都默认为信号。Signal信号名称:数据类型:=设置值SIGNALcontrol:BIT:=’0’;SIGNALcount:INTEGERRANGE0TO100;当信号用在顺序描述语句时,其值不是立刻更新的,信号值是在相应的进程、函数或过程完成之后才进行更新的。1.2.3.变量(Variable)变量仅用于局部的电路描述,代表实际电路的某一组件,仅仅是一条信号线。只能在PROCESS、FUNCTION和PROCEDURE内部使用,而且对它的赋值是立即生效的。VARIABLEcontrol:BIT:=’0’;注意:对信号、变量赋初值的操作是不可综合的,仅能用在仿真中。1.2.4.文件:1.3.VHDL描述方式1.3.1.行为描述行为描述方式是指对系统数学模型的抽象描述,属于高级描述,只描述电路的功能,不直接指明或涉及这些行为的硬件结构。一般情况下只能用于行为层次的仿真,而不能进行逻辑综合。1.3.2.数据流描述数据流描述也称为寄存器传输(RTL)描述,采用寄存器与硬件一一对应的直接描述,或者采用寄存器之间的功能描述。RTL描述方式建立在并行信号赋值语句描述的基础上,描述数据流的运动路径、运动方向和运动结果。1.3.2.1.数据流描述注意问题1.3.2.1.1.“X”状态的传递:所谓“X”状态的传递,是指不确定信号的传递,它将使逻辑电路产生不确定的结果。“不确定状态”在RTL仿真时是允许出现的,但在逻辑综合后的门级电路仿真中是不允许出现的。双向数据总线:应用en禁止“X”状态的传递1.3.2.1.2.寄存器RTL描述的限制:禁止在一个进程中存在两个边沿检测的寄存器描述;禁止使用边沿检测IF语句中的ELSE项;寄存器描述中必须代入信号值。(?)1.3.3.结构描述1.3.4.三种描述方式比较2.组合逻辑电路设计任意时刻,输出状态只决定同一时刻各输入状态的组合,而与先前的状态无关的逻辑电路。特点:任意时刻的输出仅决定于该时刻的输入,输入和输出之间没有反馈延迟通路。电路结构上不含记忆元件。3.时序逻辑电路设计3.1.定义:时序逻辑电路—任何一个时刻的输出状态不仅取决于当时的输入信号,还与电路的原状态有关。3.2.时序电路的特点:(1)含有具有记忆元件(最常用的是触发器)。(2)具有反馈通道。3.3.例子3.3.1.D触发器3.3.2.分频电路设计3.3.2.1.设计:计数器是实现分频器电路的基础,有普通计数器和约翰逊计数器两种。3.3.2.2.分频电路分类:偶数分频器、奇数分频器、半整数分频器、小数分频器、分数分频器3.3.2.2.1.偶分频(3/6):3.3.2.2.2.奇分频(3/5):3.3.2.2.3.奇分频(50%):要实现占空比为50%的2N+1分频器,则需要对待分频时钟上升沿和下降沿分别进行N/(2N+1)占空比分频,然后将两个分频器得到的时钟信号相或得到占空比为50%的2N+1分频器4.有限状态机设计4.1.结构:主控时序逻辑部分:任务是负责状态机运转和在外部时钟驱动下实现内部状态转换的过程。主控组合逻辑部分:任务是根据状态机外部输入的状态控制信号(包括来自外部的和状态机内部的非进程的信号)和当前的状态值来确定下一状态值内容,以及对外部或对内部其他进程输出控制信号。辅助逻辑部分:辅助逻辑部分主要是用于配合状态机的主控组合逻辑和主控时序逻辑进行工作,以完善和提高系统的性能。4.2.FSM程序设计(Mealy型)4.3.FSM分类:按输出:Mealy、Moore按结构:单进程、多进
本文标题:soc复习整理
链接地址:https://www.777doc.com/doc-3205823 .html