日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

基于SRAM和DRAM結(jié)構(gòu)的大容量FIFO的設(shè)計(jì)

出處:bianhui144 發(fā)布于:2008-08-30 10:32:28

 ?。薄∫?/FONT>

 ?。疲桑疲希ǎ疲椋颍螅簟。桑睢。疲椋颍螅簟。希酰簦┦且环N具有先進(jìn)先出存儲(chǔ)功能的部件,在高速數(shù)字系統(tǒng)當(dāng)中通常用作數(shù)據(jù)緩存。在高速數(shù)據(jù)采集、傳輸和實(shí)時(shí)顯示控制領(lǐng)域中,往往需要對大量數(shù)據(jù)進(jìn)行快速存儲(chǔ)和讀取,而這種先進(jìn)先出的結(jié)構(gòu)特點(diǎn)很好地適應(yīng)了這些要求,是傳統(tǒng)RAM無法達(dá)到的。

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

 ?。病』冢樱遥粒偷脑O(shè)計(jì)與實(shí)現(xiàn)

 ?。玻薄。樱遥粒徒Y(jié)構(gòu)芯片HY64UDl6322A

  靜態(tài)隨機(jī)存取存儲(chǔ)器SRAM(Static?。遥幔睿洌铮怼。粒悖悖澹螅蟆。停澹恚铮颍┦且环N非常重要的易失性存儲(chǔ)器,它的速度非常快,并且能在快速讀取和刷新時(shí)保持?jǐn)?shù)據(jù)完整性。本系統(tǒng)SRAM器件采用Hynix公司的HY64UDl6322A。HY64UDl6322A是高速、超低功耗32Mbit?。樱遥粒?,內(nèi)部具有2?。埃梗贰。保担矀€(gè)16 bit字容量。采用了CMOS制造工藝、TTL電平接口以及三態(tài)輸出,具有較大的輸入電壓和溫度范圍。同時(shí)HY64UDl6322A支持DPD(Deep Power?。模铮鳎睿┠J剑WC其在待機(jī)模式下功耗進(jìn)一步降低。

 ?。玻病∠到y(tǒng)硬件設(shè)計(jì)

  整個(gè)系統(tǒng)采用CPLD作為控制器件。CPLD選用Altera公司的MAX7128AETCl00-5。MAX7128基于Altera公司第二代MAX乘積項(xiàng)結(jié)構(gòu),是采用CMOS?。牛牛校遥希图夹g(shù)制造的EPLD,它集成了2 500個(gè)可用門,128個(gè)宏單元以及100個(gè)I/0引腳。

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

  2.3 指針?biāo)惴ǔ绦蛟O(shè)計(jì)

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

  2.4 時(shí)序控制

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

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

  出操作。

  可以看出,影響所構(gòu)建FIFO讀寫速度的關(guān)鍵因素是tWC,該參數(shù)也是決定HY64UDl6322A速度的主要因素,因此,所構(gòu)建FI-F0的理論速率應(yīng)該接近HY64UDl6322A的速率。

 ?。场』冢模遥粒偷脑O(shè)計(jì)與實(shí)現(xiàn)

 ?。常薄。模遥粒徒Y(jié)構(gòu)芯片HY57V281620E

  一般來說,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM(Dynamic?。遥幔睿洌铮怼。粒悖悖澹螅蟆。停澹恚铮颍┦怯纱蟮木匦未鎯?chǔ)單元陣列與用來對陣列讀和寫的支持性邏輯電路,以及維持存儲(chǔ)數(shù)據(jù)完整性的刷新電路組成。盡管操作較SRAM復(fù)雜,但由于DRAM具有每存儲(chǔ)位單元低成本和高密度的優(yōu)點(diǎn),使得它們成為商業(yè)領(lǐng)域廣泛使用的半導(dǎo)體存儲(chǔ)器。本系統(tǒng)的DRAM芯片采用Hynix公司的134?。玻保贰。罚玻浮。猓椋敉剑模龋伲担罚郑玻福保叮玻埃?。它由4塊2 097?。保担玻保丁。猓椋艚M成。采用了CMOS制造工藝,LVTTL電平接口。

 ?。常病∠到y(tǒng)硬件設(shè)計(jì)

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

 ?。常场〕绦蛟O(shè)計(jì)

  這里,主要采用2.3中設(shè)立頭尾兩個(gè)指針的思想。與SRAM不同的是,DRAM采用的矩形存儲(chǔ)單元陣列是由行線和列線來控制,并且內(nèi)部采用分塊結(jié)構(gòu),這里HY57V281620E由4塊存儲(chǔ)單元組成,通過BAl和BA0來控制。在寫數(shù)據(jù)操作的時(shí)候,當(dāng)存放數(shù)據(jù)長度超過當(dāng)前存儲(chǔ)單元容量時(shí),需要CPLD切換至下一存儲(chǔ)塊進(jìn)行存儲(chǔ),同樣,讀操作的時(shí)候也存在這種操作,即如果StartPos或者EndPos超過了存儲(chǔ)塊容量,這里是2?。埃梗贰。保担?,則通過一個(gè)模4計(jì)數(shù)器控制切換至下一個(gè)存儲(chǔ)塊。

  3.4 時(shí)序控制

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

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

 ?。础?shí)驗(yàn)結(jié)果和分析

  圖6是用QuartusⅡ4.O根據(jù)2.3中設(shè)立的頭尾指針?biāo)惴ㄔO(shè)計(jì)仿真出來的時(shí)序波形。

  可以看出,系統(tǒng)從0x000底開始寫數(shù)據(jù),當(dāng)寫入3個(gè)數(shù)據(jù)時(shí),EndPos增加到Ox003,再進(jìn)行3個(gè)數(shù)據(jù)讀操作,即StartPos增加到0x003,此時(shí),所構(gòu)建的FIFO是讀空狀態(tài),可以看到讀空信號(hào)Empty在這時(shí)變?yōu)楦唠娖?,達(dá)到FIFO設(shè)計(jì)所需要求。

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

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

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

 ?。怠〗Y(jié)束語

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

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

  歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.hbjingang.com


  
關(guān)鍵詞:基于SRAM和DRAM結(jié)構(gòu)的大容量FIFO的設(shè)計(jì)SRAM|FIFO

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!