基于FPGA的DDR3多端口讀寫(xiě)存儲管理系統設計
機載視頻圖形顯示系統主要實(shí)現2D圖形的繪制,構成各種飛行參數畫(huà)面,同時(shí)疊加實(shí)時(shí)的外景視頻。由于FPGA具有強大邏輯資源、豐富IP核等優(yōu)點(diǎn),基于FPGA的嵌入式系統架構是機載視頻圖形顯示系統理想的架構選擇。視頻處理和圖形生成需要存儲海量數據,FPGA內部的存儲資源無(wú)法滿(mǎn)足存儲需求,因此需要配置外部存儲器。
本文引用地址:http://dyxdggzs.com/article/271735.htm與DDR2 SDRAM相比,DDR3 SDRAM帶寬更好高、傳輸速率更快且更省電,能夠滿(mǎn)足吞吐量大、功耗低的需求,因此選擇DDR3 SDRAM作為機載視頻圖形顯示系統的外部存儲器。
本文以Kintex-7系列XC7K410T FPGA芯片和兩片MT41J128M16 DDR3 SDRAM芯片為硬件平臺,設計并實(shí)現了基于FPGA的視頻圖形顯示系統的DDR3多端口存儲管理。
1總體架構設計
機載視頻圖形顯示系統中,為了實(shí)現多端口對DDR3的讀寫(xiě)訪(fǎng)問(wèn),設計的DDR3存儲管理系統如圖1所示。主要包括DDR3存儲器控制模塊、DDR3用戶(hù)接口仲裁控制模塊和幀地址控制模塊。

圖1 DDR3存儲系統設計框圖
DDR3存儲器控制模塊采用MIG(Memory Interface Generator)方案,通過(guò)用戶(hù)接口建立FPGA內部控制邏輯到DDR3的連接,用戶(hù)不需要管理DDR3初始化、寄存器配置等復雜的控制邏輯,只需要控制用戶(hù)接口的讀寫(xiě)操作。
DDR3用戶(hù)接口仲裁控制模塊將每一個(gè)數據讀寫(xiě)請求設置成中斷,借鑒中斷處理思想來(lái)進(jìn)行仲裁控制,從而解決數據存儲的沖突。
幀地址控制模塊控制幀地址的切換。為了提高并行處理的速度,簡(jiǎn)化數據讀寫(xiě)沖突,將圖形數據和視頻數據分別存儲在不同的DDR3中。
2 DDR3存儲器控制模塊設計
MIG生成的DDR3控制器的邏輯框圖如圖2所示,只需要通過(guò)用戶(hù)接口信號就能完成DDR3讀寫(xiě)操作,大大簡(jiǎn)化了DDR3的設計復雜度。

圖2 DDR3控制器的邏輯框圖
2.1 DDR3控制模塊用戶(hù)接口寫(xiě)操作設計
DDR3存儲器控制模塊用戶(hù)接口寫(xiě)操作有兩套系統,一套是地址系統,一套是數據系統。
地址系統的內容是app_addr和app_cmd,兩者對齊綁定,app_cmd為000時(shí)為寫(xiě)命令,當app_rdy(DDR3控制)和app_en(用戶(hù)控制)同時(shí)拉高時(shí),將app_addr和app_cmd寫(xiě)到相應FIFO中。數據系統的內容是app_wdf_data,它在app_wdf_rdy(DDR3控制)和app_wdf_wren(用戶(hù)控制)同時(shí)拉高時(shí),將寫(xiě)數據存到寫(xiě)FIFO.
為了簡(jiǎn)化設計,本文設計的用戶(hù)接口寫(xiě)操作時(shí)序如圖3所示,使兩套系統在時(shí)序上完全對齊。

圖3 DDR3寫(xiě)操作時(shí)序圖
2.2 DDR3控制模塊用戶(hù)接口讀操作設計
用戶(hù)接口讀操作也分為地址系統和數據系統。用戶(hù)接口讀操作信號說(shuō)明如表1所示。

表1 DDR3 控制器用戶(hù)接口讀操作信號說(shuō)明
地址系統與寫(xiě)操作相同,在時(shí)鐘上升沿且app_rdy為高電平時(shí),用戶(hù)端口同時(shí)發(fā)出讀命令(app_cmd=001)和讀地址,并將app_en拉高,將讀命令和地址寫(xiě)到FIFO中。對于數據系統,當app_rd_data_valid有效,則讀數據有效,讀回的數據順序與地址/控制總線(xiàn)請求命令的順序相同。
讀操作地址系統和數據系統一般是不對齊的,因為地址系統發(fā)送到DDR3后,DDR3需要一定的反應時(shí)間,讀操作時(shí)序如圖4所示。

圖4 DDR3 讀操作時(shí)序圖
fpga相關(guān)文章:fpga是什么
存儲器相關(guān)文章:存儲器原理
評論