基于FPGA的DDR3多端口讀寫存儲管理系統(tǒng)設計
5驗證結果與分析
本文引用地址:http://www.ex-cimer.com/article/271735.htm圖形生成寫中斷處理仿真圖如圖10所示。由于圖形生成數(shù)據不是從左往右連續(xù)進行的,因此每次突發(fā)寫操作發(fā)送的128位數(shù)據(BL=8),有效的數(shù)據只有低16位,高112位直接用掩碼屏蔽(app_wdf_mask=16‘hfffc)。當一幀圖形全部繪制完成后發(fā)送圖形生成模塊寫請求(graphics_done=1)。此時圖形中斷處理器執(zhí)行直接結果寫中斷(graphics_wr_interrupt=1),視頻中斷處理器執(zhí)行插值背景讀中斷(graphics_wr_interrupt_rd_bk=1)。當兩者同時完成(rd_bk_video_finish=1)時,圖形中斷處理器執(zhí)行插值結果寫請求中斷。其中,c0_app_XXX表示圖形存儲DDR3的用戶接口,寫圖形數(shù)據時,用戶接口地址系統(tǒng)和數(shù)據系統(tǒng)是對齊的;c1_app_XXX表示視頻存儲DDR3的用戶接口,讀視頻背景時,數(shù)據系統(tǒng)比地址系統(tǒng)稍有延遲。
圖10 圖形生成寫中斷處理波形圖
用本文設計的DDR3存儲管理系統(tǒng)對文獻[9]中圖6.1進行中斷處理。視頻分辨率為1600×1200;繪制字符等直接結果點共812個像素(矩形填充忽略不算);繪制斜線等插值結果點共有4762個像素。用本文算法測試各中斷處理時間如表2所示。
表2 中斷處理時間表
視頻中斷處理器中,視頻處理寫中斷將一行視頻處理數(shù)據順序寫入到DDR3中耗時1.1us,則將一幀視頻處理數(shù)據寫入DDR3中耗時1.32ms;視頻輸出讀中斷從DDR3讀出1行視頻數(shù)據耗時1us,則將一幀視頻讀出需要1.2ms;插值背景讀耗時54.2us.視頻處理中斷共耗時2.5742ms.圖形處理中斷中,圖形輸出讀中斷讀出1行圖形數(shù)據,并將其內存空間清零,共需要2.1us,即將一幀圖形讀出需要2.52ms,則圖形處理中斷共耗時2.5851ms.
與文獻[9]結果相比,本文設計的系統(tǒng)對圖形生成讀寫中斷速度有了明顯提高。因為文獻[9]中斷類型較多,且圖形生成中斷的優(yōu)先級最低,在實現(xiàn)的過程中會多次被打斷,導致圖形生成執(zhí)行時間較長;而本文算法中,插值背景讀操作與直接結果寫操作同時在視頻中斷處理和圖形中斷處理中進行,利用并行操作減少時間,并大大降低了復雜度。
結論
本文設計并實現(xiàn)了基于FPGA的DDR3多端口存儲管理,主要包括DDR3存儲器控制模塊、DDR3用戶接口仲裁控制模塊和幀地址控制模塊。DDR3存儲器控制模塊采用Xilinx公司的MIG方案,簡化DDR3的邏輯控制;DDR3用戶接口仲裁控制模塊將圖形和視頻分別進行中斷處理,提高了并行速度,同時簡化仲裁控制;幀地址控制模塊將DDR3空間進行劃分,同時控制幀地址的切換。
經過分析,本文將圖形和視頻中斷分開處理,簡化多端口讀寫DDR3的復雜度,提高并行處理速度。
fpga相關文章:fpga是什么
存儲器相關文章:存儲器原理
評論