描述
Virtex-6 DDR2 / DDR3 MIG设计有两个时钟输入:参考时钟和系统时钟输入。
参考时钟驱动设计中的IODELAYCTRL组件,而系统时钟输入用于创建所有MIG设计时钟(用于用户界面,控制器和PHY层)并驱动在基础架构模块中实例化的MMCM。
可以从现有MMCM资源生成参考时钟,而不是从外部时钟源驱动它。
注意:本答复记录是Xilinx MIG解决方案中心(Xilinx答复34243)的一部分 。
Xilinx MIG解决方案中心可用于解决与MIG相关的所有问题。
无论您是使用MIG开始新设计还是对问题进行故障排除,都可以使用MIG解决方案中心来指导您获取正确的信息。
解
要从单个时钟源内部生成参考时钟,请执行以下步骤:
- 必须针对此要求更改的RTL文件是Design top模块(example_top或用户设计顶部),基础结构和iodelayctrl。
- 在对RTL进行更改之前,请从CORE Generator接口调用时钟向导并提供源时钟频率。
另外,配置时钟向导以生成四个输出; MIG默认设计需要三个输出,第四个输出作为idelayctrl参考时钟(200 MHz或300 MHz)。
记下生成的倍增因子(CLKFBOUT_MULT_F),除法因子(DIVCLK_DIVIDE)和相应的时钟输出除法因子(CLOCKn_DIVIDE)。 - 模块基础设施变更
- 应为第四个时钟输出添加一个额外的新参数,该参数将取CLOCK3_DIVIDE的值;将此参数命名为CLKOUT3_DIVIDE。
此外,将此参数传递给MMCM实例的CLKOUT3_DIVIDE参数(或)CLKOUT3_DIVIDE参数值可以直接映射到基础架构模块中MMCM实例的CLKOUT3_DIVIDE参数。 - 在“infrastructure.v”文件中,添加一个额外的输出端口clk_ref,它是从MMCM生成的200 MHz或300 MHz时钟。
这应该连接到MMCM的CLKOUT3端口。
该时钟驱动iodelayctrl模块。 - 添加其他输出端口以将pll_lock信号从基础结构模块中移出。
当PLL驱动idelayctrl块时,此pll_lock需要合并到iodelay_ctrl模块中的idelayctrl复位中。
- 应为第四个时钟输出添加一个额外的新参数,该参数将取CLOCK3_DIVIDE的值;将此参数命名为CLKOUT3_DIVIDE。
- 模块iodelayctrl更改:
- MMCM生成idelayctrl参考时钟;因此,BUFG可以驱动参考时钟。
因此,请使用clk_ref替换clk_ref_ibufg信号。BUFG u_bufg_clk_ref
(
.O(clk_ref_bufg),
.I(clk_ref)
); - 添加一个额外的输入端口以从基础架构模块的MMCM引入pll_lock信号。
- 根据iodelay_ctrl.v / vhd中的注释,将pll_lock合并到idelayctrl重置中:
//如果PLL在用户设计中驱动IDELAYCTRL,则添加PLL锁定
assign rst_tmp_idelay = sys_rst_act_hi或(不是pll_lock);
- 注释generate和endgenerate语句之间的代码部分。
该逻辑包括处理单端或差分结束时钟输入,并为其提供缓冲器。
- MMCM生成idelayctrl参考时钟;因此,BUFG可以驱动参考时钟。
- 设计顶层模块更改(example_top.v或用户设计顶部):
- 用新生成的因子替换CLKFBOUT_MULT_F,DIVCLK_DIVIDE和CLKOUT_DIVIDE的参数值。
请注意,CLKOUT_DIVIDE参数应具有由Clocking Wizard生成的CLOCK0_DIVIDE值。 - 在顶级输入端口注释掉参考时钟端口(用于差分模式的clk_ref_p和clk_ref_n以及用于SINGLE_ENDED模式的clk_ref)并将它们声明为有线。
还应该执行从基础结构模块生成的参考时钟到iodelayctrl实例端口的映射。 - 为基础架构和iodelay_ctrl模块添加pll_lock端口并连接这两个端口。
- 用新生成的因子替换CLKFBOUT_MULT_F,DIVCLK_DIVIDE和CLKOUT_DIVIDE的参数值。
- UCF更改:
- MMCM生成idelayctrl参考时钟,因此UCF中不需要idelayctrl时钟约束。
因此,在UCF中注释掉idelayctrl参考时钟约束。
- MMCM生成idelayctrl参考时钟,因此UCF中不需要idelayctrl时钟约束。
注意:
(1)所有Virtex-6设计的输入时钟频率与存储器控制器频率相同。
因此,当调用时钟向导时,可能不会为各种输入频率生成200 MHz或300 MHz的参考时钟频率。
没有回复内容