最近阿威也在玩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時鍾。
最后感謝一下阿威,精明的娃忽悠不住!!! 非得解釋清楚。
歡迎加入: FPGA廣東交流群:162664354
FPGA開發者聯盟: 485678884