當前位置:首頁 > 工業(yè)控制 > 電子設(shè)計自動化
[導讀] 引言本文以Xilinx公司的Kintex-7系列XC7K410T FPGA芯片和兩片Micron公司的MT41J128M16 DDR3 SDRAM芯片為硬件平臺,設(shè)計并實現(xiàn)了基于FPGA的視頻圖形顯示系統(tǒng)的DDR3多端口存儲管理。1 總體架構(gòu)設(shè)計機載視頻圖形顯示系

 引言

本文以Xilinx公司的Kintex-7系列XC7K410T FPGA芯片和兩片Micron公司的MT41J128M16 DDR3 SDRAM芯片為硬件平臺,設(shè)計并實現(xiàn)了基于FPGA的視頻圖形顯示系統(tǒng)的DDR3多端口存儲管理。

1 總體架構(gòu)設(shè)計

機載視頻圖形顯示系統(tǒng)中,為了實現(xiàn)多端口對DDR3的讀寫訪問,設(shè)計的DDR3存儲管理系統(tǒng)設(shè)計框圖如圖1所示,主要包括DDR3存儲器控制模塊、DDR3用戶接口仲裁控制模塊和幀地址控制模塊。

DDR3存儲器控制模塊采用Xilinx公司的MIG(Memory Interface Generator)方案,通過用戶接口建立FPGA內(nèi)部控制邏輯到DDR3的連接,用戶不需要管理DDR3初始化、寄存器配置等復雜的控制邏輯,只需要控制用戶接口的讀寫操作。

DDR3用戶接口仲裁控制模塊將每一個數(shù)據(jù)讀寫請求設(shè)置成中斷,借鑒中斷處理思想來進行仲裁控制,從而解決數(shù)據(jù)存儲的沖突問題。

幀地址控制模塊控制幀地址的切換。為了提高并行處理的速度,減少數(shù)據(jù)讀寫沖突,將圖形數(shù)據(jù)和視頻數(shù)據(jù)分別存儲在不同的DDR3中。

2 DDR3存儲器控制模塊設(shè)計

MIG生成的DDR3控制器的邏輯框圖如圖2所示,只需要通過用戶接口信號就能完成DDR3讀寫操作,大大簡化了DDR3的設(shè)計。

2.1 DDR3控制模塊用戶接口寫操作設(shè)計

DDR3存儲器控制模塊用戶接口寫操作有兩套系統(tǒng):一套是地址系統(tǒng),另一套是數(shù)據(jù)系統(tǒng)。用戶接口寫操作信號說明如表1所列。

地址系統(tǒng)的內(nèi)容是app_addr和app_cmd,兩者對齊綁定,app_cmd為000時為寫命令。當app_rdy(DDR3控制)和app_en(用戶控制)同時拉高時,將app_addr和app_cmd寫到相應(yīng)FIFO中。數(shù)據(jù)系統(tǒng)的內(nèi)容是app_wdf_data,它在app_wdf_rdy(DDR3控制)和app_wdf_wren(用戶控制)同時拉高時,將寫數(shù)據(jù)存到寫FIFO中。

為了簡化設(shè)計,本文設(shè)計的用戶接口寫操作時序如圖3所示,使兩套系統(tǒng)在時序上完全對齊。

2.2 DDR3控制模塊用戶接口讀操作設(shè)計

用戶接口讀操作也分為地址系統(tǒng)和數(shù)據(jù)系統(tǒng)。用戶接口讀操作信號說明如表2所列。

