《數(shù)字系統(tǒng)設(shè)計(jì)基礎(chǔ)》課件第8章_第1頁(yè)
《數(shù)字系統(tǒng)設(shè)計(jì)基礎(chǔ)》課件第8章_第2頁(yè)
《數(shù)字系統(tǒng)設(shè)計(jì)基礎(chǔ)》課件第8章_第3頁(yè)
《數(shù)字系統(tǒng)設(shè)計(jì)基礎(chǔ)》課件第8章_第4頁(yè)
《數(shù)字系統(tǒng)設(shè)計(jì)基礎(chǔ)》課件第8章_第5頁(yè)
已閱讀5頁(yè),還剩226頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

8.1半導(dǎo)體存儲(chǔ)器綜述8.2易失性存儲(chǔ)器8.3非易失存儲(chǔ)器8.4存儲(chǔ)器的擴(kuò)展8.5可編程邏輯器件簡(jiǎn)介習(xí)題

第8章半導(dǎo)體存儲(chǔ)器與可編程邏輯器件半導(dǎo)體存儲(chǔ)器(SemiconductorMemory)是一種能存儲(chǔ)大量二值信息(或稱為二值數(shù)據(jù))的電子數(shù)據(jù)存儲(chǔ)元件,是用半導(dǎo)體集成電路實(shí)現(xiàn)的。隨著半導(dǎo)體技術(shù)發(fā)展,很多集成電路產(chǎn)品中已經(jīng)集成了半導(dǎo)體存儲(chǔ)器。各種各樣的半導(dǎo)體存儲(chǔ)器集成電路IC(IntegratedCircuit)是計(jì)算機(jī)中必不可少的組成部分,是集成電路最主要的產(chǎn)品之一,廣泛地應(yīng)用于各種電子產(chǎn)品中??删幊踢壿嬈骷LD(ProgrammableLogicDevice)是數(shù)字集成電路家族中的一類特殊成員,其特性是可以根據(jù)設(shè)計(jì)要求,通過特殊的硬件編程語(yǔ)言,對(duì)器件進(jìn)行編程,并通過特定的裝置,將編程信息寫入到器件,實(shí)現(xiàn)設(shè)計(jì)要求。很多可編程器件可以反復(fù)編程,從而實(shí)現(xiàn)電路可重構(gòu)(Reconfigurable)。

半導(dǎo)體存儲(chǔ)技術(shù)是PLD編程技術(shù)的基礎(chǔ),本章將介紹半導(dǎo)體存儲(chǔ)器以及可編程邏輯器件的基本概念和原理。

1.存儲(chǔ)器的分類

目前所使用的各種半導(dǎo)體存儲(chǔ)器,從存取功能上可以分為只讀存儲(chǔ)器ROM(ReadOnlyMemory)和讀寫存儲(chǔ)器RWM(ReadWriteMemory),由于歷史的原因,隨機(jī)存取的RWM也稱為隨機(jī)存取存儲(chǔ)器RAM(RandomAccessMemory)。注意,大多數(shù)的ROM也是隨機(jī)存取的。

按照存儲(chǔ)功能劃分的存儲(chǔ)器的分類如圖8-1所示。8.1半導(dǎo)體存儲(chǔ)器綜述圖8-1存儲(chǔ)器分類

RAM是易失性存儲(chǔ)器(VolatileMemory)。易失性存儲(chǔ)器在掉電后,存儲(chǔ)在其中的信息會(huì)很快消失。根據(jù)存儲(chǔ)數(shù)據(jù)的原理不同,RAM又分為靜態(tài)隨機(jī)存取存儲(chǔ)器SRAM(StaticRAM)和動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM(DynamicRAM)。SRAM利用雙穩(wěn)態(tài)存儲(chǔ)數(shù)據(jù),不需要刷新電路即能保存它內(nèi)部存儲(chǔ)的數(shù)據(jù),其具有較高的性能,但它的集成度較低。而DRAM利用電荷存儲(chǔ)數(shù)據(jù),每隔一段時(shí)間就要刷新充電一次,否則內(nèi)部的數(shù)據(jù)即會(huì)消失,其優(yōu)點(diǎn)是集成度高。

SRAM用途非常廣泛,可用于個(gè)人計(jì)算機(jī)、工作站和路由器;可用于各類嵌入式系統(tǒng)中,如玩具、數(shù)碼相機(jī)和手提電話等消費(fèi)類電子以及汽車電子中;還可以用于LCD顯示屏以及打印機(jī)等其它眾多類型的電子產(chǎn)品中。DRAM通常作為計(jì)算機(jī)的外存。

ROM是非易失性存儲(chǔ)器(NonvolatileMemory),存儲(chǔ)在其中的信息在掉電后仍然存在,主要用于計(jì)算機(jī)、航空、遠(yuǎn)程通信和消費(fèi)類電子產(chǎn)品中,用來存儲(chǔ)程序和微代碼。非易失性存儲(chǔ)器中所存儲(chǔ)的數(shù)據(jù)信息理論上可以是永久不變的。

ROM又分為掩膜ROM、可編程PROM(ProgrammableROM)、可擦除可編程EPROM(ErasablePROM)和電可擦除可編程EEPROM(ElectronicEPROM)。EPROM的擦除是用紫外光完成的。FLASH(快閃存儲(chǔ)器)的全稱是FLASHEEPROM,它也屬于電可擦除可編程ROM的一類,因此我們也將其歸為

ROM。在有些文獻(xiàn)中將其單獨(dú)分開。也可以對(duì)存儲(chǔ)器按照存儲(chǔ)方式進(jìn)行分類,大部分是可以隨機(jī)訪問的,而有些存儲(chǔ)器則是按照順序訪問的,例如先進(jìn)先出的FIFO,先進(jìn)后出的FILO等等。從制造工藝上又可以把存儲(chǔ)器分為雙極型和MOS型。MOS工藝電路,尤其是CMOS工藝電路具有功耗低、集成度高的優(yōu)點(diǎn),所以目前大容量的存儲(chǔ)器都是采用MOS工藝制作的。

2.存儲(chǔ)的基本概念

1)容量

在不同的抽象層次上可以用不同的方式表示一個(gè)存儲(chǔ)單元的容量,電路設(shè)計(jì)者用位(bit)表示存儲(chǔ)器容量,位數(shù)即存儲(chǔ)器所需要的單元數(shù)。芯片設(shè)計(jì)者用字節(jié)(byte)或者字節(jié)的

倍數(shù),即千字節(jié)(Kbyte)、兆字節(jié)(Mbyte)和吉字節(jié)(Gbyte)以及太字節(jié)(Tbyte)表示存儲(chǔ)量,1Tbyte=103Gbyte=106Mbyte=109Kbyte。而在系統(tǒng)層,則可以用“字?jǐn)?shù)×字寬”表示,字代表基本的運(yùn)算單位,例如256×16表示有256個(gè)單元,每個(gè)單元是16位。

2)讀/寫參數(shù)

存儲(chǔ)器的讀/寫參數(shù)是存儲(chǔ)器最重要的參數(shù)之一,只有按照嚴(yán)格的時(shí)序?qū)Υ鎯?chǔ)器進(jìn)行讀/寫,才能保證存儲(chǔ)器的工作正確。

寫入時(shí)間:從提出寫請(qǐng)求到最終把數(shù)據(jù)寫入到存儲(chǔ)器之間的時(shí)間間隔。

讀出時(shí)間:從提出讀請(qǐng)求到數(shù)據(jù)在輸出端上有效之間的時(shí)間間隔。

讀/寫周期:前后兩次讀或兩次寫之間所要求的最小時(shí)間間隔。

圖8-2給出了存儲(chǔ)器讀/寫時(shí)序的示意圖。圖8-2存儲(chǔ)器讀/寫時(shí)序示意圖

3)存儲(chǔ)器的基本結(jié)構(gòu)

要實(shí)現(xiàn)一個(gè)N×M的存儲(chǔ)器,最簡(jiǎn)單的方法是把它們存入到連續(xù)的單元中,如圖8-3所示。圖8-3存儲(chǔ)器的基本結(jié)構(gòu)對(duì)這些單元的訪問,可以通過一個(gè)選擇線S0~Sn-1實(shí)現(xiàn)每次訪問一個(gè)單元。這種方法雖然簡(jiǎn)單,但是當(dāng)存儲(chǔ)器比較大,例如實(shí)現(xiàn)一個(gè)1M×8存儲(chǔ)器時(shí),則需要100萬(wàn)個(gè)選擇信號(hào),這么多的信號(hào)不利于芯片的管腳封裝。為了減少這些選擇信號(hào),可以通過一個(gè)譯碼器來實(shí)現(xiàn)。當(dāng)通過一個(gè)二進(jìn)制的地址(A0~AK-1)訪問某個(gè)單元時(shí),譯碼器把這個(gè)地址轉(zhuǎn)化成N=2K根選擇線,任何時(shí)候,只有一根選擇線有效。這樣,從存儲(chǔ)器芯片的管腳來看,100萬(wàn)(220)根選擇線需要20根地址線,從而解決了存儲(chǔ)器的封裝和其它設(shè)計(jì)問題。通常情況下,存儲(chǔ)器中的字?jǐn)?shù)遠(yuǎn)遠(yuǎn)多于每個(gè)字存儲(chǔ)的位數(shù)。按照上述方式組織存儲(chǔ)單元將使存儲(chǔ)器變得長(zhǎng)而窄,導(dǎo)致存儲(chǔ)器芯片設(shè)計(jì)變得比較困難。因此,在存儲(chǔ)器的芯片結(jié)構(gòu)中通常是將多個(gè)字放在一個(gè)行中,這樣,一根選擇線就同時(shí)選中多個(gè)字。為了從這多個(gè)字中再選擇出所需要的字,則再加上一個(gè)稱為列譯碼的額外電路,地址則被劃分成列(A0~AK-1)地址、行地址(AK~AL-1),使得行地址可讀寫一行的存儲(chǔ)單元,而列地址則從所選擇的行存儲(chǔ)單元中找出一個(gè)所需要的字,如圖8-4所示。圖8-4具有譯碼器的存儲(chǔ)器結(jié)構(gòu)水平選擇線可以選擇一行單元,稱為字線(Wordline),也稱為數(shù)據(jù)線,而把一列單元連接到輸出電路的線稱為位線(Bitline)。圖8-4中的靈敏放大器(Senseamplifier)則是把內(nèi)部的電壓放大到外部接口所需要的電壓值。

1.靜態(tài)隨機(jī)存取存儲(chǔ)器SRAM

