在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7974|回复: 19

amba ahb 的hready 用于delay transfer时的细节疑问

[复制链接]
发表于 2006-12-21 21:24:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
在slave用hready置low来delay transfer的时候,master需要考虑hresp的情况吗?
看协议的时候发现,当slave需要delay多个cycle来判断下一个操作应做的反应时,
需要将hready -->low以及hresp-->okay。
直接将hready-->low同时hresp-->retry/split/error,然后hready-->high,hresp-->retry/split/error这样理解对吗?但如此一来,transfer就要中止,因为不论是error,还是split或者retry,传输都不是
接着继续,而是需要重新从头再来。
那么,如果不需要多个cycle的时候呢?如果slave仅仅是需要delay一个cycle,然后接着继续进行传输,这个时候,hready当然要low,
那么hresp此时该是如何呢?它总该是有一个值吧?但以上四种情况都似乎不合适。
我这里理解的很混乱,请各位前辈指点帮助。
 楼主| 发表于 2006-12-22 17:04:47 | 显示全部楼层

回复 #1 BABABA 的帖子

怎么都没有人来指导指导我啊
 楼主| 发表于 2006-12-23 16:53:34 | 显示全部楼层

回复 #2 BABABA 的帖子

SLAVE用HREADY来延迟传输的时候,应该是要同时用HRESP=OKAY吧?
SPECIFICATION 2.0上很多地方只是简简单单的写用HREADY设置LOW来DELAY传输,
各位前辈为何一声不吭,请原谅我的菜鸟儿问题太菜。
发表于 2007-1-3 21:15:00 | 显示全部楼层
把HRESP=OKAY就可以了。
发表于 2007-1-21 04:15:28 | 显示全部楼层
我的理解是,hrep是用与slaver error 或者retry请求时候做的.
hready适用于slaver的data phase完成之后,给的反馈。

当然我也是初学,理解不对多多见谅。
发表于 2007-1-21 04:54:59 | 显示全部楼层
 楼主| 发表于 2007-1-22 15:43:56 | 显示全部楼层


原帖由 shufanyang 于 2007-1-21 04:15 发表
我的理解是,hrep是用与slaver error 或者retry请求时候做的.
hready适用于slaver的data phase完成之后,给的反馈。

当然我也是初学,理解不对多多见谅。



你好,非常感谢你的回帖,一直找不到人和我讨论。
我们来讨论讨论好吗?我也是新手,很多东西不明白。

hresp有okay,error,split,rery四种,
对于error split retry,都需要两个cycle,
第一个cycle必须配有hready 为low,第二个必须有hready为high.
那么,在第一个cycle中,肯定是要确认hresp的情况是error 或者 split 或者 retry, 这个时候hready是low,
那么如果我此时只是想extend当前的data phase(当然,同时会extend下一个传输的address phase),
hready就同样应该为low,
这样的话如果不判断hresp,master如何知道是要retry/split/error,还是仅仅extend data phase呢?
如果要判断hresp,那它也仅仅只能是okay了啊。
我这么理解对不对呢?
希望你能继续和我讨论。

另一个疑问:
hresp 的okay respones是否是对于burst中的每一个传输,还是只有在整个burst传输成功结束时才有?
(我感觉应该是对于每一个传输)
 楼主| 发表于 2007-1-22 15:45:27 | 显示全部楼层


原帖由 dignity 于 2007-1-3 21:15 发表
把HRESP=OKAY就可以了。



你好,能指导得详细一点吗?
发表于 2007-1-22 16:30:14 | 显示全部楼层
hready=0 & hresp=okay 就是extend phase呀,有什么不对么?
发表于 2007-1-22 16:37:08 | 显示全部楼层
顺便问个问题,fixed length burst 的最后一个transfer开始的同时,arbiter就要转换hgrant,那么arbiter怎么监视何时为最后burst的最后一次address phase呢?(确切的说是倒数第二个address phase,其间准备好新的hgrant,在最后一次address phase的时钟上升沿,给出新的hgrant,这样可以完成背靠背的transfer)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-26 03:31 , Processed in 0.035795 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表