引子:app
HP中的DDR须要sys_clk和clk_ref两路输入,HR用户功能也须要usr_clk时钟输入。dom
可是HR资源IO被彻底占用,HP中只有bank33的MRCC/SRCC能够做为fpga的时钟输入。以及为了尽可能减小差分晶振的数量,须要合理利用内部时钟资源。spa
1、先弄清楚DDR_controller的clk需求blog
调用MIG IP,选择DDR3 32位宽4GB。接口
System Clock给DDR控制器逻辑和接口提供时钟;Reference Clock单独给Delay单元提供时钟,用来调整DDR信号时序。资源
Reference Clock:先来简单的,ref_clk给个固定的200MHz输入就能够了,能够认为跟ddr_controller这块是功能分开的。it
You need to always supply a 200 MHz ref_clk and then MIG creates the appropriate IDELAYCTRL frequency with an additional MMCM.io
Input Clock Period:片子差分晶振频率,做为PLL模块的CLKIN。该PLL的VCO频率为800MHz(待确认)。im
另外,这个模块能出5路 Additional Clock 给其余Fabric用,可否给user的logic?(待确认)db
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
2、内部时钟如何分配
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