SRAM是由靜態(tài)易失性存儲(chǔ)單元組成的陣列,其地址譯碼集成在片內(nèi),可以對(duì)每個(gè)單元進(jìn)行讀寫操作。SRAM由于靠連續(xù)的供電來維持所存數(shù)據(jù)的完整性,故屬于易失性存儲(chǔ)類。

SRAM的基本結(jié)構(gòu)包括一個(gè)或者多個(gè)由存儲(chǔ)單元構(gòu)成的矩形陣列以及完成地址譯碼和數(shù)據(jù)存儲(chǔ)的外圍電路。下面對(duì)SRAM存儲(chǔ)單元做簡(jiǎn)單的介紹。8.2易失性存儲(chǔ)器圖8-5SRAM四管存儲(chǔ)單元結(jié)構(gòu)

1)SRAM存儲(chǔ)單元

(1)四管構(gòu)成的SRAM存儲(chǔ)單元。

SRAM的存儲(chǔ)單元結(jié)構(gòu)有多種,圖8-5所示是一種由4只晶體管構(gòu)成的SRAM存儲(chǔ)單元,這種SRAM也稱4TSRAM。其中管子M1和M2構(gòu)成了一個(gè)雙穩(wěn)態(tài)電路,M3、M4受控于字線作為字線地址的選擇,它們分別與位線B和-B相連。這樣,位線上的一對(duì)互為反相信號(hào)可以通過M3和M4向觸發(fā)器置數(shù),也就是寫入過程。同時(shí),觸發(fā)器內(nèi)所存儲(chǔ)的數(shù)據(jù)也可以通過管子M3和M4向位線B和-B傳送,即所謂的讀出過程。負(fù)載單元的作用是通過電源補(bǔ)充存儲(chǔ)單元中高電平端的漏電流。如圖8-5中,假設(shè)觸發(fā)器中寫入“1”,則M1管關(guān)閉,M2管導(dǎo)通,由于M1、M3均存在PN結(jié)反向漏電,因此要保持M1漏端的高電平,需要電源VDD通過L1進(jìn)行電荷補(bǔ)償。通過合適的半導(dǎo)體加工工藝,4T

SRAM存儲(chǔ)單元的面積可以做得非常小,因此,4TSRAM的優(yōu)點(diǎn)就是有較小的面積。但是4T結(jié)構(gòu)的單元也存在著一些缺點(diǎn)。一是由于VDD通過L1與M1或者L2與M2到地GND之間總是存在著電流通路,因此,存儲(chǔ)單元總存在著靜態(tài)功耗。隨著SRAM容量的增加,其功耗也變得越來較大。二是存儲(chǔ)單元中節(jié)點(diǎn)高電平的保持完全靠一個(gè)與電源相連的高值電阻,這個(gè)高值的負(fù)載電阻是用多晶實(shí)現(xiàn)的。如果在該節(jié)點(diǎn)上受到意外的干擾或感應(yīng),使電荷丟失,電源來不及補(bǔ)充電荷,這時(shí)高電平不能保持,器件就會(huì)失效。

多晶電阻的阻值越高,或亞閾值電流越大,越難以及時(shí)補(bǔ)償漏電流,單元存儲(chǔ)的信號(hào)可能會(huì)丟失。三是基于4T的SRAM設(shè)計(jì)比較困難?;谏鲜鲈颍壳盎静徊捎?T的SRAM,而是采用6TSRAM。

(2)六管構(gòu)成的SRAM存儲(chǔ)單元。

目前大部分的SRAM生產(chǎn)廠家采用6個(gè)晶體管構(gòu)成的存儲(chǔ)單元,其存儲(chǔ)原理如圖8-6所示。圖8-66TSRAMCMOS電路圖8-7雙穩(wěn)態(tài)電路的工作原理雙穩(wěn)態(tài)電路的工作原理如圖8-7所示,實(shí)際上就是圖8-6中的M1、M2、M5、M64只管子,就是由兩個(gè)反相器(M1、M5和M2、M6構(gòu)成兩只反相器)組成的反饋環(huán)路。如果左邊的值a=1,那么跟蹤上面一個(gè)反相器的信號(hào)路徑表明

=0。如果通過下面一個(gè)反相器繼續(xù)跟蹤信號(hào)到左邊將得到a=1。這表明狀態(tài)a=1是穩(wěn)定的,這種穩(wěn)定狀態(tài)是可以通過電路本身維護(hù)的。分析可以同樣應(yīng)用于a=0的情況。當(dāng)沒有外界信號(hào)作用時(shí),雙穩(wěn)態(tài)電路可以長(zhǎng)久保持其所處的某種穩(wěn)定狀態(tài),所以也就稱之為靜態(tài)存儲(chǔ)器。由于6TSRAM的存儲(chǔ)單元采用CMOS結(jié)構(gòu),因此,解決了4TSRAM存儲(chǔ)單元的靜態(tài)功耗問題。另外,CMOS結(jié)構(gòu)提高了存儲(chǔ)的可靠性和抗干擾能力。下面我們將描述6TSRAM的工作過程。

2)SRAM的工作過程

SRAM的工作狀態(tài)包括寫入、讀出和數(shù)據(jù)保持三種。寫入狀態(tài)是指將數(shù)據(jù)線上的數(shù)據(jù)寫入到存儲(chǔ)位單元的存儲(chǔ)節(jié)點(diǎn)中;讀出狀態(tài)是指將存儲(chǔ)在存儲(chǔ)位單元內(nèi)部存儲(chǔ)節(jié)點(diǎn)上的數(shù)

據(jù)讀出到數(shù)據(jù)輸出口;數(shù)據(jù)保持狀態(tài)是指在讀寫狀態(tài)都不執(zhí)行時(shí),存儲(chǔ)在存儲(chǔ)節(jié)點(diǎn)上的數(shù)值保持原來狀態(tài)。

(1)數(shù)據(jù)寫入。

如圖8-6所示,假定位線B端為“1”時(shí),對(duì)存儲(chǔ)單元進(jìn)行寫“1”。當(dāng)寫入數(shù)據(jù)為“1”時(shí),位線B和-B分別加上高電平和低電平,字線WL加上高電平,晶體管M3、M4導(dǎo)通,這時(shí)無論存儲(chǔ)節(jié)點(diǎn)上位線a和b原來處于什么電平,位線將強(qiáng)制對(duì)a點(diǎn)電容充電,對(duì)b點(diǎn)電容放電,此時(shí)M2和M5導(dǎo)通而M1和M6截止,單元中存儲(chǔ)數(shù)據(jù)“1”。寫“0”時(shí)剛好相反,在位線B和-B上分別加低電平和高電平,門管打開,寫入數(shù)據(jù)“0”。通常SRAM存儲(chǔ)單元都做成陣列結(jié)構(gòu),多個(gè)存儲(chǔ)單元共用一根字線,在連續(xù)進(jìn)行寫入操作時(shí),如果時(shí)序上配合不當(dāng),就有可能用上次位線上的數(shù)據(jù)對(duì)同一根字線上其它單元中的數(shù)據(jù)改寫。另外,SRAM存儲(chǔ)單元的中MOS管合適的寬長(zhǎng)比值是保證存儲(chǔ)單元能夠高速進(jìn)行寫入數(shù)據(jù)操作的關(guān)鍵。

(2)數(shù)據(jù)讀出。

SRAM在進(jìn)行讀操作時(shí),首先要保證兩條位線B和-B都預(yù)充到相等的高電平,然后使得字線WL為高電平,兩個(gè)門管M3和M4都導(dǎo)通,此時(shí),相當(dāng)于把單元的存儲(chǔ)節(jié)點(diǎn)a和b

連接到位線B和-B上,如果單元存“1”,即M2和M5導(dǎo)通而M1和M6截止,位線-B通過導(dǎo)通的M2和門管M4放電,而位線B保持高電平,從而位線B和-B得到正向的電壓差。相反,如果單元存“0”,則位線通過單元中導(dǎo)通的M1和M3放電,而位線-B保持預(yù)充的高電平。這樣在兩根位線上得到一個(gè)反向的電壓差。由于單元管的尺寸很小,而位線通過單元管放電的速度很慢,為了提高讀出速度,只要在位線上建立起一定的電壓差就可以了,而不必等到一邊位線下降到低電平。通過列譯碼器控制的列開關(guān),把選中的單元位線讀出的微小信號(hào)差ΔV送到公共數(shù)據(jù)線,再通過公共數(shù)據(jù)線送到讀出敏感放大器,把微小的信號(hào)差放大為合格的高低電平,最后通過緩沖器轉(zhuǎn)換成單端信號(hào)輸出。

(3)保持?jǐn)?shù)據(jù)。

在寫入或者讀出操作后,字線WL降為低電平,晶體管M3和M4截止,將上述穩(wěn)態(tài)觸發(fā)器和位線隔斷,這樣,位線上的電平變化不再影響觸發(fā)器的狀態(tài)。存儲(chǔ)高電平的節(jié)點(diǎn)電容會(huì)有電荷泄漏,可通過PMOS負(fù)載單元進(jìn)行補(bǔ)充,因而,SRAM單元能夠長(zhǎng)久地保持?jǐn)?shù)據(jù)。

3)SRAM的分類

SRAM存在多種類型,但是其種類的區(qū)分在接口上,圖8-8給出了SRAM的一種分類。圖8-8SRAM的分類

(1)異步SRAM(AsynchronousSRAM)。

異步SRAM的運(yùn)行與輸入信號(hào)的狀態(tài)有關(guān),并不與特定的時(shí)鐘相關(guān)。圖8-9給出了一個(gè)異步SRAM的功能框圖,存儲(chǔ)訪問由三個(gè)信號(hào)控制:

①片選(CS):選擇是否使用該芯片,當(dāng)芯片沒有被選中,那么該芯片進(jìn)入等待(standby)狀態(tài),輸出在高阻狀態(tài)。②輸出使能(OE):控制輸出??刂戚敵鍪歉咦柽€是有效數(shù)據(jù)。

③寫使能(WE):允許讀或者寫周期。圖8-9一種異步SRAM結(jié)構(gòu)異步SRAM又分為低速和高速兩種。低速SRAM元件提供低電壓,價(jià)位較低,主要應(yīng)用在高密度硬盤驅(qū)動(dòng)(HDD)和工業(yè)控制上。高速SRAM元件的訪問時(shí)間在15~35ns之間,主要用于通信系統(tǒng)的局部存儲(chǔ)或者是計(jì)算機(jī)系統(tǒng)的Cache緩存。

(2)同步SRAM(SynchronousSRAM)。

