《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于SRAM/DRAM的大容量FIFO的設計與實現(xiàn)
基于SRAM/DRAM的大容量FIFO的設計與實現(xiàn)
摘要: 本文分別針對Hynix公司的兩款SRAM和DRAM器件,介紹了使用CPLD進行接口連接和編程控制,來構成低成本、大容量、高速度FIFO的方法。該方法具有通用性,可以方便地移植到與其他RAM器件相連的應用中去。
關鍵詞: CPLD FIFO SRAM
Abstract:
Key words :

 1 引言

FIFO" title="FIFO">FIFO(First In First Out)是一種具有先進先出存儲功能的部件。在高速數(shù)字系統(tǒng)當中通常用作數(shù)據(jù)緩存。在高速數(shù)據(jù)采集、傳輸和實時顯示控制領域中.往往需要對大量數(shù)據(jù)進行快速存儲和讀取,而這種先進先出的結構特點很好地適應了這些要求,是傳統(tǒng)RAM無法達到的。

許多系統(tǒng)都需要大容量FIFO作為緩存,但是由于成本和容量限制,常采用多個FIFO芯片級聯(lián)擴展,這往往導致系統(tǒng)結構復雜,成本高。本文分別針對Hynix公司的兩款SRAM" title="SRAM">SRAM和DRAM器件,介紹了使用CPLD" title="CPLD">CPLD進行接口連接和編程控制,來構成低成本、大容量、高速度FIFO的方法。該方法具有通用性,可以方便地移植到與其他RAM器件相連的應用中去[1]。

2基于SRAM的設計與實現(xiàn)

2.1 SRAM結構芯片HY64UD16322A

靜態(tài)隨機存取存儲器SRAM(Static Random Access Memory)是一種非常重要的易失性存儲器,它的速度非常快,并且能在快速讀取和刷新時保持數(shù)據(jù)完整性。本系統(tǒng)SRAM器件采用Hynix公司的HY64UD16322A[2]。HY64UD16322A是高速、超低功耗32 Mbit SRAM,內部具有2 097 152個16 bit字容量。采用了CMOS制造工藝、TTL電平接口以及三態(tài)輸出,具有較大的輸入電壓和溫度范圍。同時HY64UD16322A支持DPD(Deep Power Down)模式,保證其在待機模式下功耗進一步降低。

2.2系統(tǒng)硬件設計

整個系統(tǒng)采用CPLD作為控制核心器件。CPLD選用Altera公司的MAX7128AETC100-5[3]。MAX7128基于Altera公司第二代MAX乘積項結構,是采用CMOS EEPROM技術制造的EPLD,它集成了2 500個可用門,128個宏單元以及100個I/O引腳。

圖1是HY64UD16322A內部結構以及與CPLD接口設計的系統(tǒng)連接圖。可以看出,HY64UD16322A由地址譯碼、邏輯控制模塊以及大容量存儲陣列組成。CPLD接收到FIFO控制信號.按照該SRAM讀寫時序要求完成相應的讀寫操作.再通過所構造FIFO的數(shù)據(jù)輸入輸出和狀態(tài)控制接口返回。

2.3指針算法程序設計

系統(tǒng)采用CPLD作為總控制器件。根據(jù)FIFO的特點,需要將SRAM按地址存儲用程序控制成先進先出的結構。這里采用指針算法來實現(xiàn)這種結構設計:設置兩個指針變量StartPos和EndPos.分別作為進入數(shù)據(jù)頭尾指針。當有新數(shù)據(jù)寫入時,數(shù)據(jù)從上一次存儲最后位置的下一個位置開始存放.存入一個數(shù)據(jù).EndPos就自動加1,保持與最后數(shù)據(jù)位置同步。當EndPos超過整個RAM的最大容量(RAM_SIZE)時,就需要循環(huán)返回,從0x000位置存放,一直到EndPos與StartPos重合。這時可以認為RAM已經(jīng)存滿。同理,讀出數(shù)據(jù)時。起始位置StartPos自動加1。當StartPos超過整個RAM的最大容量時,就從0x000位置讀取。一直到StartPos與EndPos重合,這時可以認為RAM已經(jīng)讀空。在這兩個過程當中,CPLD需要對地址線進行控制.不難發(fā)現(xiàn),寫數(shù)據(jù)的時候Address與EndPos一致,讀數(shù)據(jù)的時候Address與StartPos一致。圖2是整個系統(tǒng)寫和讀時序控制的流程圖。


2.4時序控制

