亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的DDR3 SDRAM控制器的設計與優(yōu)化

        2016-12-19 11:41:28趙英瀟林錢強
        電子科技 2016年11期
        關(guān)鍵詞:信號用戶設計

        宋 明,趙英瀟,林錢強

        (國防科學技術(shù)大學 電子科學與工程學院,湖南 長沙 410073)

        ?

        基于FPGA的DDR3 SDRAM控制器的設計與優(yōu)化

        宋 明,趙英瀟,林錢強

        (國防科學技術(shù)大學 電子科學與工程學院,湖南 長沙 410073)

        為解決超高速采集系統(tǒng)中的數(shù)據(jù)緩存問題,文中基于Xilinx Kintex-7 FPGA MIG_v1.9 IP核進行了DDR3 SDRAM控制器的編寫,分析并提出了提高帶寬利用率的方法。最終將其進行類FIFO接口的封裝,屏蔽掉了DDR3 IP核復雜的用戶接口,為DDR3數(shù)據(jù)流緩存的實現(xiàn)提供便利。系統(tǒng)測試表明,該設計滿足大容量數(shù)據(jù)緩存要求,并具有較強的可移植性。

        FPGA;DDR3 SDRAM;MIG;讀寫控制器;狀態(tài)機

        隨著寬帶雷達技術(shù)的發(fā)展,超高速和寬帶采樣已成為基本要求[1],超高速采集系統(tǒng)需要相匹配的數(shù)據(jù)緩存設計,DDR3 SDRAM是當前最常用的高效方案[2-4]。

        DDR SDRAM是同步動態(tài)隨機存儲器,其采用雙倍速率存取,數(shù)據(jù)在工作時鐘的上升沿和下降沿采樣,有效提升了存儲速率。DDR SDRAM系列存儲設備經(jīng)歷了DDR、DDR2和DDR3幾個階段。DDR3 SDRAM在降低系統(tǒng)功耗的同時提高了系統(tǒng)性能,其利用“Fly_By”和動態(tài)片上匹配技術(shù)對于信號完整性的改善效果明顯[5]。本文基于Xilinx的MIG_v1.9 IP核進行了DDR3 SDRAM控制器的編寫,并在Kintex-7 FPGA芯片上完成了功能測試及實現(xiàn)。

        1 DDR3連續(xù)讀寫操作的FPGA實現(xiàn)

        設計選用8片Mircon公司型號為MT42J128M16的芯片作為緩存區(qū)。每片芯片的數(shù)據(jù)位寬為8 bit,行地址復用14條地址線,列地址復用10條地址線,共有8個Bank。每片容量為128 MB,8片DDR3共同組成位寬為64 bit,容量為1 GB的緩存區(qū)域[6]。

        本文中DDR3控制器是基于Xilinx MIG IP核設計的。用戶首先需要在MIG IP核配置頁面對DDR3芯片型號、總線位寬、速度等級、引腳分配等參數(shù)進行設置。設置完成后即可得到DDR3控制器接口解決方案, Xilinx Kintex-7系列FPGA內(nèi)存接口解決方案如圖1所示[7]。

        該方案由用戶控制模塊、用戶接口模塊、內(nèi)存控制模塊和物理層接口模塊4部分組成。用戶接口模塊位于設計的最前端,通過呈現(xiàn)一個扁平化的地址空間和緩沖器,提供了一個簡單的用戶接口,用以代替本地接口進行數(shù)據(jù)的讀寫操作。內(nèi)存控制模塊位于用戶接口模塊和物理層模塊之間,其前端為用戶接口模塊提供本地接口。本地接口支持用戶設計提交存儲器讀寫請求,并提供用戶設計模塊與外部存儲設備之間的數(shù)據(jù)傳輸機制。內(nèi)存控制模塊還提供了一個具有重排序的功能選項,可以對接收到的請求進行重新排序,進而優(yōu)化數(shù)據(jù)傳輸?shù)耐掏铝考皶r延。內(nèi)存控制器后端連接至物理層接口,并處理所有該模塊的接口請求。物理層接口前端連接至內(nèi)存控制器模塊,后端連接外部存儲設備,其主要功能是捕獲DDR3發(fā)出的數(shù)據(jù),產(chǎn)生DDR3所需要的控制指令信號,并通過輸入輸出緩存發(fā)送所有DDR3的控制信號、地址信號以及數(shù)據(jù)信號,同時保證指令與地址、數(shù)據(jù)的同步和信號的維持[5]。

        用戶使用時,只需設計DDR3讀寫控制模塊即可通過IP核對DDR3進行讀寫操作。app_rdy信號是用戶接口模塊準備就緒的標識,在進行讀操作時,只需在app_rdy信號為1時更新讀地址即可,讀操作時序如圖2所示[7]。而寫操作相對復雜,若要成功進行寫操作,則必須保證寫地址和寫數(shù)據(jù)都有效,而寫地址和寫數(shù)據(jù)不必同時有效,可以相差幾個周期,當用戶接口反饋的app_rdy信號和用戶控制的app_en信號同時為1時,寫操作指令app_cmd以及寫地址app_addr有效。而對于需要寫入的數(shù)據(jù)app_wdf_data來說,只有當用戶接口反饋的app_wdf_rdy信號和用戶控制的app_wdf_wren信號同時拉高時才是有效的。寫操作對應的時序如圖3所示[7]。

        圖1 Xilinx Kintex-7 FPGA內(nèi)存接口解決方案

        圖2 讀操作時序圖

        圖3 寫操作時序圖

        本文基于Verilog HDL硬件描述語言[8],設計如圖4所示的狀態(tài)機實現(xiàn)DDR3的連續(xù)寫操作。在IDLE狀態(tài)下,當DDR3 IP核完成校準后,經(jīng)過幾十μs的延時,寫地址和寫數(shù)據(jù)被同時送入IP核,狀態(tài)機進入WRITE狀態(tài)。如果寫地址與寫數(shù)據(jù)均得到響應(app_rdy & app_wdf_rdy為1),寫地址和寫數(shù)據(jù)將得到更新,狀態(tài)機繼續(xù)處于WRITE狀態(tài)。如果只有寫數(shù)據(jù)得到響應(!app_rdy & app_wdf_rdy為1),則停止寫數(shù)據(jù)更新,狀態(tài)機進入WAIT1狀態(tài),待寫地址得到響應后,再更新寫地址和寫數(shù)據(jù),并返回到WRITE狀態(tài)。如果只有寫地址得到響應(app_rdy & !app_wdf_rdy為1),則停止寫地址更新,進入WAIT2狀態(tài),待寫數(shù)據(jù)得到響應后,更新寫地址和寫數(shù)據(jù),并返回WRITE狀態(tài)。經(jīng)實際測試狀態(tài)WAIT2并不會出現(xiàn),所以可以將WAIT2狀態(tài)去掉,對狀態(tài)機進行優(yōu)化。

        圖4 DDR3連續(xù)寫控制模塊狀態(tài)機

        本文設計的狀態(tài)機,通過對IP核的控制,成功實現(xiàn)了DDR3連續(xù)寫操作。用Chipscope軟件進行信號觀測,波形如圖5所示。由于連續(xù)讀操作比較簡單,文中不再贅述。

        圖5 DDR3連續(xù)寫操作Chipscope相關(guān)信號波形

        2 DDR3讀寫效率測試與分析

        為滿足高速數(shù)據(jù)傳輸?shù)囊?,DDR3需要保證較高的帶寬利用率。DDR3的極限速率為兩倍工作時鐘頻率與數(shù)據(jù)總線位寬的乘積。但是,DDR3的讀寫共用同一組數(shù)據(jù)總線,同時DDR3內(nèi)部是以BANK/行/列的形式組織起來的。在對新的BANK/行進行讀寫前,需要執(zhí)行預充命令和激活命令等[9-10]。同時不同指令之間也有各種時間間隙要求。因此,DDR3的實際傳輸速率與極限速率有一定差距。根據(jù)使用方式的不同,DDR3的接口帶寬利用率會存在差異[11-13]。

        本文通過測試不同使用情形下DDR3的帶寬利用率來尋求具有較高效率的讀寫控制方式。本測試計算帶寬效率的方式是,向IP核中輸入指定的激勵,觀察DDR3芯片接口上的有效數(shù)據(jù)所占的比例,由此計算出有效帶寬。

        本文對以下3種DDR3讀寫方式進行了帶寬利用率的測試:

        (1)固定Bank多行切換測試。單Bank內(nèi),每完成一次寫操作,則進入下一個行的相同列。由于兩列的打開操作有時間間隙要求,打開列到寫操作也有時間間隙要求,導致單Bank內(nèi)行切換時,測得的帶寬利用率較低,僅為11%;

        (2)讀寫切換測試。對DDR3同一地址空間,每進行完1次寫操作之后,進行1次讀操作。由于相鄰讀寫操作間有時間間隙要求,導致該方式下,帶寬利用率較低,僅為10.7%。接著按照先進行N次寫操作,再進行N次讀操作的讀寫方式進行測試,其結(jié)果記錄如表1所示;

        (3)兩Bank不換行平滑過渡測試。先在Bank0的同一個行內(nèi)連續(xù)寫8次然后過渡到Bank1的同一個行內(nèi)連續(xù)寫8次。結(jié)果顯示,在Bank0的寫操作過程中打開Bank1的一個Row,而不影響B(tài)ank0的寫操作。由于提前了足夠的時間打開Bank1,那么等Bank0的寫操作結(jié)束后,可以直接平滑的過渡到Bank1的寫操作階段,中間沒有等待。該方式下,帶寬利用率為91%。

        經(jīng)測試項驗證可發(fā)現(xiàn):Xilinx MIG IP核對DDR3芯片進行按地址連續(xù)存儲,效率較高。但Xilinx MIG IP核對DDR3的隨機地址存取效率比較低。使讀寫效率降低的主要原因有:同Bank行切換、讀寫切換、IP核Bank管理方式。故可采取以下方式提高DDR3帶寬利用率:(1)降低讀寫切換的頻率;(2)采用連續(xù)地址存取的方式,減少Bank和行的切換;(3)在對MIG IP核進行配置時,用戶接口地址映射方式采用“ROW—BANK—COLUMN”方式,降低行切換的頻率。

        表1 先寫后讀:先寫N個數(shù)據(jù),然后讀N個數(shù)據(jù)

        3 DDR3讀寫控制模塊的類FIFO封裝

        為便于DDR3模塊與其他模塊對接,方便用戶的使用,對其進行類FIFO接口封裝[14-15],整個模塊結(jié)構(gòu)框圖如圖6所示??梢姺庋b后的DDR3模塊外部接口與FIFO非常相似,因此有效提升了使用的便捷性。DDR3模塊是由寫FIFO模塊、讀FIFO模塊、DDR3讀寫控制模塊、DDR3 IP核4部分組成。寫FIFO模塊用來接收數(shù)據(jù)。讀FIFO模塊用來輸出從DDR3內(nèi)讀取的數(shù)據(jù)。DDR3讀寫控制模塊用來控制DDR3的讀寫操作,合理切換讀寫狀態(tài),保證讀寫效率。DDR3 IP核模塊為FPGA與DDR3的物理接口。

        圖6 類FIFO接口封裝結(jié)構(gòu)圖

        可以看出,DDR3模塊設計的關(guān)鍵是讀寫控制狀態(tài)機的編寫。此狀態(tài)機共有3種狀態(tài),IDLE狀態(tài)下不進行讀寫操作,WRITE狀態(tài)下進行連續(xù)寫操作,READ狀態(tài)下進行連續(xù)讀操作。根據(jù)上述分析,為保證較高的讀寫效率就要避免頻繁的讀寫切換。因此,寫FIFO的編程空信號wr_fifo_prog_empty和讀FIFO的編程滿信號rd_fifo_prog_full均采用雙門限的設置。若寫FIFO滿,則數(shù)據(jù)會丟失,而讀FIFO滿只會使數(shù)據(jù)在DDR3內(nèi)緩存,因此,寫操作的優(yōu)先級高于讀操作,狀態(tài)機如圖7所示。

        圖7 DDR3讀寫狀態(tài)機

        為確保設計的可行性及可靠性,對編寫的DDR3讀寫控制器進行板級驗證,硬件測試中選用Xilinx公司的Kintex-7 FPGA以及Micron公司的DDR3 SDRAM芯片。DDR3工作頻率為500 MHz,經(jīng)測試其可對3 GB/s的數(shù)據(jù)流進行穩(wěn)定緩存。

        4 結(jié)束語

        本文對DDR3讀寫狀態(tài)機進行了設計與優(yōu)化,并對DDR3在不同讀寫方式下的帶寬利用率進行了測試與分析,提出了保證帶寬率的相應措施。在此基礎(chǔ)上,將FPGA的DDR3的讀寫控制模塊封裝成簡單的類FIFO接口。并將其在Xilinx公司的Kintex-7系列FPGA芯片上實現(xiàn),工作穩(wěn)定可靠、有較高的工作效率、接口簡單、可移植性高,為DDR3在高速數(shù)據(jù)流緩存中的應用提供了便利。

        [1] 楊劍,張月,宿紹瑩,等.高分辨寬帶雷達高速數(shù)據(jù)大容量存儲系統(tǒng)設計[J].計算機工程與應用,2010,46(16):23-26.

        [2] 董岱岳.基于FPGA的DDR3 SDRAM控制器設計[D].濟南:山東大學:2015.

        [3] 楊軍.基于FPGA的DDR3控制器IP設計與驗證[D].南昌:南昌航空大學,2015.

        [4] 基于FPGA的DDR3內(nèi)存控制器的研究與設計[D].成都:成都理工大學,2015.

        [5] 黃萬偉.Xilinx FPGA應用進階[M].北京:電子工業(yè)出版社,2014.

        [6] JEDEC Organization.JEDEC standard DDR3 SDRAM specification [M].USA: JEDEC Organization,2008.

        [7] Xilinx Corporation.Xilinx corporation 7 series devices memory interface solutions (UG586) [M].PD,USA: Xilinx Corporation,2013.

        [8] 夏宇聞.Verilog數(shù)字系統(tǒng)設計教程[M].北京:北京航空航天大學出版社,2008.

        [9] 王正宇.DDR3內(nèi)存控制器的IP核設計及FPGA驗證[D].蘭州:蘭州交通大學,2012.

        [10] 萬軼.高性能DDR3存儲控制器的研究與實現(xiàn)[D].長沙:國防科學技術(shù)大學,2008.

        [11] 馬志超.DDR3控制器的設計與驗證[D].西安:西安電子科技大學,2013.

        [12] 李逍楠.DDR3控制器的研究[D].西安:西安電子科技大學,2013.

        [13] 孟曉東.基于FPGA的DDR3控制器設計與驗證[D].長沙:國防科學技術(shù)大學,2012.

        [14] 張剛,賈建超,趙龍.基于FPGA的DDR3 SDRAM控制器設計與實現(xiàn)[J].電子科技,2014,27(1):70-73.

        [15] 佘顏.基于DDR3控制器的高速存儲接口系統(tǒng)的設計與驗證[D].西安:西安電子科技大學,2015.

        Design and Optimization of DDR3 SDRAM Controller Based on FPGA

        SONG Ming,ZHAO Yingxiao,LIN Qianqiang

        (School of Electronic Science and Engineering,National University of Defense Technology,Changsha 410073,China)

        In order to solve the problem of data cache in ultrahigh speed sampling system, a DDR3 SDRAM controller is designed in this paper based on Kintex-7 FPGA MIG_v1.9 IP core. A method to improve the bandwidth utilization ratio is proposed and analyzed. Finally, it is packaged as the FIFO interface, while shielding the complex user interface of DDR3 IP core, so that the DDR3 reading and writing operation can be as simple as FIFO’s. System tests show that the proposed method meets the requirements of large capacity data cache, and provides with high portability.

        FPGA;DDR3 SDRAM;MIG;reading-writing controller;state machine

        2016- 05- 30

        宋明(1992-),男,碩士研究生。研究方向:信息獲取等。趙英瀟(1990-),男,博士研究生。研究方向:數(shù)字陣列雷達信號處理。林錢強(1983-),男,博士,講師。研究方向:高速數(shù)據(jù)采集和雷達信號處理。

        10.16180/j.cnki.issn1007-7820.2016.11.015

        TN919.3

        A

        1007-7820(2016)11-047-04

        猜你喜歡
        信號用戶設計
        信號
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        瞞天過?!律O計萌到家
        基于FPGA的多功能信號發(fā)生器的設計
        電子制作(2018年11期)2018-08-04 03:25:42
        設計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        基于LabVIEW的力加載信號采集與PID控制
        日日摸夜夜添夜夜添一区二区| 国产亚洲精品熟女国产成人| 人妻体内射精一区二区三区| 亚洲人成无码网站在线观看| 欧美日韩精品乱国产538| 激情人妻网址| 粉嫩人妻91精品视色在线看| 久久久久国色av免费观看性色| 亚洲精品网站在线观看你懂的| 亚洲欧美国产日产综合不卡| 久久精品国产亚洲av日韩精品 | 孩交精品xxxx视频视频| 波多野结衣一区二区三区视频| 伊人久久亚洲综合av影院| 国产精品日日做人人爱| 久久aⅴ人妻少妇嫩草影院| 亚洲AV无码成人品爱| 亚洲精品成人久久av| 美女露出自己的性感大胸一尤内衣| 国语精品一区二区三区| 久久精品国产亚洲不av麻豆| 日本人妻三级在线观看| 一区二区和激情视频| 亚洲欧美在线观看| 中文字幕亚洲人妻系列| 国产一区二区三区白浆肉丝 | 亚洲精品中文字幕不卡| 大学生粉嫩无套流白浆| 精品熟女少妇av免费观看| 亚洲欧美香港在线观看三级片| 精品国产一区二区三区香| 男女啪动最猛动态图| 色婷婷七月| 国产特黄1区2区3区4区| 国产一区二区自拍刺激在线观看| 边做边流奶水的人妻| 久久99精品久久久66| 精品福利一区二区三区| 寂寞少妇做spa按摩无码| 97se亚洲国产综合自在线图片| 亚洲综合免费在线视频|