基于FPGA的DDR3多端口讀寫存儲管理系統(tǒng)設計
機載視頻圖形顯示系統(tǒng)主要實現(xiàn)2D圖形的繪制,構成各種飛行參數(shù)畫面,同時疊加實時的外景視頻。由于FPGA具有強大邏輯資源、豐富IP核等優(yōu)點,基于FPGA的嵌入式系統(tǒng)架構是機載視頻圖形顯示系統(tǒng)理想的架構選擇。視頻處理和圖形生成需要存儲海量數(shù)據(jù),FPGA內部的存儲資源無法滿足存儲需求,因此需要配置外部存儲器。
本文引用地址:http://2s4d.com/article/271735.htm與DDR2 SDRAM相比,DDR3 SDRAM帶寬更好高、傳輸速率更快且更省電,能夠滿足吞吐量大、功耗低的需求,因此選擇DDR3 SDRAM作為機載視頻圖形顯示系統(tǒng)的外部存儲器。
本文以Kintex-7系列XC7K410T FPGA芯片和兩片MT41J128M16 DDR3 SDRAM芯片為硬件平臺,設計并實現(xiàn)了基于FPGA的視頻圖形顯示系統(tǒng)的DDR3多端口存儲管理。
1總體架構設計
機載視頻圖形顯示系統(tǒng)中,為了實現(xiàn)多端口對DDR3的讀寫訪問,設計的DDR3存儲管理系統(tǒng)如圖1所示。主要包括DDR3存儲器控制模塊、DDR3用戶接口仲裁控制模塊和幀地址控制模塊。
圖1 DDR3存儲系統(tǒng)設計框圖
DDR3存儲器控制模塊采用MIG(Memory Interface Generator)方案,通過用戶接口建立FPGA內部控制邏輯到DDR3的連接,用戶不需要管理DDR3初始化、寄存器配置等復雜的控制邏輯,只需要控制用戶接口的讀寫操作。
DDR3用戶接口仲裁控制模塊將每一個數(shù)據(jù)讀寫請求設置成中斷,借鑒中斷處理思想來進行仲裁控制,從而解決數(shù)據(jù)存儲的沖突。
幀地址控制模塊控制幀地址的切換。為了提高并行處理的速度,簡化數(shù)據(jù)讀寫沖突,將圖形數(shù)據(jù)和視頻數(shù)據(jù)分別存儲在不同的DDR3中。
2 DDR3存儲器控制模塊設計
MIG生成的DDR3控制器的邏輯框圖如圖2所示,只需要通過用戶接口信號就能完成DDR3讀寫操作,大大簡化了DDR3的設計復雜度。
圖2 DDR3控制器的邏輯框圖
2.1 DDR3控制模塊用戶接口寫操作設計
DDR3存儲器控制模塊用戶接口寫操作有兩套系統(tǒng),一套是地址系統(tǒng),一套是數(shù)據(jù)系統(tǒng)。
地址系統(tǒng)的內容是app_addr和app_cmd,兩者對齊綁定,app_cmd為000時為寫命令,當app_rdy(DDR3控制)和app_en(用戶控制)同時拉高時,將app_addr和app_cmd寫到相應FIFO中。數(shù)據(jù)系統(tǒng)的內容是app_wdf_data,它在app_wdf_rdy(DDR3控制)和app_wdf_wren(用戶控制)同時拉高時,將寫數(shù)據(jù)存到寫FIFO.
為了簡化設計,本文設計的用戶接口寫操作時序如圖3所示,使兩套系統(tǒng)在時序上完全對齊。
圖3 DDR3寫操作時序圖
2.2 DDR3控制模塊用戶接口讀操作設計
用戶接口讀操作也分為地址系統(tǒng)和數(shù)據(jù)系統(tǒng)。用戶接口讀操作信號說明如表1所示。
表1 DDR3 控制器用戶接口讀操作信號說明
地址系統(tǒng)與寫操作相同,在時鐘上升沿且app_rdy為高電平時,用戶端口同時發(fā)出讀命令(app_cmd=001)和讀地址,并將app_en拉高,將讀命令和地址寫到FIFO中。對于數(shù)據(jù)系統(tǒng),當app_rd_data_valid有效,則讀數(shù)據(jù)有效,讀回的數(shù)據(jù)順序與地址/控制總線請求命令的順序相同。
讀操作地址系統(tǒng)和數(shù)據(jù)系統(tǒng)一般是不對齊的,因為地址系統(tǒng)發(fā)送到DDR3后,DDR3需要一定的反應時間,讀操作時序如圖4所示。
圖4 DDR3 讀操作時序圖
fpga相關文章:fpga是什么
存儲器相關文章:存儲器原理
評論