寫入數(shù)據(jù)的時候,CPLD需要模擬FIFO基本的寫操作時序:CPLD接收到nWEN(寫使能,低有效)和WCLK(寫時鐘,上升沿有效),即當nWEN為低,WCLK為上升沿時,將當前I/O上的數(shù)據(jù)寫入。在數(shù)據(jù)寫入RAM的時候.CPLD應按照HY64UD16322A的寫時序來控制寫操作。這里,CPLD首先按照上述流程計算出當前數(shù)據(jù)應存放的地址,然后控制nWE信號,nWE為低時,數(shù)據(jù)自動寫入RAM。然后再寫下一位數(shù)據(jù)。整個寫時序如圖3所示。

同理.CPLD接收到nREN(讀使能,低有效)和RLCK(讀時鐘,上升沿有效)時。將最先寫入的數(shù)據(jù)讀出。這里.CPLD首先按照讀數(shù)據(jù)流程計算出當前讀出數(shù)據(jù)存放地址.然后控制nOE信號(低電平有效),數(shù)據(jù)自動讀出RAM。然后再進行下一位數(shù)據(jù)讀出操作。

可以看出,影響所構建FIFO讀寫速度的關鍵因素是tWc,該參數(shù)也是決定HY64UD16322A速度的主要因素,因此.所構建FIFO的理論速率應該接近HY64UD16322A的速率。

3 基于DRAM的設計與實現(xiàn)

3.1 DRAM結構芯片HY57V281620E

 

一般來說。動態(tài)隨機存取存儲器DRAM(Dynamic Random Access Memory)是由大的矩形存儲單元陣列與用來對陣列讀和寫的支持性邏輯電路,以及維持存儲數(shù)據(jù)完整性的刷新電路組成。盡管操作較SRAM復雜,但由于DRAM具有每存儲位單元低成本和高密度的優(yōu)點,使得它們成為商業(yè)領域最廣泛使用的半導體存儲器。本系統(tǒng)的DRAM芯片采用Hynix公司的134 217 728 bit同步DHY57V281620E[4]。它由4塊2 097 152x16 bit組成。采用了CMOS制造工藝.LVTTL電平接口。

3.2系統(tǒng)硬件設計

同樣采用MAX7128AETC100-5完成系統(tǒng)控制。HY57V281620E內部結構以及與CPLD接口的系統(tǒng)連接圖。接口控制原理類似2.2所述。不同的是,HY57V281620E內部由行列地址譯碼、多塊大容量存儲單元陣列和一些邏輯控制模塊組成。

3.3程序設計

這里,主要采用2.3中設立頭尾兩個指針的思想。與SRAM不同的是,DRAM采用的矩形存儲單元陣列是由行線和列線來控制,并且內部采用分塊結構.這里HY57V281620E由4塊存儲單元組成.通過BA1和BA0來控制。在寫數(shù)據(jù)操作的時候,當存放數(shù)據(jù)長度超過當前存儲單元容量時,需要CPLD切換至下一存儲塊進行存儲,同樣,讀操作的時候也存在這種操作,即如果StartPos或者EndPos超過了存儲塊容量.這里是2 097 152,則通過一個模4計數(shù)器控制切換至下一個存儲塊。

3.4時序控制

寫入(或讀出)數(shù)據(jù)的時候,CPLD需要模擬FIFO基本的寫(或讀)操作時序:CPLD接收到nWEN(nREN)和WCLK(RCLK),即當。nWEN(nREN)為低,WCLK(RClK)為上升沿時,將當前I/O上的數(shù)據(jù)寫入(讀出)。在數(shù)據(jù)寫入(讀出)RAM的時候,CPLD應按照HY57V281620E器件的寫(讀)時序來控制寫(讀)操作:CPLD首先控制nRAS從高電平變至低電平,選擇行地址。再通過控制nCAS選擇列地址。這里,當寫入(或讀出)數(shù)據(jù)在同一塊當中進行,可以保持nRAS低電平,連續(xù)選擇多列數(shù)據(jù)操作(也稱作快頁模式讀寫)。當數(shù)據(jù)地址超過塊容量,則需要重新選擇行地址,然后再進行連續(xù)多列數(shù)據(jù)讀寫操作。讀寫使能控制和SRAM類似,通過nOE和nWE(低有效)來控制。

圖5是DRAM主要讀寫控制時序。可以看出,影響所構建FIFO讀寫速度的主要因素是tPC,這也是決定DRAM速率的關鍵所在,因此,所構建FIFO的理論速度也應該接近DRAM最高頻率。同時,還必須考慮DRAM的刷新操作。這里,系統(tǒng)采用nCAS先于nRAS的方式(CBR),即控制nCS、nCAS、nRAS,并保持nWE為高電平,利用芯片內部計數(shù)器決定要被刷新的行。HY57V281620E提供了這種自刷新模式,刷新速率由tREF來決定,通常為64 ms。在系統(tǒng)或某存儲塊長時間無操作的情況下,需要定時刷新,以保持數(shù)據(jù)完整。

