MIG v3.3,Virtex-6 FPGA DDR2 / DDR3 / QDRII + / RLDRAM  –  MMCM CLKFBOUT_MULT_F = 2,3,4无效,需要手动修改-Altera-Intel社区-FPGA CPLD-ChipDebug

MIG v3.3,Virtex-6 FPGA DDR2 / DDR3 / QDRII + / RLDRAM – MMCM CLKFBOUT_MULT_F = 2,3,4无效,需要手动修改

问题描述

在Virtex-6 FPGA中使用MMCM时,将CLKFBOUT_MULT_F设置为2,3 和4可能会导致MMCM无法锁定。 MIG确定CLKFBOUT_MULT_F参数的值,以确保设计中使用的MMCM的内部VCO频率尽可能高。具有更高的VCO频率可减少输出时钟的抖动。 DDR2 / DDR3在MIG DDR2 / DDR3设计中,有两个可能受此问题影响的MMCM。一个位于模块infrastructure.v / .vhd中,另一个位于phy_rdclk_gen.v / .vh中。 QDRII + / RLDRAM在MIG QDRII +和RLDRAM设计中,有一个MMCM可能会受到此问题的影响。 MMCM位于模块infrastructure.v / .vhd中。 对于以下频率(D​​DR2 / DDR3 / QDRII + / RLDRAM),MIG为infrastructure.v / .vhd中的MMCM生成CLKFBOUT_MULT_F = 4的设置:

FPGA速度等级 从(ps) 至(ps) 从(ps) 至(ps)
-1 3334 4166
-2 1875年 1999年 2778 3472
-3 2500 3124

CLKFBOUT_MULT_F = 4的设置用于phy_rdclk_gen.v / .vhd中的MMCM,用于以下频率(D​​DR2 / DDR3):

FPGA速度等级 从(ps) 至(ps) 从(ps) 至(ps)
-1 3336 4169
-2 3336 4169 1875年 1999年
-3 3336 4169 1875年 1999年

CLKFBOUT_MULT_F = 3的设置由MIG为infrastructure.v / .vhd中的MMCM生成以下频率(D​​DR2 / DDR3 / QDRII + / RDLRAM):

FPGA速度等级 从(ps) 至(ps)
-1 2500 3333
-2 2084 2777
-3 1875年 2499

CLKFBOUT_MULT_F = 3的设置用于phy_rdclk_gen.v / .vhd中的MMCM,用于以下频率(D​​DR2 / DDR3):

FPGA速度等级 从(ps) 至(ps) 从(ps) 至(ps)
-1 2502 3335
-2 2502 3335 2085 2500
-3 2502 3335 2085 2500

CLKFBOUT_MULT_F = 2的设置由MIG为infrastructure.v / .vhd中的MMCM生成以下频率(D​​DR2 / DDR3 / QDRII + / RLDRAM):

FPGA速度等级 从(ps) 至(ps)
-1 2223 2499
-2 2000 2083
-3 NA NA

对于以下频率(D​​DR2 / DDR3),CLKFBOUT_MULT_F = 2的设置用于phy_rdclk_gen.v / .vhd中的MMCM:

FPGA速度等级 从(ps) 至(ps)
-1 2501 2501
-2 2000 2084
-3 2000 2084

错误:LIT:586 – MMCM_ADV符号“physical_group_u_infrastructure / clk_pll / u_infrastructure / u_mmcm_adv”将属性CLKFBOUT_MULT_F设置为超出有效范围5到64的值。 (Xilinx答复33849)

解决/修复方法

基础设施的解决方法.v: 注意:只有当操作频率落在CLKFBOUT_MULT_F通常设置为2/3/4的范围内时才执行这些 步骤 注意:仅 显示Verilog的示例。 VHDL参数命名相同,应遵循相同的步骤。

  • 对于MIG生成的CLKFBOUT_MULT_F值为2,M(CLKFBOUT_MULT_F)和D(DIVCLK_DIVIDE)应乘以3。
  • 对于MIG生成的CLKFBOUT_MULT_F值为3或4,M(CLKFBOUT_MULT_F)和D(DIVCLK_DIVIDE)应乘以2。

phy_rdclk_gen.v的解决步骤: 注意:仅当操作频率落在CLKFBOUT_MULT_F通常设置为2/3/4的范围内时,才执行这些 步骤 注意:仅 显示Verilog的示例。 VHDL参数命名相同,应遵循相同的步骤。

  • 对于MIG生成的CLKFBOUT_MULT_F值为2,将这两个参数增加3倍:

.DIVCLK_DIVIDE(3 * DIVCLK_DIVIDE),

  • 对于MIG生成的CLKFBOUT_MULT_F值为3和4,将这两个参数增加2倍:

.DIVCLK_DIVIDE(2 * DIVCLK_DIVIDE),

请登录后发表评论

    没有回复内容