同步的SRAM有與微處理器同步的讀、寫周期,具有更快的訪問速度。因此,同步SRAM可以應(yīng)用于個(gè)人計(jì)算機(jī)和工作站上。圖8-10是一種同步SRAM的電路結(jié)構(gòu),

圖中的Clock與微處理器的時(shí)鐘是一致的。圖8-10一種同步SRAM結(jié)構(gòu)①突發(fā)方式(BurstMode)。

為了快速地訪問SRAM中的內(nèi)容,同步SRAM可以在突發(fā)方式下工作。所謂的突發(fā)是指不需要修改地址,可以連續(xù)地對(duì)同步SRAM內(nèi)的一片地址進(jìn)行讀/寫。圖8-11給出了同步SRAM的讀/寫時(shí)序示意圖。在突發(fā)方式下,第一個(gè)數(shù)據(jù)的地址放在了地址總線上,而其它三個(gè)數(shù)據(jù)塊的地址則用內(nèi)置的計(jì)數(shù)器改變,這樣,數(shù)據(jù)訪問的速率就與微處理器的時(shí)鐘一致。而在非突發(fā)方式下,數(shù)據(jù)的訪問需要兩個(gè)周期。圖8-11同步SRAM的時(shí)序示意圖②流水線SRAM(PipelinedSRAM)。

流水線SRAM在存儲(chǔ)和輸出之間加了一級(jí)寄存器,如圖8-12所示。輸出通道中的寄存器可以使管線式SRAM比標(biāo)準(zhǔn)的SRAM有更高的時(shí)鐘頻率,但是會(huì)造成更大的延時(shí)。圖8-12流水線SRAM圖8-13說明了流水和標(biāo)準(zhǔn)同步SRAM的突發(fā)時(shí)序。在流水同步SRAM中,4字的突發(fā)讀周期需要5個(gè)時(shí)鐘,而標(biāo)準(zhǔn)的同步SRAM則需要4個(gè)周期。有研究表明,對(duì)于時(shí)鐘在66MHz的同步SRAM,管線式SRAM比單周期突發(fā)的性能好,然而,為了避免總線的競(jìng)爭(zhēng),從寫到讀的轉(zhuǎn)換過程,流水SRAM要求有一個(gè)周期的延時(shí)。圖8-13流水線式同步SRAM與標(biāo)準(zhǔn)同步SRAM

(3)特殊的SRAM。

① FIFO。

FIFO是FirstInFirstOut的縮寫,是先進(jìn)先出的意思,圖8-14給出了一種FIFO結(jié)構(gòu)示意圖。

FIFO中讀和寫的操作是獨(dú)立完成的,讀、寫的時(shí)鐘可以是相同的,也可以是不同的。如果時(shí)鐘相同則稱為同步FIFO,如果不同則稱為異步FIFO。寫數(shù)據(jù)通過寫入端順序?qū)懭隨RAM,通過讀出端可以將數(shù)據(jù)按照寫入順序讀出。在FIFO中采用了雙端口結(jié)構(gòu)的SRAM,其中讀地址計(jì)數(shù)器和寫地址計(jì)數(shù)器用于產(chǎn)生訪問RAM所需要的地址。標(biāo)志產(chǎn)生邏輯是用于判定FIFO的空滿邏輯。圖8-14一種FIFO結(jié)構(gòu)示意圖②多端口SRAM(MultiportSRAMs)。

多端口快速SRAM(通常是雙端口,有時(shí)候是四端口)的存儲(chǔ)單元采用快速SRAM存儲(chǔ)單元,但是使用了特殊的片上電路,它允許多端口同時(shí)訪問相同的數(shù)據(jù)。圖8-15所示是4個(gè)CPU共享一個(gè)存儲(chǔ)器。在存儲(chǔ)器中,每個(gè)SRAM存儲(chǔ)單元使用額外6只晶體管(即10個(gè)晶體管的存儲(chǔ)單元)以允許4個(gè)CPU訪問數(shù)據(jù)。圖8-15多端口SRAM

2.動(dòng)態(tài)存儲(chǔ)器DRAM

DRAM(DynamicRAM,動(dòng)態(tài)RAM)是利用電容電荷而不是反饋環(huán)路來存儲(chǔ)信息的,因此,DRAM的存儲(chǔ)單元面積比SRAM要小得多,且易于集成,但是所存儲(chǔ)的內(nèi)容會(huì)因?yàn)殡姾傻男孤┒鴣G失,必須對(duì)單元進(jìn)行周期性地讀取和刷新。隨著工藝進(jìn)步和需求的變換,DRAM與外部接口部分在不斷發(fā)生變化。最初的DRAM是異步的,后發(fā)展成同步的DRAM,現(xiàn)在同步DRAM成為主流的存儲(chǔ)器。同步DRAM的最大特點(diǎn)就是其讀/寫操作與系統(tǒng)時(shí)鐘同步,可以取消等待周期,減少了數(shù)據(jù)傳輸?shù)难舆t。而異步DRAM使用異步方式工作,在存取數(shù)據(jù)時(shí),系統(tǒng)必須等待若干時(shí)序才能寫入和讀出數(shù)據(jù)。

SDRAM出現(xiàn)了虛擬通道存儲(chǔ)器以及雙倍數(shù)據(jù)流DDRSDRAM(DoubleDataRateSDRAM),前者是為了進(jìn)行快速存取,而在SDRAM內(nèi)設(shè)置了部分緩沖存儲(chǔ)器,后者則是在同一時(shí)鐘的上升沿和下降沿同時(shí)可以獲得數(shù)據(jù)。DDRⅡDRAM也采用在時(shí)鐘的上升沿和下降沿同時(shí)進(jìn)行數(shù)據(jù)傳輸;但DDRⅡ內(nèi)存卻擁有兩倍于DDR內(nèi)存預(yù)讀取能力(即4bit數(shù)據(jù)預(yù)讀取)。換句話說,DDRⅡ內(nèi)存每個(gè)時(shí)鐘能夠以4倍外部總線的速度讀/寫數(shù)據(jù),并且能夠以4倍內(nèi)部控制總線的

速度運(yùn)行。DDRⅢ為8bit預(yù)取設(shè)計(jì),這樣DRAM內(nèi)核的頻率只有接口頻率的1/8。

1)DRAM的存儲(chǔ)單元

單管(1T)動(dòng)態(tài)RAM單元是由一個(gè)晶體管T和一個(gè)電容CS構(gòu)成的,如圖8-16所示,其中CD是寄生電容。如果CS上存在電荷,表示邏輯1;不存在電荷,表示邏輯0。與SRAM

相同,DRAM通過選擇字線將電容連接到位線上實(shí)現(xiàn)對(duì)單元的訪問。圖8-16單管DRAM存儲(chǔ)單元結(jié)構(gòu)當(dāng)進(jìn)行讀取操作時(shí),首先將位線預(yù)充電到UPRE,當(dāng)字線選通該單元時(shí),則CS與CD形成了并聯(lián)的關(guān)系。這樣,X點(diǎn)的電壓值發(fā)生變化,可以測(cè)得X上電壓的變化量,讀出放大電路根據(jù)電壓變化量的高低,判定數(shù)據(jù)線上的“1/0”。讀出操作改變了存儲(chǔ)單元的CS值,所以每次讀出操作完成后必須對(duì)單元重新寫入。假設(shè)UBIT是在CS上的初始電壓,UBL是在電荷重新分布后在位線上的電壓。電壓的變化量計(jì)算如下:

DRAM的電容CS在物理尺寸上必須盡可能地小,以實(shí)現(xiàn)高密度集成,但是位線是與許多DRAM單元相連接的,從而產(chǎn)生了相對(duì)較大的位線電容(寄生電容)CD,單元電容比位線電容要小得多(CSCD)。因此,電壓的擺幅非常小,一般是250mV,這么微弱的變化量需要用放大電路進(jìn)行放大。因此,每個(gè)位線都有一個(gè)放大電路對(duì)讀出的電壓進(jìn)行放大。

2)基本操作

動(dòng)態(tài)DRAM廣泛應(yīng)用于各類電子產(chǎn)品中,雖然它們的封裝和大小不同,但是,它們的操作是基本相同的。DRAM的基本操作是把存儲(chǔ)在DRAM中的數(shù)據(jù)讀出來,將數(shù)據(jù)寫入到

DRAM中,以及對(duì)DRAM中的數(shù)據(jù)進(jìn)行周期性的刷新。

為了使DRAM能正確地工作,需要提供與DRAM制造廠家規(guī)定的相匹配的信號(hào)時(shí)序,下面介紹一些控制DRAM的工作時(shí)序信號(hào)。

(1)存儲(chǔ)器讀操作。

圖8-17給出了一個(gè)簡(jiǎn)化的存儲(chǔ)器讀操作時(shí)序圖,一個(gè)存儲(chǔ)器讀操作的步驟可概括如下:

①在下降之前的規(guī)定時(shí)間內(nèi)(tASR)必須將行地址信號(hào)加到存儲(chǔ)器的地址輸入端,并在下降之后保持一定的時(shí)間(tRAH)。此外,必須從高電平降到低電平并維持在低電平(tRAS)。②在下降之前的規(guī)定時(shí)間內(nèi)(tASC)必須將列地址信號(hào)加到地址輸入端,并在下降之后保持一定的時(shí)間(tCAH)。

③為了進(jìn)行讀操作,在轉(zhuǎn)換到低電平之前的規(guī)定時(shí)間內(nèi)(tRCS),必須將設(shè)定為高電平,并在轉(zhuǎn)換到高電平之后的一定時(shí)間內(nèi)(tRCH)仍必須維持在高電平。

此外,必須從高電平轉(zhuǎn)換到低電平并維持在低電平(tCAS)。④在規(guī)定的時(shí)間窗口中降到低電平。的周期是可選擇的,如果需要,可以接低電平。

⑤數(shù)據(jù)在器件的數(shù)據(jù)輸出端出現(xiàn),這取決于、

和都下降到低電平的時(shí)刻和提供地址的時(shí)間(tAA)。

⑥在和回到無效狀態(tài)(分別為tRP和tCRP)后,就認(rèn)為完成了讀操作。圖8-17DRAM讀操作

(2)存儲(chǔ)器寫操作。

圖8-18給出了簡(jiǎn)化的存儲(chǔ)器寫操作的時(shí)序圖,一個(gè)存儲(chǔ)器寫步驟可以概括如下:

①在電平下降之前的規(guī)定時(shí)間內(nèi),行地址(信號(hào))必須加到存儲(chǔ)器的地址輸入端,并在低電平下維持一定時(shí)間。另外,必須從高電平降到低電平。

