DDR系列文章分類地址:
(1)DDR3 基礎(chǔ)知識分享
(2)DDR3 控制器 MIG IP 詳解完整版 (AXI4&Vivado&Verilog)
(3)DDR3 控制器 MIG IP 詳解完整版 (native&Vivado&Verilog)
(4)基于 DDR3 的串口傳圖幀緩存系統(tǒng)設(shè)計實現(xiàn)
(5)基于 DDR3 的native接口串口局部傳圖緩存系統(tǒng)設(shè)計實現(xiàn)
(6)基于 DDR3 的串口傳圖緩存系統(tǒng)設(shè)計實現(xiàn)
(7)基于 FPGA 的彩色圖像灰度化的設(shè)計實現(xiàn)
前言
本節(jié)主要是介紹 Xilinx DDR 控制器 IP 的創(chuàng)建流程、IP 用戶使用接口 AXI 協(xié)議介紹和
IP 對應(yīng)的 Example Design 的仿真和上板驗證。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、DDR 控制器 IP 創(chuàng)建流程
在建立好工程后,按如下步驟進(jìn)行 DDR 控制器 IP 的創(chuàng)建和配置。
1、搜索查找 DDR 控制器 IP。
Xilinx 的 DDR 控制器的名稱簡寫為 MIG(Memory Interface Generator),在 Vivado 左側(cè)窗口點擊 IP Catalog,然后在 IP Catalog 窗口直接搜索關(guān)鍵字“mig”,就可以很容易的找到Memory Interface Generator(MIG 7 Series)。如下圖所示。
直接雙擊鼠標(biāo)左鍵或通過鼠標(biāo)右鍵選項中選擇 Customize IP 并點擊。如下圖所示,可進(jìn)
入到 IP 配置界面。
2、MIG IP 的配置。
進(jìn)入IP配置界面后,第一個界面是 Memory Interface Generator 介紹頁面,如下圖所示。默認(rèn)的器件家族(FPGA Family)、器件 型號(FPGA Part)、速度等級(Speed Grade)、綜合工具(Synthesis Tool)和設(shè)計輸入語言(Design Entry)都和創(chuàng)建工程是保持一致。
點擊 Next 到 MIG Output Options 配置頁面中,如下圖所示。勾選“Create Design”,默認(rèn)名稱(Component Name)為“mig_7series_0”,用戶可對其進(jìn)行修改,這里保持默認(rèn)。選擇控制器數(shù)量(Number of Controllers)為 1,勾選 AXI4 Interface(本實驗 MIG IP 的用戶接口使用 AXI 協(xié)議接口)。
點擊 Next 到 Pin Compatible FPGAs 配置頁面,如下圖所示該界面可用于配置選擇和當(dāng)前所設(shè)定的唯一器件型號做引腳兼容的其它 FPGA 型號。對于某些可能升級器件型號的應(yīng)用而言,這個功能是很實用的。這里保持默認(rèn)不做配置。
點擊 Next 進(jìn)入到如下圖所示的 Memory Selection 配置頁面,這里根據(jù)實際板子硬件進(jìn)行選擇,開發(fā)板板載的是 DDR3,這里選擇“DDR3 SDRAM”即可。
點擊 Next 進(jìn)入到如下圖所示的 Controller Options 配置頁面該配置。
在該配置界面需要設(shè)定如下重要的 DDR3 存儲器信息。對應(yīng)的設(shè)置位置如下圖所示。
(1)DDR3 存儲器驅(qū)動的時鐘周期(Clock Period)設(shè)置為 2500ps(即 400MHz),這個時鐘是用于 FPGA 輸出給到 DDR 存儲器時鐘管腳的時鐘。注意這里根據(jù)實際情況是有設(shè)置區(qū)間范圍的,并非可以設(shè)置任意值,這里的區(qū)間范圍為 25003300ps(即300400MHz)。
(2)DDR3 存儲器類型(Memory Type)為 Components。
(3)DDR3 存儲器型號(Memory Part)為 MT41J128M16XX-125,這是開發(fā)板板載 DDR3存儲器的實際型號(XX 表示任何字符均可)。此處倒三角點擊后有很多備選型號,若實際使用型號不在此列表中,可以點擊“Create Custom Part”后設(shè)置相關(guān) DDR3 存儲器的時序參數(shù)。
(4)DDR3 存儲器接口電壓(Memory Voltage)為 1.5V。
(5)DDR3 存儲器位寬(Data Width)為 16,這里根據(jù)實際開發(fā)板板載 DDR3 存儲器數(shù)據(jù)總線位寬進(jìn)行設(shè)置。
(6)DDR 控制器的 bank machines 個數(shù)設(shè)置,這里參數(shù)與 DDR3 物理 bank 個數(shù)并非是同一概念,設(shè)置上并非一定需要與 DDR3 物理 bank 個數(shù)保持一致(當(dāng)然設(shè)置相同數(shù)量可以增加 DDR 控制器的效率和性能,但是會占用相對多的資源,時序上要求也相對要高,性能和資源上如何達(dá)到一個比較好的平衡,需要根據(jù)實際應(yīng)用場景進(jìn)行設(shè)置,有關(guān)詳細(xì)的設(shè)置指導(dǎo)可參考文檔 7 Series FPGAs Memory Interface Solutions)。
(7)DDR 控制器調(diào)度命令的順序的配置,當(dāng)選擇 strict 時,嚴(yán)格按照命令先后順序執(zhí)行;選擇 normal 時,為了得到更高的效率,可能對命令重排序。為了操作簡單,我們選擇strict。
全部參數(shù)設(shè)置完成后如下圖所示。
文章來源:http://www.zghlxwxcb.cn/news/detail-461473.html
點擊 Next 進(jìn)入到如下圖所示 AXI Parameter 配置頁面。該界面是對 AXI 接口相關(guān)參數(shù)
進(jìn)行配置,具體配置如下。
(1)AXI 接口的數(shù)據(jù)位寬,設(shè)置為 128。
(2)DDR 控制器的仲裁機制,由于 AXI 接口讀寫通道是獨立的,讀寫各有自己的地址通道,而儲存器控制器只有一個地址總線,同一時刻只能進(jìn)行讀或?qū)懀@樣就存在讀/寫優(yōu)先級的問題,這里設(shè)置 TMD(Time Division Multiplexing),該設(shè)置讀寫優(yōu)先級相同,讀寫交替進(jìn)行。
(3)Narrow Burst 支持,設(shè)置 0,將其關(guān)閉。
(4)AXI 接口的地址位寬,自動根據(jù) DDR3 內(nèi)存生成的位寬,這里 AXI 地址對應(yīng)的數(shù)據(jù)是以 1 字節(jié)進(jìn)行計算的,不要與 DDR3 的地址和存儲數(shù)據(jù)混淆。板載 DDR3 存儲器存儲空間 2Gbit(2Gbit = 256MByte = 2^28 Byte,所以 AXI 的地址位寬為 28)。
(5)AXI 讀/寫通道的 ID 寬度。ID 是用來標(biāo)識讀/寫響應(yīng)和讀/寫數(shù)據(jù)的一致性&#文章來源地址http://www.zghlxwxcb.cn/news/detail-461473.html
到了這里,關(guān)于DDR3 控制器 MIG IP 詳解完整版 (VIVADO&Verilog)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!