(4)AMBA总线介绍

地址译码

HSELx:选择从设备,指出由主设备所选择的从设备
由地址译码器来提供选择信号
一个从设备应该至少占用1KB的存储空间
需要一个额外的缺省从设备来映射其它的存储地址
在这里插入图片描述

从设备响应

所访问的从设备必须响应这次传输
从设备可能返回的响应:

  • 完成这次传输
  • 插入等待状态(HREADY)
  • 发出错误信号表示这次传输失败
  • 延迟传输,使得总线可用于其它传输(split)

从设备响应信号

  • HREADY:transfer done
  • HRESP[1:0]:transfer response
    OKAY(00) 成功 单周期响应
    ERROR(01) 失败 两周期响应
    RETRY(10) 传输未完成;请求主设备重新开始一个传输 两周期响应
    SPLIT(11)传输未完成;请求主设备分离一次传输 两周期响应

总线的流水特性需要从设备两个周期的响应。这样使得主设备有足够的时间出去下一次传输。
在这里插入图片描述

RETRY和SPLIT

  • RETRY:arbiter会继续使用通常的优先级
  • SPLIT:arbiter会调整优先级方案以便其它请求总线的主设备可以访问总线

总线主设备应该用同样的方式处理RETRY响应和SPLIT响应

数据总线

  • 不是三态总线,读总线和写总线是分开的。
  • 印第安序
    在AMBA协议中没有定义
    主设备和从设备应该采用同样的印第安序
    不支持动态印第安序
  • 一般来说,数字设计内部没有INOUT,它只会在芯片pad上有

32bit小印第安序数据总线的有效字节
在这里插入图片描述

AHB仲裁信号

在这里插入图片描述

  • HBUSREQ 总线请求
  • HLOCKx 高电平:主设备请求锁定总线
  • HGRANTx 指出主设备x可访问总线,主设备x控制总线:HGRANTx=1且HREADY=1
  • HMASTER[3:0] 指出那个主设备总在进行传输
  • HMASTLOCK 指出主设备正在进行一次锁定传输
  • HSPLITx 从设备用这个信号告诉仲裁器那个主设备允许重新尝试一次split传输
    每一位对应一个主设备
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    失去grant之后,还可以再传一个地址+数据

总线主设备GRANT信号

在这里插入图片描述

  1. 对于固定长度的burst传输,不必持续请求总线
  2. 对于未定义长度的burst传输,主设备应该持续送出HBUSREQ信号,直到开始最后一次传输
  3. 如果没有主设备请求总线,则给缺省主设备grant信号,且HTRANS=IDLE
  4. 建议主设备在锁定总线传输结束之后IDLE传输,以重新仲裁优先级。

Split传输过程

  1. 由主设备开始传输
  2. 如果从设备需要多个周期才能获取数据,则从设备给出一个SPLIT传输响应。从设备记录主设备号:HMASTER。接着仲裁器改变主设备的优先级。
  3. 仲裁器grant其它的主设备,总线主设备移交
  4. 当从设备准备结束本次传输,将设置给仲裁器的HSPLITx信号的相应位
  5. 仲裁器恢复优先级
  6. 仲裁器grant主设备,这样主设备可以重新开始传输
  7. 结束

防止Deadlock

  • 当多个不同的主设备试图访问同一个从设备,这个从设备发出了SPLIT或RETRY信号,这时很可能发生deadlock
  • 从设备最多可以接收系统中16个主设备的请求。只需要记录主设备号(忽略地址和控制信号)
  • 给出RETRY响应的从设备在某一时刻只能由一个主设备访问。
    可以使用一些硬件保护机制,比如ERROR

AHB主设备接口

在这里插入图片描述

AHB从设备接口

在这里插入图片描述

AHB Arbiter

在这里插入图片描述

AHB Decoder

在这里插入图片描述

关注作者

  • 自述
    作者是一位中科大数字设计专业的研究生,水平有限,如有错误,请大家指正,想要与大家一同进步。
  • 经历
    曾获得国家奖学金,“高教社杯”数学建模国家二等奖等
  • 陆续更新:
    1.与verilog数字设计相关的一些基础模块设计
    2.SV与UVM
    3.数字IC设计/验证过程中一些工具及语言的用法
    4.保研与竞赛经历等
  • 微信公众号
    欢迎大家关注公众号“数字IC小白的日常修炼”,期待与大家一同仗剑遨游数字IC世界。
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数字IC小白的日常修炼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值