AHB Lite总线协议

发布于 2020-08-30  286 次阅读


几个概念

反压: 握手失败,需要维持传输直至传输成功
总线: 提供了系统中各个设备之间一种互连的访问共享硬件机制( 从小道到大道 从P2P到共享 )
主机(Master) :传输发起者 如处理器
从机 (Slave) :传输响应者 如存储器
突发传输:是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输的周期数就是突发长度(Burst Length)。在进行突发传输时,只要指定起始地址与突发长度,内存就会依次地自动对后面相应数量的存储单元进行读/写操作,而不再需要控制器连续地提供列地址,这样,除了第一笔数据的传输需要若干个周期外,其后每个数据仅需要一个周期即可获得。

基本互连协议

1.valid-ready协议

valid:传输发起方的请求信号

ready:传输相应方的握手信号

同时有效时完成握手

2.request-grant协议

request:发起请求

grant:有效时,代表与前一个周期的request完成握手

AHB Lite的特点

单主机 多从机

AHB Lite的架构

采用两级流水线,第一级流水为地址周期,第二级周期为数据周期

对于读来说,第一个周期给地址,第二个周期把读的数据给回来

对于写来说,第一个周期Master给waddr, 第二个周期Master给wdata(注意与SRAM在时序上的区别,SRAM的写地址和数据都在同一个周期)

信号命名规则

H: AHB

n: 低电平有效

x: Slave的编号

AHB的信号

AHB的基本传输

AHB高级传输

传输尺寸

传输尺寸决定了传输时每一拍(beat)的字节数(最小为一个字节),或者说,决定了每一批人里面有多少个人。

HSIZE和HADDR(小端存储)

不支持非对齐访问

突发传输HBURST[2:0]

SINGLE:只传输一拍

INCR():增量传输,括号里的数字表示传输几拍(即传输几次)

INCR:未定长度的突发传输,即只要不停止,就一拍接着一拍地传输

WRAP:回环,其后的数字表示传输的拍数(次数),但是与增量传输不同的是,当其传输的地址撞到边界时会自动调头,即回环

注意:传输不能跨越1KB的边界

传输类型HTRANS[1:0]

简单地说,开始传输时传输类型为NONSEQ, 之后的每一拍传输都是SEQ

从机响应

00等待传输

01成功传输

10第一周期错误 ;11第二周期错误(因为是两级流水线 出现错误必须排空流水线 因为错误是两个周期的)


追求理性 独立思考 不做韭菜