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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
EETOP诚邀模拟IC相关培训讲师 创芯人才网--重磅上线啦!
查看: 30701|回复: 41

请教有关AHB的slave几个问题!!

[复制链接]
发表于 2006-7-6 21:53:39 | 显示全部楼层 |阅读模式

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

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

x
问个问题:在设计slave的时候,HREADY信号如何使用的?它既是输入也是输出,在设计端口时,要分为HREADYin和HREADYout,但是输入时,用来控制什么,输出时用来控制什么?在复位以后,HREADY的值是设为有效吗?
发表于 2006-7-9 22:11:17 | 显示全部楼层
以single layer的ahb 系统为例(multi-layer也差不多)
你要理解AHB系统中hready tree的连接.其实, 多个slave的hreadyout 送出来之后经过"与"送给master, 然后这个与之后的结果可以做为slave hreadyin.

所以在设计slave的时候,它的hreadyout要么是固定的1 输出(slave 总是没有等待就能完成master的请求), 或者是寄存器输出,不然就会形成反馈回路,可能引起振荡.

那么slave判断有效的master请求应该是在hclk的上升沿,如果hreadyin为高,htrans 为noseq或者seq,表明master来了一个有效的请求.同时在这个时刻可以得到size, address ,write等控制信息..
发表于 2006-7-10 01:19:26 | 显示全部楼层


原帖由 timing74 于 2006-7-9 22:11 发表
以single layer的ahb 系统为例(multi-layer也差不多)
你要理解AHB系统中hready tree的连接.其实, 多个slave的hreadyout 送出来之后经过"与"送给master, 然后这个与之后的结果可以做为slave hreadyin.
...


多个slave的hreadyout 送出来之后正确的实现应该是mux而非“与”。
发表于 2006-7-10 04:09:18 | 显示全部楼层
明天我再check一下,不过目前在我们的设计中,AHB slave的数量是比较多的,我们都只是简单地做一下位与就可以了。
发表于 2006-7-10 10:55:03 | 显示全部楼层
老扁,谢谢你的指正,我仔细分析了mux和&的逻辑,根据AHB协议,从逻辑上来看,他们是等效的。不知道还有什么地方我没有考虑到的。我画了一个图。。不知道能否帖上来。

mux-and

mux-and
发表于 2006-7-10 18:23:00 | 显示全部楼层


原帖由 timing74 于 2006-7-10 10:55 发表
老扁,谢谢你的指正,我仔细分析了mux和&的逻辑,根据AHB协议,从逻辑上来看,他们是等效的。不知道还有什么地方我没有考虑到的。我画了一个图。。不知道能否帖上来。


千万不要认为是等效的,否则你做出来的系统可能就不工作了哦。

你用&就表示只要有一个slave不能及时响应所有访问都不能及时响应,这是不符合协议的。

总线在传输时只有一个master和一个slave的信号相关,其他设备的信号是无关的,是不能&到一起去的。
发表于 2006-7-10 18:25:12 | 显示全部楼层


原帖由 timing74 于 2006-7-10 04:09 发表
明天我再check一下,不过目前在我们的设计中,AHB slave的数量是比较多的,我们都只是简单地做一下位与就可以了。


那是因为你的slave的hready在不传输时可能都是high的,造成你以为&是正确的假象。
发表于 2006-7-11 10:08:26 | 显示全部楼层
老扁,你是对的。AMBA协议中,的确没有规定缺省得READY OUT是高还是低,只是在AMBA FAQ中建议缺省值为高。目前我们的系统能够工作是因为所有的AHB SLAVE在设计的时候就遵循了缺省HREADYOUT为高的原则。所以才有&和MUX一致的现象。谢谢。
 楼主| 发表于 2006-7-12 21:47:50 | 显示全部楼层
那么HREADYout和HREADYin在timing上有什么联系或是区别呢?
是不是HREADYout发生变化,只要mux选中的是当前的slave,HREADYin就立即发生变化,那么这个mux是组合逻辑的了?
他们有没有在timing上,差一个或是几个cycle,还是HREADYin随着HREADYout立即改变的呢?
发表于 2006-7-13 10:05:37 | 显示全部楼层


原帖由 liuwanghao 于 2006-7-12 21:47 发表
那么HREADYout和HREADYin在timing上有什么联系或是区别呢?
是不是HREADYout发生变化,只要mux选中的是当前的slave,HREADYin就立即发生变化,那么这个mux是组合逻辑的了?
他们有没有在timing上,差一个或是几 ...


是同时变化的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-5 02:49 , Processed in 0.031713 second(s), 9 queries , Gzip On, Redis On.

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