精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于FPGA的DDR3多端口讀寫存儲管理系統設計

FPGA設計論壇 ? 來源:未知 ? 2023-06-08 03:35 ? 次閱讀


點擊上方藍字關注我們

機載視頻圖形顯示系統主要實現2D圖形的繪制,構成各種飛行參數畫面,同時疊加實時的外景視頻。由于FPGA具有強大邏輯資源、豐富IP核等優點,基于FPGA的嵌入式系統架構是機載視頻圖形顯示系統理想的架構選擇。視頻處理和圖形生成需要存儲海量數據,FPGA內部的存儲資源無法滿足存儲需求,因此需要配置外部存儲器。

DDR2 SDRAM相比,DDR3 SDRAM帶寬更好高、傳輸速率更快且更省電,能夠滿足吞吐量大、功耗低的需求,因此選擇DDR3 SDRAM作為機載視頻圖形顯示系統的外部存儲器。

本文以Kintex-7系列XC7K410T FPGA芯片和兩片MT41J128M16 DDR3 SDRAM芯片為硬件平臺,設計并實現了基于FPGA的視頻圖形顯示系統的DDR3多端口存儲管理。


1 總體架構設計


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

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

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

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


2 DDR3存儲器控制模塊設計


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

2.1 DDR3控制模塊用戶接口寫操作設計

DDR3存儲器控制模塊用戶接口寫操作有兩套系統,一套是地址系統,一套是數據系統。用戶接口寫操作信號說明如表 1所示。

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

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

2.2 DDR3控制模塊用戶接口讀操作設計

用戶接口讀操作也分為地址系統和數據系統。用戶接口讀操作信號說明如表 2所示。

地址系統與寫操作相同,在時鐘上升沿且app_rdy為高電平時,用戶端口同時發出讀命令(app_cmd=001)和讀地址,并將app_en拉高,將讀命令和地址寫到FIFO中。對于數據系統,當app_rd_data_valid有效,則讀數據有效,讀回的數據順序與地址/控制總線請求命令的順序相同。

讀操作地址系統和數據系統一般是不對齊的,因為地址系統發送到DDR3后,DDR3需要一定的反應時間,讀操作時序如圖 4所示。


3 DDR3用戶接口仲裁控制模塊設計


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

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

3.1 視頻處理寫請求中斷處理器設計

由于視頻處理寫請求不涉及到圖形中斷處理,所以對應一個子請求:視頻處理寫子請求。

視頻處理模塊將采集到的視頻經過縮放、旋轉等操作后存儲在緩存區中,當緩存區滿時發送視頻處理模塊寫請求。視頻處理寫中斷處理主要是從視頻處理模塊的緩存區中將地址和數據取出,寫入到視頻存儲DDR3中。

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

3.2 疊加輸出讀請求中斷處理器設計

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

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

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

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

3.3 圖形生成寫請求中斷處理器設計

圖形生成是接收CPU的圖形命令并進行光柵化,將結果先存儲在直接結果緩存區和插值結果緩存區中,從而存入到DDR3中。當一幀圖形全部繪制完成后發送圖形生成模塊寫請求。圖形生成寫請求分為三個子請求:直接結果寫中斷請求、插值背景讀中斷請求、插值結果寫中斷請求。

直接結果緩存區存放直接輸出的與背景顏色無關的像素值數據;插值結果緩存區存放需要讀回對應位置的背景視頻進行插值修正的像素點的數據。插值結果寫到DDR3時,首先從視頻存儲DDR3中讀出需要修正的像素點對應位置的視頻像素值作為背景,然后用流水線處理實現插值修正,將修正結果寫到圖形存儲DDR3中。

為了提高讀寫速度,圖形中斷處理器中先進行直接結果寫中斷處理;同時視頻中斷處理器中進行插值背景視頻讀中斷處理。同時完成后再進行插值結果寫中斷處理。流程與圖 6和圖 7相似。


4 幀地址控制模塊設計


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

