ahbaxiocp总线协议分析.doc_第1页
ahbaxiocp总线协议分析.doc_第2页
ahbaxiocp总线协议分析.doc_第3页
ahbaxiocp总线协议分析.doc_第4页
ahbaxiocp总线协议分析.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

ahbaxiocp总线协议分析 AHB总线?AMBA-Advanced MicrocontrollerBus ArchitectureAdvanced High-performance Bus(AHB)Advanced SystemBus(ASB)Advanced PeripheralBus(APB).AHB的主要特点?高性能、高带宽,两级流水线?支持复杂的总线拓朴结构?更宽的数据线位宽(32/64/128bits)?基于Burst的数据传输?单周期总线授权转移?时钟上升沿操作?无三态应用,读写数据线相互独立一个典型的基于AHB总线的微控器一个典型的基于AHB总线的微控器由高性能的系统中枢总线、可支持的外部总线接口、内部CPU和DMA控制器接口和基于APB的低速外围设备总线接口AHB的组成?AHB master总线主设备能提供地址和控制信息来对数据进行读写操作。 即主设备发起数据传输。 ?AHB slave总线从设备对主设备发起的数据传输做出响应,响应读写数据操作并返回状态信号给总线主管来完成成功、失败或者等待的数据传输。 ?AHB arbiter总线仲裁负责选择合适的主设备拥有对总线的控制权,即被选中的主设备可以发起数据传输。 总线仲裁器采用合适的算法(高优先级或公平访问等)来满足不同系统需要。 ?AHB decoderAHB解码器用于对每一次数据传输进行地址解码,同时在数据传输中给从设备给出一个选择信号AHB总线操作?在一个AHB总线数据传输之前,master必须已经从总线仲裁器那里获得了总线控制权?一个授权的master通过驱地址和控制信号来开始一次Single或者Burst传输。 ?一次传输由一个或多个地址周期和相应的数据周期组成。 数据周期落后相应的地址周期一个HREADY有效的时钟周期,即数据和地址之间有一个周期的流水时间。 下图显示一次简单的没有等待状态的数据传输。 在数据传输过程中:master在HCLK的上升沿之后驱动地址和控制信号到总线上;slave在接下来的HCLK周期上升沿采样地址和控制信息;在slave采样地址和控制信息后,它开始驱动相应的响应,master将在第三个HCLK周期的上升沿采样从设备的相应信息。 从设备在数据传输中可以插入等待状态,如下图一个数据传输被延长时,此次的数据状态延长将使下一次数据传输的地址状态延长。 如下图传输类型传输类型分为四种,由HTRANS1:0信号来表示HTRANS1:0类型描述00IDLE表明没有数据传输。 当一个master得到总线授权,不想进行任何数据传输,使用的传输类型是IDLE。 01BUSY传输类型BUSY允许master在块总线传输的过程中插入闲置周期。 BUSY表明master正在进行一次连续块传输,但下一次传输不会马上发生。 对于从设备,此类型传输忽略。 10NONSEQ Q表明一个块的第一次传输或一次单独的传输。 地址和控制信号与上一次传输不相关。 单次传输可以看作是数量为11的块传输,因此传输类型为NONSEQUENTIAL。 11SEQ对于一个块的连续传输,类型是SEQUENTIAL,地址与上一次传输的地址是相关联的。 控制信息与上次传输的相同。 地址等于上次地址加上传输尺寸(in bytes)。 在卷绕块传输的模式下,传输数据的地址在地址边界发生卷绕,地址等于传输尺寸乘以传输节拍的数目( 4、8or16)。 块操作(burst transfer)AHB协议中, 44、 88、和16节拍(beat)的块与单次传输和不定长度传输都有定义。 同时支持增量块传输和卷绕块传输?增量块传输访问连续的位置,在块中每一次传输的地址等于上一次地址加增量;?对于卷绕块传输的访问,如果传输起始地址与块传输的总字节数不一致时,传输将会在边界卷绕。 例如,一个44拍的字(44-byte)传输,地址将在16-byte边界卷绕,所以,若起始地址是0x34,那地址将是0x 34、0x 38、0x3C、0x30。 用HBURST2:0表明块八种类型。 定义如下控制信号?传输方向HWRITE=1,写操作,HWRITE=0,读操作?传输尺寸HSIZE2:0,具体含义见下表一般与HBURST2:0结合来决定卷绕块传输的地址边界问题。 从设备传输响应?在master开始一次传输之后,相应的slave决定怎样进行传输。 在AHB规范中没有规定一旦传输开始master可以取消传输。 ?当slave接入,它必须对传输作出响应以表明传输状态。 HRESP1:0提供传输状态。 一个slave可以用下面的方式来完成传输1.立即完成传输;2.插入一个或多个等待状态以有充足时间来完成传输;3.发出错误信号,以表明传输失败;4.延迟传输,但是允许master和slave让出总线,进行其他传输。 仲裁:arbiter在倒数第二个地址周期被采样之后改变HGRANTx信号。 新的HGRANTx信息与块传输的最后一地址被同时采样。 仲裁?Early bursttermination正常情况下,在块传输最后一次传输开始之前,arbiter是不会将总线控制权移交给另一master的。 但是,如果arbiter为了避免占用总线时间过长而提早终止块传输,则arbiter可能在块传输未完成时就将总线控制权移交于其他master。 如果一master在块传输时失去总线控制权,则为了完成块传输它必须要求重新仲裁。 此时的master必须确保HBURST和HTRANS具有和实际未完成传输的数据相一致的信息。 例如,master仅仅完成了88-拍块传输的33拍,那么当它再次获得总线时,就不能再定义为是88-拍的块传输,可以定义为55-拍的不定长块传输,也可以定义为44-拍的块传输和一个11-拍的传输。 ?Locked transfersarbiter必须采样每个master的HLOCKx信号,以确定master何时想要执行一个锁定序列的传输。 arbiter负责确保在锁定序列完成之前其他master不能获得总线授权。 AHB ponent-slave AHBponent-master AHBponent-arbiter AHBponent-decoder AHB系统中解码器用来执行中央地址解码功能,通过使外围设备独立于系统内存图而提高它们的便携性。 下图为解码器的接口图Multi-layer AHB?AHB总线矩阵,具有多个AHB master和多个AHB slave?如多个master访问的slave地址不同,则可同时访问多个slave Multi-layer AHB?AHB总线矩阵,可以提高系统总线的有效带宽,从而提高了系统的性能?结构灵活,可以根据系统的需求灵活调整master和slave的个数?Multi-layer AHB设备都遵循相同的AHB协议,因而有利于提高设计复用性?缺点设计实现复杂性高,尤其不宜高速电路的实现随着总线级数的提高,总体利用率下降Multi-layer AHB的实现Multi-layer AHB的实现要点?Bus matrix事先不知道某一个AHB传输的目标是哪一个slave,Bus matrix中的input stage对NONSEQ中的地址进行译码,再向相应的slave申请传输请求?Output stage对所有master的传输请求进行仲裁,被选中的master才可以进行AHB传输。 在此期间slave通过置低HREADY的方式让master一直处于等待状态?Input stage可以把HGRANT置高,这样master随时可以发起一个新的总线传输,而input stage通过HREADY来间接控制master?M xN的总线矩阵有M个master,M个input stage,N个output stage,N个slave?要实现一个高效、高速的Bus matrix,HREADY的实现难度很大Multi-layer AHB的其它结构AXI总线?AMBA AdvancedeXtensible InterfaceAHB的缺点?HREADY同时控制命令、读数据和写数据,对于简单的总线系统,AHB协议简洁、高效,但是对于复杂的SOC总线系统,不宜实现灵活、高效、高速、高性能?对于DRAM,AHB固有的一个时钟周期的流水线特点不能有效发挥DRAM的效率AXI的特点?独立的命令通道、读数据通道、写数据通道,每个通道单独控制,不再复用控制信号,虽然信号多了,但是易于实现高效、高速、高性能的总线架构?Pipeline深度不固定?每个burst传输只发首地址和burst类型,其余的地址由slave根据命令性质计算出来?支持乱序执行,能够提高DRAM的效率?RTL实现时可以在总线上加“寄存器”来提高逻辑综合的速度AXI通道AXI通道的定义?源端提供VALID信号,表明命令或者数据准备好?目的端提供READY信号,表明可以接手命令或者数据?通道的VALID和READY同时有效,表明一次命令或者数据的交易有效?读写数据通道提高一个LAST信号,表明burst的最后一拍数据?写response通道没有实质的用途,应该被进化掉AXI读多个读交替AXI写Burst长度?实际burst长度为ARLEN/AWLEN1?对于wrap操作,burst长度必须是24816Burst size?Burst size即数据的有效宽度为1 OCP定义的时序是所有其它SOC片内总线时序的并集。 ?过高的灵活性不利于标准化,不利于产业界推广使用Simple Writeand ReadTransfer RequestHandshake RequestHandshake andSeparate ResponseWrite withResponse BurstWrite PipelinedRequest andResponse IncrementingPrecise Burst Read wrappedBurst ReadSingle R

温馨提示

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

最新文档

评论

0/150

提交评论