《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 一種基于DDR高速圖像緩存的實現(xiàn)
一種基于DDR高速圖像緩存的實現(xiàn)
陳松柏
摘要: 提出了基于DDR存儲器的高速FIFO圖像緩存方案,降低了用戶接口的設(shè)計難度,實現(xiàn)了高速緩存的容量擴展,并成功應(yīng)用于工程項目。本文設(shè)計中使用16bit數(shù)據(jù)位寬的DDR器件,創(chuàng)新地實現(xiàn)了行猝發(fā)的操作模式,極大地提高了數(shù)據(jù)吞吐量。在工作時鐘為100MHz的條件下實現(xiàn)了平均緩存速度高達360MB/s,接近理論峰值數(shù)據(jù)吞吐量400MB/s。
Abstract:
Key words :

  摘  要: 提出了基于DDR存儲器的高速FIFO圖像緩存方案,降低了用戶接口的設(shè)計難度,實現(xiàn)了高速緩存的容量擴展,并成功應(yīng)用于工程項目。本文設(shè)計中使用16bit數(shù)據(jù)位寬的DDR器件,創(chuàng)新地實現(xiàn)了行猝發(fā)的操作模式,極大地提高了數(shù)據(jù)吞吐量。在工作時鐘為100MHz的條件下實現(xiàn)了平均緩存速度高達360MB/s,接近理論峰值數(shù)據(jù)吞吐量400MB/s。


  關(guān)鍵詞: DDR存儲控制器; 高速緩存; FIFO

   隨著半導(dǎo)體傳感器技術(shù)的發(fā)展,在實際應(yīng)用中越來越多地用到了高幀頻、大面陣的CCD相機以獲取高質(zhì)量、高分辨率的圖像數(shù)據(jù)。以分辨率為1K×1K、幀頻為200f/s、8bit灰度級的相機為例,其圖像數(shù)據(jù)流速率就將高達200MB/s,這對圖像的高速緩存和記錄提出了挑戰(zhàn)。高速緩存的實現(xiàn)是實時記錄的前提條件,高速圖像記錄之前必須采用合理的緩存機制來完成高速圖像數(shù)據(jù)緩存。
  目前高速緩存實現(xiàn)方案有三種: 第一種是FIFO(先進先出)方式,FIFO存儲器就像數(shù)據(jù)管道一樣,數(shù)據(jù)從管道的一端流入,從另一端流出,先進先出,省略了地址線,接口簡單方便,其缺點是容量可擴展性差。第二種是雙口RAM方式,具有兩套獨立的數(shù)據(jù)、地址和控制總線,因而可從兩個端口同時讀寫而互不干擾,能達到很高的傳輸速度,并且具有隨機存取的優(yōu)點,缺點是需要用戶產(chǎn)生地址邏輯。 第三種是高速SRAM切換方式,高速SRAM只有一套數(shù)據(jù)、地址和控制總線,可通過三態(tài)緩沖門來實現(xiàn)兩塊SRAM的乒乓切換操作,該方案提高了系統(tǒng)帶寬,缺點是切換電路控制比較復(fù)雜。
  目前高速緩存方案中常采用三種介質(zhì):第一種是SRAM,其具有操作簡單的特點,但是昂貴的價格和容量的有限性限制了其在高速大容量的緩存中的應(yīng)用。第二種是SDRAM,由于需要進行刷新、預(yù)充電等操作,控制難度大于SRAM,同時由于其數(shù)據(jù)傳輸只在時鐘沿上沿進行,因此其傳輸帶寬還是受時鐘頻率的限制。第三種是DDR SDRAM,克服了SDRAM數(shù)據(jù)帶寬的問題,在時鐘的上下沿均傳輸數(shù)據(jù),帶寬是SDRAM的兩倍,性價比高,是目前高速緩存的最理想介質(zhì)。
  本文以Micron DDR SDRAM[1]作為緩存介質(zhì),發(fā)揮了FIFO接口簡單、DDR的容量可擴展性和高數(shù)據(jù)帶寬的優(yōu)點。在工作時鐘100MHz的條件下,以FIFO作為緩存方案實現(xiàn)了緩存容量32MB、數(shù)據(jù)傳輸率高達360MB/s的高速圖像緩存,彌補了FIFO容量小和DDR用戶接口邏輯復(fù)雜的缺點,具有較好的應(yīng)用前景。