圖形的讀寫和DVI視頻的讀寫不涉及幀速率的轉換,因此圖形存儲DDR3中的第0~1幀和視頻存儲DDR3中的第3~4幀地址控制方式相同,都是其中一幀用于將生成數據寫入到DDR3中,另一幀用于讀出數據疊加輸出,兩幀交替使用,通過乒乓操作來實現圖形數據的存儲與讀取。

視頻存儲DDR3中,第0~2幀(又稱A空間、B空間和C空間)用于PAL視頻處理后輸入幀及視頻輸出幀。由于PAL視頻幀速率為25Hz,而終輸出DVI的幀速率為60Hz,因此需要實現幀速率轉換。常見的幀速率轉換算法[8]包括:幀復制法、幀平均法、運動補償法等,由于機載系統對實時性要求比較高,因此選用幀復制法。

設置三個幀存儲空間,其中一幀用于讀出,一幀用于寫入,還有一幀空閑,分別稱作輸入幀、輸出幀和空閑幀。用三者的切換來實現幀速率的轉換,確保輸出幀相對于當前輸入幀的延遲,即當前輸出幀輸出的是寫滿的幀。當寫入的幀存儲空間已經寫滿,而讀存儲空間還沒讀完,將下一幀的圖像數據寫到當前空閑的幀存儲空間。圖 9為PAL輸入幀和輸出幀讀寫控制流程圖。以A空間為輸出幀,B空間為輸入幀,C空間為空閑幀為例。若A空間讀完,B空間寫滿,則將B空間變成輸出幀并輸出,將C空間變成輸入幀并繼續輸入;若A空間還沒有讀完,B空間已經寫滿,則將下一幀數據寫入到C空間,并繼續從A空間輸出。


5 驗證結果與分析


圖形生成寫中斷處理仿真圖如圖 10所示。由于圖形生成數據不是從左往右連續進行的,因此每次突發寫操作發送的128位數據(BL=8),有效的數據只有低16位,高112位直接用掩碼屏蔽(app_wdf_mask=16’hfffc)。當一幀圖形全部繪制完成后發送圖形生成模塊寫請求(graphics_done=1)。此時圖形中斷處理器執行直接結果寫中斷(graphics_wr_interrupt=1),視頻中斷處理器執行插值背景讀中斷(graphics_wr_interrupt_rd_bk=1)。當兩者同時完成(rd_bk_video_finish=1)時,圖形中斷處理器執行插值結果寫請求中斷。其中,c0_app_XXX表示圖形存儲DDR3的用戶接口,寫圖形數據時,用戶接口地址系統和數據系統是對齊的;c1_app_XXX表示視頻存儲DDR3的用戶接口,讀視頻背景時,數據系統比地址系統稍有延遲。

用本文設計的DDR3存儲管理系統對文獻[9]中圖6.1進行中斷處理。視頻分辨率為1600×1200;繪制字符等直接結果點共812個像素(矩形填充忽略不算);繪制斜線等插值結果點共有4762個像素。用本文算法測試各中斷處理時間如表 3所示。

視頻中斷處理器中,視頻處理寫中斷將一行視頻處理數據順序寫入到DDR3中耗時1.1us,則將一幀視頻處理數據寫入DDR3中耗時1.32ms;視頻輸出讀中斷從DDR3讀出1行視頻數據耗時1us,則將一幀視頻讀出需要1.2ms;插值背景讀耗時54.2us。視頻處理中斷共耗時2.5742ms。圖形處理中斷中,圖形輸出讀中斷讀出1行圖形數據,并將其內存空間清零,共需要2.1us,即將一幀圖形讀出需要2.52ms,則圖形處理中斷共耗時2.5851ms。

與文獻[9]結果相比,本文設計的系統對圖形生成讀寫中斷速度有了明顯提高。因為文獻[9]中斷類型較多,且圖形生成中斷的優先級,在實現的過程中會多次被打斷,導致圖形生成執行時間較長;而本文算法中,插值背景讀操作與直接結果寫操作同時在視頻中斷處理和圖形中斷處理中進行,利用并行操作減少時間,并大大降低了復雜度。

結論

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

