DQS 移相电路使用 DLL 动态控制 DQS/CQ/CQn/QK# 引脚所需的时钟延迟。
反过来,DLL 使用频率基准为每个 DQS/CQ/CQn/QK# 引脚中的延迟链动态生成控制信号,从而补偿工艺、电压和温度 (PVT) 变化。
DQS 移相电路仍可用于确保运行在低于 200 MHz DLL 输入频率以下的内存接口的有效相移。
请遵循以下准则:
1) 对于 100MHz - 199MHz 之间的接口频率,馈入 DLL 的时钟频率应加倍,以实现 45° 的有效相移
2) 对于 50MHz - 99MHz 之间的接口频率,馈入 DLL 的时钟频率应乘以 4,以实现 22.5° 的有效相移。
为了最大化有效相移,另一种解决方法是使用高于最小 DLL 输入频率的最接近频率来驱动 DLL。
您应该看到以下结果:
1) 对于 100MHz - 199MHz 之间的界面频率,您将获得接近 90° 或高于 45° 的相移。
2) 对于 50MHz - 99MHz 之间的界面频率,您将获得接近 45° 或高于 22.5° 的相移。
出于时序分析的目的,需要将ALTDQ_DQS2 IP 中的DQS_PHASE_SHIFT参数设置为实际有效相移值。
例如,如果ALTDQ_DQS2 IP 的参数 DQS_PHASE_SETTING = 2(90° 默认设置),接口内存频率为 178MHz,DLL 以 205MHz 运行,则 90 度 205MHz (1.22ns) 换算为 78.14 度的 178MHz。
然后,设置 DQS_PHASE_SHIFT = 7814 并验证 TimeQuest 中的数字。
将以下赋值添加到 .qsf 文件:
set_global_assignment名称 USE_DLL_FREQUENCY_FOR_DQS_DELAY_CHAIN 开启
这适用于在 Quartus II 软件版本 13.0SP1 DP5 或更高版本中针对 Arria® V 或 Cyclone® V,以及在 Quartus® II 版本 13.1 或更高版本中针对 Stratix V 或 Arria V GZ。
如果没有 .qsf 文件中的这一全局赋值,时序分析将无法准确。