011959_AMBAAHBAPB概述_第1页
011959_AMBAAHBAPB概述_第2页
011959_AMBAAHBAPB概述_第3页
011959_AMBAAHBAPB概述_第4页
011959_AMBAAHBAPB概述_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、AMBA总线概述 AMBA简介 随着EDA技术和深亚微米工艺制造技术的发 展,集成电路技术逐渐步入SoC时代。SoC 设计方法要求IP核具有很好的移植性和复用 性。On-chip Bus为不同的IP核提供了统一的 接口标准,设计者通过设计On-chip Bus将不 同功能的IP核有效便捷的集成在一个芯片上 成为一个片上系统。 AMBA简介 AMBA总线是由ARM公司提出的一种开放性 的片上总线标准,它独立于处理器和工艺 技术,具有高速度低功耗等特点,受到集 成电路设计行业的广泛欢迎。 AMBA简介 AMBA 总线体系 (Advanced Microcontroller Bus Architec

2、ture) 定义了三种总线 AHB(Advanced High-performance Bus) ASB(Advanced System Bus) APB(Advanced Peripheral Bus) AMBA发展 AMBA1.0:ASB & APB AMBA2.0:AHB & APB AMBA3.0 AMBA4.0 1.0版为了节省面积,Bus协议都为Tristate Bus (需要花费更多精力注意timing) 2.0版本后随技术革新,为方便设计者,Bus改 用Multiplexor架构。 AMBA总线体系 一个以AMBA架构的SoC,一般包含高性能 的系统总线AHB和低功耗的外设总线

3、APB。 系统总线(AHB)负责连接如嵌入式处理器、 DMA控制器、片上存储器和其他外设接口, 或者其他需求高带宽的元件。 而外设总线(APB)则用来连接系统周边的 外部设备,其协议相对AHB较为简单。 AHB与APB之间通过桥接器(Bridge)互联。 一个典型的AMBA系统 系统中的Master和Slave可按需求替换 AMBA AHB AHB( Advanced High-performance Bus )高级高性能总线 高速、高性能总线 Pipeline操作 支持多个Master(最多16个) 支持Burst传输 支持Split传输 Non-tristate Bus 单时钟边沿操作 A

4、MBA AHB AHB System由Master、Slave和Infrastructure构成 AHB Bus上由Master发起传输,Slave负责响应。 Infrastructure由Arbiter、M2S Multiplexor、S2M Multiplexor、Decoder、Dummy Slave、Dummy Master组成。 AMBA AHB AHB System支持Multiple Master,因此需要Arbiter仲裁。 Decoder负责地址译码从Multiple Slave中选择要响应传输的 Slave。 为了不使用三态总线(Tristate Bus),AHB中使用两个

5、 Multiplexor负责Bus上的Routing。 AMBA AHB Bus上传输的信号可分为: Clock Arbitration Address Control signal M2S Multiplexor Write data Read data Response signal S2M Multiplexor AMBA AHB信号 AMBA AHB BUS Interconnection 省略部分信号: 1.Control signal(HBURST、 HTRANS) 2.Master与Arbiter之间的 Request/Grant信号 3.Decoder与Slave之间的 Sel

6、ection信号 4.Control mux的output与 Arbiter之间的信号 (HTRANS/HBURST) 5.Response signal (HREADY/HRESP) 6.Arbiter输出的HMASTER 发起一个请求给仲 裁器 驱动地址和控 制信号 允许某个主设备控制总线 仅选中的从设备响应地 址/控制信号 拉高HREADY信号,总线 传输完成 AHB Transfer Basic transfer Address phase 传输address和control signal Data phase 传输write/read data和response signal 传输在

7、data phase时若一个clock cycle无法完成传 输,Slave可通过拉低HREADY信号延长传输,传输 结束时状态由Slave HRESP信号反映。 Master release address and controlSlave sample the address and control Master sample the data Not readyNot readyReady 一次transfer需要2 phases完成,为了增加Bus传输效率, AHB System引入pipeline。 AHB将multiple transfer的address phase和data p

8、hase重叠在 一起。 当前transfer的data phase与下一次transfer的address phase 重叠 当前transfer的data phase被延长将使下一次transfer的 address phase也跟着延长 AHB Transfer A AddressA Data B AddressB Data C AddressC Data AHB Control Signal AHB上的Control Signal共五类: HTRANS1:0 : Transfer Type HBURST2:0 : Burst Type HPROT3:0 : Protection Cont

