双层AMBA总线设计及其在SoC芯片设计中的应用.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《双层AMBA总线设计及其在SoC芯片设计中的应用.docx》由会员分享,可在线阅读,更多相关《双层AMBA总线设计及其在SoC芯片设计中的应用.docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、双层AMBA总线设计及其在SoC芯片设计中的应用双层AMBA总线设计及其在SoC芯片设计中的应用ronggang导语:本文给出的双层AMBA总线设计能极大地进步总线带宽,并使系统架构更为灵敏。文章具体介绍了此设计的实现,并从两个方面对两种总线方式进展了比拟摘要:AMBA总线是目前主流的片上总线。本文给出的双层AMBA总线设计能极大地进步总线带宽,并使系统架构更为灵敏。文章具体介绍了此设计的实现,并从两个方面对两种总线方式进展了比拟。关键词:双层AMBA总线;总线带宽;SoC一般讲来,SoC芯片是由片上芯核、用户设计的IP核以及将这两者集成在一起的总线组成的。片上芯核决定了使用何种片上总线以及芯
2、片的体系构造。ARM系列嵌入式微处理器凭借其高性能、低功耗的特点占据了市场的主要份额,ARM7TDMI因其相对低廉的价格在SoC芯片设计中应用比拟广泛。同时,ARM公司开发的AMBAAdvancedMicroprocessorsBusArchitecture片上总线架构由于其本身的高性能以及ARM核的广泛应用,成为了一种流行的片上总线构造。除了片上芯核和片上总线,各种由用户设计的或由供给商提供的IP也集成在SoC芯片上。ARM7TDMI需要通过总线访问各个Slave;DMA工作时也需要通过总线访问外设进展数据交换;而LCD控制器模块为了实现实时显示更是需要不断地通过总线来访问显存读取数据;系统
3、中其他的Master在工作时也要占用总线。十分要引起留意的是LCD控制器模块。彩屏显示需要很大的数据量,以一块320240、16bpp的TFT彩屏为例,其每一帧需要:32024016/8=153.6kByte。这么大的数据量不可能通过片上存储器提供,势必要通过存储器接口从外设获得。由于LCD控制器所需要的数据量很大并且需要实时显示,LCD控制器的工作将会占据大量的片上总线带宽,甚至影响整个系统的正常运行。而在目前的消费电子领域,支持彩屏应用几乎是不可缺少的。解决此问题可以通过采用优化总线切换算法、增加片内Cache、改良总线架构等方法。其中,优化总线切换算法带来的性能改善比拟有限,而Cache
4、本身设计的复杂性以及其License高昂费用,使之在很多情况下也不适宜。因此,采用双总线架构的AMBA不失为一个较好的选择。双总线架构AMBA及其实现在单层总线情况下,所有的Master和Slave都挂在AHB总线上。任何一个Master假如要访问Slave的话,都必须先申请总线,在获得总线所有权后,通过总线互联构造中的MUX进展地址、数据和控制信号的交换,而其他的Master此时必须等待。双层AMBA总线构造双层AMBA总线架构那么通过使用更为复杂的内部互联构造,可以同时有两组Master和Slave通过AMBA进展数据的交互,极大地进步了总线的带宽。而且任一个Master也都可以访问任一层
5、上的Slave。另外,在采用了双层AMBA总线以后,对于AHBMaster和AHBSlave来讲是透明的,不需要任何的修改。对于这个双层AMBA总线,设置其能支持16个Master和16个Slave,并且每层各带8个Master和8个Slave。其中的双层AMBA总线本身由三局部组成:Layer1的总线译码器、预仲裁器和多个数据选择器MUX;Layer2的总线译码器、预仲裁器和多个数据选择器;整个总线的核心仲裁器Arbiter。其中,前二者根本是一致的,而核心仲裁器是整个双层总线架构的核心。其原理是:每层的8个Master先在本层进展一次译码与仲裁,得到的结果送至核心仲裁器,再由核心仲裁器决定
6、状态的切换以及各个MUX怎样进展数据流和控制流的选择。内部部件的设计结合AMBA协议,以下介绍这个双层AMBA总线的各个组成部件。由于第二层的各个部件的设计和功能和第一层相似,因此只介绍第一层。Layer1的译码器该译码器采用集中式的地址译码机制,有利于进步外围设备的可移植性。译码器接收到当前占用总线的Master所发出的地址信号,生成对应于各个Slave的片选信号,送给核心仲裁器。片选信号的生成是通过与各个Slave的基址比拟得到的。值得留意的是,由于每个Master都可以访问Slave0Slave15的任一个,所以译码器要能生成至少16个片选信号。另外,每一层的译码器都应该要有一个缺省片选
7、信号,对应于缺省Slave。这个缺省Slave的响应分两种情况:对于IDLE或者BUSY传输,作出OKAY回应;对于NONSEQUENTIAL或者SEQUENTIAL传输,作出ERROR回应。Layer1的预仲裁器仲裁器接收各个Master发出的总线恳求信号HBusReq和所需的总线切换的判定信号,采用一定的总线仲裁算法,确定出可以占据总线的Master,并生成MtoSMUX1的控制信号。与单层的AMBA不同,其生成的HMaster_layer1、BusHgrant_layer1信号送到核心仲裁器,而不是直接送给各个HMaster。另外,接收到的当前Slave响应是从核心仲裁器送出来的。仲裁器
8、可以采用的总线切换算法有两种:固定优先级算法和循环优先级算法。在AMBA标准中,可以根据实际需要灵敏选择总线的切换算法。在这个部件里,采用了固定优先级的算法,即Master0优先级最低,而Master7优先级最高。Layer1的多路选择器在Layer1中共有4个MUX,分别是MtoSMUX1、MtoSMUX2、StoMMUX1和StoMMUX2。其中,MtoSMUX1接收Layer1仲裁器的信号作为片选信号,从8组总线信号中选择一组输出给核心仲裁器、Layer1的MtoSMUX2和Layer2的MtoSMUX2。对于MtoSMUX2,其控制信号是从核心仲裁器得到的,它的作用是从两组总线信号中选
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 双层 AMBA 总线 设计 及其 SoC 芯片 中的 应用
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内