双层AMBA总线设计及其在SoC芯片设计中的应用

发布者:Tianran2021最新更新时间:2015-04-16 来源: eechina关键字:双层AMBA总线  SoC芯片 手机看文章 扫描二维码
随时随地手机看文章
一般说来,SoC芯片是由片上芯核、用户设计的IP核以及将这两者集成在一起的总线组成的。片上芯核决定了使用何种片上总线以及芯片的体系结构。ARM系列嵌入式微处理器凭借其高性能、低功耗的特点占据了市场的主要份额,ARM7TDMI因其相对低廉的价格在SoC芯片设计中应用比较广泛。同时,ARM公司开发的AMBA (Advanced Microprocessors Bus Architecture)片上总线架构由于其本身的高性能以及ARM核的广泛应用,成为了一种流行的片上总线结构。除了片上芯核和片上总线,各种由用户设计的或者由供应商提供的IP也集成在SoC芯片上。图1是基于ARM7TDMI、面向消费电子领域的SoC芯片的模块结构图。 

由图1可知,ARM7TDMI需要通过总线访问各个Slave;DMA工作时也需要通过总线访问外设进行数据交换;而LCD控制器模块为了实现实时显示更是需要不断地通过总线来访问显存读取数据;系统中其他的Master在工作时也要占用总线。 

特别要引起注意的是LCD控制器模块。彩屏显示需要很大的数据量,以一块320×240、16bpp的TFT彩屏为例,其每一帧需要:320×240×16/8=153.6kByte。这么大的数据量不可能通过片上存储器提供,势必要通过存储器接口从外设取得。由于LCD控制器所需要的数据量很大并且需要实时显示,LCD控制器的工作将会占据大量的片上总线带宽,甚至影响整个系统的正常运行。而在目前的消费电子领域,支持彩屏应用几乎是不可缺少的。 

解决此问题可以通过采用优化总线切换算法、增加片内Cache、改进总线架构等方法。其中,优化总线切换算法带来的性能改善比较有限,而Cache本身设计的复杂性以及其License高昂费用,使之在很多情况下也不合适。因而,采用双总线架构的AMBA不失为一个较好的选择。

双总线架构AMBA及其实现 

在单层总线情况下,所有的Master和Slave都挂在AHB总线上。任何一个Master如果要访问Slave的话,都必须先申请总线,在获得总线所有权后,通过总线互联结构中的MUX进行地址、数据和控制信号的交换,而其他的Master此时必须等待。 

双层AMBA总线结构 

双层AMBA总线架构则通过使用更为复杂的内部互联结构,能够同时有两组Master和Slave通过AMBA进行数据的交互,极大地提高了总线的带宽。而且任一个Master也都可以访问任一层上的Slave。另外,在采用了双层AMBA总线以后,对于AHB Master和AHB Slave来说是透明的,不需要任何的修改。 

图2是本文设计的双层AMBA总线的内部结构图。对于这个双层AMBA总线,设置其能支持16个Master和16个Slave,并且每层各带8个Master和8个Slave。 

其中的双层AMBA总线本身由三部分组成:Layer1的总线译码器、预仲裁器和多个数据选择器(MUX);Layer2的总线译码器、预仲裁器和多个数据选择器;整个总线的核心仲裁器(Arbiter)。其中,前二者基本是一致的,而核心仲裁器是整个双层总线架构的核心。其原理是:每层的8个Master先在本层进行一次译码与仲裁,得到的结果送至核心仲裁器,再由核心仲裁器决定状态的切换以及各个MUX如何进行数据流和控制流的选择。 

内部部件的设计 

结合图2和AMBA协议,以下介绍这个双层AMBA总线的各个组成部件。由于第二层的各个部件的设计和功能和第一层相似,因而只介绍第一层。 

* Layer1的译码器 

该译码器采用集中式的地址译码机制,有利于提高外围设备的可移植性。译码器接收到当前占用总线的Master所发出的地址信号,生成对应于各个Slave的片选信号,送给核心仲裁器。片选信号的生成是通过与各个Slave的基址比较得到的。 

值得注意的是,由于每个Master都可以访问Slave0~Slave15的任一个,所以译码器要能生成至少16个片选信号。 

另外,每一层的译码器都应该要有一个缺省片选信号,对应于缺省Slave。这个缺省Slave的响应分两种情况:对于IDLE或BUSY传输,作出OKAY回应;对于NONSEQU ENTIAL或SEQUENTIAL传输,作出ERROR回应。 

* Layer1的预仲裁器 

