vivado + hdmi+ddr3(2)--------基於VIVADO的DDR3三個時鍾


  關於DDR3仿真平台的搭建,首先我們要了解DDR3IP盒子。DDR3的IP盒子是MIG。在我們使用MIG的時候,他所出的位置及其作用我們必須了解。也就是他所出在我們控制的什么位置。如下圖所示:

  

 

MIG控制器也就是IP盒子,所處的位置是連接我們用戶邏輯和DDR3芯片的中間控制器。其實大多數IP都是一端要鏈接我們用戶邏輯一端連接我們要控制的器件。這里這樣說是為了固話一下我們的思維,因為這里有三個時鍾模塊,經常會被弄混,也是在IP中起到了關鍵的作用。如果不能處理好這三個時鍾模塊,DDR3有很大的幾率不能正常工作。如上圖所示:因為DDR3芯片工作存儲數據的時候必須用到時鍾,所以MIG給了DDR3一個工作時鍾;所有控制器的時鍾都源於最頂層的時鍾也就是sys_clk;當然MIG還會給用戶糊一個時鍾用於語用邏輯的控制。

一、三個始終的選擇與介紹

  (1)第一個時鍾,如下圖所示,這里的locks_period ,這里的時鍾功能是只是所有控制器的工作頻率,該時鍾收板子上的FPGA芯片和期間的速度等級的限制,速度等級就是選芯片的時候后面會有一個 -1,-2,就是代表速度等級。也就是對應着上圖的ddr3_clk ,下圖頁面的第二個選項,是控制器的時鍾頻率和和用戶的時鍾頻率,用戶接口的數據總線的2:1比例寬度物理內存寬度的4倍,而4:1的比例總線是物理內存的8倍。RLDRA,2必須使用2:1,而RLDRAM3必須用4:1,同時2:1,具有較低的延遲,4:1速度快。就是說此處ddr3_clk 的工作時鍾為400M,選擇4:1的比例那么MIG會給出一個ui_clk給用戶使用,也就是ui_clk=100M。

  (2)、第二個時鍾,如下圖所示;這個時鍾是給到MIG的時鍾,也就是對應着的sys_clk。當然此處的sys_clk 不一定是你板子上的時鍾,因為你板子的時鍾總是某個特定值,這個值在這個芯片所承受的時鍾范圍內,但是在上圖中的sys_clk 是可以是這個時鍾的最大值;舉個例子,假設某款FPGA的工作頻范圍是100M-533M,而我板子上的晶振為100M,但是此時此處的sys_clk就還可以選擇300M、400M等。當然需要通過鎖相環來實現。這里最好還是采用板子上的晶振時鍾,一般的都為200M。

 

 

 

 

 

   (3)、第三個時鍾,如下圖所示:此處選擇的是輸入到MIG的時鍾類型(單端、差分或者否),只有用的官方的板子才選擇NO-BUFF。第二個選項:參考時鍾–該選項選擇時鍾類型(單端,差分,否對clk_ref信號對進行緩沖或使用系統時鍾)。使用系統時鍾選項當輸入頻率在199和201 MHz之間時(即輸入時鍾)出現周期介於5,025 ps(199 MHz)和4,975 ps(201 MHz)之間。參考時鍾,當然當我們選擇的這個參考時鍾不是200M的時候(這個始終就是共MIG內部的iodelay使用的),我們要參考vivado給出的例子,看例子里面是怎么給的時鍾。此處如果選的是單端或者差分,那么在生成例化文件的時候,就會多出幾個參考適中的端口給你要時鍾,這個時候參考例程,將輸入的系統時鍾通過PLL來產生相應的時鍾。

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM