AHB LITE从AMBA3,0引入,与AHB区别主要是只支持1个master.
1. 架构
与AHB类似:master,decode,mux,slave;
2.信号
HAMSTLOCK:用于AHB原子访问,支持ARM SWP指令;即同一个地址读写之间不会插入其它操作;对multi-layer AHB有用,实际上只有一个master的话可以不需要,AHB slave只会串行执行;
SWP指令:
SWP R1,R1,[R0] ;取出r0地址中的数据,放在r1中,并把r1中的数据放在r0中
HTRANS:一笔传输一定是以NONSEQ开始的;
HSIZE:2的幂个字节,实际的数据传输位宽。与HBURST一起决定传输的数据量;
HBURST:INCR和WRAP,INCR有undefined length burst,地址边界是1KB;WRAP对齐是SIZE*LENGTH;
HWRITE:1写0读
HPROT:protection信号,支持ARM处理器特权/用户,指令/数据,cace/buffer.
3 传输
分为地址阶段和数据阶段,地址阶段只有一个cycle,slave必须接受,不能反压;数据阶段可以反压;
地址和数据可以pipeline起来,就是第二笔地址可以和前一笔笔的数据阶段重合;
burst传输每一beat的地址总线也是在变得,简化了slave设计,复杂了master;
master使用htrans:busy压下游,slave使用hready压上游;
Early burst termination 是error resp或者multi-layer时才会用到;