《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA與DDR2 SDRAM的大容量異步FIFO緩存設計
基于FPGA與DDR2 SDRAM的大容量異步FIFO緩存設計
來源:微型機與應用2011年第4期
庾志衡1,葉俊明2,鄧迪文3
(1. 桂林電子科技大學 電子工程與自動化學院,廣西 桂林 541004; 2. 桂林電子科技大學
摘要: 為了滿足高速實時數據采集系統對所采集海量數據進行緩存的要求,通過研究FIFO的基本工作原理,利用FPGA和DDR2 SDRAM設計了一種高速大容量異步FIFO。使用Xilinx提供的存儲器接口生成器(MIG)實現FPGA與DDR2的存儲器接口,并結合片上FIFO和相應的控制模塊完成FIFO的基本框架結構。詳細介紹了各個組成模塊的功能和原理,并設計了專門的測試模塊。
Abstract:
Key words :

摘  要: 為了滿足高速實時數據采集系統對所采集海量數據進行緩存的要求,通過研究FIFO的基本工作原理,利用FPGADDR2 SDRAM設計了一種高速大容量異步FIFO。使用Xilinx提供的存儲器接口生成器(MIG)實現FPGA與DDR2的存儲器接口,并結合片上FIFO和相應的控制模塊完成FIFO的基本框架結構。詳細介紹了各個組成模塊的功能和原理,并設計了專門的測試模塊。
關鍵詞: 高速大容量異步FIFO; MIG; FPGA; DDR2 SDRAM

 異步FIFO作為數據緩存被廣泛應用于高速實時數據采集、不同時鐘域之間的高性能數據傳輸以及多機處理等系統中[1]。如在視頻系統中用于視頻信號轉換、視頻分割和畫中畫電視[2]。在高速傳感信號實時檢測處理系統中用于數據緩存等。隨著微電子技術的發展,FIFO芯片也在向著高速、大容量、小體積、低成本的方向發展。特別是Xilinx FPGA 提供的FIFO IP核已經能夠達到500 MHz的速率和4 MB的容量。這些都為FIFO的實際工程應用提供了廣闊的空間。但是在某些價格敏感、要求海量數據緩存的高速系統中,出于價格和性能方面的考慮,大容量異步FIFO芯片并非這類設計的最佳選擇。FPGA具有工作速度高、可配置性強、靈活性好等突出優點,使用Xilinx FPGA 提供的免費MIG IP核可以很容易實現FPGA與外部存儲器之間的接口,而DDR2 SDRAM具有單位空間存儲容量大、高數據帶寬、價格便宜等優點。因此根據FIFO的基本原理,通過采用Xilinx FPGA器件和Micron公司的256MB DDR2 SDRAM MT4HTF3264HY-667設計并實現了一種異步FIFO。該FIFO具有價格相對便宜、高數據帶寬、容量大、數據位寬可以根據需要進行相應靈活配置等特點,具有較高的工程實用價值。
1 大容量異步FIFO系統方案設計
    設計主要由兩塊片上FIFO、兩塊數據位寬轉換模塊、FIFO控制器、DDR2 SDRAM控制器、時鐘模塊和外部的DDR2 SDRAM構成[3]。其整體結構框圖如圖1所示。

    基本工作機理是當WR_EN有效為高電平,輸入數據DIN[N:0]在WR_CLK的上升沿觸發下經過“數據位寬轉換模塊1”之后輸出位寬為128 bit的數據寫入到位寬為128 bit,深度為2 K的“片上FIFO1”中。當FIFO控制器檢測到“片上FIFO1”快滿時,開始讀取其中的數據,按照地址順序遞增的方式通過DDR2 SDRAM控制器寫入到DDR2 SDRAM中,直到“片上FIFO1”被取空。當FIFO控制器檢測到“片上FIFO2”快空時,通過DDR2 SDRAM控制器按照地址順序遞增讀取DDR2 SDRAM中的數據,寫入到“片上FIFO2”中,直到“片上FIFO2”被寫滿為止。DDR2 SDRAM只有一組地址總線,而在該項設計中需要對DDR2 SDRAM進行獨立的讀寫操作。為此,在FIFO控制器中定義了兩組地址總線用于分別記錄讀寫操作地址,當FIFO控制器處于寫DDR2 SDRAM狀態時,選通寫地址總線(wr_addr)與DDR2 SDRAM的地址總線(ddr2_addr)互聯。當FIFO控制器處于讀DDR2 SDRAM狀態時,選通讀地址總線(rd_addr)與DDR2 SDRAM的地址總線(ddr2_addr)互聯。另外為了保證讀數據有效,在FIFO控制器中設計有相應的限制語句,只有當讀地址(rd_addr)小于寫地址(wr_addr)時,才允許讀DDR2 SDRAM中的數據。“片上FIFO2”的空滿標志信號作為所設計的FIFO的空滿標志信號。從外部看,該設計是一個具有標準接口的大容量異步FIFO,而不用關心其內部操作。而且只需要對數據轉換模塊中的相關參數進行簡單的改動,便可以改變該大容量異步FIFO的位寬(THE WIDTH)。
2 高速大容量異步FIFO設計
    如圖1所示,設計主要集中在FPGA部分,包括數據位寬轉換模塊、FIFO控制器、時鐘模塊、DDR2 SDRAM控制器設計以及片上FIFO的定制。
2.1 DDR2 SDRAM控制器設計
    存儲器控制器需要對包括存儲器控制狀態機在內的所有構建模塊加以集成??刂破鳡顟B機必須按正確順序發出命令,同時還要考慮存儲器器件的時序要求。而且存儲器控制器狀態機因存儲器架構(DDR、DDR2、QDRII、RLDRAM等)、組數(BANK)、數據總線寬度、存儲器器件的寬度和深度、組和行存取算法等變量的不同而異。因此,創建存儲器控制器是一項極其復雜、精細的任務。
    使用MIG(Memory Interface Generation)軟件工具[4]可以生成一個完整的設計,減少了設計人員的工作量,簡化了系統設計。設計人員通過在MIG GUI中設置系統和存儲器參數,整個過程不用一分鐘,MIG工具即可生成存儲控制器有關的RTL和UCF文件。MIG設計流程如圖2所示。

    設計采用Xilinx提供的免費IP核 MIG2.3來設計DDR2 SDRAM控制器。所用FPGA為Virtex-5  FPGA XC5vlx110T??刂破髟砜驁D如圖3所示。

    其中時鐘&復位模塊(Infrastructure)用于生成控制器所需要的各類時鐘和復位信號,它的輸入時鐘可根據用戶需求選擇單端或差分時鐘信號輸入。延時控制單元(Idelay_ctrl)用于同步校準設計中的延時單元以減少功耗。狀態控制單元(Ctrl)是控制器中的最關鍵單元,它生成DDR2 存儲器接口和用戶接口所必需的所有控制信號。物理層控制單元(Phy_top)是設計的物理層接口的頂層模塊,它封裝了FPGA 與 DDR2 SDRAM的物理接口信號。用戶接口單元(Usr_top)作為設計中的用戶接口,用于接收和存儲用戶數據、命令和地址信息。最終將復雜的DDR2 SDRAM訪問操作封裝成簡單的讀寫兩種操作。設計采用的Micron DDR2 SDRAM SODIMM MT4HTF3264HY-667容量為256MB、帶寬5.3 GB/S、數據位寬64 bit、含10位列地址線、13位行地址線和2位BANK地址線。上述MIG控制器右側信號端口用于連接DDR2 SDRAM物理引腳,右側信號端口用于連接輸入時鐘和來自FIFO控制器的數據和控制信號線。這些端口類型和位寬剛好與所選定的MT4HTF3264HY-667相匹配。
2.2 片上FIFO設計
    所設計的FIFO數據輸入/輸出端與外界的數據傳輸、FPGA與DDR2 SDRAM間的通信分別屬于不同的時鐘域,設計中通過采用兩塊小容量片上FIFO[5]作為緩沖來實現他們之間的跨時鐘域數據傳輸。根據所選定DDR2 SDRAM的性能參數,兩塊片上FIFO的數據位寬設置為128 bit,深度1 kHz。
2.3 FIFO控制器設計
    FIFO控制器用于控制兩塊片上FIFO與DDR2 SDRAM之間的數據通信,其狀態轉移圖如圖4所示。由于DDR2 SDRAM具有很高的數據帶寬,MT4HTF3264-667的帶寬為5.3 GB/S。遠大于FIFO1輸入/輸出端的數據帶寬。所以FIFO控制器根據兩塊片上FIFO的數據量狀況,對DDR2 SDRAM總線進行分時復用。

    該狀態機工作過程為:
    (1)系統上電或復位后,狀態機進入空閑狀態(idle),在該狀態下輸入端片上FIFO1讀使能信號(rd_en_wrfifo)、輸出端片上FIFO2寫使能信號(wr_en_rdfifo),DDR2 SDRAM控制器的用戶地址FIFO使能信號(app_af_wren),用戶數據FIFO使能信號(app_wdf_wren)均無效。
    (2)在空閑狀態下,當檢測到輸入端片上FIFO1幾乎滿,并且DDR2 SDRAM控制器初始化完畢,控制器發送寫DDR2 SDRAM命令(cmd =3’b000)。將讀到的數據直接寫入DDR2 SDRAM由于DDR2 SDRAM控制器突發長度為4,地址總線按4累加。當檢測到片上FIFO1被取空時,回到空閑狀態。
    (3)在空閑狀態,當檢測到輸出端片上FIFO2幾乎空,并且沒有檢測到輸入端片上FIFO1幾乎滿時,開始讀DDR2 SDRAM中的數據,并將讀出的數據寫入到輸出端片上FIFO2。待FIFO2寫滿后,回到空閑狀態。
2.4 時鐘模塊設計
    控制器所需要的系統時鐘(sys_clk)和200 MHz時鐘(idly_clk_200)由外部33  MHz時鐘信號通過FPGA的全局時鐘網絡后,分別輸入到兩個定制好的DCM后輸出生成。
2.5 數據位寬轉換模塊設計
    該模塊用于匹配N位的輸入/輸出數據位寬和兩個片上FIFO的128 bit數據位寬,實現所設計的大容量異步FIFO位寬可配置功能。輸入端數據位寬轉換模塊的基本工作機理是將在WR_CLK時鐘作用下連續輸入的128/N個數據按先后順序由高到低組成128 bit數據輸出到片上FIFO1的數據輸入端口,同時生成一個時鐘上升沿作為FIFO1的寫時鐘,將該128 bit寬數據寫入到片上FIFO1中。輸出端數據位寬轉換模塊將從片上FIFO2讀到的128 bit寬數據是由高到低依次拆分為128/N個N位寬數據,并且在RD_CLK上升沿先后輸出這些數據。當這些數據輸出完畢后,該模塊輸出一個上升沿脈沖作為輸出端片上FIFO2的讀時鐘信號,讀取下一個128 bit寬的數據。
3 實驗測試
    為了測試系統的性能,設計了專門的測試系統對所設計的FIFO進行測試,如圖5所示。

    基本工作機理是,在FPGA內部定制一塊存有4KB已知數據的嵌入式ROM。該ROM在時鐘CLK和循環地址計數器的作用下輸出數據流,該數據流經過待驗證的FIFO緩存后,通過串口發送到上位機上顯示。通過比較上位機接收到的數據與ROM中存儲的數據是否一致,便可以判斷系統設計是否正確。
    分別對不同位寬的FIFO,通過改變ROM的時鐘CLK模擬生成FIFO的高低速率輸入數據流,進行反復的實驗測試,結果表明上位機上接收到的數據與ROM中存儲的數據是一致的。
參考文獻
[1] 金明,羅飛路,朱霞飛.FIFO芯片在高速系統中的應用[J].電子技術應用,1998,24(3):61-62.
[2] 郭照南,李儒峰.FIFO 芯片AL422B在視頻系統中的應用[J].湖南工程學院學報, 2002,12(1):37-38.
[3] 徐欣,周舟,李楠,等.基于DDR2 SDRAM的高速大容量異步FIFO的設計與實現[J].中國測試,2009,35(6):34-37.
[4] Memory interface solutions user guide. http://www.xilinx.com/support/documentation/ip_documentation/ug086.pdf.
[5] LogiCORE? IP FIFO Generator v6.2. http://www.xilinx.com/support/documentation/ip_documentation/fifo_generator_ug175.pdf.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产精品成人一区二区网站软件| 亚洲乱码精品一二三四区日韩在线| 国产精品日韩久久久| 欧美体内she精视频| 欧美精品日韩综合在线| 亚洲欧美清纯在线制服| 尤物yw午夜国产精品视频明星| 国产揄拍国内精品对白| 欧美fxxxxxx另类| 精品91在线| 国产精品资源| 欧美与黑人午夜性猛交久久久| 亚洲激情影院| 一区二区三区 在线观看视频| 欧美激情第3页| 正在播放亚洲一区| 国语自产精品视频在线看8查询8| 亚洲自拍高清| 亚洲丶国产丶欧美一区二区三区| 亚洲茄子视频| 亚洲国产精品999| 欧美激情亚洲一区| 韩日在线一区| 国产欧美一区二区视频| 性欧美精品高清| 欧美顶级大胆免费视频| 91久久久久久久久| 99re亚洲国产精品| 亚洲片国产一区一级在线观看| 黄色在线一区| 午夜精品在线视频| 久久久之久亚州精品露出| 欧美1级日本1级| 亚洲国产成人91精品| 亚洲美女中文字幕| 欧美极品在线视频| 久久先锋资源| 免费不卡中文字幕视频| 欧美精品一区二区久久婷婷| 国产视频精品va久久久久久| 国产精品久久网站| 亚洲欧美日韩一区二区在线| 中文亚洲视频在线| 欧美一区二区女人| 欧美日韩国产色视频| 欧美日韩一区二区高清| 欧美精品久久一区二区| 国产精品久久久对白| 欧美一区二区久久久| 国产精品久久久久999| 欧美xxx成人| 欧美精品免费播放| 欧美一级二区| 亚洲日本电影在线| 免费成人黄色av| 午夜精品区一区二区三| 久久一区视频| 亚洲精品在线看| 国产一区二区三区久久悠悠色av| 亚洲一区二区免费在线| 亚洲高清免费视频| 亚洲国产精品久久久久秋霞蜜臀| 欧美日韩精品| 久久久99国产精品免费| 另类人畜视频在线| 亚洲尤物视频在线| 伊人久久久大香线蕉综合直播| 99国内精品久久| 亚洲欧美日韩天堂| 亚洲人成77777在线观看网| 伊人久久大香线蕉av超碰演员| 国产精品亚洲一区二区三区在线| 美女脱光内衣内裤视频久久影院| 久久久久综合| 国产精品久久久免费| 国产精品久线观看视频| 欧美在线啊v| 一区二区三区在线免费播放| 国产精品剧情在线亚洲| 午夜在线电影亚洲一区| 国产在线精品二区| 91久久夜色精品国产九色| 亚洲精品在线视频观看| 亚洲国产精品黑人久久久| 国产女主播一区二区三区| 影音先锋中文字幕一区二区| 国产精品嫩草影院一区二区| 免费不卡中文字幕视频| 一级成人国产| 久久久一本精品99久久精品66| 欧美在线亚洲| 国产一区二区在线免费观看| 中日韩在线视频| 亚洲精品小视频在线观看| 国产精品美女久久久浪潮软件| 国产精品麻豆欧美日韩ww| 伊人精品成人久久综合软件| 国产中文一区二区| 欧美理论电影网| 午夜视频精品| 国产乱理伦片在线观看夜一区| 久久久久一区二区三区四区| 国产日韩专区| 欧美1区2区3区| 国产一区二区三区久久久| 一区二区在线观看av| 一本一本久久a久久精品综合妖精| 亚洲国产另类 国产精品国产免费| 免费人成网站在线观看欧美高清| 亚洲精品免费在线观看| 亚洲图片欧美一区| 亚洲国产精品一区制服丝袜| 欧美理论电影网| 亚洲黄色一区| 亚洲天堂av在线免费观看| 亚洲一区二区三区精品视频| 欧美三级电影大全| 国产视频久久久久久久| 午夜精品一区二区三区在线| 亚洲免费中文| 国产精品乱子久久久久| 欧美精品一区二| 欧美激情aaaa| 国产精品日韩久久久| 国产欧美在线观看一区| 亚洲高清视频中文字幕| 国产精品欧美一区二区三区奶水| 国产欧美视频在线观看| 欧美人与禽猛交乱配视频| 在线观看视频欧美| 欧美亚洲不卡| 国产一区二区三区在线观看免费| 免费一级欧美在线大片| 激情一区二区三区| 久久综合网络一区二区| 欧美日韩成人一区二区三区| 国产精品av一区二区| 欧美伦理在线观看| 亚洲区第一页| 亚洲成人直播| 亚洲精品看片| 午夜激情综合网| 国产欧美一级| 精品动漫3d一区二区三区| 日韩视频专区| 亚洲电影免费在线| 亚洲人体影院| 欧美色网在线| 亚洲欧洲日产国产综合网| 午夜精品美女久久久久av福利| 亚洲午夜一区二区三区| 亚洲国产精品成人精品| 久久在线91| 91久久精品日日躁夜夜躁国产| 欧美亚洲色图校园春色| 欧美日韩在线免费| 国产亚洲制服色| 欲色影视综合吧| 国产精品一区二区黑丝| 欧美激情国产日韩精品一区18| 久久成人免费视频| 美国十次了思思久久精品导航| 亚洲一区二区三区免费在线观看| 亚洲欧美日韩中文在线制服| 狠狠色狠色综合曰曰| 亚洲欧美日韩一区在线| 先锋影音国产精品| 久久国产精品一区二区三区四区| 欧美激情一区二区三区高清视频| 亚洲成色777777在线观看影院| 99视频+国产日韩欧美| 欧美刺激性大交免费视频| 精品动漫3d一区二区三区免费版| 国产三级精品在线不卡| 国内久久精品| 9人人澡人人爽人人精品| 欧美天堂在线观看| 午夜日本精品| 欧美视频一区在线观看| 欧美日韩hd| 午夜精品久久久| 国产精品视频一| 亚洲一区中文字幕在线观看| 亚洲日本激情| 中日韩美女免费视频网址在线观看| 国产日本欧美一区二区三区在线| 亚洲在线观看免费视频| 影音先锋欧美精品| 国产精品二区三区四区| 亚洲欧美视频一区二区三区| 午夜精品一区二区三区在线播放| 国产区日韩欧美| 国产欧美一区在线| 亚洲国产日韩在线| 欧美资源在线观看| 久久超碰97人人做人人爱| 亚洲男人第一av网站| 久久久久www| 久久久综合网| 国产亚洲激情在线| 男人的天堂亚洲在线| 亚洲精品乱码久久久久久蜜桃麻豆| 国产主播一区| 中文在线不卡视频| 午夜久久久久| 另类春色校园亚洲| 久久精品三级| 亚洲欧美在线网| 欧美一区网站| 国产精品欧美一区喷水| 老司机久久99久久精品播放免费| 西瓜成人精品人成网站| 欧美成人乱码一区二区三区| 欧美亚洲成人精品| 欧美视频国产精品| 亚洲电影观看| 国模一区二区三区| 国产日韩精品一区二区三区| 国产精品久久久久7777婷婷| 国产精品99免费看| 国产在线麻豆精品观看| 欧美成人综合一区| 久久精品中文字幕免费mv| 亚洲视频播放| 欧美激情精品久久久| 亚洲性视频网址| 亚洲精品极品| 在线观看欧美亚洲| 国产精品羞羞答答| 久久综合精品国产一区二区三区| 国产一区视频网站| 国产精品黄视频| 亚洲欧美日韩综合一区| 亚洲国产视频a| 欧美大成色www永久网站婷| 这里只有精品视频在线| 久久成人综合网| 国产日韩欧美中文| 久久全球大尺度高清视频| 亚洲激情在线视频| 韩国一区二区三区在线观看| 午夜精品视频在线观看| 国模精品一区二区三区色天香| 91久久久久久久久久久久久| 国产精品毛片大码女人| 国产亚洲视频在线观看| 久久伊人免费视频| 国产精品国产三级国产普通话三级| 老司机精品视频一区二区三区| 久久亚洲综合色一区二区三区| 亚洲字幕在线观看| 一本色道久久综合精品竹菊| 国产日韩欧美亚洲一区| 在线视频中文亚洲| 久久天堂国产精品| 欧美成ee人免费视频| 欧美日韩中文精品| 国产精品一区=区| 免费中文字幕日韩欧美| 在线亚洲免费| 欧美日韩极品在线观看一区| 欧美一区国产二区| 一区二区三区四区五区精品视频| 久久久综合香蕉尹人综合网| 欧美在线不卡| 一本久久a久久精品亚洲| 久久国产欧美日韩精品| 国产精品久久久久影院色老大| 亚洲欧美国产精品va在线观看| 一区二区高清视频在线观看| 国产精品久久久一区二区三区| 国产亚洲精品7777| 国产精品久久久久永久免费观看| 激情久久婷婷| **网站欧美大片在线观看| 亚洲欧美偷拍卡通变态| 亚洲人午夜精品免费| 1000部精品久久久久久久久| 激情综合久久| 亚洲香蕉成视频在线观看| 性欧美暴力猛交69hd| 夜夜嗨av一区二区三区中文字幕| 国产精品久久久久久久久果冻传媒| 午夜精品一区二区三区四区| 午夜在线电影亚洲一区| 久久只精品国产| 亚洲午夜精品| 在线视频精品一区| 欧美日韩一区二区在线观看| 欧美一区成人| 精品51国产黑色丝袜高跟鞋| 国产午夜精品美女毛片视频| 国内精品亚洲| 国内精品视频久久| 欧美精品免费在线观看| 久久精品导航| 国产日韩综合| 日韩视频在线观看国产| 国产精品高潮视频| 在线观看视频一区二区| 99国内精品久久久久久久软件| 久久久久久久波多野高潮日日| 国内精品久久久久久久果冻传媒| 亚洲精品欧美一区二区三区| 欧美淫片网站| 最近中文字幕mv在线一区二区三区四区| 欧美综合二区| 欧美一区二区日韩| 亚洲国产精品成人久久综合一区| 欧美在线精品免播放器视频| 亚洲美女电影在线| 久久久精品欧美丰满| 欧美激情网站在线观看| 亚洲伊人伊色伊影伊综合网| 久久精品系列| 亚洲精品免费在线观看| 欧美一区二区三区久久精品| 亚洲六月丁香色婷婷综合久久| 一区二区高清| 一本色道久久88综合亚洲精品ⅰ| 欧美日韩喷水| 中文精品视频一区二区在线观看| 亚洲第一精品在线| 国产麻豆午夜三级精品| 欧美日韩精品一区二区在线播放| 久久国产精品久久久久久电车| 中文精品99久久国产香蕉| 亚洲免费视频网站|