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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 8011|回复: 20

[求助]关于AHB总线

[复制链接]
发表于 2005-10-24 11:17:17 | 显示全部楼层 |阅读模式

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

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

x
小弟在设计AHB总线时碰到一个问题,地址和数据无法同步,就是在同一个地址的时候会出现两个数据或者丢失数据。我初步分析原因在于FIFO里数据读出需要两个周期,因此在fifo_read有效时,数据不能及时的输出,导致了以上的后果,但是我想了好久都没有合适的解决方案,各位高手给出出主意!
发表于 2005-10-24 13:21:54 | 显示全部楼层

[求助]关于AHB总线

问题不清楚
 楼主| 发表于 2005-10-24 14:16:22 | 显示全部楼层

[求助]关于AHB总线

您看看波形图
36_395_2.bmp
 楼主| 发表于 2005-10-24 14:26:28 | 显示全部楼层

[求助]关于AHB总线

您看图上,地址和数据真好差一个周期,问题就在于fifo的数据输出延迟了两个周期。rd_en是fifo的读信号,data_out是fifo的数据输出。
 楼主| 发表于 2005-10-24 14:30:41 | 显示全部楼层

[求助]关于AHB总线

我下面有个问题,fifo里的数据能不能在一个周期内读出!我的fifo里用了一个64x32的双端口RAM
发表于 2005-10-24 15:08:08 | 显示全部楼层

[求助]关于AHB总线

你的hready没有配合好fifo的输出,其实你fifo可以不改,把rd_en延迟一下生成和数据同时有效的hready就ok啦。当然,fifo改快点对提高性能是有好处的。
但你的问题的本质是你没有把hready设计好。
 楼主| 发表于 2005-10-24 15:41:50 | 显示全部楼层

[求助]关于AHB总线

可是这里的HREADY是又slave给的,不是master自己生成的啊,master是根据HREADY来改变地址和数据的
发表于 2005-10-24 16:00:54 | 显示全部楼层

[求助]关于AHB总线

哦,呵呵,俺也想糊涂了,原来你是直接把hready作为rd_en的。
还有个办法,如果你不能做到hready时马上输出数据,你可以用htrans=busy,来加入等待。
另外我建议你,应该设计成向arbiter请求发送时就应该把地址和数据准备好,而不能是给你grant后再慢慢去找数据。当然你非要这样做的话,就只好插busy了。但其实这样你的状态机设计反而更复杂。
 楼主| 发表于 2005-10-24 16:14:55 | 显示全部楼层

[求助]关于AHB总线

扁兄说的是啊,我修改看看!
 楼主| 发表于 2005-10-24 16:49:32 | 显示全部楼层

[求助]关于AHB总线

扁兄,这里的问题其实不在于数据没有准备好,你看图中,是数据和地址无法对齐,问题就在于fifo的数据输出要延迟两个周期。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-9 04:56 , Processed in 0.034627 second(s), 12 queries , Gzip On, Redis On.

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