②在電平降低之后到電平降低之前的規(guī)定時(shí)間內(nèi),列地址(信號(hào))必須加到存儲(chǔ)器上的地址輸入端,并保持一定時(shí)間。③在進(jìn)行寫操作的一定時(shí)間內(nèi)(twp),必須設(shè)定為低電平。過渡定時(shí)(twcs,twch)由下降到低電平的時(shí)間來決定。

④在電平降低之前規(guī)定的時(shí)間內(nèi)(tDS)數(shù)據(jù)必須加到數(shù)據(jù)輸入端并維持一定時(shí)間(tDS)。另外,必須從高電平轉(zhuǎn)向低電平。

⑤在寫周期完成后,和必須回到它們的無效狀態(tài)。圖8-18寫周期

(3)DRAM刷新。

DRAM存儲(chǔ)器單元是電容器,它所包含的電荷可隨著時(shí)間泄漏掉,導(dǎo)致數(shù)據(jù)丟失。為了防止這一現(xiàn)象發(fā)生,必須對(duì)DRAM進(jìn)行刷新,即必須周期性地在各個(gè)存儲(chǔ)器單元上再存儲(chǔ)電荷。DRAM刷新頻率取決于制造工藝技術(shù)和存儲(chǔ)器單元本身的設(shè)計(jì)。讀或?qū)懭氪鎯?chǔ)單元的過程對(duì)選中的單元有刷新作用。然而,因?yàn)樵谝?guī)定的時(shí)間限制范圍內(nèi)不是所有的單元都被讀或都被寫入,所以在刷新間隔期,必須訪問陣列中的每一單元并再存儲(chǔ)電荷。刷新周期是指特定的時(shí)間周期,在這一周期中DRAM陣列中的所有行必須被激活和預(yù)充電(刷新);刷新間隔是各行刷新操作之間的時(shí)間周期,這里假設(shè)各行刷新操作的時(shí)間分配是均勻的。刷新率定義為刷新時(shí)間除以所需的周期數(shù)。

3)SDRAM

由于異步DRAM在性能上已經(jīng)接近極限,同步DRAM更能滿足高性能電子設(shè)備應(yīng)用要求。

如在個(gè)人計(jì)算機(jī)設(shè)備和嵌入式計(jì)算機(jī)中,同步DRAM(DDRSDRAM)已經(jīng)占據(jù)主導(dǎo)地位,因而大容量、更高速DDRⅡ型SDRAM和DDRⅢ型SDRAM發(fā)展將成為未來的主流產(chǎn)品。

SDRAM的信號(hào)沿用了DRAM中的很多信號(hào),但是SDRAM將內(nèi)部分為若干個(gè)存儲(chǔ)塊,這是SDRAM的一個(gè)很重要的特征。下面以MicronSDRAM存儲(chǔ)器MT48LC128M4A2為例,介紹SDRAM的基本操作。圖8-19為MicronSDRAM芯片管腳分配圖。該存儲(chǔ)器是一個(gè)CMOS512MbitSDRAM,采用3.3V供電,內(nèi)部可以配置成四組(quadbank)與接口時(shí)鐘同步的DRAM,所有的信號(hào)都在時(shí)鐘的上升沿采樣或者更新,內(nèi)

部采用流水線方式輸出。該芯片可以配置成128Mbit×4,64Mbit×8或者32Mbit×16的工作方式,圖8-20給出了64Mbit×8的工作模式下的內(nèi)部結(jié)構(gòu)。圖8-19MicronSDRAM芯片管腳分配圖圖8-20SDRAM64Mbit×8工作模式的內(nèi)部結(jié)構(gòu)

(1)輸入信號(hào)。

BA0~BA1:組輸入信號(hào),在ACTIVE、READ、WRITE和PRECHARGE命令下,決定四個(gè)組中的哪個(gè)組工作。

A0~A12:地址輸入信號(hào),在ACTIVE命令有效時(shí),用于行地址選擇。在READ/WRITE命令有效時(shí),不同的模式用不同的地址線選擇列地址:在128Mbit×4方式下,A0~A9,A11和A12用于選擇列單元地址;在64Mbit×8方式下,A0~A9,A11用于選擇列單元地址;在32Mbit×16方式

下,A0~A9用于選擇列單元地址,通過這些地址選擇各自組中的單元。

A10用于自動(dòng)預(yù)充電選擇,在PRECHARGE命令時(shí)采樣A10,如果其為高電平,則所有的組都進(jìn)行“預(yù)充電”;如果為低電平,則選擇某個(gè)組進(jìn)行預(yù)充電。

RAS#,CAS#:命令輸入信號(hào),這些信號(hào)和WE#片選信號(hào)一起定義SDRAM操作命令。

CLK:工作時(shí)鐘,頻率為100MHz或者133MHz。

CKE:工作時(shí)鐘使能信號(hào),為高電平時(shí),允許時(shí)鐘工作;為低電平時(shí),禁止時(shí)鐘工作。

DQ0~DQ7:輸出數(shù)據(jù)。

DQM:輸入/輸出屏蔽(mask)信號(hào),DQM對(duì)寫操作而言是輸入屏蔽信號(hào),而對(duì)讀而言是輸出使能信號(hào)。當(dāng)DQM=HIGH時(shí),在寫周期,輸入信號(hào)被屏蔽;在讀周期,輸出是高阻狀態(tài)。

VSS,VSSQ:接地信號(hào)。

VDD,VDDQ:電源信號(hào)。

(2)SDRAM命令及其相關(guān)操作。

表8-1給出了MT48LC128M4A2的操作命令,這些命令是由CS#、RAS#、CAS#、WE#組合而成的。

表8-1SDRAM命令一覽表對(duì)表8-1中的命令解釋如下:

COMMANDINHIBIT:禁止SDRAM執(zhí)行新的命令,而已經(jīng)執(zhí)行的SDRAM命令不受影響。

在該命令下,CLKE信號(hào)的高低電平無關(guān)。

NOOPERATION(NOP):該命令向已經(jīng)被選擇(CAS#為低電平)的SDRAM發(fā)出一條空命令,在等待狀態(tài)和空狀態(tài)下,禁止不需要命令的執(zhí)行,而已經(jīng)執(zhí)行的SDRAM命令不受影響。

LOADMODEREGISTER:裝入模式寄存器命令,該命令把輸入地址的值裝入到模式寄存器,A12應(yīng)該驅(qū)動(dòng)到低,模式寄存器的詳細(xì)介紹見后。只有當(dāng)所有的組都空閑的時(shí)候才可以發(fā)送這個(gè)命令,該命令發(fā)出后,需要等待tMRD時(shí)間,然后才能發(fā)出后續(xù)的命令。

ACTIVE命令:選擇組和有效的行地址。使用該命令使后續(xù)內(nèi)存訪問操作的特定組中某個(gè)行有效。BA0,BA1選擇輸入組,而A0~A12選擇行。這個(gè)行選擇將一直保持有效(open),直到向所選擇的組發(fā)出一個(gè)PRECHARGE命令。在有效同一組中的不同行時(shí),必須發(fā)出PRECHARGE命令。

READ命令:選擇組和列地址,開始READ的突發(fā)操作。該命令用于初始化有效行的讀突發(fā)操作。BA0,BA1選擇輸入組,在×8模式下,用A0~A9,A11選擇開始的列地址,由A10決定是否進(jìn)行自動(dòng)預(yù)充電。如果A10為高,則在讀突發(fā)結(jié)束的時(shí)候,自動(dòng)進(jìn)行預(yù)充電;如果A10為低,那么對(duì)后續(xù)的訪問,行地址保持有效。根據(jù)兩個(gè)周期前DQM信號(hào)的高低,決定出現(xiàn)在DQs上的數(shù)據(jù)是否可以提供有效的讀出數(shù)據(jù)。如果DQM=1,那么兩個(gè)周期后DQ輸出為高阻。如果DQM=0,那么DQ上的數(shù)據(jù)為有效數(shù)據(jù)。

WRITE命令:選擇組和列地址,開始WRITE的突發(fā)操作。該命令用于初始化有效行的寫突發(fā)操作。BA0,BA1選擇輸入組,在x8模式下,用A0~A9,A11選擇開始的列地址,由A10決定是否進(jìn)行自動(dòng)預(yù)充電。如果A10為高,則在讀突發(fā)結(jié)束的時(shí)候,自動(dòng)進(jìn)行預(yù)充電;如果A10為低,那么對(duì)后續(xù)的訪問,行地址保持有效。根據(jù)DQM信號(hào)的高低,決定DQs上的數(shù)據(jù)是否被寫入到Memory中。如果DQM=1,那么DQs上的數(shù)據(jù)被忽略,不執(zhí)行寫命令。如果DQM=0,那么DQ上的數(shù)據(jù)寫入到存儲(chǔ)器對(duì)應(yīng)的單元中。

BURSTTERMINATION:突發(fā)終止命令。該命令用于截?cái)喙潭ㄩL(zhǎng)度或者全頁(yè)的突發(fā)操作。在BURSTTERMINATION前的WRITE或READ命令將被截?cái)唷T撁畈⒉贿M(jìn)行預(yù)充電,在發(fā)出PRECHARGE命令前,行地址保持有效。

PRECHARGE:使一個(gè)已打開的組或者所有組中的某一行無效,對(duì)其進(jìn)行預(yù)充電。該命令用于使一個(gè)特定組的某個(gè)行或者所有組中的有效行無效。在PRECHARGE命令發(fā)出后,這個(gè)組對(duì)后續(xù)的行訪問在一個(gè)特定的時(shí)間tRP內(nèi)有效。輸入信號(hào)A10決定是一個(gè)還是所有的組都無效,A10為低電平時(shí),輸入BA0,BA1用于選擇組;A10為高電平時(shí),BA0,BA1被當(dāng)成“無關(guān)”,對(duì)所有的組進(jìn)行預(yù)充電。當(dāng)一個(gè)組被預(yù)充電后,那么這個(gè)組在空閑狀態(tài),在任何READ或者WRITE命令訪問該組之前,必須激活這個(gè)組。

AUTOPRECHARGE:自動(dòng)預(yù)充電命令,該命令對(duì)選擇的組或者所有組執(zhí)行PRECHARGE操作。用戶并不需要顯式地發(fā)出該命令,而是通過管腳A10和特定的WRITE或者READ命令一起設(shè)置SDRAM是否自動(dòng)預(yù)充電。一旦READ或者WRITE命令結(jié)束,那么READ或WRITE命令所訪問的行或者組將自動(dòng)完成PRECHARGE操作,需要注意的是,AUTOREFRESH并不支持全頁(yè)模擬工作模式。AUTOPRECHARGE命令可以在每個(gè)READ或者WRITE命令中設(shè)置。