9、rol HSIZE2:0 : Transfer Size HWRITE : Transfer Direction HTRANS1:0 Transfer Type,由Master发出: IDLE:空闲传输,只是Slave忽略目前transfer,用于Master没有数据 需要传输时,此时Slave在传输的data phase以零等待状态OKAY响应 主设备占用总线,但没进行传输 两次burst传输中间主设备发IDLE BUSY:在burst transfer时Master传输连续的数据给Slave,若Master 因为某些原因无法将数据即使准备好,此时使用BUSY transfer type 通

10、知Slave,和响应IDLE一样, Slave在传输的data phase以零等待状 态OKAY响应 主设备占用总线,但是在burst传输过程中还没有准备好进行下 一次传输 一次burst传输中间主设备发BUSY NONSEQ:非连续传输,当前transfer的address和control信号与前一 次传输无关 表明一次单个数据的传输 或者一次burst传输的第一个数据 地址和控制信号与上一次传输无关 SEQ:连续传输,当前transfer的address信号与前一次传输相关, control信号与前一次传输想同,通常用在burst transfer中。 表明burst传输接下来的数据 地址

11、和上一次传输的地址是相关的 HTRANS1:0 HTRANS1:0 The first transfer Master is busyThe subsequent transfer Slave not ready Slave ready Burst type,由Master发出: Burst type用来让AHB Master发出address彼此相关的连 续transfer(control信号相同) 8种Burst type Incrementing burst:每一次transfer的address是前一次 transfer的address加上transfer size Wrapping

12、burst:将存储器分割成transfer size transfer beat大小的一个个存储区域。当transfer address跨越存 储边界时,下一次transfer address将回到块区的起点。 HBURST2:0 HBURST2:0 对于固定长度的burst传输,不必持续请求总线; 对于未定义长度的burst传输,master应该持续送 出request信号,直到开始最后一次传输; 如果没有master请求总线,则给default master Grant信号接入总线,且HTRANS=IDLE; 建议master在锁定总线传输结束之后插入IDLE传输, 以重新仲裁优先级。 几

13、点说明 Transfer Direction、Transfer Size由Master发出: HWRITE为HIGH,Master在data phase将数据通过write data bus(HWDATA31:0)发往Slave HWRITE为LOW,Slave在data phase将数据通过read data bus (HRDATA31:0)发往Master HWRITE & HSIZE2:0 Protection Control由Master发出: HPROT3:0可以让master 提供额外的保护信息 AHB Spec. 未规定所有的master 都要指示精确的保护信息,所以 slave

14、 在设计时若非必须,尽量不要使用HPROT信号 若master 没有protection transfer的考虑, HPROT3:0可以output = 4b0001 HPROT3:0 AHB Decoder AHB系统中有一个核心地址译码器,它提供HSELx信号到各 个AHB Slave; Decoder本身只负责位地址译码,为纯组合逻辑电路; Slave只有在HSELx和HREADY都为High才采样地址/控制信号; AHB地址线有32条,为简化译码器译码时间,AHB Spec.规 定每个Slave的最小地址空间为1KB,因此译码器最多只需 要对22条地址线进行译码。 Address De

15、coding AHB Decoder Slave可通过HREADY信号extend transfer(插入wait cycle), transfer结束时,HREADY在data phase为High。 Slave还可以使用HRESP1:0去响应主机传输结束时候的状 态 HRESP1:0可以在transfer结束时表示四种status OKAY ERROR RETRY SPLIT AHB Slave Response OKAY:transfer成功完成 ERROR:传输失败或出错。可能的原因例如企图 写入read-only的memory location;读写根本不存 在的memory loc

16、ation。 RETRY和SPLIT:Slave响应当前传输需要多个bus cycle来完成,为避免因为当前transfer将bus一直占 用或者锁死,Slave响应RETRY/SPLIT给master表示 当前transfer未完成,master需要重新发出请求, 重试。而此时arbiter可以将bus释放给其他有需要 的master使用。 AHB HRESP1:0 ProcessorAMBA Write Mem E Mem A Mem B Mem D Mem C Slave I couldnt write it because of no mem E! AHB HRESP1:0 AHB H

17、RESP1:0 Mem A Mem B Mem D Mem C Slave Processor AMBA Write Mem A I couldnt write it now for busy! You could retry write it latter! BUSY RETRY与SPLIT区别: RETRY response:arbiter内master优先级不变,当有更高优先级的 master request时,arbiter授予高优先级的master bus access。若原 来得到RETRY response的master是当前申请接入总线优先级最高的 master,则bus依然被

