问题描述
在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中。 对于以下频率(DDR2 / 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,用于以下频率(DDR2 / 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生成以下频率(DDR2 / 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,用于以下频率(DDR2 / 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生成以下频率(DDR2 / DDR3 / QDRII + / RLDRAM):
FPGA速度等级 | 从(ps) | 至(ps) |
-1 | 2223 | 2499 |
-2 | 2000 | 2083 |
-3 | NA | NA |
对于以下频率(DDR2 / 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),
没有回复内容