AUTOPRECHARGE命令保證在一個(gè)突發(fā)的最早階段初始化預(yù)充電,在預(yù)充電結(jié)束之前(需要tRP時(shí)間),用戶不必向同一組發(fā)出命令。

AUTOREFRESH:在AUTOREFREASH命令發(fā)出前,所有的有效組(即用ACTIVE命令打開的組)都必須是PRECHARGE命令有效。在PRECHARGE命令完成后,等待最短的tRP時(shí)間后,才能發(fā)出AUTOREFREASH命令。由內(nèi)部刷新控制器自動(dòng)產(chǎn)生刷新地址,這個(gè)時(shí)候,所有地址都是無效的。512MbitSDRAM要求每64ms(tREF)有8192個(gè)自動(dòng)刷新周期,而不管寬度選擇。每7.8125μs執(zhí)行一次自動(dòng)刷新命令滿足刷新要求,保證每行被刷新?;蛘撸?4ms以突發(fā)方式,連續(xù)發(fā)出8192個(gè)刷新命令進(jìn)行刷新,這種方式下,刷新命令的最小間隔為tRC。在AUTOREFRESH期間,CLKE保持高。

SELFREFRESH:自刷新命令,該命令用于保持SDRAM中的數(shù)據(jù),即便系統(tǒng)的其它部分已經(jīng)不工作了。當(dāng)在SELFREFRESH命令時(shí),SDRAM在沒有外部時(shí)鐘的情況下,可以保持SDRAM中的數(shù)據(jù)。該命令與AUTOREFRESH命令的區(qū)別是在SELFREFRESH時(shí),CKE保持低。在SELFREFRESH命令后,除了CKE信號(hào)外,所有的對(duì)SDRAM的輸入都是無關(guān)的。在進(jìn)入SELFREFRESH模式后,SDRAM用它內(nèi)部的時(shí)鐘來完成其自動(dòng)刷新周期。SDRAM在SELFREFRESH模式下,必須至少要保持tRAS這么短的時(shí)間,也可以保持無限長(zhǎng)的時(shí)間。退出自刷新狀態(tài)需要一系列的命令,首先,CLK必須在CKE變高前保持穩(wěn)定,一旦CKE變高,SDRAM必須發(fā)出NOP命令(最小兩個(gè)時(shí)鐘周期),同時(shí)必須每7.81μs發(fā)出一條自動(dòng)刷新命令。

Writeenable/outputenable:寫使能或者輸出使能。

Writeinhibit/outputHighZ:寫禁止,輸出高阻態(tài)。

3.模式寄存器

在SDRAM芯片中,有一個(gè)模式寄存器,該寄存器用于定義SDRAM工作的特定模式。可定義的參數(shù)包括:突發(fā)長(zhǎng)度BL(BurstLength)選擇,突發(fā)類型,CAS延時(shí)CL(CASLatency),工作模式和寫突發(fā)模式等。通過LOADMODEREGISTER命令可以對(duì)模式寄存器進(jìn)行編程,編程后的寄存器值保持不變,直到它被重新編程,或者設(shè)備掉電,模式寄存器各個(gè)寄存器的分配見圖8-21。比特M0~M2說明BL類型,M3說明突發(fā)類型(順序的或者是交織的),M4~M6說明CL的值,M7、M8說明工作模式,M9說明突發(fā)模式,M10和M11預(yù)留。地址A12沒有定義但是在裝載模式寄存器時(shí),應(yīng)該被驅(qū)動(dòng)成低電平。當(dāng)SDRAM的所有組均空閑時(shí),才允許裝入模式寄存器,控制器在初始化后續(xù)操作之前,必須等待規(guī)定的時(shí)間。圖8-21模式寄存器各位的含義

①突發(fā)長(zhǎng)度(BurstLength):

對(duì)SDRAM的讀寫訪問是面向突發(fā)的,突發(fā)長(zhǎng)度BL是可編程的。突發(fā)長(zhǎng)度定義了一個(gè)READ或者WRITE命令訪問SDRAM時(shí)定義的最大的列單元數(shù)目。無論對(duì)SDRAM的訪

問類型是交織的還是順序的,該芯片中有四種突發(fā)長(zhǎng)度可用,它們分別是1、2、4和8。全頁(yè)突發(fā)與BurstTerminate命令一起使用以產(chǎn)生任意長(zhǎng)度的突發(fā),注意不能使用沒有規(guī)定的狀態(tài)。當(dāng)發(fā)出READ或者WRITE命令時(shí),可以選擇BL長(zhǎng)度定義的若干列組成的塊。當(dāng)?shù)竭_(dá)這個(gè)塊的邊界時(shí),自動(dòng)回到這列所設(shè)定的位置。在不同的模式和配置方式下,由不同的地址線選擇確定塊地址,最低地址位用于選擇塊內(nèi)的起始地址,全頁(yè)突發(fā)模式下,如果達(dá)到一頁(yè)的邊界時(shí),將回到頁(yè)的起始地址。不同模式和配置方式下列的起始位置見表8-2。表8-2在不同的模式和配置方式下列的起始位置一次給定的突發(fā)訪問可以按照交織或者順序的方式進(jìn)行,由模式寄存器的第三位決定。

一次突發(fā)的訪問次序由突發(fā)長(zhǎng)度決定,突發(fā)的類型和開始列地址由表8-3決定。表8-3突發(fā)長(zhǎng)度、起始地址和類型設(shè)置

②CAS延時(shí)(CASLatency)。

CL定義了READ命令和第一次輸出數(shù)據(jù)可用之間的延時(shí),該延時(shí)以時(shí)鐘為單位。延時(shí)被設(shè)置成兩個(gè)時(shí)鐘周期或者三個(gè)時(shí)鐘周期,如圖8-22所示。如果在時(shí)鐘沿n發(fā)出一條讀命令,而CL延時(shí)是m個(gè)時(shí)鐘,那么數(shù)據(jù)將在第n+m個(gè)時(shí)鐘沿可用。

DQ將在第n+m-1個(gè)周期驅(qū)動(dòng)到數(shù)據(jù)線,如果相關(guān)的訪問時(shí)間都滿足,那么數(shù)據(jù)將在n+m個(gè)時(shí)鐘沿有效。例如,假設(shè)

一個(gè)時(shí)鐘周期時(shí)間所有的相關(guān)的訪問時(shí)間都滿足,READ命令在T0時(shí)間被鎖定,CL被編程為3個(gè)時(shí)鐘周期,DQs在T2后開始驅(qū)動(dòng),數(shù)據(jù)在T3有效。圖8-22CAS延時(shí)與READ命令之間的時(shí)序關(guān)系

③工作模式(OperationsMode)。

正常的工作模式是通過將M7和M8設(shè)置為0選擇的,M7和M8用于未來的工作模式或者測(cè)試模式,不應(yīng)該使用這些預(yù)留或者測(cè)試的模式,以免導(dǎo)致未知的操作或者不兼容的工作方式。

編程的突發(fā)長(zhǎng)度可以用于READ和WRITE突發(fā)。

④寫突發(fā)方式(WriteBurst)。

當(dāng)M9=0時(shí),BL通過M0~M2編程,可以用于READ和WRITE突發(fā)操作。當(dāng)M9=1時(shí),編程的突發(fā)長(zhǎng)度只用于READ突發(fā)操作,而WRITE訪問是非突發(fā)的,即按單元訪問的。

4.初始化

SDRAM在上電后,必須按照預(yù)先定義的方式進(jìn)行初始化,否則SDRAM芯片不能正常工作。

推薦的SDRAM初始化序列是:

(1)將電源同時(shí)加載到SDRAM芯片的VDD和VDDQ上;

(2)將CKE驅(qū)動(dòng)到低LVTTL低電平并保持;

(3)提供穩(wěn)定的時(shí)鐘信號(hào),穩(wěn)定的時(shí)鐘信號(hào)被定義成滿足時(shí)鐘管腳所規(guī)定的時(shí)序要求的周期信號(hào)。

(4)除了發(fā)出COMMANDINHIBIT命令或者NOP命令,至少等待100μs。

(5)在100μs周期內(nèi),在某個(gè)點(diǎn)開始,將CLKE設(shè)置為高,并繼續(xù)保持高至少到這100μs結(jié)束(一般保持在高電平)。至少發(fā)出一個(gè)或者多個(gè)COMMANDINHIBIT或者NOP命

令。

(6)執(zhí)行PRECHARGEALL命令。

(7)至少等待tRP規(guī)定的時(shí)間,在這個(gè)時(shí)間內(nèi),必須發(fā)出NOP或者DESELECT命令。所有組將完成它們的預(yù)充電,這樣SDRAM芯片中所有組的元件都處于空閑狀態(tài)。

(8)發(fā)出自動(dòng)刷新命令(AUTOREFRESH)命令。

(9)至少等待tRFC時(shí)間,在這個(gè)期間,只允許發(fā)出NOPs或者COMMANDINHIBIT命令。

(10)發(fā)出自動(dòng)充電命令。

(11)至少等待tRFC時(shí)間,只允許發(fā)出NOPs或者COMMANDINHIBIT命令。

(12)SDRAM準(zhǔn)備好模式寄存器編程。因?yàn)槟J郊拇嫫髟诩与姷臅r(shí)候是未知的,所以它應(yīng)該在其它操作命令之前執(zhí)行。使用LMR(LoadModeRegister)命令編程模式寄存器。通

過MODEREGISTERSET命令,且將BA1和BA0設(shè)置成0。模式寄存器保持該值,直到下一次對(duì)該寄存器重新編程或者芯片掉電。

注意:沒有在初始化期間編程導(dǎo)致SDRAM使用默認(rèn)的設(shè)置,這個(gè)設(shè)置可能不是用戶所需要的。在LMR命令發(fā)出之前,輸出應(yīng)該是高阻,在LMR命令發(fā)出后,輸出應(yīng)該保證在高阻狀態(tài)。

(13)至少等待tMRD時(shí)間,在這個(gè)時(shí)間只允許發(fā)出NOP或者DESELECT命令。

5.操作

下面介紹一些SDRAM典型操作的時(shí)序圖。下面僅根據(jù)x8模式介紹SDRAM的操作。

1) Active操作