地址系統(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需要一定的反應(yīng)時間,讀操作時序如圖4所示。

3 DDR3用戶接口仲裁控制模塊設(shè)計

每片DDR3只有一組控制、地址和數(shù)據(jù)總線,因此同一時刻只能有一個設(shè)備在訪問。常見的總線切換方式有兩種:一種是輪詢機制,軟件實現(xiàn)簡單,但實時性不高;另一種是仲裁機制,設(shè)備發(fā)送中斷請求,從而進行總線切換。由于視頻圖形顯示系統(tǒng)對實時性要求高,因此選擇仲裁機制。

DDR3用戶接口仲裁控制框圖如圖5所示。為了提高并行速度,將圖形和視頻分別進行中斷處理。將設(shè)備中斷請求解析成多個子請求,進行優(yōu)先級判斷,每個子請求對應(yīng)一個中斷處理邏輯。

3.1 視頻處理寫請求中斷處理器設(shè)計

由于視頻處理寫請求不涉及到圖形中斷處理,所以對應(yīng)一個子請求——視頻處理寫子請求。

視頻處理模塊將采集到的視頻經(jīng)過縮放、旋轉(zhuǎn)等操作后存儲在緩存區(qū)中,當緩存區(qū)滿時發(fā)送視頻處理模塊寫請求。視頻處理寫中斷處理主要是從視頻處理模塊的緩存區(qū)中將地址和數(shù)據(jù)取出,寫入到視頻存儲DDR3中。

視頻處理寫請求中斷處理流程圖如圖6所示。當視頻處理模塊寫請求信號有效時,生成子中斷請求信號,若總線空閑則響應(yīng)該中斷。當命令接收就緒(app_rdy=1)且數(shù)據(jù)接收就緒(app_wdf_rdy=1)時,從視頻處理緩存區(qū)中讀取地址和數(shù)據(jù),同時發(fā)送寫命令、寫地址和寫數(shù)據(jù)。若緩存區(qū)為空,說明全部寫完,視頻處理寫中斷結(jié)束。

3.2 疊加輸出讀請求中斷處理器設(shè)計

疊加輸出模塊需要從DDR3中將待輸出的圖形數(shù)據(jù)和視頻數(shù)據(jù)存儲到行緩存中,因此分為兩個子請求:視頻輸出讀請求和圖形輸出讀請求。由于兩者分別在圖形中斷處理和視頻中斷處理中完成,因此可以同時進行。

視頻輸出讀中斷處理主要從視頻存儲DDR3中讀取1行視頻數(shù)據(jù),寫入到疊加輸出模塊的視頻緩存區(qū)中,視頻輸出讀中斷處理流程圖如圖7所示。本系統(tǒng)中突發(fā)長度BL=8,即每個用戶時鐘周期對應(yīng)接收同一行地址中相鄰的8個存儲單元的連續(xù)數(shù)據(jù)。輸出視頻分辨率為cols×rows,則地址系統(tǒng)需要發(fā)送cols/8個突發(fā)讀命令。數(shù)據(jù)系統(tǒng)接收讀數(shù)據(jù)時,若讀數(shù)據(jù)有效(app_rd_data_valid=1),則將讀到的數(shù)據(jù)存儲到疊加輸出模塊的視頻緩存區(qū)中,同時讀數(shù)據(jù)個數(shù)加1。當讀數(shù)據(jù)個數(shù)為cols/8時,所有讀命令對應(yīng)的讀數(shù)據(jù)全部接收,視頻輸出讀中斷處理結(jié)束。

圖形輸出讀中斷處理包含兩個步驟:從圖形存儲DDR3中讀取1行圖形數(shù)據(jù),寫到疊加輸出模塊的圖形緩存區(qū)中;將剛剛搬移數(shù)據(jù)到圖形緩存區(qū)的DDR3存儲空間清零。前者與視頻輸出讀中斷的處理過程類似。

圖形數(shù)據(jù)寫入DDR3時只寫入有圖形的位置,而不是全屏掃描,如果不進行清屏操作會導致下一幀圖形畫面上殘留上一幀的圖形數(shù)據(jù)。清屏操作指圖形輸出后將DDR3中對應(yīng)地址的存儲空間全部寫入數(shù)值0,從而將當前圖形數(shù)據(jù)清除。

3.3 圖形生成寫請求中斷處理器設(shè)計

為了提高讀寫速度,圖形中斷處理器中先進行直接結(jié)果寫中斷處理,同時視頻中斷處理器中進行插值背景視頻讀中斷處理,完成后再進行插值結(jié)果寫中斷處理。

4 幀地址控制模塊設(shè)計

幀地址控制模塊主要是將DDR3空間進行劃分,同時控制幀地址的切換。為了簡化設(shè)計,將存儲器劃分為若干塊,每塊存儲一幀數(shù)據(jù),在用戶仲裁控制模塊讀寫緩存區(qū)時只生成幀內(nèi)地址,幀地址的切換由幀讀寫控制模塊實現(xiàn),幀內(nèi)地址結(jié)合幀地址組合成對應(yīng)DDR3的內(nèi)部地址值。DDR3的幀地址劃分如圖8所示。

設(shè)置三個幀存儲空間,其中一幀用于讀出,一幀用于寫入,還有一幀空閑,分別稱作輸入幀、輸出幀和空閑幀。用三者的切換來實現(xiàn)幀速率的轉(zhuǎn)換,確保輸出幀相對于當前輸入幀的延遲最小,即當前輸出幀輸出的是最新寫滿的幀。當寫入的幀存儲空間已經(jīng)寫滿,而讀存儲空間還沒讀完,將下一幀的圖像數(shù)據(jù)寫入當前空閑的幀存儲空間。

圖9為PAL輸入幀和輸出幀讀寫控制流程圖。以A空間為輸出幀,B空間為輸入幀,C空間為空閑幀為例。若A空間讀完,B空間寫滿,則將B空間變成輸出幀并輸出,將C空間變成輸入幀并繼續(xù)輸入;若A空間還沒有讀完,B空間已經(jīng)寫滿,則將下一幀數(shù)據(jù)寫入到C空間,并繼續(xù)從A空間輸出。

5 驗證結(jié)果與分析

圖形生成寫中斷處理仿真圖略——編者注。

本文算法中,插值背景讀操作與直接結(jié)果寫操作同時在視頻中斷處理和圖形中斷處理中進行,利用并行操作減少時間,并大大降低了復雜度。

結(jié)語

本文設(shè)計并實現(xiàn)了基于FPGA的DDR3多端口存儲管理,主要包括DDR3存儲器控制模塊、DDR3用戶接口仲裁控制模塊和幀地址控制模塊。DDR3存儲器控制模塊采用Xilinx公司的MIG方案,簡化DDR3的邏輯控制;DDR3用戶接口仲裁控制模塊將圖形和視頻分別進行中斷處理,提高了并行速度,同時簡化了仲裁控制;幀地址控制模塊將DDR3空間進行劃分,同時控制幀地址的切換。

經(jīng)過分析,本文將圖形和視頻中斷分開處理,降低多端口讀寫DDR3的復雜度,提高并行處理速度。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