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