18、占用而无法释放给其他master。 SPLIT response:当master收到SPLIT response时,arbiter将当前 master的优先级mask起来,此时该master无法再获得bus access权 力,即使没有其他master向arbiter发出总线接入请求也一样。若所 有master都收到SPLIT response,则arbiter将总线接入权限交给 dummy master(只会发出IDLE transfer的主机)。当响应SPLIT的 Slave处理完transfer的要求后将发送HSPLIT信号给arbiter,此时 arbiter将相应的master优先级

19、unmask,恢复优先级的master将重新 申请接入总线完成传输。 AHB HRESP1:0 RETRY与SPLIT特点: SPLIT response较RETRY response能使较低优先级的master在合理的 情况下接入总线完成transfer。 Slave通过arbiter发出的HMASTER记录master的number以通知arbiter 恢复哪个master的优先级。 注意: AHB并没有强制规定Slave必须支持RETRY或SPLIT响应,Slave可以只 用HREADY去delay对transfer的响应(Spec.建议delay不要超过16 cycle)。 HRESP

20、1:0四种响应中只有OKAY为one cycle,其余三个响应都是 two-cycle response,在这两个cycle中HRESP维持回应的status不变 而HREADY在第一个cycle为Low,第二个为High。 AHB HRESP1:0 之所以需要两个周期是因为AHB传输为流水线操作,当前传输的数据 周期和下一传输的地址周期是重叠的。而ERROR/RETRY/SPLIT三种相应 都可能因为当前传输未成功而影响到下一传输,因此需要master取消 下一传输。 AHB HRESP1:0 在Slave决定会用何种响应给master之前,需要几个wait cycle去判断, 在wait

21、cycle期间除了将HREADY drive LOW外还需要将HRESP drive OKAY。 AHB HRESP1:0 AHB为支持Multi-Master的Bus system,但同一时间只允许一个master 接入总线,因此需要Arbiter进行Arbitration。 当master想要接入总线时,master将HBUSREQ drive high。 同一时间可能有多个master请求接入总线,因此需要Arbiter进行 Arbitration。 Arbiter 在HCLK上升沿采样HBUSREQ ,并将最高优先级master的 HGRANT signal drive HIGH,表示

22、该master可以接入总线。 若已经有master接入总线,此时arbiter将当前master的HGRANT signal drive LOW。 AHB没有规定的优先级算法,由设计者根据需求自定。 AHB Arbitration 当master正在进行fixed-length burst transfer时,若有高优 先级master请求接入总线,arbiter可以等待当前burst完成 后再将总线授予新的master,也可以立即中断当前master 的总线接入权限并授予更高优先级的master去接入总线, 而当前master需要重新发出request等待下次授予总线来完 成transfer

23、。 若想要master进行连续传输而不被中断,则在master申请 总线接入时将HLOCK drive HIGH,告知arbiter transfer不可 被中断,则当该master获得总线接入权限时,arbiter将不 会释放总线给其他master直到master自行将HLOCK drive LOW。Arbiter将重新进行Arbitration判断。 AHB Arbitration 由于pipeline operation,当前传输的data phase和下一个传 输的address phase重叠,所以当前一个主机传输的data phase被Slave延迟时,当前master的addre

24、ss phase也被延迟。 只有当master的HGRANT被断言且HREADY为High,才能在 下一周期接入总线。 HREADY为Low阶段(HGRANT为High但还未接入总线), arbiter可以根据优先级随时更改总线授予权限。 Arbiter决定在burst后转换bus所有权时,会在倒数第二个 transfer的address phase被采样后改变HGRANT信号,新的 HGRANT信号将跟最后一个transfer的address同时被采样。 AHB Arbitration 没有等待状态的总线授予 AHB Arbitration 有等待状态的总线授予 AHB Arbitratio

25、n 地址总线因前一个master的transfer被延迟 AHB Arbitration burst传输后总线移交 AHB Arbitration AHB Arbitration Default Master & Dummy Master 当系统中没有master向arbiter发出请求是,arbiter将总线 接入权限交给default master。 Default master通常为接入总线频率最高的master,这样可 以减少default master向arbiter申请接入总线的总线移交周 期。 Dummy master没有HBUSREQ信号接入arbiter,它只在两种 情况被授予总线。 当所有mas

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论