设计咨询MIG 7系列DDR3 / DDR2  – 使用XADC模块进行温度监控器校准,增加到v1.7中的所有DDR3 / DDR2设计(ISE 14.3 / Vivado 2012.3)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

设计咨询MIG 7系列DDR3 / DDR2 – 使用XADC模块进行温度监控器校准,增加到v1.7中的所有DDR3 / DDR2设计(ISE 14.3 / Vivado 2012.3)

描述

从ISE 14.3 / Vivado 2012.3设计工具发布的MIG v1.7开始,DDR3,DDR3L和DDR2设计包括温度监控系统,以便在温度变化/漂移时保持读取数据窗口中的DQS中心对齐。本答复记录旨在补充7系列FPGA存储器接口解决方案用户指南(AXI) (UG586) > DDR3和DDR2存储器接口解决方案>核心架构> PHY中提供的信息。

注意:此答复记录是Xilinx MIG解决方案中心(Xilinx答复34243)的一部分 。 Xilinx MIG解决方案中心可用于解决与MIG相关的所有问题。无论您是使用MIG开始新设计还是对问题进行故障排除,都可以使用MIG解决方案中心来指导您获取正确的信息。

概观

温度监控器校准使用7系列XADC模块。 MIG 7系列设计实例化XADC块(在“user_design / rtl / clocking / mig_7series_v1_x_tempmon.v”模块中)并以可配置的间隔处理轮询。

XADC输出当前温度,MIG设计随后根据需要更新DQS与读取数据窗口之间的对齐。

读取XADC温度并根据需要进行调整的RTL位于“user_design / rtl / phy / mig_7series_v1_x_ddr_phy_tempmon.v”模块中。

每当刷新或ZQ短校准已发送到DRAM并且所有未决事务已清除DQ总线时,存储器控制器就向mig_7series_v1_x_ddr_phy_tempmon.v模块发送使能信号(tempmon_sample_en)。

在MIG 7系列校准完成后,执行初始温度读取以建立基线。

在每次后续启用之后,将当前温度与基线温度进行比较。

如果温度变化超过触发更新DQS以读取窗口对齐的阈值,则模块将调整PHASER_IN精细延迟以缓解温度漂移并设置新的基线温度。

该过程在整个正常操作中继续。

每隔10微秒轮询XADC块的温度,并且内存控制器在刷新和ZQ校准期间执行任何必要的更新。

温度监控器校准用于所有支持的频率。

由于这些变化,MIG 7系列DDR3 / DDR2设计的性能规格没有任何影响或变化。

目前未使用XADC的设计

对于当前未使用XADC模块的设计,MIG 7系列工具的1.7版将自动在存储器控制器设计中实例化XADC模块。用户只需确保MIG中FPGA Options屏幕上的XADC Instantiation选项设置为Enabled,即默认设置。此外,必须满足下面XADC Board Set-Up和MIG Usage部分的要求。

已经使用XADC的设计

每7系列器件只有一个XADC。对于已经使用XADC模块的设计,设计可以继续使用模块并定期为MIG 7系列代码提供温度。设计对XADC的使用必须:

  • 在XADC向导中,必须启用“启用DRP”(动态重新配置端口)和“启用DCLK”选项。这些选项可以对温度进行采样。这些是MIG 7系列温度监控系统所需的唯一XADC选项。应根据用户设计的要求设置所有其他选项。
  • 每1-10微秒包括从DADDR 7b0轮询温度。
  • 然后必须将在DO [15:0]上轮询期间回读的MSB 12位温度提供给MIG内核。温度可以与MIG 7系列DDR3 IP异步输入。

有关XADC使用的具体信息,请查看7系列FPGA XADC双12位1MSPS模数转换器用户指南

要在生成的MIG 7系列内核中禁用XADC的实例化,请将“XADC Instantiation”选项设置为“Disabled”。该选项可在MIG 7系列工具的“FPGA选项”屏幕上找到。禁用XADC实例化将创建一个顶级输入端口“device_temp_i [11:0]。”DO“DRP端口的12个MSB位需要连接到此输入端口而不进行任何转换。从Vivado 2014.1开始,MIG支持提供温度从1到116uS,因为XADC现在已启用平均值,以前的版本使用的刷新率为1 – 10 uS。

MIG 2014.1和XADC的XADC配置如下:
启用校准的连续序列模式
启用校准系数
平均启用校准
平均值= 16并启用温度通道
MIG配置温度测量更新时间:~116us

注意:通过MIG 7系列工具禁用XADC块的实例化仅允许用户保持其当前块的使用。不能禁用温度监控器校准的使用。 MIG 7系列DDR3 / DDR2设计需要XADC模块和温度监控器校准,以使DQS在读数据窗口中居中。

EDK中针对DDRX内核的XADC用法

通过EDK生成DDRX内核时,无法选择MIG 7系列中的“XADC实例化”选项。在生成的设计中,XADC块的实例化取决于顶级device_temp_i输入端口是否已连接。有关完整的详细信息,请参阅7系列FPGA存储器接口解决方案用户指南 (UG586)。

XADC板设置和MIG使用

只要遵循了所有XADC指定的指导原则,MIG 7系列IP就可以使用该块。只要VREFP / N引脚与这些XADC支持的选项之一连接,MIG就可以添加XADC或使用设计中已有的XADC:

  • 连接外部参考电源。
    注意: Vccadc必须正确供电。请查看7系列FPGA XADC双12位1MSPS模数转换器用户指南
  • 通过XADC中规定的铁氧体磁珠接地。
    注意: Vccadc必须正确供电。请查看7系列FPGA XADC双12位1MSPS模数转换器用户指南
  • 直接接地到板上。
    注意:如果XADC专门用于MIG,则此选项仅可行。由于MIG温度补偿所需的精度,这就足够了。如果VREFP / N和GNDADC直接在电路板上接地,则Vccadc不需要电源滤波,可以直接连接到Vccaux。

仅限PHY设计的注意事项

MIG 7系列控制器将启用发送到mig_7series_v1_x_ddr_phy_tempmon.v模块以读取温度,并在需要时调整PHASER_IN精细延迟。使用自定义控制器的设计负责发送启用。建议遵循与MIG 7系列控制器相同的实现,其中在刷新和ZQ校准期间发送启用。有关仅支持PHY和使用的完整详细信息,请参阅(Xilinx答复51204)

附加信息

  • 由于温度变化/漂移,温度监控系统用于在读数据窗口中保持DQS中心对准。这与Phaser_IN内执行的动态对齐是分开的,这需要在空闲和长命令写入流期间进行定期读取。需要定期读取以保持Phaser_IN对齐并准备好在读取期间正确捕获。有关其他信息,请参阅(Xilinx答复43344)
  • 有关如何运行仿真以显示温度监控电路的信息,请根据温度变化更新Phaser_IN抽头,请参阅(Xilinx答复52523)

修订记录
2014年4月16日 – 更新了MIG 2014.1 XADC更新
03/06/2013 – 添加了EDK特定信息
10/23/2012 – 初始版本

请登录后发表评论

    没有回复内容