日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 網(wǎng)絡(luò)與存儲 > 設(shè)計應(yīng)用 > 基于FPGA的一種DDR4存儲模塊設(shè)計

          基于FPGA的一種DDR4存儲模塊設(shè)計

          作者:謝晨,卓敏(安徽財經(jīng)大學(xué),安徽 蚌埠 233030) 時間:2021-08-30 來源:電子產(chǎn)品世界 收藏
          編者按:5G通信的主要特征包括“高速率、大帶寬”,為了滿足高速率、大帶寬數(shù)據(jù)的傳輸要求,需要一種存儲技術(shù)對數(shù)據(jù)進行存儲。本文就存儲技術(shù)結(jié)合DDR4協(xié)議,設(shè)計了一種DDR4傳輸機制,本研究采用高性能的XCVU9P系列的FPGA芯片作為控制芯片,使用其內(nèi)部自帶的DDR4 SDRAM(MIG)IP核進行例化核設(shè)計。經(jīng)過驗證,實現(xiàn)在250 MHz時鐘下對DDR4 SDRAM的讀/寫操作,數(shù)據(jù)無丟失,能夠保證高速率、大帶寬數(shù)據(jù)正常傳輸,該傳輸機制具有良好的可靠性、適用性及有效性。

          0   引言

          本文引用地址:http://yuyingmama.com.cn/article/202108/427904.htm

          隨著通信技術(shù)的不斷發(fā)展,5G 技術(shù)作為當前新一代通信的熱點技術(shù)將面臨很多研究課題,除了要傳輸?shù)退俾?、小帶寬?shù)據(jù)外,還需要分析數(shù)據(jù),分析帶寬從100 MHz 提高到1 GHz,甚至更高帶寬。當前最大的難題就是5G 的傳輸將會導(dǎo)致信號的帶寬變大,因此對這些的數(shù)據(jù)流進行實時處理將變得更加困難[1]。伴隨著數(shù)字化的高速發(fā)展,目前存儲是大容量數(shù)據(jù)存儲系統(tǒng)的核心部分,甚至?xí)绊懙较到y(tǒng)的性能。DDR最大的特點就是傳輸速率是時鐘的兩倍,數(shù)據(jù)同時在上升沿和下降沿同時采樣[2]。本文提出一種基于 SDRAM 的高速數(shù)據(jù)緩存技術(shù),主控器選用Xilinx 公司XCVU9P 系列 芯片,數(shù)據(jù)緩存器選用MT40A512M16HA-083E,通過對 SDRAM 的存儲尋址原理及 IP 核的讀寫控制邏輯的研究,實現(xiàn)了在250 MHz 的時鐘下,DDR4SDRAM 能夠正常進行讀寫操作。經(jīng)過測試驗證,讀寫數(shù)據(jù)正常,無數(shù)據(jù)丟失。

          1   整體設(shè)計方案

          整體設(shè)計方案使用模塊化,主要包括光口傳輸模塊、DDR4 存儲模塊、SRIO 接口模塊。本設(shè)計主要對控制芯片 內(nèi)部邏輯進行了優(yōu)化設(shè)計,其中包括DDR4控制器、不同時鐘域之間的數(shù)據(jù)緩存FIFO。整體方案傳輸流程如圖1 所示。

          image.png

          ●   光口模塊:主要是接收采集模塊傳輸過來的數(shù)據(jù)。

          ●   DDR4 存儲模塊:用于緩存數(shù)據(jù),由于SRIO 接口的數(shù)據(jù)傳輸速率慢,需要通過DDR4 存儲模塊先將高速數(shù)據(jù)存儲到DDR4 中,然后再通過SRIO 的時鐘將數(shù)據(jù)傳輸給SRIO 接口模塊。

          ●   SRIO 接口模塊:接收DDR4 讀出來的數(shù)據(jù),然后傳輸給上位機進行測試分析。

          2   DDR4 SDRAM內(nèi)部結(jié)構(gòu)

          DDR4 SDRAM 是一種內(nèi)部可配置高速動態(tài)隨機存儲器,其內(nèi)部由多個Bank 組成,Bank 又是由很多行和列構(gòu)成[3],DDR4 的尋址操作就是對行列地址進行操作。DDR4存儲器有幾個重要概念,即Bank、Bank Group及Page, 例如512Mx16 的8 Gb 容量的DDR4, 內(nèi)部主要包括2 個Bank Group,每個Bank Group 包括4 個Bank[3]。每個Bank 是由多個Page 組成的,通過多Page地址去選擇相應(yīng)的Page。

          3   DDR4控制器模塊設(shè)計

          DDR4 控制器模塊設(shè)計如圖2 所示,將控制器分為IDLE、WR-DELAY、DDR-WR_s、RD_DELAY 和DDR_RD_s 五個模塊。

          1630308264616878.png

          ●   IDLE:初始化狀態(tài)。主要對DDR4 內(nèi)部的信號進行初始化。當收到rd_en_reg 和rd_dat_s_reg 信號同時有效時,將進入RD_DELAY 狀態(tài);當收到wr_en_reg 信號有效時,進入WR_DELAY 狀態(tài);如果在該狀態(tài)下沒有收到相應(yīng)的有效信號將繼續(xù)保持該狀態(tài)。

          ●   WR-DELAY:寫等待狀態(tài)。當在此狀態(tài)下收到rd_en_reg 有效時將會跳到IDLE 狀態(tài);在沒有收到rd_en_reg 有效時,根據(jù)條件app_bl_cnt >= WR_BURST_CNT 來判斷是否已經(jīng)寫到規(guī)定的數(shù)據(jù)量,如果已經(jīng)寫到規(guī)定的數(shù)據(jù)量,將繼續(xù)保持在該狀態(tài),等待其他有效信號的到來,如果沒有寫到規(guī)定的數(shù)據(jù)量,判斷寫FIFO的wr_prog_empty 信號,如果wr_prog_empt 無效則跳轉(zhuǎn)到DDR_WR_S狀態(tài),反之wr_prog_empt 有效, 則繼續(xù)在該狀態(tài)下等待有效信號到來。

          ● DDR_WR_s:寫狀態(tài)。此狀態(tài)主要是往DDR4 里寫數(shù)據(jù),由于DDR4 IP 核內(nèi)的Burst Length 設(shè)為了8[4],所以根據(jù)條件ddr_cnt ==WR_BURST_NUM 來判斷,當ddr_cnt 計數(shù)到了WR_BURST_NUM 的值時,會跳轉(zhuǎn)到WR-DELAY 狀態(tài),如果沒有計數(shù)到WR_BURST_NUM 的值,則繼續(xù)保持在該狀態(tài)。

          ● RD_DELAY:讀等待狀態(tài)。當在此狀態(tài)下收到wr_en_reg 有效時將會跳轉(zhuǎn)到IDLE 狀態(tài);在沒有收到wr_en_reg 有效時,根據(jù)讀FIFO 的rd_prog_full 信號來判斷,如果rd_prog_full 有效時則繼續(xù)在該狀態(tài)下等待,若無效則根據(jù)條件app_bl_cnt >= RD_BURST_CNT 來判斷,如果計數(shù)達到了設(shè)定的讀數(shù)據(jù)量,則會跳轉(zhuǎn)到IDLE 狀態(tài),若沒有到達設(shè)定的讀數(shù)據(jù)量,則跳轉(zhuǎn)到DDR_RD_s 狀態(tài)。

          ● DDR_RD_s:讀狀態(tài)。此狀態(tài)主要是將DDR4里的數(shù)據(jù)往外讀,根據(jù)條件ddr_cnt >= RD_BURST_CNT 來判斷,當計數(shù)達到設(shè)定的讀數(shù)據(jù)量時則會跳轉(zhuǎn)到IDLE 狀態(tài),如果沒有達到設(shè)定的讀數(shù)據(jù)量,且讀FIFO 的rd_prog_full 信號有效,則會繼續(xù)在該狀態(tài)下讀取DDR4 里的數(shù)據(jù)。

          4   仿真驗證

          采用Vivado 2018.3 軟件,其中 芯片型號為XCVU9P-flga2104-1-i,進行開發(fā)板上驗證。在光口模塊產(chǎn)生一組遞增數(shù),通過光口將數(shù)據(jù)發(fā)送給DDR4 存儲模塊。通過在ILA 抓取相應(yīng)的信號來觀察DDR4。圖3 是通過ILA 抓取的DDR4 內(nèi)部信號狀態(tài)圖[5]

          1630308386472987.png

          圖3 DDR4寫狀態(tài)1

          通過圖3 可以看出,一開始DDR4 處于初始化狀態(tài),當wr_en_reg 變成高電平時,state 跳轉(zhuǎn)到WR_DELAY狀態(tài);當wr_prog_empty 變成低電平時,state 跳轉(zhuǎn)到DDR_WR_s 狀態(tài)。之后,當app_bl_cnt 計數(shù)到96250時,state 跳轉(zhuǎn)到WR_DELAY;如果對寫數(shù)據(jù)部分放大,可以看出數(shù)據(jù)是遞增數(shù);當rd_en_reg 和rd_dat_s_reg同時有效時,state 從IDLE 狀態(tài)跳轉(zhuǎn)到RD_DELAY 狀態(tài),當rd_prog_full 為低電平時,且app_bl_cnt 未計數(shù)到RD_BURST_CNT, 這個state 從RD_DELAY 狀態(tài)跳轉(zhuǎn)到DDR_RD_s 狀態(tài);當ddr_cnt 計數(shù)到768000 時,state 從DDR_RD_s 狀態(tài)跳轉(zhuǎn)到IDLE 狀態(tài);圖4 是對讀數(shù)據(jù)部分放大,可以看出數(shù)據(jù)是正整數(shù)。

          1630308438104193.png

          圖4 DDR4讀狀態(tài)3

          5   結(jié)束語

          本研究在Xilinx 公司的XCVU9P 系列FPGA 芯片上完成了DDR4 存儲模塊的讀寫狀態(tài)機的設(shè)計、代碼編寫以及驗證。使用其內(nèi)部自帶的DDR4 SDRAM(MIG)IP 核進行例化核設(shè)計。經(jīng)過開發(fā)板上驗證,實現(xiàn)在250 MHz 時鐘下對DDR4 SDRAM 的讀/ 寫操作,數(shù)據(jù)無丟失,能夠保證高速率、數(shù)據(jù)正常傳輸,該傳輸機制具有良好的可靠性、適用性及有效性。

          參考文獻:

          [1] 袁行猛,陳亮,徐蘭天.基于CPRI協(xié)議的5G基帶數(shù)據(jù)傳輸技術(shù)的研究與實現(xiàn)[J].電子產(chǎn)品世界,2019,26(04):41-45+61.

          [2] 張亞軍.實時頻譜儀的數(shù)字中頻處理設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2017.

          [3] 汪繼友.一種特殊應(yīng)用場景下的DDR4寫緩沖設(shè)計與驗證[D].合肥:安徽大學(xué),2019.

          [4] 蘇健淵.基于ARM+FPGA的多屏圖像顯示系統(tǒng)研究[D].西安:西安電子科技大學(xué),2014.

          [ 5 ] 武春鋒. 基于DDR4 SDRAM的光電圖像實時存儲技術(shù)研究[D].北京:中國科學(xué)院大學(xué),2018.

          (本文來源于《電子產(chǎn)品世界》雜志2021年8月期)



          關(guān)鍵詞: DDR4 高速率 大帶寬 FPGA 202108

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