已阅读5页,还剩93页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士研究生学位论文题目:基于AMBA的手机芯片SOC总线架构设计与应用姓 名: 廖 凯 学 号: 10548086 院 系: 信息科学与技术学院 专 业: 电子与通信工程 研究方向: 集成系统芯片(SOC) 导师姓名: 王新安 二00八 年 六 月83 / 98版权声明任何收存和保管本论文各种版本的单位和个人,未经本论文作者同意,不得将本论文转借他人,亦不得随意复制、抄录、拍照或以任何方式传播。否则,引起有碍作者著作权之问题,将可能承担法律责任。摘 要随着可携带式消费型电子产品的应用日益广泛,需求的功能越来越多,导致一个嵌入式系统的开发时间难以预测及控制;而嵌入式系统越来越复杂,架构规格又时常更新改变,整合困难且耗时,产品生命周期又越来越短,迫使设计者在设计硬件架构时必须从本质上要较有弹性去考量。而系统总线设计的灵活、弹性,允许系统开发者可以选择最理想的架构,有效地满足各种各样的系统所需要的效能,是Reuse的关键所在。在系统总线设计中,AMBA是一个公开的标准,详叙了组成一个系统的功能模块互联和管理的机制,将使设计者在不需要更改总线界面下,直接整合现有的IP核,这使得系统的整体效益倍增。SOC设计者有时为了和周边装置配置及频宽,要在通道数和时间频率最优化间选择一个最佳化的的组合,因而选择AMBA Multi-layer的架构。AMBA系统总线中AHB主要是针对高效率,高频率的模块所设计的总线,它可以连接如微处理器、晶片上或晶片外的记忆体模块和直接记忆体存取机制等高效率模块。它可以支持多个masters管理机制而达到最大的系统效能,是一个高速、高频率的总线。本论文则是基于智能手机开发当中对系统总线的选择与设计所做的研究。本论文的目的即是研究基于AMBA这种片上总线系统的智能手机SOC系统架构的设计和应用。本论文的主要工作是在研究和分析AHB协议的基础上,完成智能手机芯片中AHB总线的设计和验证以及各IP核的互联。具体的工作包括:AHB总线协议的研究;手机芯片各模块互连结构的设计;手机芯片各模块总线接口的设计;总线模块的设计,包括仲裁器、地址译码器、多路选择器、AHB2AHB总线桥的设计、AHB2APB总线桥的设计。关键字:总线桥,SOC,AHB总线,APB总线,主设备,从设备,仲裁器,地址译码器AbstractWith the development of micro-electronics technology, especially progress on SOC technology,it is great required a more flexible on-chip bus to properly connect sorts of IP modules.For the on-chip bus, flexibility is the key to reuse by enabling developers to select the optimal architecture to efficiently meet the performance requirements of a wide variety of systems. AMBA is an open standard, on-chip bus specification that details a strategy for the interconnection and management of functional blocks that makes up a System-on-Chip(SOC).AMBA will let designers multiply the total bandwidth available in a system without changing the bus interface on existing intellectual property(IP) cores. Sometimes, the SOC designer to select the optimal combination of bus frequency and the number of channels, using the AMBA Multi-layer architecture. The AHB of the AMBA System Bus connects embedded processors such as an ARM core to high-performance peripherals, DMA controllers, on-chip memory and interfaces. It is a high-speed, high-bandwidth bus that supports multi-master bus management to maximize system performance. This paper is based on the research of on-chip bus use in smart phones develop.This paper presents the design of AHB bus and Bridge in the smart phone after studying and analyzing the AHB protocol. The works mainly include the design of AHB and the AHB Arbitrator Device, the Address Decoders, the Multiplexers, the Bi-directional AHB-to-AHB Bridge,zhe APB Bridge and the connection of all Intellectual Property for the application of our mobile phone.Key Words: AHB Bridge, SOC, AHB, APB, master, slave, Arbitrator, Decoder目 录摘 要IAbstractII目 录III第一章 绪论11.1 总线的发展历史与现状11.2 IP互连策略及片上总线系统41.2.1 基于IP重用的设计方法学41.2.2 几种常用的片上总线比较 IBM的CoreConnect总线 ARM的AMBA总线 Silicore的Wishbone总线 OCP-IP的OCP Altera的Avalon总线101.3 智能手机芯片设计要求与AMBA片上总线标准的优势111.3.1 智能手机芯片设计要求 模块标准化和可复用性 验证层次的可划分性121.3.2 AMBA总线协议的优势 AMBA在技术上的优势 利于SOC的集成、验证和测试 良好的维护和发展前景141.4 课题的意义14第二章 AMBA总线架构分析152.1概述152.2 AMBA AHB总线协议152.2.1 AHB总线简介152.2.2 AHB总线系统互连结构162.2.3 AHB信号描述 AHB全局信号 AHB仲裁信号 AHB控制信号 传输响应(Response)信号 AHB数据总线信号 AHB地址译码信号 AHB SPLIT能力信号192.2.4 AHB基本传输192.2.5 AHB传输类型202.2.6 AHB猝发操作212.2.7 AHB传输响应 传输响应类型 两个周期的响应 分立(SPLIT)与重试(RETRY)比较242.2.8 AHB仲裁协议 请求总线访间 授权总线访问 猝发传输提前终止2 锁定传输262.3 外设总线APB262.3.1 APB特性26第三章 AHB总线控制模块设计283.1 仲裁器单元283.1.1 仲裁器293.1.2 仲裁器仲裁机制303.1.3 AHB 仲裁器的设计323.2 AHB总线地址解码器设计353.3 多路选择器设计373.4 AHB 控制器的设计373.4.1 控制器结构与接口信号383.4.2 控制器算法实现393.4.3 主从接口信息地址(即插即用信息)413.5 AHB传输通过AHB控制器设计的实现443.5.1 AHB读写传输分析443.5.2 AHB传输信号划分493.5.3 传输信号的通路的实现503.5.4 AHB传输实现的仿真结果5 Debug打印输出5 仿真波形分析533.6 AHB其他IP设计简述543.6.1 AHBtrace设计543.6.2 AHBUART-Serial debug interface for AHB5 传送协议5 波特率速率产生573.6.3 APBUART 支持APB接口的UART5 APBBUART简介5 发送器操作5 接收器操作5 波特率产生60 中断产生60 APB uart的代码描述61第四章 AHBBRIDGE设计与应用624.1 总论624.2 AHB2APB bridge设计624.2.1 AHB2APB总线桥设计方案634.2.2 同频或倍频644.2.3 AHB2APB总线桥的算法实现6简单算法的总线桥的设计6 PrimeCell 算法的总线桥的设计654.2.4 主从接口信息674.2.5 APB桥的代码描述684.3 AHB2AHB总线桥的设计684.3.1 单工AHB2AHB桥设计6 概述6 AHB/AHB桥通用操作70 AHB 读传输70 AHB写传输7 锁定传输7 配置选项7 信号描叙7 AHB/AHB桥接示例化734.3.2 Bi-direction AHB2AHB BRIDGE桥接7 概述7 AHB/AHB桥基本操作7 配置选项764.3.3 AHB2AHB Bridge仿真实现79第五章 总结83参考文献84附录1 专业术语名词解释85致 谢87图 目 录图表 1 图1-1 CoreConnect总线的逻辑结构7图表 2 图1-2 AMBA总线的逻辑结构8图表 3 图1-3 Wishbone逻辑结构8图表 4 图1-4 OCP 的IP核互连结构图9图表 5 图1-5 两个VCI通过总线互连的逻辑结构10图表 6 图1-6 Avalon总线系统结构图10图表 7 图1-7 Avalon总线模块逻辑示例图11图表 8 图2-1 AMBA架构图15图表 9 图2-2 AHB总线互连结构16图表 10 图2-3 带有等待状态的传输19图表 11 图2-4多传输过程20图表 12 图2-5 AHB传输类型举例20图表 13 图2-6 AHB 4拍包绕式猝发传输22图表 14 图2-7 AHB重试响应23图表 15 图2-8带有等待状态的总线仲裁过程25图表 16 图2-9地址/数据总线移交25图表 17 图2-10 APB工作状态机27图表 18 图2-11 APB写传输27图表 19 图3-1 AHB 仲裁器功能框图29图表 20 图3-2 仲裁器进行锁定传输的状态转换图30图表 21 图3-3循环优先级的总线访问31图表 22 图3-4 Arbiter方块图33图表 23 图3-5 仲裁算法流程35图表 24 图3-6 正常仲裁过程仿真35图表 25 图3-7 地址解码算法流程36图表 26 图3-8 中心多路选择器37图表 27 图3-9 AHB控制器结构图38图表 28 图3-10 AHB控制器接口示意图38图表 29 图3-11 AHB信号示意图39图表 30 图3-12 AHB总线控制器的总体算法流程图40图表 31 图3-13 split传输实现算法41图表 32 图3-14 AHB即插即用信息记录42图表 33 图3-15 读/写模块基本传输44图表 34 图3-16 SLAVE未准备好时的传输时序44图表 35 图3-17 重叠的地址周期和数据周期45图表 36 图3-18 master未准备好时的时序图46图表 37 图3-19 INCR4传输类型的时序图47图表 38 图3-20 INCR传输仿真时序图47图表 39 图3-21 RETRY响应的时序图48图表 40 图3-22 ERROR响应的时序图49图表 41 图3-23 AHB总线信号划分50图表 42 图3-24 AHB信号通路(1)50图表 43 图3-25 AHB信号通路(2)51图表 44 图3-26 AHB传输阶段仿真图53图表 45 图3-27 AHB trace 模块图54图表 46 图3-28 AHBtrace 模块接口信号54图表 47 图3-29 AHB UART 结构图56图表 48 图3-30 AHB UART 数据帧56图表 49 图3-31 AHB UART 命令字56图表 50 图3-32 APB UART结构图58图表 51 图3-33 UART 数据帧58图表 52 图4-1:包含AHB/AHB总线的LEON3系统62图表 53 图4-2 APB Bridge简单算法流程65图表 54 图4-3 PrimeCell算法流程66图表 55 图4-4 APB即插即用信息67图表 56 图4-5 APB总线设备地址映射寄存器(BAR)的示意图67图表 57 图4-6 两个AHB总线(单工)通过AHB/AHB桥接连接69图表 58 图4-7 包含AHB/AHB总线的LEON3系统75图表 59 图4-8 采用了双向AHB2AHB桥设计的手机SOC芯片结构图75表 目 录表格 1 表2-1 AHB全局信号17表格 2 表2-2 AHB仲裁信号17表格 3 表2-3 AHB控制信号18表格 4 表2-4 AHB传输响应信号18表格 5 表2-5 AHB数据总线18表格 6 表2-6 AHB地址译码信号18表格 7 表2-7 AHB SPLIT能力信号19表格 8 表2-8传输类型编码20表格 9 表2-9猝发传输编码21表格 10 表2-10传输响应类型编码23表格 11 表3-1 仲裁器端口信号定义34表格 12 表3-2 地址内存映射关系36表格 13 表3-3 8种传输类型46表格 14 表4-2 AHB/AHB桥接配置选项(属性)72表格 15 表4-3 AHB/AHB桥接信号73表格 16 表4-4 AHB/AHB桥接配置选项(属性)78表格 17 表4-5 AHB/AHB桥接信号78表格 18 表4-6 代码覆盖率79表格 19 表4-7 MCS FILES LIST79表格 20 表 4-8 The FPGA synthesis result of AHB-Lite80表格 21 表 4-9 The FPGA synthesis result of AHB80表格 22 表 4-10 The FPGA synthesis result of Multi-layer AHB81表格 23 表 4-11 The FPGA result of Multi-layer AHB(Dual Port RAM)81表格 24 表 4-12 The FPGA synthesis result of AHB-Lite-MEMCU81第一章 绪论1.1 总线的发展历史与现状总线概念的提出来源于计算机系统的构架,任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接,那么连线将会错综复杂,甚至难以实现。为了简化硬件电路设计、简化系统结构,常用一组线路,配置以适当的接口电路,与各部件和外围设备连接,这组共用的连接线路被称为总线。采用总线结构便于部件和设备的扩充,尤其制定了统一的总线标准则容易使不同设备间实现互连。微机中总线一般有内部总线、系统总线和外部总线。内部总线是微机内部各外围芯片与处理器之间的总线,用于芯片一级的互连;而系统总线是微机中各插件板与系统板之间的总线,用于插件板一级的互连;外部总线则是微机和外部设备之间的总线,微机作为一种设备,通过该总线和其他设备进行信息与数据交换,它用于设备一级的互连。另外,从广义上说,计算机通信方式可以分为并行通信和串行通信,相应的通信总线被称为并行总线和串行总线。并行通信速度快、实时性好,但由于占用的口线多,不适于小型化产品;而串行通信速率虽低,但在数据通信吞吐量不是很大的微处理电路中则显得更加简易、方便、灵活。串行通信一般可分为异步模式和同步模式。总线体系结构使得计算机系统具备了较高的兼容性,人们可以根据需求,以最小的变动灵活配置自己的计算机系统,扩充计算机系统的功能,从而使计算机厂家适应迅速变化的市场需求,效益是明显的。相比传统行业的技术发展,总线技术发展时间不是很长,但是发展变化的速度却是极快。以下回顾一下计算机总线的发展历程。计算机总线起源于20世纪60年代,由于集成电路技术的发展,使计算机系统的构成由分立的元器件向包括若干元器件的集成电路组成的功能模块过渡,厂商在设计计算机系统时,也由原来的把系统要实现的全部功能设计在一块大电路板上,向分成若干部分的功能模块板过渡,然后再把各个功能模块板插入计算机的设备框架中,这些框架用许多电缆线连在一起。由于插入和拔出功能模块板的便利性,使一些额外性能可安装在机器上。这些电缆线可以看作是最初的总线。1981年,IBM的一个研究小组推出了以8088为CPU的新一代个人计算机,为增加扩充能力也设计了总线。该总线被称为PC或PC/XT总线。由于IBM公司的巨大影响力,更由于IBM公司对其推出的个人计算机采取的开放战略,使个人计算机在技术上获得了巨大的成功。PC/XT总线自然成为了PC机及其兼容机的总线标准。1984年使用Intel 80286微处理器的IBM PC/AT计算机使用了自己的AT总线。AT总线规范从未公布过,但是由于IBM PC机和286微机的影响,AT总线约定俗成,竟形成了事实上的标准计算机总线,即ISA(Industrial Standard Architecture)总线。1987年IBM公司年推出它的PS/250型微机时,改用了新的总线微通道结构(Micro Channel Architecture). MCA总线采用了不少新技术:采用总线主控技术,从而可以控制当前数据的传输。系统总线还可通过总线仲裁机构控制多个总线主控制器。采用了这项技术,使得总线能够进行突发传输。中断采用电平敏感信号。可通过固件来设置硬件资源。整个系统设计特别注重抗电磁干扰。可用普通元器件和可编程逻辑器件构成。虽然MCA总线拥有技术上的先进性,但是由于IBM为了扩大市场份额采取了封闭的策略,并且其与之俱来的存储周期长和与已有硬件的不兼容性使它难以在竞争激烈的微机市场找回失去的天地,其影响力远远不如下面提到的EISA总线。1988年Compaq公司联合HP, AST, Epson, NEC, Olivetti, Tandy, Wyse, ZDS等约500家厂商,推出了与MCA竞争的EISA (Extended Industrial Standard Architecture)总线。EISA总线的最大特点就是百分之百与ISA总线兼容,从而使得采用EISA总线的微机在传统的PC机市场上占据了显著的有利位置。1989年出现了第一代的EISA芯片组82350。其优点是兼容性好,可靠性高,稳定性强;缺点是外围芯片太多。1991年后推出了第二代EISA芯片组82350DT。其优点是集成度高,性能更强,外围电路少;缺点是其二级Cache必须使用Intel的82485,这就限制了使用。Intel公司也于1977年推出的一种微机总线Multi-bus。最初是为Intel公司的80/86产品系列的使用而设计,但是由于其设计性能的先进性,以后在280,6800等芯片上也用得非常的好。1980年Multi-bus被IEEE标准化委员会推荐为IEEE 796标准。这种定义线数为86的总线,直接寻址能力可达1M字节,I/O端口寻址能力达到64k, Multi-bus在当时区别于其它总线的标准有二。一是提出“主从”的概念。系统中主设备控制Multi-bus接口,从设备根据主设备提供的设备地址编码和命令动作。在主从设备间交换信息时可允许不同速度的模块改用Multi-bus。二是在多重处理系统中能够连接多达16个主设备共享Multi-bus资源,这时它可按雏菊链优先权方式或并行方式向多主设备提供控制信号。这种总线之所以被称为Multi-bus,是因为在设计时实际上己提出了多总线的概念,即系统总线、局部总线和I/O扩展总线SBX, LBX。1985年美国Intel公司与ZILOq TEKTRONIX, NCR等18家公司正式推出,并由IEEE于1987年审定作为IEEE一P1296标准的Multi-bus II,它能支持32位,微处理器。Multi-bus II的最大贡献是将网络概念引入总线技术,允许在插件箱内用网络概念来组织多微处理器之间通过总线结构互连和通信,用类似局域网的通信规程来保证在一个多处理器系统中各处理器模板间的有效信息的传输。因而Multi-bus II被誉为首开现代总线之先河。1992年5月VESA(视频标准协会)制订局部总线标准VESA局部总线(简称VL)技术。VL与EISA不同,实际上不需要有专用芯片,成本只是EISA的一半。VL是按32位设计的,但同样支持16位,也可以向64位扩充。因此在CPU方面它支持386SX, 386DX, 486SX, 486DX, 486DX2和Pentium等Intel处理器。VL支持高速视频控制器,最大传输速率可以达到132MB/s,满足了图形用户界面和多媒体的需要。在提高性能的同时,VL bus也存在着缺点,由于VL bus不是很严格的标准,其工作稳定性也就因设计人员而异,这也是它的缺点之一。V L bus的扩展情况随所用CPU工作颇率而定,从而导致它的第二个缺点,兼容性差。V L bus的这些缺点导致了新一代标准总线PCI总线的兴起。1992年6月份Intel公司颁布了PCI外围部件互联局部总线V1.0规范。并于1993年4月颁布了PCI总线规范2.0版本。这项名为外围部件互连的总线有严格的规范,它保证了这种总线系统具有良好的兼容性,即符合PCI规范的扩展卡可插入任何PCI系统而可靠地工作。PCI与VL相比有以下优点:正式从32 位升级到64位;在突发方式下地址可无限地线性递增;传输率可增大1 倍; 扩展性极好;可允许5V 供电向3V 平滑过渡;与CPU 无关,与时钟频率无关,可用于各种平台,支持多处理器和并发工作。所有这些优点使得PCI得到了广泛的支持和应用,成为当前计算机主流局部总线。1996年7月Intel公司在PCI图形接口的基础上专为显示卡接口提出AGP标准。这是一种与PCI总线迥然不同的图形接口,它完全独立于PCI总线之外,直接把显卡与主板控制芯片联在一起,使得3D图形数据省略了越过PCI总线的过程,从而很好地解决了低带宽PCI接口造成的系统瓶颈问题。1997年英特尔推出了第一款支持AGP总线技术的Pentium II处理器用的芯片组,“440LX”,1998年英特尔制定了AGP2.0版本。在2002年9月发表了支持AGP 8x规格的AGP3.0最终版本,其向下兼容AGP2.0版本。以上的所描述的只是的总线发展在计算机领域的一个缩影。各个领域实际应用的总线协议远不止上述几种。例如流行的USB及IIC总线等等。而且,总线也没有停止发展的步伐,在2001年春节的Intel开发者大会上,Intel展示将用来替代PCI总线和各种不同内部芯片连接的第三代I/O总线技术,当时Intel称之为“3GI0,意为“第三代I/O标准”,后更名为PCI-express,它已被大家公认为下一代10年总线标准。1.2 IP互连策略及片上总线系统1.2.1 基于IP重用的设计方法学由于消费电子和通讯技术的飞速发展,SOC越来越成为IC业界广泛关注的焦点。SOC在一块硅片上集成了大量模块,包括处理器、微控制器、存储器、接口电路、专用电路等,因此,SOC意味着更大的设计规模。在SOC设计中,功能组装正在逐渐代替功能设计,而成为主流的设计方法。传统的设计方法中,无论是HDL还是原理图设计,重点都在于设计新的电路来实现系统功能。但是渐渐地,IC包含各种IP模块(微处理器、DSP、存储器等等),对于这种电路,工程师关注的焦点是:应该选择哪些功能模块、功能模块如何使用、如何进行软硬件的功能划分、如何进行模块互连、如何进行系统验证等等。比较起来,以功能组装为基础或以设计复用为基础的方法更能适应这种关注焦点的转移,从而满足SOC的设计需要。在现实的市场上,可以立刻重复使用的IP模块很少,因为许多IP在设计之初都是针对特定的应用,而很少考虑到要与外来电路搭配使用。IP模块本身的缺陷给IP集成带来的一系列问题有:IP模块的接口不能够和SOC定义的片上总线很好地匹配,IP模块提供的技术文档不完善,IP模块提供的技术支持不充分、不及时等。这些问题的关键在于IP的定义没有一个通用的接口标准,这是因为芯片实现的功能千差万别,性能方面的要求也由于应用领域的差异而不同,即使同样功能的IP模块在速度、面积、功耗、对外接口等方面也表现各异。国际上,一些大公司的解决办法是逐步定义公司内部甚至是几个公司间通用的片上总线标准。片上总线(on-chip bus)作为SOC集成系统的互连结构,可以把各个IP功能模块间的相互通信问题,包括数据格式、通信联络、时序、协议等方面,从而为设计人员免去相当大的精力去考虑如何将自己设计的功能模块和其他功能模块连接起来,使得IF模块集成起来更加方便。IP核是集成电路知识产权模块的简称,它是经过预先设计、预先验证,具有相对独立的功能,可以重复使用在SOC和复杂ASIC中的电路模块,在工业界,其又常被称为SIP。 IP产业最初起源于IC生产加工线所提供的标准单元库。IC设计公司使用单元库中的元件模型把基于高级语言的行为级描述转换为基于电原理图的网表。在一定意义上说,生产线提供预先设计好的“功能块”,而设计公司则是系统集成公司,只不过在这个层次上功能块的规模仍然十分小(逻辑门),设计公司的工作量仍然十分繁重。随着设计规模不断增长,一个合乎逻辑的发展是:增大标准功能块的规模,以减少设计公司的重复劳动,从而使设计周期仍然保持在合理的时间范围内。当标准功能块发展到现在的上万门规模时,一个独立于生产线之外的产业诞生了,这就是IP产业。IP产业以商品的形式为系统集成公司提供具有一定规模的功能块设计。目前业界普遍使用的是基于平台的SOC设计方法,这种方法能有效的加速某个系列的派生产品的开发。它通常是由SOC核供应商提供基本的平台结构,系统集成商从IP提供商处获得所需要的IP在已有的平台基础上重新构造自己的设计。一般来说SOC平台已经包含了一些系统所需的常用IP,如处理器核、外围设备、存储器、存储管理单元、总线仲裁器以及互连结构等,并且提供实时操作系统(RTOS, Real Time Operation System),整个平台同时也是一个完整的验证环境,可以对集成新的IP后的系统进行快速的验证。构建SOC设计平台,首先要考虑的便是如何把各功能IP模块集成起来,亦即片内互连结构如何定义,具体来说也就是各功能模块间的相互通信问题,包括数据格式、通信联络、时序、协议等方面;此外,在平台交付给用户进行随后的开发,互连结构也决定用户是否能快速方便地加入自己专用的或第三方的IP模块。对此国际上提出了许多不同的策略,但目前普遍被接受的仍是层次化片上总线的互连结构。1.2.2 几种常用的片上总线比较目前有较大影响的 IP核互连规范有IBM的CoreConnect总线、ARM的AMBA(Advanced Microcontroller Bus Architecture)、Silicore Corp的Wishbone、开放核心协议国际联合(OCP-IP)的OCP (Open Core Protocol)与虚拟插座接口连盟VSIA (Virtual Socket Interface Alliance)的VCI(Virtual Component Interface)、Altera的Avalon总线,以及PlamchIP的CoreFrame 、MIPS的ECTM Interface, Altera的AtlanticTM Interface、IDT的IPBusTM (IDT Peripheral Bus)、Sonics的SiliconBackplaneTM Network等,新的互连方案如基于PCI的方案也在积极发展中,下面就前面几种予以介绍。 IBM的CoreConnect总线CoreConnect总线的逻辑结构如图1-1所示。CoreConnect采用了总线分段的方式,提供了三种基本类型总线,即处理器内部总线PLB(Processor Local Bus)、片上外围总线OPB(On-Chip Peripheral Bus)和设备控制总线DCR(Device Control Register)。PLB提供了一个高带宽、低延迟、高性能的处理器内部总线;OPB则用于连接具有不同的总线宽度及时序要求的外设和内存;DCR用来在CPU通用寄存器与设备控制寄存器之间传输数据,以减少PLB的负荷,增加其带宽。表格 1 图1-1 CoreConnect总线的逻辑结构 ARM的AMBA总线AMBA总线的逻辑结构如图1-2所示。同CoreConnect相似,AMBA也采用分段多总线体系,定义了三种不同类型的总线:AHB、ASP和APB。AHB用于高性能、高数据吞吐部件,如CPU、DMA、DSP之间的互连,ASP用来作处理器与外设之间的互连,APB则为系统的低速外部设备提供低功耗的简易互连。系统总线和外设总线之间的桥接器提供AHB/ASP部件与APB部件间的访问代理与缓冲。表格 2 图1-2 AMBA总线的逻辑结构 Silicore的Wishbone总线Wishbone逻辑结构如图1-3所示。Wishbone采用的是主/从的构架,主、从部件通过内连网络进行互连。表格 3 图1-3 Wishbone逻辑结构wishbone更着重定义IP核的接口信号和总线周期标准以实现IP核的重用,而对主从部件互连的内连网络,它只是定义了点到点(point-to-point)、数据流(data flow)、共享总线(shared bus)、交叉开关(crossbar switch)四种不同形式,需由用户来灵活选择、生成、扩展,用户还可用两条Wishbone总线进行复杂系统的集成。 目前上很多共享IP都采用了该总线协议。 OCP-IP的OCPOCP 的IP核互连结构图如图1-4所示。OCP是基于定义一套完整通用IP核插座接口标准的互连方案,通过定义IP核与对应接口模块间点到点的接口信号协议,如数据信号、边带信号和测试信号等,来实现IP核的可重用、即插即用、认证及测试,及不同IP核接口的集成,点到点的接口方式简单且可完成数据的高速传输。对连接各接口模块的片上内连总线形式,OCP未作定义,由用户来扩展。 表格 4 图1-4 OCP 的IP核互连结构图VSIA同OCP相仿,也通过定义IP核的接口及点对点的方式来实现不同IP核的互连。OCP对接口定义更为完整,并且兼容VSIA,可以认为VSIA是OCP的一个子集。两个VCI通过总线互连的逻辑结构示意如图1-5所示。表格 5 图1-5 两个VCI通过总线互连的逻辑结构 Altera的Avalon总线Avalon总线是Altera 可编程片上系统SoPC(system-on-a-programmable chip)IP核互连解决方案, SoPC Builder 来完成整个系统模块(包括Avalon)的生成和集成。集成的系统示意图如图1-6所示。表格 6 图1-6 Avalon总线系统结构图其中 Avalon总线模块完成了整个可编程系统片上部件及外设之间互连,包括了控制、数据、地址信号及总线的仲裁。Avalon总线模块的一个逻辑示例如图1-7所示。表格 7 图1-7 Avalon总线模块逻辑示例图Avalon采用了开关结构及从部件仲裁方式提供对主部件的同时互连,外部件与Avalon时钟同步操作,使用非三态总线,主、从部件间多种带宽互连,支持数据流传输。Avalon同时对总线信号的定时、主从部件传输的信号作了定义,以便于不同IP核的集成。 Altera大部分结构复杂的IP都采用该标准。1.3 智能手机芯片设计要求与AMBA片上总线标准的优势1.3.1 智能手机芯片设计要求 模块标准化和可复用性对于复杂系统芯片来说,各模块并不能由一人或少数几人设计。开发和验证一般由好几个小组共同完成,甚至不同的模块由不同的设计公司提供。还有可能模块并不是同一时期的产物,是从过去继承或从市场上选择的(就是我们通常所说的IP)。多种多样的模块来源要求必须有统一的接口,以易于规范设计、即插即用。这样的概念已经在PC机的主机箱里发挥到极致,如PCI接口。现在只不过搬到了芯片内部,用来统一各个模块间的连接。统一的接口可以比自定义的私有互连更容易理解,接口标准化同时也推动了模块的重复使用。 验证层次的可划分性复杂的系统芯片不能一开始就做全系统的调试,需要按逻辑层次来划分验证层次。通常先验证模块或子系统,然后再全系统联调。如果一个模块没有统一的接口,而都是含义丰富的专用连线,很难保证测试的覆盖率,这些连线的测试激励或测试结果的跟踪对于验证工程师来说将是个巨大且痛苦的挑战。如果有一套统一的标准接口,验证工程师只需根据时间先后发出固定时序的信号,验证效率将得到极大提高。如果这个接口标准得到广泛应用,还有许多第三方资源可供利用,如专门的验证IP、EDA产品、甚至免费工程资源和使用经验等。现在的系统芯片动辄数百万门、上千万门,再加上存储器的面积,已经不是普通验证平台可以胜任的。不少公司推出了大型验证平台的产品,通常由许多巨大的FPGA阵列组成。在这样的平台上验证芯片,要求芯片的设计必须有简单的可划分性。一是功能的可划分性,二是拓扑结构的可划分性。如果模块间的互连信号太多又没有规律,功能上很难区分在不同的FPGA之间,逻辑连线也使普通的FPGA管脚不够用。如果模块间的互联统一简洁,那么在划分和调试的时候便很方便。对于复杂的系统芯片而言,内部模块的连接应该尽可能地标准化。1.3.2 AMBA总线协议的优势现有技术上比较成熟的片上总线标准其实数量不少,如OCP、CoreConnect、Wishbone等,而AMBA由于拥有庞大的AMBA使用者社区和广泛的使用比率,在众多的标准里脱颖而出。下面便主要介绍AMBA在各方面的优势。 AMBA在技术上的优势如果从数据传送角度来看,任何功能完整的存储器接口加上适当的握手协议,都可以满足片上总线的定义。但除了基本的数据访问功能外,AMBA还具有许多其他不可或缺的特性。首先,AMBA有优秀的握手协议,由专门的仲裁模块来决定各主设备的访问请求。这种优先级的设定是灵活而又随时可变的,这使系统总线的调度非常有效率。其次,AMBA2.0以上版本都是基于单沿时钟、单向信号线的协议。这使它非常适合于现代大规模集成电路设计自动化的要求,与EDA工具的耦合非常自然,容易达到更高的时钟频率。再次,AMBA的地址和数据相位间有流水线的关系,使存储器访问可以提前准备,使主设备间的切换不浪费额外的时钟周期,尤其特别适合与内置流水线的处理器接口。另外,AMBA2.0支持许多先进的访问方式,如连续型访问(burst)可以加快某些快速存储器的访问速度;离线型访问(split)可以让某些慢速设备在不占用总线的情况下,先将数据准备好,再发起相应的总线访问行为。在AMBA3.0中,对各种突发访问、乱序访问将有更好的支持。这些技术特点使AMBA可以运行在更高的时钟频率,在相同的频率下可以提供更高的数据吞吐量。从控制角度来看,AMBA2.0中定义了专门的外设总线来支持大量的慢速外设访问和寄存器控制。其次,ARM把很多处理器设计的经验带入了总线协议,在协议中加入了一些控制特性,如有关取指令还是取数据、用户模式还是特权模式、可否缓存等信息,这些信息在处理器以外的系统同样发挥重要的作用。支持这些协议的模块可以判断数据访问的目的和权限,对于运行操作系统的设备和注重安全性的设备非常有用。同时还可以增强数据交换的实时性,对于有通信功能和多处理器共享需求的系统非常关键。以上种种特点,可以体现出AMBA协议在功能上的优越性。 利于SOC的集成、验证和测试理想的总线标准应该让遵循它的各种部件可以即插即用,这种统一性又必须易于实现。AMBA协议是开放的总线协议,设计者采用该协议完全是免费。同时,市场上还有众多工具和IP公司提供基于AMBA的工具和服务,但在这个庞大的AMBA开发者社区里面,大家遵循的标准是严格统一的,能完全保证各个部分的即插即用性。这是很多其他总线标准的缺陷,要么得不到第三方支持,要么多方使用的协议类似但各有差异。正是因为AMBA易于实现的技术统一性造就了AMBA与众不同的地位。 良好的维护和发展前景因为总线标准的选择是一项基础性的工作,一旦确定,往往以后的所有设计工作都将基于它来进行,但同时技术的发展又是不断向前的。从工程师的角度来看,我们不能够期望今天使用的某项技术或标准可以一成不变地使用很多年。就片上总线标准来说,需要确定该标准和协议拥有优秀的技术维护力量,能够随着技术的变化发展不断演进。AMBA无疑满足了这些要求,它最先由ARM指定并维护,后来随着影响的扩大,许多知名半导体公司都为其发展完善作出了巨大贡献。1.4 课题的意义由于CMOS制造技术的快速发展,现今已经可以轻易的把数百万门的晶体整合到单一晶片IC(Intergrated Circuit)上。然而,虽然晶片设计密度一直随着摩尔定律成直线发展,但是设计生产力落差却逐渐拉开。也就是说采用传统的设计方式,我们所设计的电路无法充分的使用单颗IC的面积,因此造成制造成本的浪费。在如何使晶片尺寸更小、效能增加、成本降低、缩短产品上市时间,以及功率消耗更低的效益驱动下,SOC的应用得到持续的发展。透过重复使用的设计观念,将不同的供应商设计的IP快速、可靠地集成到SOC中,便成为当今一个重要的课题。本文对ARM公司的SOC片上总线既AHB总线协议作了详细的分析,包括了总线的系统架构,挂在总线上的设备模块接口的各种控制信号以及总线各种传输状态下的信号时序分析,在这基础上实现了AHB总线系统在智能手机芯片SOC设计当中的应用。第二章 AMBA总线架构分析2.1概述AMBA协定的目的是为了推出on-chip bus的规范,一开始的AMBA1.0只有ASB和APB,为了节省面积,所以这时候的bus协定都是tri-state的,而到后来2.0的AHB为了更方便设计者(tri-state bus要花更多精力去注意timing),因此AMBA bus改用multi-plexor的架构,并增加了新的特性。一个以AMBA架构的SOC一般包含了high-performance的system bus-AHB与low-power的peripheral bus -APB。System bus是负责连接如ARM之类的embedded processor与DMA controller,on-chip memory和其他interface,而peripheral bus则是用来连接系统的周边元件,其protocol相对AHB来讲较为简单,与AHB之间则通过Bridge相连,一个典型的AMBA架构如图2-1所示。表格 8 图2-1 AMBA架构图2.2 AMBA AHB总线协议2.2.1 AHB总线简介AHB总线是AMBA片内总线结构中的系统总线,它可以解决高性能可综合设计的要求,并
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届天津市和平区天津一中数学高二上期末达标检测试题含解析
- 2025年黑龙江省双城市兆麟中学高二化学第一学期期末考试模拟试题含解析
- 成都纺织高等专科学校《叙事研究》2024-2025学年第一学期期末试卷
- 2026届河北省邢台市巨鹿县二中生物高二上期末达标检测试题含解析
- 2025年电信客户服务代表劳动合同样本
- 2025高级工程师标准劳动合同
- 2025物业公司临时用工合同模板
- 2025年短视频内容创作者收益分配协议
- 2025农业种植(玉米)买卖合同
- 2025年专利转让代理合同
- 2025年行政岗位的笔试题及答案
- 变电检修大讲堂课件
- 数字媒体技术职业规划
- 2025医用耗材管理相关知识理论考试试题及答案
- 2025广西公需科目考试答案(3套涵盖95-试题)一区两地一园一通道建设人工智能时代的机遇与挑战
- 中华人民共和国两用物项出口管制条例考试试卷试题及参考答案
- 消费税税收政策课件
- 架子鼓教学基础课件
- 2025年江苏社会工作者考试真题-江苏社会工作者考试真题及答案
- 2025年江苏省选调生考试综合知识试题
- 牙克石市矿产资源开发环境承载力评价报告
评论
0/150
提交评论