问题描述
当我在硬件中运行多组件或DIMM Virtex-6 FPGA DDR3 MIG设计时,写入电平未完成,导致校准失败。可以通过以下方式检测此特定写入级别故障:
- DQS不切换FPGA输出
- 未检测到DQ转换
- 在“phy_dly_ctrl.v”模块中找到的信号dlyval_dqs_early始终为0
校准失败的原因是:
对phy_init_done没有断言
解决/修复方法
如果写入级别未完成,则必须检查IDELAYCTRL块是否正确放置。目前正在实施工具中调查的问题导致IDELAYCTRL块无法正确复制。
在MIG设计中,单个IDELAYCTRL在“iodelay_ctrl.v”中实例化,并启用了IODELAY_GROUP参数。使用此配置,实现工具应为每个使用IODELAY的Bank复制此块。
在MIG设计中,IODELAY组件用于捕获时钟和重新同步clocklogic。因此,任何放置捕获或rsync逻辑的bank都需要IDELAYCTRL。捕获时钟逻辑总是与数据组放在同一个bank中,但rsync逻辑可能放在地址/控制和系统时钟库(除数据库之外)。有关rsync(BUFR)分配规则的完整详细信息,请参见“ Virtex-6内存接口解决方案/修复方法的用户指南” (UG406)。当rsync逻辑放置在非数据库(即Addr / Cont或Sys Clock)中时,实现工具没有在这些库中正确分配IDELAYCTRL。
要解决此问题,请为使用IODELAY的所有Bank手动实例化和LOC IDELAYCTRL。
1.为IDELAYCTRL实例化修改iodelay_ctrl.v,如下所示:
//开始编辑 //结束编辑
注意:此示例适用于需要两个IDELAYCTRL的MIG设计,可能需要根据使用IODELAY组件的库的数量手动实例化其他IDELAYCTRL。
INST“u_iodelay_ctrl / u_idelayctrl_#”LOC = IDELAYCTRL_X_Y_;
注意 :要确定XY坐标,请使用FPGA编辑器在每个库中找到所需的IDELAYCTRL。单击该块时,它会在控制台窗口中显示坐标(IDELAYCTRL_X_Y_)。
从使用MIG v3.4的ISE 12.1软件开始修复此问题。
没有回复内容