【FPGA】Xilinx-7系的时钟资源与DDR3配置

引子:

  HP中的DDR需要sys_clkclk_ref两路输入,HR用户功能也需要usr_clk时钟输入。

但是HR资源IO被完全占用,HP中只有bank33的MRCC/SRCC可以作为fpga的时钟输入。以及为了尽量减少差分晶振的数量,需要合理利用内部时钟资源。

 

 一、先弄清楚DDR_controller的clk需求

  调用MIG IP,选择DDR3 32位宽4GB。

System Clock给DDR控制器逻辑和接口提供时钟;Reference Clock单独给Delay单元提供时钟,用来调整DDR信号时序。

  Reference Clock:先来简单的,ref_clk给个固定的200MHz输入就可以了,可以认为跟ddr_controller这块是功能分开的。

You need to always supply a 200 MHz ref_clk and then MIG creates the appropriate IDELAYCTRL frequency with an additional MMCM.

 

  Input Clock Period:片子差分晶振频率,作为PLL模块的CLKIN。该PLL的VCO频率为800MHz(待确认)。

另外,这个模块能出5路 Additional Clock 给其他Fabric用,能否给user的logic?(待确认)

driven from an internal clock (No Buffer).

只有Input Clock Period是外挂200mhz时,Reference Clock才能选择Use System Clock。

建议两者都选 No Buffer,使用内部时钟。

Internal Vref 能释放 IO_0_VRN / IO_25_VRP 两个管脚,这里为什么不能勾选?(待确认)

  DDR颗粒选型:Micron MT41K1G8SN-107 

 

二、内部时钟如何分配

 7系内部分成了许多个clock region,每个region是50个CLB和IOB合集,且每个region内部有12个global clock domain,这些domain又能被级别最高的32个global clock buffer驱动。

 而这些BUFG又能被CCIO直接驱动,即MRCC/SRCC时钟输入引脚。

 

输入clk_in外接200Mhz晶振,经过clocking wizard输出三路时钟,分别给usr_clk、sys_clk、clk_ref

 

 参考1:ug586_7Series_MIS 

 参考2:ug472_7Series_Clocking

posted @ 2018-12-13 10:57  KevinChase  阅读(6373)  评论(0编辑  收藏  举报