經過分析,本文將圖形和視頻中斷分開處理,簡化多端口讀寫DDR3的復雜度,提高并行處理速度。






有你想看的精彩




至芯科技-FPGA就業培訓來襲!你的選擇開啟你的高薪之路!5月30號西安中心開課、歡迎咨詢!
FPGA系統中三種方式減少亞穩態的產生
至芯入門課程-基于 FPGA 的 TLC549 驅動設計(AD)





掃碼加微信邀請您加入FPGA學習交流群




歡迎加入至芯科技FPGA微信學習交流群,這里有一群優秀的FPGA工程師、學生、老師、這里FPGA技術交流學習氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!


點個在看你最好看






原文標題:基于FPGA的DDR3多端口讀寫存儲管理系統設計

文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1626

    文章

    21665

    瀏覽量

    601818

原文標題:基于FPGA的DDR3多端口讀寫存儲管理系統設計

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何選擇DDR內存條 DDR3DDR4內存區別

    隨著技術的不斷進步,計算機內存技術也在不斷發展。DDR(Double Data Rate)內存條作為計算機的重要組成部分,其性能直接影響到電腦的運行速度和穩定性。DDR3DDR4是目前市場上最常
    的頭像 發表于 11-20 14:24 ?291次閱讀

    FPGA DDR4讀寫實驗

    4 SDRAM),是一種高速動態隨機存取存儲器,它屬于 SDRAM 家族的存儲器產品,提供了相較于 DDR3 SDRAM 更高的運行性能與更低的電壓,并被廣泛的應用于計算機的運行緩存。1 DD
    發表于 09-13 20:18

    DDR3寄存器和PLL數據表

    電子發燒友網站提供《DDR3寄存器和PLL數據表.pdf》資料免費下載
    發表于 08-23 11:06 ?1次下載
    <b class='flag-5'>DDR3</b>寄存器和PLL數據表

    FPGA DDR4讀寫實驗(1)

    4 SDRAM),是一種高速 動態隨機存取存儲器 ,它屬于 SDRAM 家族的存儲器產品,提供了相較于 DDR3 SDRAM 更高的運行性能與更低的電壓,并被廣泛的應用于計算機的運行緩存。 1
    發表于 07-03 13:43

    基于FPGADDR3多端口讀寫存儲管理設計

    今天給大俠帶來《基于FPGADDR3多端口讀寫存儲管理設計》,話不多說,上貨。 摘要
    發表于 06-26 18:13

    華邦傾力挺進DDR3市場,抓住轉單商機

    華邦自DDR2時期就深入物聯網、汽車、工業、電信等高附加值領域,而隨著制程升級至DDR3階段,該公司開始加大對DDR3產能建設的投資力度。高雄工廠今年引入了20納米設備,產能逐漸釋放,未來將成為華邦新制程DRAM產品的主要生產基
    的頭像 發表于 05-13 10:03 ?458次閱讀

    多端口能量路由實時控制仿真系統解決方案

    RCP多端口設備電力電子教學產品結合CBox設備,通過MATLAB及相關硬件的模塊化設計,為解決教學內容復雜、理論與實際脫節等問題提供了一種創新的解決方案。 RCP多端口設備可實現幾乎大部分經典電力
    發表于 05-10 11:05

    XC7K410T-FFG900外設之DDR3硬件設計方案分享

    在數據速率帶寬約束方面,DDR3運行速度受限于其與K7-410T FPGA互聯的I/O Bank 管腳以及FPGA器件的速度等級。
    的頭像 發表于 04-12 10:03 ?2418次閱讀
    XC7K410T-FFG900外設之<b class='flag-5'>DDR3</b>硬件設計方案分享

    全套DDRDDR2、DDR3DDR3L、LPDDR3DDR4 電源解決方案同步降壓控制器數據表

    電子發燒友網站提供《全套DDRDDR2、DDR3DDR3L、LPDDR3DDR4 電源
    發表于 04-09 09:51 ?7次下載
    全套<b class='flag-5'>DDR</b>、<b class='flag-5'>DDR</b>2、<b class='flag-5'>DDR3</b>、<b class='flag-5'>DDR3</b>L、LPDDR<b class='flag-5'>3</b> 和 <b class='flag-5'>DDR</b>4 電源解決方案同步降壓控制器數據表

    完整DDRDDR2,DDR3 和LPDDR3 存儲器電源解決方案同步降壓控制器數據表

    電子發燒友網站提供《完整DDRDDR2,DDR3 和LPDDR3 存儲器電源解決方案同步降壓控制器數據表.pdf》資料免費下載
    發表于 04-09 09:49 ?0次下載
    完整<b class='flag-5'>DDR</b>,<b class='flag-5'>DDR</b>2,<b class='flag-5'>DDR3</b> 和LPDDR<b class='flag-5'>3</b> <b class='flag-5'>存儲</b>器電源解決方案同步降壓控制器數據表

    具有同步降壓控制器、2A LDO和緩沖基準的完整DDR2、DDR3DDR3L存儲器電源解決方案TPS51216-EP數據表

    電子發燒友網站提供《具有同步降壓控制器、2A LDO和緩沖基準的完整DDR2、DDR3DDR3L存儲器電源解決方案TPS51216-EP數據表.pdf》資料免費下載
    發表于 03-26 11:19 ?0次下載
    具有同步降壓控制器、2A LDO和緩沖基準的完整<b class='flag-5'>DDR</b>2、<b class='flag-5'>DDR3</b>和<b class='flag-5'>DDR3</b>L<b class='flag-5'>存儲</b>器電源解決方案TPS51216-EP數據表

    完整的DDR2、DDR3DDR3L內存電源解決方案同步降壓控制器TPS51216數據表

    電子發燒友網站提供《完整的DDR2、DDR3DDR3L內存電源解決方案同步降壓控制器TPS51216數據表.pdf》資料免費下載
    發表于 03-13 13:58 ?0次下載
    完整的<b class='flag-5'>DDR</b>2、<b class='flag-5'>DDR3</b>和<b class='flag-5'>DDR3</b>L內存電源解決方案同步降壓控制器TPS51216數據表

    適用于DDR2、DDR3DDR3L和DDR4且具有VTTREF緩沖基準的TPS51206 2A峰值灌電流/拉電流DDR終端穩壓器數據表

    電子發燒友網站提供《適用于DDR2、DDR3DDR3L和DDR4且具有VTTREF緩沖基準的TPS51206 2A峰值灌電流/拉電流DDR
    發表于 03-13 13:53 ?1次下載
    適用于<b class='flag-5'>DDR</b>2、<b class='flag-5'>DDR3</b>、<b class='flag-5'>DDR3</b>L和<b class='flag-5'>DDR</b>4且具有VTTREF緩沖基準的TPS51206 2A峰值灌電流/拉電流<b class='flag-5'>DDR</b>終端穩壓器數據表

    具有同步降壓控制器、2A LDO和緩沖基準的TPS51916完整DDR2、DDR3DDR3L和DDR4存儲器電源解決方案數據表

    電子發燒友網站提供《具有同步降壓控制器、2A LDO和緩沖基準的TPS51916完整DDR2、DDR3DDR3L和DDR4存儲器電源解決方
    發表于 03-13 11:24 ?0次下載
    具有同步降壓控制器、2A LDO和緩沖基準的TPS51916完整<b class='flag-5'>DDR</b>2、<b class='flag-5'>DDR3</b>、<b class='flag-5'>DDR3</b>L和<b class='flag-5'>DDR</b>4<b class='flag-5'>存儲</b>器電源解決方案數據表

    完整的DDRDDR2和DDR3內存電源解決方案同步降壓控制器數據表

    電子發燒友網站提供《完整的DDRDDR2和DDR3內存電源解決方案同步降壓控制器數據表.pdf》資料免費下載
    發表于 03-13 10:16 ?1次下載
    完整的<b class='flag-5'>DDR</b>、<b class='flag-5'>DDR</b>2和<b class='flag-5'>DDR3</b>內存電源解決方案同步降壓控制器數據表