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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 14463|回复: 21

[原创] 如何简化V6 DDR3控制器的使用

[复制链接]
发表于 2012-3-28 00:37:24 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 lucien_1986 于 2012-3-28 00:38 编辑

在V6 DDR3控制器中,因为写数据通道和命令通道不是简单的FIFO接口,无法通过FIFO的将满信号进行写入的控制,只能根据命令通道和数据通道上的app_wdf_rdy信号和app_rdy信号判断数据是否成功写入,如果没有写入成功则需要重新写入。

      为了简化对V6 DDR3控制器的使用,需要对Xilinx提供的DDR3控制器源码做少量修改。DDR3控制器源码中, app_wdf_rdy信号在用户接口侧指示数据是否成功写入,由wdf_rdy_ns延迟一拍产生。wdf_rdy_ns在DDR3控制器内部用于判断数据是否写入有效。wdf_rdy_ns是由一个FIFO写入侧counter计算出来的,counter的值则取决于FIFO的读写状态。如果Counter的值大于设定的将满阈值15,则wdf_rdy_ns为0,写入的数据无效。

       为了使app_wdf_rdy信号具有将满指示效果,即把app_wdf_rdy用作反压信号时,每个写入的数据都是写入有效的,必须使app_wdf_rdy信号比wdf_rdy_ns更早的为0。wdf_rdy_ns是在counter值等于15时为0,而app_wdf_rdy应该在counter值等于15以前就为0。保险起见,可以在counter为12将app_wdf_rdy置为0。

       对于命令通道的app_rdy信号,由于产生机制过于复杂,不容易通过修改Xilinx源码来使得app_rdy信号具有提前反压效果。只能根据app_rdy信号的指示,确定上一拍数据是否成功写入。
发表于 2016-6-17 11:21:58 | 显示全部楼层
多谢分享
回复 支持 反对

使用道具 举报

发表于 2016-3-8 16:53:42 | 显示全部楼层
支持,多谢分享
回复 支持 反对

使用道具 举报

发表于 2016-3-7 21:03:19 | 显示全部楼层
看不懂呢
回复 支持 反对

使用道具 举报

发表于 2016-3-4 17:06:03 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

发表于 2015-9-25 16:03:46 | 显示全部楼层
ISE可以生产DDR2控制器和DDR2模型以及仿真文件(读写地址和读写数据的产生),目前想通过app_*信号自己给输入,可是phy_init_done信号一直不拉高,即DDR2初始化不成功,用户无法进行读写数据和地址的输入。但是同样的模型和控制器,在ISE自己生成的测试文件下就能正确初始化和读写。phy_init_done信号是如何产生的?需要用户给什么输入信号吗?
回复 支持 反对

使用道具 举报

发表于 2015-5-4 16:18:28 | 显示全部楼层
讲的很深入!!!
回复 支持 反对

使用道具 举报

发表于 2015-4-14 19:11:31 | 显示全部楼层
看完帖子,收获很大啊
回复 支持 反对

使用道具 举报

发表于 2015-1-12 21:38:53 | 显示全部楼层
回复 4# lucien_1986


   我最近在做DDR3的设计,用的是ISE14.6的MIG 编译成功 下载到板子上以后phy_init_done信号一直不能拉高。用ILA观测,发现用户接口的读写信号app_wr_en 等所有信号都为0,,这可能是什么原因造成的呢,请教一下
回复 支持 反对

使用道具 举报

发表于 2014-10-23 23:52:45 | 显示全部楼层
请教楼上高人,你们是啥专业啊?为啥还要把核研究的那么清楚。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2025-11-3 00:53 , Processed in 0.126555 second(s), 6 queries , Gzip On, Redis On.

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