1 系統(tǒng)設(shè)計
    為提高設(shè)計的可移植性和可擴展性,采用了模塊設(shè)計的方法,設(shè)計四個模塊來完成圖像緩存功能。系統(tǒng)框架如圖1所示。用戶層接口模塊負責(zé)與用戶進行通信,接收用戶命令和圖像數(shù)據(jù)并產(chǎn)生控制命令到應(yīng)用層控制模塊;應(yīng)用層控制模塊負責(zé)接收來自用戶層命令以及物理層控制模塊的狀態(tài)反饋信號,產(chǎn)生讀寫命令及DDR操作地址發(fā)送到物理控制模塊;物理層控制模塊負責(zé)接收應(yīng)用層發(fā)送來的操作地址和命令以及和用戶層進行數(shù)據(jù)通信,同時負責(zé)產(chǎn)生DDR器件操作所需要的時序邏輯功能來完成對DDR器件的物理層操作。

 

 

1.1 物理層控制模塊
  DDR器件在上電過程中有一系列復(fù)雜的操作:上電后至少等候200?滋s然后連續(xù)執(zhí)行如下一連串命令:
    全充電→空命令→配置外部模式寄存器→空命令→配置內(nèi)部模式寄存器→全充電→空命令→自動刷新→空命令→自動刷新→空命令→用戶發(fā)出任何有效操作命令。
    該模塊的狀態(tài)機如圖2所示,復(fù)位或者上電后進入初始化狀態(tài),初始化完成后進入工作等待(空閑)中,由于DDR器件的構(gòu)造特點,需要每隔64ms對器件所有存儲單元進行一次刷新。DDR器件本身具有自動刷新計數(shù)器,刷新一行計數(shù)器便增加一,因此自動刷新的時間間隔由DDR的行數(shù)決定,本設(shè)計采用Micron MT46V32M16器件,行數(shù)為8K,計算得到相鄰自動刷新命令的間隔為7.8μs。設(shè)計中采用一個計數(shù)器,每隔7.8?滋s就發(fā)出一個自動刷新的命令,控制器在工作空閑狀態(tài)下響應(yīng)并發(fā)出自動刷新命令。


  DDR的存儲單元[2]按照塊(BANK)、行(ROW)、列(Column)地址分布,支持最大猝發(fā)操作為8個存儲單元,每次切換塊、行地址必須首先進行充電狀態(tài)(Precharge)來關(guān)閉當(dāng)前操作的塊、行中的存儲單元,并且在進行新的操作時首先要激活操作單元所在的塊和行,控制器在工作空閑狀態(tài)下發(fā)出激活命令(ACTIVE)進入激活狀態(tài),在此狀態(tài)下等候應(yīng)用層發(fā)送的控制命令以進行數(shù)據(jù)操作。
  由以上分析可知:由于存在猝發(fā)長度限制及塊和行地址切換等控制時間開銷,DDR的隨機操作的數(shù)據(jù)吞吐量實際上是有限的,不適合高速圖像緩存這種應(yīng)用環(huán)境,必須設(shè)計一種新的猝發(fā)模式來提高數(shù)據(jù)吞吐量。本文結(jié)合DDR充電以及圖像緩存的特點,提出并實現(xiàn)了一種一次操作DDR一行、一行1 024個存儲單元的猝發(fā)模式,由于DDR只支持2、4、8長度的猝發(fā)模式,設(shè)計中采用了猝發(fā)長度為4的連續(xù)猝發(fā)方式,核心思想是在一次猝發(fā)正在進行的時候又發(fā)起操作命令從而使得該次猝發(fā)后連續(xù)進行下一次猝發(fā)。實現(xiàn)了一次連續(xù)操作2KB數(shù)據(jù)的高吞吐量操作。如圖2狀態(tài)機所示,當(dāng)一行操作完后則進入空閑狀態(tài),然后再進行自動刷新和充電的操作。這種猝發(fā)模式一次猝發(fā)只需要一次充電操作,而猝發(fā)長度為8的猝發(fā)模式完成2KB的數(shù)據(jù)傳輸共需要進行125次充電操作,而一次充電操作需要幾個時鐘周期開銷,相比較而言,大大節(jié)省了控制開銷,提高了數(shù)據(jù)吞吐量。
