nju044的个人空间 https://blog.eetop.cn/523930 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

【转】AHB HREADY

已有 5343 次阅读| 2015-3-15 14:28 |个人分类:总线

转自  AHB重点难点总结
==================================================================

一:模块接口(关于接口的含义,大家可以参考SPEC,在此不赘述)

AHB-Master接口

AHB_Slave接口

Decoder接口

Arbiter接口

二:重点和难点分析

1、关于Hready信号

    英文版手册对Hready解释如上,我主要想解释一下红线部分,大意是说,挂载在总线上的Slave要求它的Hready即为输入也为输出,什么意思呢,其实是每个Slave都有一个Hready输出,这些输出经过一个MUX(记住,不能是简单的and或者or,有很多人这样以为,至于为什么,大家可以参考下图2稍作分析就知道原因了)再最终选择出一个Hready_o,这个Hready_o会输入到每个Master和每个slaveArbiter。如图1,以2M2S为例,图中的sel4产生有些难度。

 

 

                                                               1

2、结合图2SPEC中是图3-17)解释图1中的选择信号可以如何产生及图2的含义

                                                                2

     图2Hgrant信号是图1Arbiter根据每个M发出的Hbusreq结合自身的优先级算法(没有规定何种算法,设计者可以根据自身需求选择,如Fair-access,Round-robin)及control信号仲裁得到的结果,不是随便切换的,它的切换点非常有技巧,能够保证全程流水线。

 

    从图2中可以看出,虽然Hgrant2切换为M2(为什么这个地方切换,是上面我提到的相关技术所致),但是M2并不能立即获得总线使用权,而是在Hgrant2为高且Hready(注意这个地方的Hready就是我上面说的经过MUX后的Hready_o)为高时,Hmaster才被切换为2,原因是保证上一个传输的最后一个control和地址发出去,进而这个时候M2可以发送control信号和addr信号。所以对应图1sel1sel2这些信号可以为Hmaster,而sel6可以为Haddr

 

   再看图2T5时刻以后control已经是M2的了,但是data仍然是M1对应的(就是图中对应的Master owns data那个注释),原因很简单,AHB是采用流水线技术,分为地址阶段和数据阶段。所以当controladdr信号切换的时候,data并不能切换,而是要保证最后一个control要读或者写的数据完成才可以。所以Hready对应的sel4可以利用addr向后延时一拍,同时检测到Hready1时(保证数据被采样)才进行切换,HwdataHrdata对应的sel也可以用上面的方法。

 

3、从上面的分析不难得出如下结论

1Master在检测到Hready1时发送一个controladdr,所以Slave也可以在检测到Hready1时进行controladdr的采样,在采样到有效的controladdr后一个周期当Hready为时进行数据的采样。

2Slave在默认情况下最好将Hready设置为1(这个也是ARM公司推荐的),这样可以让Arbiter及时将总线使用权进行切换,如图2中,如果Hready提前为1,那么Hmaster会提前变为#2

3)整个总线最难设计的部分就是Arbiter,大家可以参考接口图可以看出,mastersalve有的信号它都有,它会监测MasterSlave的情况,及时切换总线使用权,保证效率的最大化。


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 18

    评论
  • 1232

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-27 22:37 , Processed in 0.028233 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部