1. 程式人生 > >ddr3調試經驗分享(五)——KC705_MIG時鐘清單

ddr3調試經驗分享(五)——KC705_MIG時鐘清單

設定 意思 分享 解釋 報錯 blog 晶振 data 差分

最近阿威也在玩MIG ,然後對我問了一大堆問題,主要針對MIG的時鐘。後來發現自己理解得還是不夠。這麽一討論更加清晰了,做個筆記吧。

第一個時鐘,也就是MIG 對DDR接口的時鐘。因為我用的是ddr3,K7的器件。所以選擇了800M,那麽也就是說我請求的MIG對ddr接口的速率是800M *2=1600M (雙沿,所以乘2)

下面有一個4:1, 證明MIG 輸出到app接口上的時鐘ui_clk 是 800M/4=200M 。這裏為啥是灰色呢,估計應該是到了app接口上限:200M的運行速率,data位寬512bit。具體哪一個是上限

沒有去嘗試。(應該是200M吧,因為我還沒有告訴MIG 我的ddr數據位寬是16bit還是64bit)

這裏如果選擇了clock period 是400M ,那麽下面的4:1可選為4:1—— app接口時鐘100M ,或者選擇2:1—— app接口時鐘200M

技術分享

第二個時鐘

這裏是輸入給MIG 的時鐘,kc705上晶振是差分200M ,所以這個就選擇200M 。但是不要勉強,什麽意思呢,就是這個時鐘是你的top 層input clock 。不要在中間接東西。因為我是差分信號的clock,

總想自己分一個出來用,結果怎麽弄都是報錯,不管接gds,bufg,還是pll都不行。所以你的晶振是多少就選擇多少。這裏的200M 對於後面有好處。

技術分享

第三個時鐘:

不明白為啥這個MIG 不能一次把話講完,第二張圖中已經設定了輸入是200M 的時鐘,這裏的system clock還是設定輸入時鐘是差分還是單端的,因為我的晶振是差分200M

所以設定為差分。下面的這個reference clock就是MIG 需要一個200M 的時鐘作為參考 —— 硬性需求啊。又因為我的第二張圖中告訴了MIG ,我給他的clock就已經是200M 了,

所以這個地方就多了一個選項卡 use system clock —— 這個system clock 和第二張圖中的input clock 是同一個東西。

如果你的第二張圖中input clock不是200M,這裏就沒有這個use system clock的選項卡,那麽你就需要選擇其他的選項。最後MIG最後生成的.v 就多了一個ref_clk的接口問你要200M時鐘。

技術分享

最後感謝一下阿威,精明的娃忽悠不住!!! 非得解釋清楚。

畢竟本人水平有限,各博客中如果理解錯了,還請大家指正。

ddr3調試經驗分享(五)——KC705_MIG時鐘清單