在SDRAMREAD和WRITE之前,必須根據(jù)BA0,BA1和地址線A0~A9,A11,通過ACTIVE命令打開一個(gè)組和組中的一行。在打開一行后,在大于規(guī)定的時(shí)間tRCD后就可以向該行發(fā)出READ或者WRITE命令,如圖8-23所示。在ACTIVE命令之后,能發(fā)出WRITE和READ命令的最早時(shí)鐘沿由tRCD除以時(shí)鐘周期,并四舍五入到下一個(gè)整數(shù)值來確定。例如,假設(shè)SDRAM的工作頻率是125MHz(8ns),tRCD=20ns,則在ACTIVE命令后的3個(gè)時(shí)鐘周期(20/8=2.5,

四舍五入為3)可以發(fā)出WRITE或者READ命令。后續(xù)發(fā)給同一個(gè)組但是不同行的ACTIVE命令,只需要在前一個(gè)行被關(guān)閉(precharged)后就可以發(fā)出了。向同一組中發(fā)出連續(xù)CTIVE

命令的最小間隔由tRCD決定。圖8-23ACTIVE命令和WRITE/READ命令之間的時(shí)序關(guān)系

2)讀操作

READ突發(fā)操作通過READ命令進(jìn)行初始化。在發(fā)出READ命令同時(shí),突發(fā)操作起始列和組地址應(yīng)該準(zhǔn)備好,根據(jù)A10,在突發(fā)操作后,SDRAM可以自動(dòng)執(zhí)行自動(dòng)預(yù)充電命令。圖8-24給出了一個(gè)自動(dòng)預(yù)充電禁止的時(shí)序。READ命令的突發(fā)操作后,從起始列開始的有效數(shù)據(jù)在CL周期后可以使用,在下一個(gè)時(shí)鐘正沿后,可以使用后續(xù)輸出的數(shù)據(jù)。當(dāng)?shù)谝粋€(gè)組被訪問后,可以向另外一個(gè)組發(fā)出ACTIVE命令,這個(gè)操作可以減少全部行訪問開銷,向不同組發(fā)出的連續(xù)兩個(gè)ACTIVE命令之間的間隔為tRRD。

一旦完成了突發(fā)操作,假設(shè)沒有其它初始化命令,DQ將變成高阻狀態(tài)。一個(gè)全頁(yè)模式突發(fā)靠突發(fā)終止(BurstTermination)命令來實(shí)現(xiàn)。從任何一個(gè)READ命令讀出的數(shù)據(jù)可以被后續(xù)的READ命令截?cái)啵潭ㄩL(zhǎng)度的讀突發(fā)獲得的數(shù)據(jù)可以立即跟著另外一個(gè)READ命令讀出的數(shù)據(jù)。無論在哪一種情況下,可以保持一個(gè)連續(xù)的數(shù)據(jù)流。由一個(gè)新突發(fā)操作產(chǎn)生的第一個(gè)數(shù)據(jù),它要么跟著前一個(gè)已經(jīng)完成的突發(fā)操作的最后一個(gè)數(shù)據(jù),要么跟著一個(gè)被截?cái)嗟拈L(zhǎng)突發(fā)所要求的最后一個(gè)數(shù)據(jù)。在前一次突發(fā)的最后一個(gè)數(shù)據(jù)有效前的x周期,應(yīng)該發(fā)出一個(gè)READ命令,這里x=CL-1,如圖8-25所示。圖8-24讀命令時(shí)序圖8-25連續(xù)的READ突發(fā)操作任何一個(gè)READ突發(fā)讀出的數(shù)據(jù)不但可以被后續(xù)的WRITE命令截?cái)啵夜潭ㄩL(zhǎng)度的READ突發(fā)讀出的數(shù)據(jù)可以立即跟著另一個(gè)WRITE命令寫入的數(shù)據(jù)。此外,一個(gè)固定長(zhǎng)度的READ突發(fā)在同一組內(nèi)可以跟隨預(yù)充電命令產(chǎn)生,或者被預(yù)充電命令截?cái)唷O抻谄P(guān)系,不再介紹這部分內(nèi)容,有興趣的讀者可以參看相關(guān)參考文獻(xiàn)。

3)寫操作

WRITE突發(fā)操作通過寫命令來初始化,如圖8-26所示。在發(fā)出WRITE命令的同時(shí),突發(fā)操作起始列地址和組地址應(yīng)該準(zhǔn)備好,同時(shí)設(shè)置是否進(jìn)行自動(dòng)預(yù)充電(AUTOPRECHARGE)。如果自動(dòng)預(yù)充電被使能,在突發(fā)操作完成之后,被訪問的行自動(dòng)執(zhí)行預(yù)充電。圖8-26寫操作當(dāng)執(zhí)行WRITE突發(fā)操作時(shí),第一個(gè)有效的輸入數(shù)據(jù)與寫命令同時(shí)有效。隨后的輸入數(shù)據(jù)在每一個(gè)后續(xù)的時(shí)鐘上升沿有效。在沒有其它命令的情況下,一旦完成固定長(zhǎng)度的突發(fā)操作,DQ的值一直保持高阻,并忽略其它的輸入數(shù)據(jù)。一個(gè)整頁(yè)的寫突發(fā)操作通過終止命令結(jié)束,如果沒有終止命令,那么地址回到起始的行和列,持續(xù)進(jìn)行這些操作。

任何一個(gè)寫突發(fā)的寫入數(shù)據(jù)可以被后續(xù)的寫命令截?cái)?,固定長(zhǎng)度的寫突發(fā)寫入的數(shù)據(jù)可以立即跟著另外一個(gè)寫命令的數(shù)據(jù)。一個(gè)新的寫命令可以在前一個(gè)寫命令之后的任何一個(gè)時(shí)鐘周期發(fā)出,同時(shí)DQ上應(yīng)該提供相應(yīng)的寫入數(shù)據(jù),如圖8-27所示。

圖8-27寫命令與寫到讀命令

WRITE突發(fā)操作的數(shù)據(jù)也可以被READ命令截?cái)?。固定長(zhǎng)度寫突發(fā)的數(shù)據(jù)后可以立即跟著一個(gè)READ命令。當(dāng)READ命令有效之后,就不再執(zhí)行WRITE命令,如圖8-27所示。除此之外,在同一組內(nèi),固定長(zhǎng)度的WRITE突發(fā)寫入的數(shù)據(jù)可以跟著預(yù)充電命令,或者被其截?cái)?;在同一組內(nèi),一個(gè)全頁(yè)的WRITE突發(fā)也可以被預(yù)充電命令截?cái)?。更詳?xì)的命令解釋和命令請(qǐng)閱讀相關(guān)參考文獻(xiàn)。非易失存儲(chǔ)器中存儲(chǔ)信息在掉電后仍然存在,這類存儲(chǔ)器應(yīng)用非常廣泛,本小節(jié)介紹非易失存儲(chǔ)器的基本原理。

8.3非易失存儲(chǔ)器

1.一次性可編程只讀存儲(chǔ)器PROM(ProgrammableReadOnlyMemory)

ROM數(shù)據(jù)的存儲(chǔ)是靠生產(chǎn)廠家特定的掩膜將數(shù)據(jù)寫入存儲(chǔ)器,如果用戶需修改已存儲(chǔ)的數(shù)據(jù),則需要由生產(chǎn)廠家重新生產(chǎn)一套新的掩膜,經(jīng)過加工測(cè)試然后再交回用戶,這個(gè)周期比較長(zhǎng),對(duì)用戶來講,非常不方便。PROM的出現(xiàn)解決了這個(gè)問題,PROM允許通過專用的編程器,將數(shù)據(jù)“燒錄”到存儲(chǔ)器中,這個(gè)過程叫做“編程”,燒錄后的數(shù)據(jù)同樣能維持?jǐn)嚯姾蟛粊G失。一次性PROM單元是由熔絲和二極管或三極管構(gòu)成的,圖8-28給出了PROM的存儲(chǔ)單元,圖8-29給出PROM存儲(chǔ)陣列示意圖。當(dāng)大電流通過熔絲時(shí),熔絲斷開,從而切斷原來的連接。PROM產(chǎn)品在出廠時(shí),所有存儲(chǔ)元均被加工成同一狀態(tài)“0”(或“1”)。用戶對(duì)PROM編程是逐字逐位進(jìn)行的,根據(jù)需要寫入的信息,按字線和位線選擇某個(gè)存儲(chǔ)元三極管,通過脈沖電流,將該三極管的熔絲熔斷,使該存儲(chǔ)元的狀態(tài)被改變成與原狀態(tài)相反的狀態(tài)。熔絲一旦熔斷,便不可再恢復(fù),因此,編程是一次性的。PROM的這種特性影響了它的使用,目前這種器件很少使用。圖8-28PROM存儲(chǔ)單元圖8-29PROM存儲(chǔ)陣列

2.EPROM

Intel公司在1971年首次開發(fā)了可擦除可編程的只讀存儲(chǔ)器EPROM(ErasablePROM),這種器件克服了PROM的缺點(diǎn),允許用戶利用編碼器對(duì)器件反復(fù)編程、擦除,因此得到廣泛的應(yīng)用。

這種器件是通過施加高壓信號(hào)進(jìn)行編程,將器件置于紫外線,就可以擦除其內(nèi)容。

EPROM型的晶體管與標(biāo)準(zhǔn)的MOS管具有相同的結(jié)構(gòu),但是與MOS不同的是,它增加了另外一個(gè)被稱為浮柵的多晶硅,有時(shí)把這個(gè)晶體管稱為FAMOS管。FAMOS管的柵極全部被二氧化硅絕緣層包著,沒有引出線,如懸浮狀,所以稱作“浮柵”。圖8-30給出了這兩種晶體管的結(jié)構(gòu)。

圖8-30標(biāo)準(zhǔn)的晶體管和EPROM晶體管浮柵晶體管的一個(gè)特征就是它的閾值可以編程。在源和柵-漏終端之間施加一個(gè)相對(duì)高的電壓(10V以上,這個(gè)電壓稱為編程電壓。編程電壓不同,最后浮柵管的閾值電壓不同),該電壓可以產(chǎn)生一個(gè)高電場(chǎng),使漏極與襯底之間的PN結(jié)擊穿,雪崩擊穿產(chǎn)生的高能電子穿過氧化物堆積在浮置柵上,如圖8-31(a)所示,使浮柵管導(dǎo)通。在未編程的狀態(tài),浮柵門沒有充電,因此,不影響柵門的正常操作。

圖8-31浮柵晶體管在浮柵上被捕獲的電子有效地降低了柵上的電壓,浮柵上積累的負(fù)電荷降低了氧化層中的電場(chǎng),所以最終它變得不能加速熱電子。移去電壓后已引起的負(fù)電荷仍留在原來的位

