收藏 分销(赏)

AHB总线总结PPT课件.pptx

上传人:胜**** 文档编号:775167 上传时间:2024-03-12 格式:PPTX 页数:64 大小:2.67MB
下载 相关 举报
AHB总线总结PPT课件.pptx_第1页
第1页 / 共64页
AHB总线总结PPT课件.pptx_第2页
第2页 / 共64页
点击查看更多>>
资源描述
1 AHB IntroductionICD/SID Bob Qin(覃海洋)2015/12/25-2Topic 1What is the AHB?-3AMBA介介绍Advanced Microcontroller Bus Architecture片上总线的标准定义了三种总线AHB(Advanced High-performance Bus)ASB(Advanced System Bus)APB(Advanced Peripheral Bus)-4一个典型的一个典型的AMBA系系统处理器和其它主设备/从设备都是可以替换的-5AHB高速总线,高性能流水线操作可支持多个总线主设备(最多16个)支持burst传输总线带宽:8、16、32、64、128bits上升沿触发操作-Topic 2What constitutes the AHB?6-7AHB组成部分成部分AHB 主设备(master)发起一次读/写操作某一时刻只允许一个主设备使用总线AHB从设备(slave)响应一次读/写操作通过地址映射来选择使用哪一个从设备AHB仲裁器(arbiter)允许某一个主设备控制总线在AMBA协议中没有定义仲裁算法AHB译码器(decoder)通过地址译码来决定选择哪一个从设备-8Internal Connection of AHB发起一个起一个请求求给仲裁器仲裁器驱动地址和地址和控制信号控制信号允允许某个主某个主设备控制控制总线选中所需的中所需的从从设备拉高拉高HREADY信信号,号,总线传输完成完成-9AHB信号信号-10基本基本AHB信号信号HCLK总线时钟HRESETn总线复位,低电平有效HADDR31:032位系统地址总线HWDATA31:0写数据总线,从主设备写到从设备HRDATA31:0读数据总线,从从设备读到主设备-11基本基本AHB信号(信号(续)HTRANS指出当前传输的类型NONSEQ、SEQ、IDLE、BUSYHSIZE指出当前传输的大小HBURST指出传输的burst类型HRESP从设备发给主设备的总线传输状态OKAY、ERROR、RETRY、SPLITHREADY高:从设备指出传输结束低电平:从设备需延长传输周期-Topic 3How can you make a transfer on AHB?12-13Basic AHB transfer两个阶段Address Phase,只有一个有效周期Data Phase,由HBURST信号决定需要几个有效周期流水线传送先是有效地址周期,然后是有效数据周期-14Master release address and controlSlave sample the address and controlMaster sample the dataIf slave hasnt ready to receive data,how to deal with it?基本基本AHB传输一次无需等待状态的简单传输-15Not readyNot readyReadyOne transfer need at least two cycles,how to promote its efficiency?Note:according to spec,slave shouldnt insert more than 16 wait cycles!基本基本AHB传输(续)需要两个等待周期的简单传输-16PipelineA AddressA DataB AddressB DataC AddressC DataSlave decodes every transfer,one transfer on wait,how to decrease the wait cycles?基本基本AHB传输(续)-17Burst TransferAAA+4A+4A+8A+8A+12A+12HBURST shows the burst types:Single TransferIncrementing transfer with unspecified length4-beat 8-beat16-beatSlave has know that master need 4 data,A/A+4/A+8/A+12During burst transfer,if slave is not ready,then hready=0;but if master is not ready,how to do?基本基本AHB传输(续)-18传输类型型HTRANS1:0:传输类型四种类型:IDLE、BUSY、NONSEQ、SEQ00:IDLE主设备占用总线,但没进行传输两次burst传输中间主设备可发IDLE01:BUSY主设备占用总线,但是在burst传输过程中还没有准备好进行下一次传输一次burst传输中间主设备可发BUSY-19传输类型(型(续)10:NOSEQ表明一次单个数据的传输或者一次burst传输的第一个数据地址和控制信号与上一次传输无关11:SEQ表明burst传输接下来的数据地址和上一次传输的地址是相关的-20The first transfer Master is busyThe subsequent transferThe subsequent transferSlave is not readyThe subsequent transfer传输类型型举例例-21BURST传输AHB Burst 操作4beat、8beat、16beat、单个字节传输、未定义长度的传输支持incrementing和wrapping两种burst传输Incrementing burst地址是上一次的传输地址加1个传输单位Wrapping burst例:4beat的wrapping burst 字传输(4byte):0 x34-0 x38-0 x3c-0 x30应用场合:Cache填充-22地址地址计算算举例例根据HSIZE和HBURST来计算地址例:起始地址是0 x48,HSEZE=010(32bits)-23INCR8 BurstHCLKSEQNSEQSEQSEQSEQSEQINCR80 x600 x680 x640 x6c0 x740 x70HTRANSHBURSTHADDRHRDATAd1d0d2d4d3d50 x780 x7cSEQSEQd6d7-24WRAP8 BurstHCLKSEQNSEQSEQSEQSEQSEQWRAP80 x700 x780 x740 x7c0 x640 x60HTRANSHBURSTHADDRHRDATAd5d4d6d0d7d10 x680 x6cSEQSEQd2d3start of line-25INCR4 Burst-26WRAP4 Burst-27例例:未定未定义长度的度的Burst传输-28注意!注意!Burst传输不能穿越1K边界一个从设备最小的地址间隙是1KBNONSEQ-SEQ-1KB Boundary-NONSEQ-SEQ 主设备不能试图开始一个可能穿越1K边界的INCR传输-29INCR Burst over 1k boundaryHCLKSEQNSEQSEQNSEQSEQSEQINCR0 x3F00 x3F80 x3F40 x3FC0 x4040 x400HTRANSHBURSTHADDRHRDATAd1d0d2d4d3d50 x408 0 x40CSEQSEQd6d7start of 1k page-Topic 4Talking about slaver in detail?30-31地址地址译码(续)-32从从设备响响应所访问的从设备必须响应这次传输从设备可能返回的响应:完成这次传输插入等待状态(HREADY信号)发出错误信号表示这次传输失败分离传输,使得总线可用于其他传输(SPLIT)-33从从设备响响应信号信号HREADY:transfer doneHRESP1:0:transfer response00:OKAY成功01:ERROR失败10:RETRY传输未完成请求主设备重新开始一个传输11:SPLIT传输未完成请求主设备分离一次传输-34两周期的响两周期的响应HRESP1:0OKAY:单周期响应ERROR:两周期响应RETRY:两周期响应SPLIT:两周期响应总线的流水特性需要从设备两个周期的响应。可以使得主设备有足够的时间处理下一次传输。-35Slave ResponsesMem AMem BMem DMem CSlaveProcessorAMBAWrite Mem A-36Slave ResponsesMem AMem BMem DMem CSlaveProcessorAMBAWrite Mem EI couldnt write it because of no mem E!-37Slave ResponsesMem AMem BMem DMem CSlaveProcessorAMBAWrite Mem AI couldnt write it now for busy!You could retry write it latter!BUSYBUSY-38例:例:Retry 响响应-39RETRY和和SPLIT的不同的不同主要区别在于仲裁的方式RETRY:arbiter会继续使用通常的优先级SPLIT:arbiter会调整优先级方案以便其他请求总线的主设备可以访问总线总线主设备应该用同样的方式处理RETRY响应和SPLIT响应-40数据数据总线不是三态总线,读数据总线和写数据总线分开印第安序在AMBA定义中没有定义主设备和从设备应该采用同样的印第安序不支持动态印第安序对于IP设计,只有应用面比较广泛的应用程序才支持两种印第安序。-41小印第安数据的有效字小印第安数据的有效字节-42大印第安数据的有效字大印第安数据的有效字节-Topic 5Talking about slaver in detail?43-44多个主多个主设备I am first I am first!-45AHB仲裁信号仲裁信号-46仲裁信号(仲裁信号(续)HBUSREQ总线请求HLOCKx:高电平:主设备请求锁定总线HGRANTx指出主设备x可访问总线主设备x控制总线:HGRANTx=1且HREADY=1-47仲裁信号(仲裁信号(续)HMASTER3:0指出哪个主设备正在进行传输,提供进行split的信息HMASTLOCK指出主设备正在进行一次锁定传输HSPLITx15:0从设备用这个信号告诉仲裁器哪个主设备允许重新尝试一次split传输。每一位对应一个主设备-48仲裁仲裁举例(例(1)没有等待状态的grant-49仲裁仲裁举例(例(2)有等待状态的grant-50仲裁仲裁举例(例(3)Burst传输之后移交总线-51总线主主设备Grant信号信号-52几点几点说明明对于固定长度的burst传输,不必持续请求总线对于未定义长度的burst传输,主设备应该持续送出request信号,直到开始最后一次传输。如果没有主设备请求总线,则给default Master grant信号,且HTRANS=IDLE-53Split传输过程程由主设备开始传输如果从设备需要多个周期才能获取数据,则从设备给出一个SPLIT传输响应,从设备记录主设备号:HMASTER接着仲裁器改变主设备的优先级仲裁器grant其他的主设备,总线主设备移交。当从设备准备结束本次传输,将设置给仲裁器的HSPLITx信号的相应位仲裁器恢复优先级仲裁器grant主设备,这样主设备可以重新开始传输结束-54防止防止Deadlock当多个不同的主设备试图访问同一个从设备,这个从设备发出了SPLIT或RETRY信号,这是很可能发生deadlock给出RETRY响应的从设备在某一时刻只能由一个主设备访问可以使用一些硬件保护机制,比如ERROR-Topic 6See it again.55-56AHB Master-57AHB Slaver-58AHB Arbiter-59AHB Decoder-Topic 7 Making a conclusion.60-61AHB总结(1)主要组成部分Master、slaves、arbiter、decoder传输的过程流水线机制Address phase和data phase如何提高性能Burst read/write仲裁机制总线控制器的移交-62AHB总结(2)Slave短时间内无法响应HREADY信号拉低Slave长时间内无法响应插入SPLIT/RETRYMaster不能进行传输插入BUSY-63Arbiter的优先级可以配置Slave长时间不能响应的话,一般不支持SPLIT响应,使用RETRY响应总线上如果只有一个master的话,可以使用AHB lite协议,不用arbiterAHB 总结(3)-64My Questions1.What is the Dummy Master,and its function?2.What is the HPROT3:0,and its function?3.Why bursting transfer can not across the 1k boundary?-
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 网络/通信

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服