仲裁器接收各个Master发出的总线请求信号(HBusReq)和所需的总线切换的判断信号,采用一定的总线仲裁算法,确定出可以占据总线的Master,并生成M to S MUX1的控制信号。与单层的AMBA不同,其生成的HMaster_layer1、BusHgrant_layer1信号送到核心仲裁器,而不是直接送给各个HMaster。另外,接收到的当前Slave响应是从核心仲裁器送出来的。 

仲裁器可以采用的总线切换算法有两种:固定优先级算法和循环优先级算法。在AMBA规范中,可以根据实际需要灵活选择总线的切换算法。在这个部件里,采用了固定优先级的算法,即Master0优先级最低,而Master7优先级最高。 

* Layer1的多路选择器 

在Layer1中共有4个MUX,分别是M to S MUX1、M to S MUX2、S to M MUX1和S to M MUX2。其中,M to S MUX1接收Layer1仲裁器的信号作为片选信号,从8组总线信号中选择一组输出给核心仲裁器、Layer1的M to S MUX2和Layer2的M to S MUX2。对于M to S MUX2,其控制信号是从核心仲裁器得到的,它的作用是从两组总线信号中选择一组送给Layer1中相应的Slave。而S to M MUX1则是接收核心仲裁器输出的片选信号,从Layer1的8组总线响应信号(Hready、Hresp、Hrdata)选择一组送给核心仲裁器、Layer1的S to M MUX2和Layer2的S to M MUX2。由S to M MUX2输出一组总线响应信号给Layer1的所有的Master。   

* 核心仲裁器 

核心仲裁器的主要作用是:从两层的译码器输出的片选信号出发,得到初始状态;再由Slave的响应信号以及传输状态来决定何时进行状态的切换;同时,根据自己所处的状态,输出相应信号给相关的MUX作为控制信号,输出Hmaster、BusHgrant信号给每层的Master,以及输出相应的Slave响应信号给两层的预仲裁器。 

由于存在不同层的Master同时访问同一层的Slave的情况,核心仲裁器也要考虑总线切换算法。又因为在核心仲裁器里至多是两个Master抢占总线,故可以采用简单的循环优先级算法。 

核心仲裁器的主要部分是一个状态机,它由七个状态组成: 

IDLE:系统复位后进入此状态,完成部分数据的初始赋值; 
M1S1M2S2:Layer1的Master和Layer1的Slave通信,Layer2的Master和Layer2的Slave通信,即两层总线并行运行; 
M1S2M2S1:Layer1的Master和Layer2的Slave通信,Layer2的Master和Layer1的Slave通信; 
M1S1M2S1:Layer1的Master和Layer1的Slave通信,Layer2的Master在等待和Layer1的Slave的通信; 
M1S2M2S2:Layer1的Master和Layer2的Slave通信,Layer2的Master在等待和Layer2的Slave的通信; 
M2S1M1S1:Layer2的Master和Layer1的Slave通信,Layer1的Master在等待和Layer1的Slave的通信; 
M2S2M1S2:Layer2的Master和Layer2的Slave通信,Layer1的Master在等待和Layer2的Slave的通信。 

这七个状态之间的切换是由两层译码器给出的片选信号、当前占据总线的Master发出的控制信号以及与此Master通信的Slave的响应信号共同决定的。当涉及到ARM Master的状态切换,需考虑三级流水线特性,给予适当的等待周期。 

另外,在核心仲裁器里还有一级输入锁存部分,用于锁存正在等待的Master发出的地址和控制信号。 

设计结果以及测试平台的建立 

对于以上实现,采用Verilog语言在RTL级进行描述,使用Synopsys的VCS工具进行功能仿真。为了验证以上设计的正确性,针对图1所示的架构,把单层AMBA改为双层的AMBA,并把LCDC Master和LCDC Slave移至第二层。同时在第二层增加了一个简单的MC Slave,并在其外面挂了SRAM、SDRAM的存储器模型,其中的SDRAM用于LCDC Master显存数据的存放,其他的结构保持不变(如图3)。同时,还准备了一套基于ARM汇编语言的测试程序进行系统的配置。在这个测试程序运行以后,共有三个Master:ARM Master、DMA Master和LCDC Master会不断访问总线。 

结果表明设计是正确的:ARM Master可以对Layer2的Slave进行配置;在第二层的LCDC Master从同层的MC Slave读数据的同时,第一层的Master正在访问同层的Slave;Layer1的其他Master也能够申请到Layer2的总线以访问Layer2的外存。 

另外,为了考察LCD控制器对总线的占用率,在AHB上挂了一个Hmaster Monitor的子模块,用于统计各个Master占据当前总线的时钟周期数。 

两种总线方式的比较 

从两个方面比较单层AMBA总线与双层AMBA总线的设计。 

