DDR3_舊版(1):IP核調取


  本系列整理一下基於 Xilinx A7 芯片的 DDR3 的使用,此處采用的 DDR3 IP核為軟核,即采用 FPGA 邏輯單元、寄存器、查找表等搭建出來 IP核。從 IP 核的調取開始,接着讀寫測試,最后爭取實現一個基於 DDR3 的完整小項目。
 
1、建立工程,點擊 IP Catalog,在界面右側輸入 memory,選擇 IP,雙擊打開。
 
2、打開 DDR3 IP 核調取界面,該界面中主要是總結了所選芯片的型號等,點擊 Next。
 
3、定義控制器名稱,輸入控制器數量,Next。(AXI4 Interface 是AXI格式的MIG核,不勾是傳統的接口信號格式。)
 
4、如果有我們的芯片型號則勾選,沒有則不選,Next。
 
5、選擇控制器類型,LP意思是low power,用於低功耗常見的特殊DDR,Next。
 
6、設置 DDR3 控制器的若干參數,Next。
Clock Period : 給DDR3的同步的時鍾,此時鍾再產生DDR3的800M(400M時鍾雙沿傳遞),不用管warning,在此我們設置為 400MHz,若是 FPGA 芯片速度等級不同,則可能該工作頻率的范圍不一樣
Memory Part : 選擇 DDR3 SDRAM 的芯片類型,此處需要根據開發板上的芯片類型來選擇,若是列表內沒有相應的芯片類型,則可以在 Create Custom Part 中根據 DDR3 芯片參數來設定
DDR3的帶寬計算 : 400 * 2 * 16 = 12.8 Gbps (400: 控制器 PHY 的時鍾, 2: DDR 雙沿采樣, 16: 16bit,bus 的位寬。)
DDR3控制器是半雙工模式(分時讀寫),平均分配的話每個操作占有 6.4Gbps 的理論帶寬,實際沒有那么多,因為刷新、激活、讀寫指令等也都會占用周期。因此實際應用我們會*0.8來考慮。
 
7、設置 DDR3 控制器的若干參數。在此設定該控制器的輸入時鍾頻率為 200MHz,倍頻即為之前的400Mhz,控制器的突發類型為順序性,其他默認即可,Next。
 
8、設置系統時鍾和參考時鍾,Next。
系統時鍾
--------------------------------------------------------------------------
single_ended   :來源於引腳的單端時鍾
deferential    :差分時鍾
no buffer      :來源於 FPGA 內部的時鍾。

參考時鍾 --------------------------------------------------------------------------
single_ended、deferential、no buffer,
use system clock:只有在 system clock 時鍾頻率為199MHZ~201MHz 時,才存在該選項。
 
9、設置內部終端電阻值,此處根據 DDR3 SDRAM芯片手冊選擇,默認問題也不大。Next。
 
10、第一項為新設計,第二項為可導入已存在的 UCF 或 XDC 引腳約束文件。Next。
 
11、先點擊 Read XDC/UCF 導入相應的引腳約束文件,再點擊 Validate 進行驗證,然后點擊 Next。
 
12、型號名稱和一些設置,可以默認,若無法 Next,則隨便選一個,后面還可以更改,Next。(應該是時鍾類型錯選了 single ended才出現這個,改回no buffer就沒這個了)
 
13、總結頁面,Next。
 
14、選擇 Accept,Next。
 
15、直接 Next。
 
16、點擊 Generate 生成 IP 核。
 
17、生成后,在本次的目錄 DDR3_HDMI\DDR3_HDMI.srcs\sources_1\ip\ddr3_ctrl\ddr3_ctrl 中可以看到生成的3個文件夾,說明我們此次 DDR3 IP 核調取成功。
docs           : 該IP核相關文檔,如使用方法等。
example_design : 該IP核參考例程,仿真模型等。
user_design    : 用戶可使用的文件,如綜合文件、約束文件。

 

以上。
 
參考資料:威三學院FPGA教程


免責聲明!

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



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