AHB

一、信号定义

以下是有多个master时由arbiter产生的信号,一般在one master - one slave project中用不上;

判断跨1k: 当地址ADDR_plus_burst[10:0] 的bit10为1时,即ADDR_plus_burst[10]=1, cross_1k_byte=1;

判断跨4k:当地址ADDR_plus_busrt[12:0] 的bit12为1时,即ADDR_plus_burst[12]=1, cross_4k_byte=1;

HADDER: Master->Slave, 32bit地址线;

HTRANS[1:0]:Master->Slave , 当前transfer的类型,有NONSEQUENTIAL(2'b10), SEQUENTIAL(2'b11), IDLE(2'b00), BUSY(2'b01);

HWRITE:   Master-> Slave,  HIGH: master向slave写数据,HWDATA;  Low: Master向Slave读数据,HRDATA;

HSIZE[2:0]: Master->Slave, 表示transfer的size,即发一次cmd之后经过一次burst传输后addr增加的值。HSIZE和HBURST一起来决定一次burst传输后的address boundart for wrapping bursts; 

HBURST[2:0]: AHB 只支持4,8,16 以及SINGLE和INCR的burst, 如果是SINGLE,则一个cmd只有一次beat,每次beat就是一个transfer,传输bus宽度的数据;如果是WRAP4,则一个cmd对应有4个beat,每个beat传bus宽度的data;

eg. HWDATA[31:0](bus位宽4byte),HSIZE=Word(每个beat地址增加一个word,即4byte),HBURST[2:0]= INC4,(一次cmd有4个beat传输,每个beat传4byte data), 初始地址是0X38,则4次地址分别是0x38,0x3c,0x40,0x44, 即发起一次cmd后,进行burst传输,共有4个beat,每拍传4byte数据,一个busrt就传16byte 数据;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值