4實驗結果和分析

圖6是用QuartusIl4.0根據(jù)2.3中設立的頭尾指針算法設計仿真出來的時序波形。可以看出.系統(tǒng)從0x000底開始寫數(shù)據(jù),當寫入3個數(shù)據(jù)時。EndPos增加到0x003,再進行3個數(shù)據(jù)讀操作,即StartPos增加到0x003,此時,所構建的FIFO是讀空狀態(tài),可以看到讀空信號Empty在這時變?yōu)楦唠娖剑_到FIFO設計所需要求。

 

還需要注意:由于所采用的RAM只采用一個數(shù)據(jù)總線作為輸入輸出,因此在寫數(shù)據(jù)的時候不能進行讀操作。而常用FIFO器件可以同時讀寫。所以.如果要在同一時間內進行讀和寫操作,那么需要在一個FIFO讀寫時鐘周期內對RAM進行讀寫等多個操作,這時所構建的FIFO速率將降低。

此外.在與DRAM構建高速FIFO時,由于存儲塊選擇需要一定時間操作,因此跨塊存儲操作在頻率較高時會影響正常的數(shù)據(jù)讀寫,出現(xiàn)個別數(shù)據(jù)丟失情況。而且當某段時間進行刷新操作時,有突發(fā)數(shù)據(jù)需要讀或寫,這時不允許中斷。解決這種問題的辦法是用一個I/O引腳(nREADY)標識出當前所構建的FIFO是否可讀寫,如果有上述情況發(fā)生,則nREADY為高,可以讀寫時為低。

常用的FIFO器件還有半滿、接近滿、接近空等狀態(tài)指示,可以在上述構建FIFO的基礎上加上簡單的邏輯控制,計算StartPos和EndPos之間的差值,根據(jù)當前是寫操作還是讀操作來指示。其他狀態(tài)信號也可以通過CPLD經(jīng)由邏輯運算很方便地實現(xiàn)。同時,讀和寫同步時鐘可以不一致。這樣就可以很方便地構成同步或者異步兩種FIFO,具有很好的可擴展性。

5 結束語

現(xiàn)在,SRAM的數(shù)據(jù)傳輸速率可以達到10 ns以內,DRAM要比SRAM稍慢一些。因此。SRAM通常用于高速緩沖存儲.而DRAM則通常用來存儲較大的數(shù)據(jù)。從成本來考慮,DRAM比SRAM成本要低得多。

采用本文給出的結構和設計思想,避免了以往主CPU接管RAM時的一系列復雜讀寫操作,而直接類似FIFO使用,接口簡單方便,而且避開了傳統(tǒng)FIFO器件容量和成本的限制。本文通過理論分析,實際電路設計調試,已成功實現(xiàn)用兩種不同結構的RAM構建FIFO,并應用于多個實時高速信號采集系統(tǒng)中。

 

 