1.2 應(yīng)用層控制模塊
  本設(shè)計將DDR作為FIFO的容量擴展來實現(xiàn)高速緩存,這需要內(nèi)部產(chǎn)生地址邏輯。在應(yīng)用層控制模塊中,負責(zé)接收用戶接口模塊送過來的命令信號,并對命令進行譯碼。判斷當(dāng)前命令與上次命令一樣的時候地址繼續(xù)累加產(chǎn)生,當(dāng)前命令與上次命令不同時則地址復(fù)位,重新從DDR的零地址開始操作,這樣符合FIFO的工作特點。模塊產(chǎn)生DDR的地址信號和物理層的控制信號,并根據(jù)地址邏輯產(chǎn)生DDR狀態(tài)信號反饋到用戶層接口。
1.3 用戶層接口模塊
  用戶層接口模塊[3]負責(zé)接收圖像輸入數(shù)據(jù),并提供簡易用戶接口,屏蔽了內(nèi)部控制的復(fù)雜性,在用戶看來對該DDR的操作實際上就是對FIFO的操作,判斷DDR內(nèi)部產(chǎn)生的DDR狀態(tài)信號,發(fā)出緩存或者數(shù)據(jù)讀出命令。
  用戶接口層模塊方框圖如圖3所示。當(dāng)用戶發(fā)出緩存命令時,內(nèi)部狀態(tài)機自動監(jiān)測圖像幀的開始位置并將一幀中的幾行數(shù)據(jù)寫入“輸入FIFO”,當(dāng)此FIFO達到一次猝發(fā)操作數(shù)據(jù)量2KB時,狀態(tài)機發(fā)出DDR寫命令到下一層,并一次性讀完輸入FIFO的數(shù)據(jù)。圖像數(shù)據(jù)連續(xù)向“輸入FIFO”輸入,狀態(tài)機不間斷地檢測“輸入FIFO”的編程狀態(tài)信號并發(fā)出DDR寫命令。由于圖像數(shù)據(jù)存在行場消隱期以及DDR的行猝發(fā)寫操作效率高,因此在一定的像素時鐘條件下不會出現(xiàn)數(shù)據(jù)堵塞情況。

 

  當(dāng)用戶發(fā)出讀出命令時,狀態(tài)機自動檢測“輸入FIFO”的狀態(tài),在可編程空信號有效時一次性向“輸出FIFO”輸入2KB數(shù)據(jù),此時“輸出FIFO”輸出數(shù)據(jù)有效信號以提示用戶可以進行數(shù)據(jù)讀取。用戶從DDR讀出數(shù)據(jù)操作實際上就是對FIFO的讀操作,因此用戶只需要提供讀FIFO使能信號以及讀FIFO時鐘就可以將DDR內(nèi)部的數(shù)據(jù)依次讀出。當(dāng)用戶快要將FIFO的數(shù)據(jù)讀空的時候,狀態(tài)機發(fā)出讀命令從DDR存儲器中一次性讀出2KB數(shù)據(jù)存入“輸出FIFO”中,由于DDR讀的峰值速度高達400MB/s(100MHz×2B×2),而用戶接口讀速率一般不超過這個值,因此不會出現(xiàn)數(shù)據(jù)堵塞情況。
    該模塊完成了用戶接口、圖像輸入、控制器三個時鐘域的設(shè)計,極大地簡化了用戶接口的操作。良好的功能模塊化劃分,使得用戶只需按照具體要求對圖像輸入接口進行簡單修改便可實現(xiàn)對于任何數(shù)據(jù)源的緩存,拓寬了該緩存技術(shù)的應(yīng)用范圍。
1.4 時鐘管理單元模塊
  本設(shè)計DDR控制器時鐘頻率[4]為100MHz,在各模塊中時鐘相位可以不同。因此時鐘管理模塊對時鐘輸入信號進行90°、180°、270°等相移,設(shè)計中可以采用FPGA的數(shù)字時鐘管理單元(DCM)。該模塊產(chǎn)生復(fù)位信號,當(dāng)上電復(fù)位該模塊自動檢測復(fù)位信號,并延遲200μs產(chǎn)生控制器所需要的復(fù)位信號。


