引子: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