此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧洲日本一区二区三区| 亚洲视频电影在线| 欧美精品免费看| 欧美中文字幕视频| 亚洲综合三区| 一本一本a久久| 亚洲风情亚aⅴ在线发布| 亚洲在线一区二区三区| 日韩午夜精品| 亚洲国产精品视频| 精品电影在线观看| 狠狠久久婷婷| 国产一区二区中文| 国产视频一区二区在线观看 | 韩日欧美一区二区| 国产一区二区福利| 国产日韩欧美亚洲一区| 国产日韩精品一区二区三区在线| 国产精品99一区| 欧美日韩一区二| 欧美日韩亚洲国产一区| 欧美日韩国产免费| 欧美日韩1区2区| 欧美日韩成人在线播放| 欧美极品一区| 欧美精品久久99| 欧美激情自拍| 欧美日韩亚洲一区二区三区在线观看| 欧美日韩 国产精品| 欧美四级在线| 国产精品久久久久久久久| 国产精品久久久久9999| 国产精品国产三级国产普通话三级 | 亚洲专区在线视频| 亚洲综合色激情五月| 亚洲综合国产| 欧美一区亚洲二区| 亚洲福利av| 日韩一级片网址| 亚洲私拍自拍| 亚洲欧美日韩精品久久亚洲区| 性欧美超级视频| 久久久91精品国产| 另类激情亚洲| 欧美精品少妇一区二区三区| 欧美日韩午夜在线视频| 国产精品久久久久久一区二区三区| 国产精品手机视频| 狠狠色丁香婷婷综合影院| 亚洲国产欧美在线| 一本色道久久综合亚洲精品按摩 | 亚洲第一在线视频| 亚洲精品久久久一区二区三区| 日韩一二在线观看| 亚洲免费视频在线观看| 久久精品二区| 亚洲精选一区| 午夜欧美大尺度福利影院在线看| 久久精品成人一区二区三区| 免费看的黄色欧美网站| 欧美日韩中文字幕在线视频| 国产欧美日韩精品一区| 亚洲二区在线观看| 亚洲精品久久久久| 午夜免费日韩视频| 亚洲免费av电影| 先锋影音久久| 免费人成精品欧美精品| 国产精品v片在线观看不卡| 国产一区二区欧美日韩| 亚洲日本中文字幕| 午夜精品久久久久久久男人的天堂 | 亚洲视频一二| 亚洲国产成人精品久久久国产成人一区 | 欧美亚洲网站| 日韩午夜视频在线观看| 欧美一区二区三区视频在线观看 | 日韩午夜黄色| 欧美一区二区视频在线观看| 蜜桃久久av一区| 国产精品久久久久久久久果冻传媒| 狠狠色噜噜狠狠色综合久| 夜夜嗨一区二区三区| 久久精品一区二区国产| 亚洲综合电影| 欧美成在线视频| 国产欧美精品在线播放| 91久久久久久| 欧美一级片在线播放| 这里只有精品视频| 狂野欧美激情性xxxx| 国产精品久久久久久av下载红粉| 亚洲国产精品成人精品| 午夜在线电影亚洲一区| 夜夜嗨av一区二区三区四区| 久久久久www| 国产精品成人免费精品自在线观看| 在线国产精品一区| 久久精品国产成人| 欧美大胆a视频| 国产精品网红福利| 亚洲裸体俱乐部裸体舞表演av| 欧美一区二区日韩| 亚洲一区在线观看免费观看电影高清| 免费成人在线观看视频| 国产亚洲成av人在线观看导航| 一本色道久久综合狠狠躁的推荐| 亚洲欧洲日本专区| 久久久噜噜噜久久人人看| 国产精品欧美一区二区三区奶水 | 欧美巨乳波霸| 在线日韩欧美视频| 久久成人羞羞网站| 欧美一区二区三区精品电影| 国产精品a级| 日韩一级欧洲| 亚洲最新合集| 欧美精品高清视频| 亚洲国产欧美一区二区三区丁香婷 | 欧美亚洲日本一区| 欧美在线亚洲一区| 国产精品乱码一区二区三区| 亚洲最新合集| 一区二区三区偷拍| 欧美日本久久| 亚洲精品在线看| 一区二区高清| 欧美日韩国产精品自在自线| 亚洲日本va午夜在线电影| 亚洲三级免费观看| 欧美91大片| 亚洲国产精品va| 亚洲精品欧美极品| 欧美大片一区| 亚洲激情偷拍| 99国内精品久久| 欧美日本一区| 99av国产精品欲麻豆| 一区二区三区日韩欧美精品| 欧美日韩国产一区二区三区地区| 亚洲精品麻豆| 在线视频日韩精品| 欧美午夜精品电影| 亚洲影视在线播放| 久久成人精品| 国产在线国偷精品产拍免费yy| 性娇小13――14欧美| 久久久久久9| 狠狠爱综合网| 亚洲黄色在线看| 欧美国产在线观看| 亚洲免费av网站| 亚洲愉拍自拍另类高清精品| 国产精品久久网站| 午夜精品福利一区二区三区av | 久久综合久久综合这里只有精品| 尤物99国产成人精品视频| 亚洲人精品午夜在线观看| 欧美日韩不卡| 亚洲一级黄色av| 久久精品中文字幕一区| 依依成人综合视频| 日韩亚洲视频在线| 国产精品都在这里| 久久av资源网站| 欧美激情第六页| 亚洲精品社区| 午夜在线a亚洲v天堂网2018| 国产一区二区三区在线免费观看 | 欧美午夜电影网| 亚洲综合色婷婷| 久久在线精品| 日韩视频精品在线| 欧美一区免费视频| 亚洲电影有码| 亚洲综合色在线| 狠狠色噜噜狠狠色综合久| 99精品热视频只有精品10| 国产精品乱码妇女bbbb| 亚洲福利视频专区| 欧美三级网址| 久久er精品视频| 欧美精品免费视频| 欧美一区二区三区播放老司机| 欧美精品性视频| 午夜精品久久久久久久99水蜜桃| 欧美www视频| 亚洲一区二区欧美| 久久综合色88| 一区二区欧美在线观看| 久久人体大胆视频| aa国产精品| 久久视频这里只有精品| 野花国产精品入口| 久久日韩精品| 一区二区三区波多野结衣在线观看| 久久久久免费| 正在播放欧美视频| 欧美电影免费| 欧美一区不卡|