2 性能測試
  使用VHDL語言[5]在ISE7.1i軟件環(huán)境下完成整個模塊的設(shè)計,綜合后共占14%的芯片Slice資源,最高時鐘頻率可達156.5MHz。在基于Xilinx的VirtexIIpro硬件平臺上加載測試,硬件平臺中使用的DDR為Micron公司的MT46V32M16芯片,晶振為100MHz。
  為測試該設(shè)計的最高平均緩存速度,采用邏輯分析儀采集控制器內(nèi)部工作時的數(shù)據(jù)傳輸狀態(tài)。發(fā)現(xiàn)一行數(shù)據(jù)的猝發(fā)共需要512個時鐘周期,而刷新、充電、狀態(tài)等待等時鐘開銷只需要不到50個時鐘周期,因此,實際平均數(shù)據(jù)吞吐量為理論峰值速率400MB/s×512/(512+50)≈360MB/s。
  為測試該圖像緩存的數(shù)據(jù)記錄的完整性,向該模塊輸入模擬產(chǎn)生的相機數(shù)據(jù)。8位灰度圖像大小為512×512,圖4為從DDR器件中讀出的緩存圖像。


  本文設(shè)計并實現(xiàn)了一種基于DDR的高速圖像緩存。創(chuàng)新地采用了行猝發(fā)操作以提高數(shù)據(jù)吞吐量。在100MHz的時鐘條件下實現(xiàn)峰值傳輸速率400MB/s、最大平均傳輸速率360MB/s的圖像緩存。在提高時鐘頻率的情況下數(shù)據(jù)傳輸率還有上升空間。同時用戶可根據(jù)需求對輸入接口進行修改以應(yīng)用于特殊要求的數(shù)據(jù)緩存,應(yīng)用廣泛。