首先,从降低LCD控制器总线占用率方面看。由表1可以看出,在使用单层AMBA总线的情况下,LCD控制器占用的总线带宽都比较大:对于典型的320×240、16bpp的TFT彩屏,LCD控制器占用了16.3%的总线带宽。使用双层AMBA总线时,除了ARM Master 对两个Slave进行配置要占总线周期以外,LCD控制器将只会占用Layer2的带宽。 

其次,从综合的结果看,双层AMBA占用的面积要大一些。在包括APB模块的情况下,单层AMBA综合得到的面积为17000门,而双层AMBA的面积为18500门。两者都支持16个Master和16个Slave。采用TSMC 0.25工艺标准单元库,使用Synopsys的Design Compiler工具进行门级网表的综合。 

对于双层AMBA总线的实际的应用,可以把Layer1的MC Slave外接非易失性存储器,而Layer2的MC Slave外接易失性存储器。这样,可以把指令区置于Layer1,而数据区置于Layer2。于是,ARM Master的取指操作就可以在Layer1完成,而LCD控制器对显存数据的读取则在Layer2完成。而这两者恰恰是占总线带宽很大的操作,因而很大程度上减少了各个Master因为总线抢占而等待的时间,提高了总线带宽。 

结语 

ARM7TDMI在SoC芯片的设计中得到了极大的应用,但由于其自身不带Cache,使之需要频繁访问外存。如果此时片上集成了其他需要很大数据带宽的模块,就会使系统的性能大幅下降。而双层AMBA总线在占用面积略为增加的条件下,能极大地提高总线带宽,并且提供了更为灵活的系统架构。这对于基于ARM7TDMI的SoC芯片以及其他类似架构的SoC芯片来说,有着很重要的意义和实用价值。
关键字:双层AMBA总线  SoC芯片 引用地址:双层AMBA总线设计及其在SoC芯片设计中的应用

上一篇:基于MDK RTX的Cortex-M3多任务应用设计
下一篇:用梯度均值法提高LPC2138的A/D分辨率

推荐阅读最新更新时间:2024-03-16 13:58

今年将有50多款芯片由台积电7nm代工:骁龙SoC在内
作者:万南 虽然本周三星宣布7nm LPP量产,且还导入了EUV光刻技术,但事实上,基于台积电7nm打造的苹果A12芯片、华为麒麟980等都已经商用,三星7nm的成品仍旧是个未知数,保守来说,或许要等到明年的新Exynos SoC和骁龙5G基带面世了。 台积电CEO魏哲家表示,预计今年四季度,7nm晶圆的营收将占到总营收的超过20%,全年的10%,2019年则超过20%。不过,技术工艺上,即便是2019年,台积电7nm的订单也多基于第一代7nm,EUV光刻优化过的新一代工艺计划2020年量产。 2018年结束前,基于台积电的7nm的IP方案将有超过50套,2019年将超过100套,包括第一代7nm和第二代7nm EUV。 业内消息
[半导体设计/制造]
韩国IT-SoC协会组团参展IIC,数字多媒体芯片表现亮丽
继2005年首次组团参展IIC之后,韩国IT-SoC协会于再次亮相IIC 2006上海站,并以鲜明的橙色外墙以及响亮的“Dynamic u-Korea”(动感韩国)口号吸引了众多工程师的驻足参观。IT-SoC协会目前在韩国有130余家成员单位,2004年这些企业的平均销售收入增长率超过了200%,其中增长最快的企业更是超过了500%。通过这些数字,我们不难发现该国系统级芯片产业的巨大发展潜力。 韩国IT-SoC协会组团参展IIC。 与上届相比,此次组团来沪的企业数目依然为10家。但是参展产品却发生了变化。韩国IT-SoC协会负责人李敏荣表示:“去年参展企业以样品展示居多,今年的企业更多的则是
[焦点新闻]
浅谈使用可定制微控制器高效开发系统级芯片 (SoC)
 为了应对成本、尺寸、功耗和开发时间的压力,许多电子产品都建构于系统级芯片 (SoC)之上。这个单片集成电路集成了大多数的系统功能。然而,随着这些器件越来越复杂,要在有限的时间里经济地进行产品开发以满足产品上市时间的压力已变得越来越困难。SoC集成了一些可编程部件 (特别是微控制器),使得其软件开发与硬件开发同样的昂贵和耗时。   使用基于业界标准、带有片上存储器和各种标准接口的ARMò处理器,再加上面向特定应用逻辑和非标接口的金属可编程模块 (MP模块),构成的可定制微控制器是切实可行的SoC开发方法,能够解决上述问题:   -采用预先已经准备好的基础晶圆,仅针对定制部分添加金属层,可以缩短器件生产制造的时间。   -最大