置上(如圖8-31(c)所示),從而使中間的浮柵產(chǎn)生一個(gè)負(fù)電壓。從器件的角度看,相當(dāng)于增加了閾值電壓。因?yàn)闉榱耸蛊骷?dǎo)通,必須有一個(gè)更高的電壓來克服所引起的這一負(fù)電壓的影響,由此得到浮柵管的閾值電壓升高。對(duì)應(yīng)FAMOS管的截止或?qū)?,可使位線上輸出的電平為高或低,以表示該存儲(chǔ)元存放的信息是“1”或“0”。由于浮柵被絕緣的二氧化硅包著,編程時(shí)堆積的電子沒有放電回路,故電荷不會(huì)消失,信息能夠長(zhǎng)期保存。如果用紫外線照射FAMOS管,則浮柵上積累的電子由于吸收了足夠的能量形成光電流而泄放,從而導(dǎo)致導(dǎo)電溝道消失,管子又恢復(fù)截止?fàn)顟B(tài)。為了使編程后能進(jìn)行擦除和重寫,在芯片的封裝外殼裝有透明的石英窗口。對(duì)編程好的EPROM要用不透光的膠紙將受光窗口封住,以免信息丟失。EPROM的優(yōu)點(diǎn)是其內(nèi)容可以擦除后重新寫入數(shù)據(jù),但其缺點(diǎn)是其重新改寫時(shí)需將其拆下來在專門的編程器中進(jìn)行改寫。

3.E2PROM存儲(chǔ)器

EPROM雖然具有可反復(fù)編程的優(yōu)點(diǎn),但EPROM只能整體擦除,不能逐個(gè)存儲(chǔ)單元獨(dú)立地擦除,擦除操作也比較麻煩。而電可擦除可編程只讀存儲(chǔ)器E2PROM(ElectronicallyErasableProgrammableReadOnlyMemory)克服了EPROM的這一不足。

E2PROM的結(jié)構(gòu)與EPROM相似,E2PROM的內(nèi)部電路與EPROM電路類似,但對(duì)其FAMOS中的結(jié)構(gòu)進(jìn)行了一些調(diào)整,隔離浮柵與溝道和漏極的那一小部分絕緣介質(zhì)的厚度減少到大約10nm左右或者更薄,當(dāng)約10V的電壓加到這個(gè)薄絕緣層的時(shí)候,電子利用隧道穿越機(jī)理進(jìn)入或者穿出浮柵,這種存儲(chǔ)管子叫浮柵隧道氧化FLOTOX管(FloatingGateTunnelingOxide)。這個(gè)方法的主要優(yōu)點(diǎn)是可逆,即把寫入過程所加的電壓反過來就可以實(shí)現(xiàn)擦除了,這種管子結(jié)構(gòu)如圖8-32所示。但是,這種雙向控制帶來的一個(gè)問題是,從浮柵上移去過多的電荷會(huì)形成耗盡層器件,不能用標(biāo)準(zhǔn)的電壓關(guān)斷浮柵管。因此,在浮柵管上又增加了一個(gè)額外的二極管與浮柵管串聯(lián),這個(gè)晶體管作為讀操作期間的讀取器件,而FLOTOX管則執(zhí)行存儲(chǔ)功能。這個(gè)不同于EPROM中FAMOS管既是編程器件又是讀取器件。因此,和EPROM相比,E2PROM的面積比EPROM大2.5倍。圖8-32E2PROM的元件

E2PROM不需要紫外光激發(fā)放電,擦除和編程只需加電就可以完成了,且寫入的電流很小。這種器件不僅工作電流小、擦除速度快,而且允許改寫的次數(shù)大大高于EPROM,

一般允許改寫100~1000次。

4.FlashEEPROM

Flash存儲(chǔ)器(有時(shí)也稱為FlashRAM)是一種常用的非易失性存儲(chǔ)器,它是EEPROM的一種變形,但與EEPROM不同的是,這種器件的擦除和編程是以塊為單位的,而EEPROM是以字節(jié)為單位的,所以FlashEEPROM的更新速度比EEPROM快。Flash得到了廣泛的應(yīng)用,如我們最常見的U盤、便攜式播放器等都包含有Flash存儲(chǔ)器。

Flash存儲(chǔ)器的目標(biāo)是代替EPROM,克服EPROM紫外線擦除的方式,可以在系統(tǒng)中擦除EPROM的內(nèi)容。Flash的存儲(chǔ)單元綜合了EPROM和EEPROM的優(yōu)點(diǎn),它既可以編程,也可以進(jìn)行電可擦除,且每個(gè)存儲(chǔ)單元只有一個(gè)晶體管。大多數(shù)FlashEEPROM器件采用雪崩熱電子注入的方法實(shí)現(xiàn)編程,擦除則是和EEPROM一樣,采用FowlerNordheim隧穿完成的。

兩者主要的差別是FlashEEPROM是對(duì)整個(gè)芯片或者存儲(chǔ)器的一片區(qū)域進(jìn)行擦除,而EEPROM擦除的是一個(gè)單元。圖8-33給出了FlashMemory存儲(chǔ)單元的一種結(jié)構(gòu),它是Intel公司1988年設(shè)計(jì)的ETOXFlash單元結(jié)構(gòu)(EPROMTunnelOxide)。它的結(jié)構(gòu)與FAMOS類似,但是采用了一個(gè)薄的隧道氧化層(10nm)。圖8-33FlashEEPROM存儲(chǔ)單元結(jié)構(gòu)最早的Flash基于NOR技術(shù),如圖8-34所示。編程的過程從擦除開始。

下面簡(jiǎn)單介紹NORFlash的工作原理,如圖8-34所示。

圖(a)為擦除操作:在柵上加0V電壓,源端加12V電壓。浮柵上的電子注射到源端,這樣所有單元就被擦除了,接著讀這些陣列檢查這些單元是否已經(jīng)被擦除了。如果尚未擦除,則繼續(xù)進(jìn)行擦除。圖8-34NORFlash的工作原理圖(b)為寫操作:把一個(gè)高壓脈沖加到所選器件的柵極,如果這個(gè)時(shí)候在漏端加上“1”,就會(huì)產(chǎn)生熱電子并且注入到浮柵,使其閾值增加上升(相當(dāng)該器件關(guān)閉)。如果不加“1”,則浮柵保持在原來的沒有電子的狀態(tài),即相當(dāng)于0狀態(tài)。

圖中(c)為讀操作:為選擇一個(gè)單元,將字線上升到5V,使位線有條件放電。

NOR結(jié)構(gòu)讀取速度很快,在擦除和編程操作較少而直接執(zhí)行代碼的應(yīng)用場(chǎng)合,尤其是純代碼存儲(chǔ)的應(yīng)用中廣泛使用,如PC的BIOS固件、移動(dòng)電話、硬盤驅(qū)動(dòng)器的控制存儲(chǔ)器等。但是NOR結(jié)構(gòu)需要精確控制管子的閾值電壓,擦除和寫的速度慢,因此,基于NOR技術(shù)的Flash存儲(chǔ)器并不適應(yīng)在純數(shù)據(jù)存儲(chǔ)和文件存儲(chǔ)的應(yīng)用中。為了克服這些缺點(diǎn),研究

人員設(shè)計(jì)了基于NAND技術(shù)的閃速存儲(chǔ)器,這種FLASH存儲(chǔ)器具有快速編程,擦除和串行讀取的特點(diǎn),極大推動(dòng)了Flash存儲(chǔ)器市場(chǎng)的發(fā)展?,F(xiàn)在大多數(shù)FLASH卡都是基于NAND技術(shù)的,容量已達(dá)到GB級(jí)。單片存儲(chǔ)器的容量總是有限的,不一定滿足應(yīng)用要求。在實(shí)際應(yīng)用中,經(jīng)常需要將多片存儲(chǔ)器組合起來,形成更大容量的存儲(chǔ)器。這就是所謂存儲(chǔ)器的擴(kuò)展,存儲(chǔ)器的擴(kuò)展方法有位擴(kuò)展方法和字?jǐn)U展方法。

擴(kuò)展存儲(chǔ)器所需要芯片的數(shù)量=8.4存儲(chǔ)器的擴(kuò)展

1)位擴(kuò)展方法

如果一片存儲(chǔ)器的字?jǐn)?shù)已夠,但是每個(gè)字中的位數(shù)不夠,則可采用位擴(kuò)展方法將多片存儲(chǔ)器連接成更多位數(shù)的存儲(chǔ)器。采用這種方法擴(kuò)展存儲(chǔ)器時(shí),各存儲(chǔ)器芯片連接的地址信號(hào)是相同的,而存儲(chǔ)器芯片的數(shù)據(jù)線則分別作為擴(kuò)展后的數(shù)據(jù)線。擴(kuò)展后的存儲(chǔ)器實(shí)際上沒有片選的要求,只進(jìn)行數(shù)據(jù)位的擴(kuò)展,整個(gè)存儲(chǔ)器的字?jǐn)?shù)與單片存儲(chǔ)器的字?jǐn)?shù)是相同的。在存儲(chǔ)器工作時(shí),所有的存儲(chǔ)器芯片同時(shí)進(jìn)行相同的操作。

【例8-1】

用1024×8位的RAM擴(kuò)展成容量為1024×32位的存儲(chǔ)器。

解所需要的存儲(chǔ)器芯片數(shù)量為=4片。

連接方式:將4片的所有地址線、片選線(

)、讀寫控制線(

)連接在一起,將所有的數(shù)據(jù)線拼接成32位數(shù)據(jù),如

圖8-35所示。圖8-35存儲(chǔ)器的位擴(kuò)展

2)存儲(chǔ)器字?jǐn)U展

字?jǐn)U展用于存儲(chǔ)芯片的位數(shù)滿足要求而字?jǐn)?shù)不夠的情況,是對(duì)存儲(chǔ)單元數(shù)量的擴(kuò)展,整個(gè)存儲(chǔ)器位數(shù)等于單片存儲(chǔ)器的位數(shù)。擴(kuò)展的方法是將地址分成兩部分,低位地址和每個(gè)存儲(chǔ)器芯片的地址并聯(lián)連接,高位地址通過片選譯碼器譯碼后與各存儲(chǔ)器的片選信號(hào)連接,各存儲(chǔ)器的數(shù)據(jù)線中對(duì)應(yīng)位連接在一起。在存儲(chǔ)器工作時(shí),由于高位地址譯碼器的輸出信號(hào)任何時(shí)刻只有一位輸出有效,因此只能選中一片存儲(chǔ)器,其余未選中的存儲(chǔ)器芯片不工作。

【例8-2】

圖8-36給出了用4個(gè)256×8芯片經(jīng)字?jǐn)U展構(gòu)成一個(gè)1K×8存儲(chǔ)器系統(tǒng)的連接方法。

所需要的存儲(chǔ)器芯片數(shù)量為=4片。圖8-36存儲(chǔ)器的位擴(kuò)展在實(shí)際應(yīng)用中,往往會(huì)遇到字?jǐn)?shù)和位數(shù)都需要擴(kuò)展的情況,方法是先進(jìn)行位擴(kuò)展(或字?jǐn)U展)再進(jìn)行字?jǐn)U展(或位擴(kuò)展),這樣就可以滿足更大存儲(chǔ)容量的要求。若使用l×k位存

儲(chǔ)器芯片構(gòu)成一個(gè)容量為M×N位(M>l,N>k)的存儲(chǔ)器,那么這個(gè)存儲(chǔ)器共需要(M/l)×(N/k)個(gè)存儲(chǔ)器芯片。連接時(shí)可將這些芯片分成M/l個(gè)組,每組有N/k個(gè)芯片,組內(nèi)采用位擴(kuò)展法,組間采用字?jǐn)U展法。

【例8-3】圖8-37給出了用2114(1K×4)RAM芯片構(gòu)成4K×8存儲(chǔ)器的連接方法。圖8-37存儲(chǔ)器的字位擴(kuò)展結(jié)構(gòu)圖8-37擴(kuò)展既包含了字?jǐn)U展,又包含了位擴(kuò)展,一共用了(M/l)×(N/k)=(4/1)×(8/4)=8片2114芯片。因?yàn)閮善?144擴(kuò)展成8位,因此8片2114分成四組,這四組芯片需要4根2位地址線尋址,因此一共需要12位地址線。A9~A0用于片內(nèi)尋址,而A11~A10用于選擇一組芯片??删幊踢壿嬈骷且活愄厥獾男酒c前面我們所介紹的通用芯片不一樣的是,用戶根據(jù)其設(shè)計(jì)的需要,以這類芯片為載體,對(duì)其編程實(shí)現(xiàn)所需要的邏輯功能。第一個(gè)可編程的IC是在1970年以PROM的形式出現(xiàn)的,剛開始的PLD結(jié)構(gòu)比較簡(jiǎn)單,可編程單元的密度較低。

到20世紀(jì)70年代末以后,出現(xiàn)了規(guī)模更大、集成度更高的PLD,可以完成復(fù)雜的功能。1984年后出現(xiàn)了CPLD(ComplexProgrammableLogicDevice)和FPGA(FieldProgrammingGateArray)兩類可編程邏輯器件。8.5可編程邏輯器件簡(jiǎn)介這兩類器件無論在規(guī)模、工作速度和功耗等性能方面都有了很大的提高,可以在一片CPLD/FPGA芯片上實(shí)現(xiàn)非常復(fù)雜的邏輯功能,甚至是實(shí)現(xiàn)一個(gè)復(fù)雜系統(tǒng),即所謂的片上系統(tǒng)。它們?cè)谕ㄐ?、?shù)據(jù)處理、網(wǎng)絡(luò)、儀器、工業(yè)控制、軍事和航空航天等眾多領(lǐng)域得到了廣泛應(yīng)用。

本節(jié)簡(jiǎn)單地介紹PLD,包括PROM、PLA(ProgrammableLogicArray)、PAL(Programmable

ArrayLogic)、GAL(GenericArrayLogic)、CPLD和FPGA。

在介紹這些PLD之前,首先給出PLD器件中常見到的表示方式,如圖8-38所示。圖8-38PLD中常用的符號(hào)

1.PROM

PROM是最早出現(xiàn)的PLD,它是由固定的“與”陣列和一個(gè)可編程的“或”陣列組成的,如圖8-39(a)所示。例如,圖8-39(b)給出了一個(gè)兩輸入、兩輸出的PROM陣列構(gòu)成表示,不代表實(shí)際的電路圖。圖(b)的左邊實(shí)點(diǎn)“·”表示“與”陣列的固定連接,右邊“或”陣列的“*”表示可編程連接,這些可編程的連接可以通過基于熔絲連接、或基于EPROM或基于E2PROM的技術(shù)實(shí)現(xiàn)。與陣列的輸入信號(hào)為互補(bǔ)緩沖輸入,通過交叉點(diǎn)上的連接加到函數(shù)的與或表達(dá)式的乘積項(xiàng)中,“或”陣列的輸入由與陣列的輸出提供。N輸入的PROM可以實(shí)現(xiàn)任意組合N輸入的邏輯函數(shù)。圖8-39PROM

【例8-4】

Y0=A

B=和Y1=A+B的邏輯關(guān)系,可以用圖8-39(b)所示的PROM陣列實(shí)現(xiàn),如圖8-40所示。圖8-40用PROM實(shí)現(xiàn)“異或”邏輯和“或”邏輯

【例8-5】

用PROM實(shí)現(xiàn)一個(gè)兩位的乘法器。

用PROM實(shí)現(xiàn)乘法實(shí)際上就是給出索引值,在PROM陣列中查表。圖8-41(a)給出了2×2的真值表,而圖8-41(b)給出了PROM的實(shí)現(xiàn)。

PROM能夠?qū)崿F(xiàn)各種組合邏輯,但當(dāng)輸入信號(hào)的數(shù)目較多時(shí),其與陣列的規(guī)模會(huì)變得很大,從而導(dǎo)致器件成本升高、功耗增加、可靠性降低等問題出現(xiàn)。目前這種器件已經(jīng)比較

少用了。圖8-41用PROM實(shí)現(xiàn)一個(gè)兩位的加法器

2.PLA

可編程邏輯陣列PLA是20世紀(jì)70年代中期出現(xiàn)的一種可編程邏輯器件,解決了PROM結(jié)構(gòu)對(duì)地址的限制。PLA是簡(jiǎn)單可編程邏輯器件中用戶可配置性最好的器件,因?yàn)樗摹芭c”和“或”陣列都是可配置的,圖8-42給出了未編程的簡(jiǎn)單的2輸入、2輸出PLA結(jié)構(gòu)。圖8-42PLA的內(nèi)部結(jié)構(gòu)示意圖與PROM不同,在“與”陣列中的與函數(shù)數(shù)目與輸入數(shù)目無關(guān),“或”陣列中或函數(shù)的數(shù)目也與陣列的與函數(shù)和器件的輸入數(shù)目無關(guān)。因此,PLA不能實(shí)現(xiàn)任意的邏輯函數(shù)。

PLA是先經(jīng)邏輯函數(shù)化簡(jiǎn),再用最簡(jiǎn)“與或”表達(dá)式中的與項(xiàng)來編制“與”陣列。而PROM用最小項(xiàng)來設(shè)計(jì)譯碼陣列,一般ROM有2n根字線(即“與”項(xiàng)),且以最小項(xiàng)順序編排,不可隨意亂編。

PLA可以用來實(shí)現(xiàn)一些比較復(fù)雜布爾代數(shù)表達(dá)式。

【例8-6】

用PLA實(shí)現(xiàn)下面六變量輸入的函數(shù)表達(dá)式,編程后的PLA如圖8-43所示。

圖8-43編程后的PLA3. PAL

可編程陣列邏輯PAL是20世紀(jì)70年代末推出的一種器件。它是PLA的一種變形,

與PLA不同的是它的“或”陣列是固定的。因此在用PAL構(gòu)成實(shí)現(xiàn)某個(gè)邏輯函數(shù)的電路

時(shí),每個(gè)輸出所表示的與或函數(shù)中,與項(xiàng)數(shù)不能超過或門陣列所固定的數(shù)目。

圖8-44給出了PAL的組成和一個(gè)3輸入、可編程6個(gè)“與”項(xiàng)、3個(gè)固定輸出的PAL

結(jié)構(gòu)。用它可以實(shí)現(xiàn)3個(gè)3變量的邏輯函數(shù)。圖8-44PAL為了擴(kuò)展電路的功能并增加使用的靈活性,PAL在與或陣列的基礎(chǔ)上,增加了多種輸出及反饋電路,構(gòu)成了各種型號(hào)的PAL器件。根據(jù)PAL器件的輸出結(jié)構(gòu)和反饋電路的不同,可將它們大致分成專用輸出結(jié)構(gòu)、可編程輸入/輸出結(jié)構(gòu)、寄存器輸出結(jié)構(gòu)、異或輸出結(jié)構(gòu)等幾種類型。

1)專用輸出結(jié)構(gòu)

圖8-44(b)所示電路就屬于專用輸出,它的輸出端是或門。另外,有的PAL還采用與或非門輸出結(jié)構(gòu)或互補(bǔ)輸出結(jié)構(gòu)。圖8-45所示的PAL電路是與或非輸出結(jié)構(gòu)。專用輸出結(jié)

構(gòu)PAL器件的特點(diǎn)是與陣列編程后,輸出只由輸入來決定,即輸出端只能作輸出用,因此,專用輸出結(jié)構(gòu)的PAL器件適用于組合邏輯電路的設(shè)計(jì),故專用輸出結(jié)構(gòu)又稱為基本組合輸出結(jié)構(gòu)。圖8-45PAL的與或非門結(jié)構(gòu)

2)可編程輸入/輸出結(jié)構(gòu)

圖8-46給出了PAL電路的可編程輸入/輸出結(jié)構(gòu)(也稱為異步I/O結(jié)構(gòu))。具有可編程控制端的三態(tài)緩沖器,控制端由邏輯陣列的一個(gè)乘積項(xiàng)給出。同時(shí),輸出端又經(jīng)過一個(gè)互

補(bǔ)輸出的緩沖器反饋到與邏輯陣列上。編程時(shí),當(dāng)三態(tài)緩沖器的控制端(圖中的C1和C2)為低電平時(shí),三態(tài)緩沖器處于高阻態(tài),此時(shí),I/O端可作為輸入端使用,通過另一個(gè)緩沖器

送到與陣列中。當(dāng)三態(tài)緩沖器的控制端為高電平時(shí),三態(tài)緩沖器被選通,I/O端只能作輸出端使用,此時(shí),與I/O端連接的緩沖器作反饋緩沖器使用,將輸出反饋至與門。根據(jù)這一特性,可通過編程指定某些I/O端的方向,從而改變器件輸入/輸出線數(shù)目的比例,以滿足各種不同的需要。圖8-46PAL的可編程輸入

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論