參考文獻
[1] DDR SDRAM General Description[DB/OL].[2007-04-15] http://www.micron.com/ datasheets.
[2] Synthesizable DDR SDRAM Controller[DB/OL].[2006-10-27] http://www.xilinx.com.
[3] Memory Interface Application Notes Overview[DB/OL].[2007-03-26] http://www.xilinx.com.
[4] SYNCHRONOUS TIMING FOR DDR SDRAM[DB/OL]. http://www.micron.com/datasheets.
[5] 候伯亭. VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計.西安:西安電子科技大學(xué)出版社,1999.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲第一黄色网| 亚洲一区二区免费在线| 国产精品国产一区二区| 欧美高清你懂得| 久久综合伊人77777麻豆| 久久精品国产精品亚洲精品| 亚洲欧美变态国产另类| 99国产精品一区| 亚洲最新在线视频| 夜夜嗨av一区二区三区| 日韩亚洲欧美一区二区三区| 亚洲日本免费电影| 亚洲另类一区二区| 日韩午夜免费| 一区二区三区日韩欧美精品| 一区二区三区四区五区精品视频| 99精品视频免费| 中国女人久久久| 亚洲视频在线观看网站| 正在播放欧美视频| 亚洲一区二区免费在线| 亚洲一区二区免费在线| 亚洲欧美日韩中文播放| 校园春色综合网| 久久精品国产欧美激情| 久久蜜桃精品| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美福利视频在线观看| 欧美日韩视频在线一区二区| 欧美性大战xxxxx久久久| 国产欧美精品日韩| 狠狠色综合网| 亚洲国产另类久久久精品极度| 91久久精品国产91久久性色tv| 亚洲另类自拍| 亚洲综合国产| 亚洲成在人线av| 亚洲精品视频二区| 亚洲免费一区二区| 久久久精品一品道一区| 欧美.www| 国产精品久久久久久久久婷婷| 国产日韩亚洲| 亚洲国产三级网| 一区二区三区蜜桃网| 性欧美1819sex性高清| 亚洲国产欧美一区二区三区同亚洲 | 在线午夜精品自拍| 午夜久久一区| 久久亚洲一区| 欧美日韩精品欧美日韩精品| 国产酒店精品激情| 亚洲国产激情| 亚洲一区二区在线免费观看| 亚洲第一中文字幕| 亚洲一本大道在线| 久久综合狠狠| 国产精品高潮久久| 在线观看视频日韩| 亚洲深夜福利视频| 亚洲国产一区二区a毛片| 亚洲一品av免费观看| 久久久一区二区| 国产精品va| 亚洲国产成人精品久久久国产成人一区| 夜夜嗨网站十八久久| 久久国产精品第一页| 亚洲婷婷在线| 久久综合影音| 国产精品一区二区三区久久久| 亚洲国产精彩中文乱码av在线播放| 亚洲一区二区在线播放| 日韩视频亚洲视频| 久久久www成人免费毛片麻豆| 欧美日韩精品中文字幕| 伊人久久噜噜噜躁狠狠躁| 亚洲午夜激情网站| 日韩亚洲欧美精品| 狂野欧美激情性xxxx| 国产欧美日韩一区二区三区在线观看 | 亚洲国产精品免费| 欧美亚洲在线视频| 欧美日韩精品一区二区| 在线观看视频一区二区欧美日韩| 亚洲永久免费观看| 中文网丁香综合网| 欧美成人免费小视频| 国产乱理伦片在线观看夜一区| 亚洲精品乱码久久久久久日本蜜臀| 久久aⅴ国产欧美74aaa| 午夜精品久久久久久久蜜桃app| 欧美日韩精品免费观看视频完整 | 欧美一区二区精品| 亚洲欧美精品suv| 欧美日韩18| 亚洲国产婷婷综合在线精品| 久久黄金**| 香蕉久久久久久久av网站| 欧美视频日韩视频| 亚洲日本成人网| 亚洲国内精品| 久久综合伊人77777尤物| 国产一区二区三区免费在线观看 | 久久精品夜色噜噜亚洲aⅴ| 午夜精品美女久久久久av福利| 欧美日韩一区二区视频在线| 亚洲欧洲一区二区天堂久久| 亚洲国产精品久久精品怡红院 | 国产精品乱码一区二三区小蝌蚪| 亚洲免费大片| 一本久道综合久久精品| 欧美—级高清免费播放| 亚洲高清av在线| 91久久国产综合久久| 快播亚洲色图| 在线观看不卡| 亚洲精品一区在线观看| 欧美电影在线观看完整版| 亚洲高清一区二| 亚洲日本理论电影| 欧美激情综合色| 亚洲日本无吗高清不卡| 99亚洲一区二区| 欧美三日本三级三级在线播放| aⅴ色国产欧美| 亚洲综合精品自拍| 国产精品久久久一本精品| 亚洲午夜久久久久久久久电影院 | 日韩一区二区精品葵司在线| 欧美激情视频一区二区三区免费| 亚洲国产精品成人综合色在线婷婷| 亚洲精品一二| 欧美日韩亚洲综合一区| 亚洲午夜一级| 久久9热精品视频| 黄网站色欧美视频| 亚洲国产美女| 欧美日韩色婷婷| 亚洲自拍偷拍一区| 久久综合久色欧美综合狠狠| 亚洲国产精品va| 中文高清一区| 国产精品夜夜夜一区二区三区尤| 欧美一级艳片视频免费观看| 久久美女性网| 亚洲精品一区二| 亚洲欧美伊人| 国内视频精品| 日韩一级成人av| 国产精品午夜电影| 亚洲高清自拍| 欧美乱妇高清无乱码| 亚洲一区二区三区免费在线观看| 欧美一级大片在线观看| 韩国成人精品a∨在线观看| 亚洲精品久久嫩草网站秘色| 欧美激情一区二区三区全黄| 一区二区三区不卡视频在线观看 | 亚洲永久视频| 国内精品一区二区三区| 日韩一级免费观看| 国产精品入口| 亚洲高清精品中出| 欧美日韩在线大尺度| 亚洲欧美国产制服动漫| 老司机成人网| 亚洲午夜性刺激影院| 老司机精品久久| 亚洲一区二区三区视频播放| 久久亚洲欧洲| 一区二区激情小说| 久久久久久穴| 日韩午夜激情av| 久久久久久999| aa级大片欧美三级| 另类成人小视频在线| 一区二区三区日韩| 久久综合久久88| 亚洲天堂激情| 欧美成人午夜视频| 午夜欧美不卡精品aaaaa| 欧美激情亚洲综合一区| 亚洲欧美日韩国产中文| 欧美精品福利| 亚洲第一搞黄网站| 国产精品免费看片| 亚洲精品欧美专区| 国产亚洲欧洲997久久综合| 亚洲视频一区| 亚洲国产三级| 久久久久久亚洲综合影院红桃 | 亚洲国产岛国毛片在线| 欧美综合国产精品久久丁香| 日韩亚洲欧美成人| 欧美1区2区视频| 欧美中文字幕在线观看| 国产精品视频一区二区高潮| 日韩亚洲欧美中文三级| 亚洲第一天堂无码专区| 久久精品动漫|