[工业控制]
浅谈使用可定制微控制器高效开发系统级<font color='red'>芯片</font> (<font color='red'>SoC</font>)
集成RF收发器的MCU系统级芯片(SoC)的RF60技术平台
深圳市惠贻华普电子有限公司是 无线射频 和数字传感器领域最成功的开发、生产企业之一,产品包括高频三极管等分立元件、RF芯片与模块、数字传感器。拥有先进的RF整机电路及RF元器件的测试设备和温湿度、气压传感器的封装校准设备,拥有丰富实践工作经验的工程技术队伍.为迎合市场竞争,公司推行组件销售与组件应用技术支持相结合的全程服务,并可协助客户进行RF及温湿度、气压相关产品的方案开发。   目前公司新推出的RF60技术平台 – 集成了 RF收发器 的超低功耗MCU系统级芯片(SoC)(国际领先技术), 为基于微处理器 (MCU) 的应用提供业界最高性能的单芯片射频 (RF) 系列。使射频设计变得简单、小巧、功能丰富和节能,AES12
[模拟电子]
英特尔发布首款基于至强处理器的系统芯片SoC)产品
英特尔公司发布了英特尔至强处理器D产品家族,这是其首款基于至强处理器的系统芯片(SoC)产品。它采用英特尔业界领先的14纳米制程技术生产,将英特尔至强处理器的卓越性能和先进智能特性,与系统芯片的尺寸及节能优势融合在一起。   当前,互联设备数量的迅猛增长正在推动数据流量的指数级增长,这提升了云服务提供商和电信服务提供商对数据中心及网络基础架构的需求。由于这些客户希望更为高效地扩展其网络基础设施,同时寻求快速交付创新且能创收的服务,因此他们正在迁移至标准的英特尔架构,以求为业务提供其所需的,横跨数据中心和网络的技术方案及一致性。   英特尔至强处理器D产品家族为客户提供了更多新选择,以满足他们对低功耗、高密度基础设施类解决
[单片机]
瓴盛科技11nm AIoT SoC芯片发布,相比28nm功耗降70%
流片成功后仅数月时间,瓴盛科技正式发布其首颗AIoT SoC产品JA310芯片。 8月28日,2020 AIoT高峰论坛暨瓴盛“芯视觉”产品发布会在成都市双流区隆重召开,会议现场瓴盛科技重磅发布其首颗AIoT SoC产品JA310芯片。 该款JA310芯片是瓴盛科技落户双流以来自主研发的首款芯片,为成都双流做强做优电子信息产业生态圈注入了新动能,更是践行“三个转变”、推动高质量发展的有力见证。 瓴盛科技表示,该芯片充分地利用公司研发团队积累多年的丰富的多媒体和手机芯片开发经验,成功转型在AIoT领域落地,实现了对公司深厚研发积淀的传承和再创新发展,更是进击当前新基建东风下万亿级AIoT市场中最响亮的产业集结号。 开拓万亿级监控
[手机便携]
Google Pixel 6系列将不再采用骁龙 SoC,GS101芯片即将问市
谷歌预计将在今年 10 月发布 Pixel 5 的迭代产品,去年 10 月,谷歌首席执行官 Sundar Pichai 在 2020 年第三季度财报会议上表示,该公司正在对硬件进行更深入的投资,并为 2021 年制定了出色的计划。当时,许多人的解读是,该公司可能正在研发代号为“Whitechapel”的自家处理器。 9to5Google 分享的最新信息显示,即将于秋季推出的 Pixel 智能手机可能是首批采用“GS101”Whitechapel 芯片的智能手机之一。因此,Pixel 6 系列可能不会采用高通的骁龙 SoC。 就像苹果使用自己的芯片来驱动 iPhone 和 M
[焦点新闻]
Google Pixel 6系列将不再采用骁龙 <font color='red'>SoC</font>,GS101<font color='red'>芯片</font>即将问市
下代22nm Atom细节:单芯片SoC大一统
Atom不会死,生命力还顽强得很,并且慢慢向嵌入式工业领域倾斜。近日,百度文库中出现了一份Intel官方文档,其中就泄露了下一代22nm Atom的大量技术细节。 首先解释一下新平台的三个代号:Bay Trail代表整个平台,对应现在的Cedar Trail;Valleyview是代表处理器的,对应现在的Cedarview;Silvermont是代表处理器内核的,对应现在的Saltwell。由于新平台会首次采用SoC单芯片设计,将处理器、芯片组封装在一起,所以这三个代号很大程度上其实是一回事儿。 Valleyview处理器使用22nm新工艺制造,核心数量1个、2个或者4个(首次出现四核心),主频暂定1.2-2.4
[半导体设计/制造]
下代22nm Atom细节:单<font color='red'>芯片</font><font color='red'>SoC</font>大一统
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved