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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

8.1半導體存儲器綜述8.2易失性存儲器8.3非易失存儲器8.4存儲器的擴展8.5可編程邏輯器件簡介習題

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

半導體存儲技術是PLD編程技術的基礎,本章將介紹半導體存儲器以及可編程邏輯器件的基本概念和原理。

1.存儲器的分類

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

按照存儲功能劃分的存儲器的分類如圖8-1所示。8.1半導體存儲器綜述圖8-1存儲器分類

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

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

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

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

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

2.存儲的基本概念

1)容量

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

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

2)讀/寫參數(shù)

存儲器的讀/寫參數(shù)是存儲器最重要的參數(shù)之一,只有按照嚴格的時序?qū)Υ鎯ζ鬟M行讀/寫,才能保證存儲器的工作正確。

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

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

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

圖8-2給出了存儲器讀/寫時序的示意圖。圖8-2存儲器讀/寫時序示意圖

3)存儲器的基本結構

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

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

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

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

1)SRAM存儲單元

(1)四管構成的SRAM存儲單元。

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

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

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

(2)六管構成的SRAM存儲單元。

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

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

2)SRAM的工作過程

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

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

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

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

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

SRAM在進行讀操作時,首先要保證兩條位線B和-B都預充到相等的高電平,然后使得字線WL為高電平,兩個門管M3和M4都導通,此時,相當于把單元的存儲節(jié)點a和b

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

(3)保持數(shù)據(jù)。

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

3)SRAM的分類

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

(1)異步SRAM(AsynchronousSRAM)。

異步SRAM的運行與輸入信號的狀態(tài)有關,并不與特定的時鐘相關。圖8-9給出了一個異步SRAM的功能框圖,存儲訪問由三個信號控制:

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

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

(2)同步SRAM(SynchronousSRAM)。

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

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

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

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

(3)特殊的SRAM。

① FIFO。

FIFO是FirstInFirstOut的縮寫,是先進先出的意思,圖8-14給出了一種FIFO結構示意圖。

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

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

2.動態(tài)存儲器DRAM

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

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

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

1)DRAM的存儲單元

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

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

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

2)基本操作

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

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

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

(1)存儲器讀操作。

圖8-17給出了一個簡化的存儲器讀操作時序圖,一個存儲器讀操作的步驟可概括如下:

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

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

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

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

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

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

(2)存儲器寫操作。

圖8-18給出了簡化的存儲器寫操作的時序圖,一個存儲器寫步驟可以概括如下:

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

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

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

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

(3)DRAM刷新。

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

3)SDRAM

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

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

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

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

(1)輸入信號。

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

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

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

A10用于自動預充電選擇,在PRECHARGE命令時采樣A10,如果其為高電平,則所有的組都進行“預充電”;如果為低電平,則選擇某個組進行預充電。

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

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

CKE:工作時鐘使能信號,為高電平時,允許時鐘工作;為低電平時,禁止時鐘工作。

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

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

VSS,VSSQ:接地信號。

VDD,VDDQ:電源信號。

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

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

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

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

在該命令下,CLKE信號的高低電平無關。

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

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

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

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

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

BURSTTERMINATION:突發(fā)終止命令。該命令用于截斷固定長度或者全頁的突發(fā)操作。在BURSTTERMINATION前的WRITE或READ命令將被截斷。該命令并不進行預充電,在發(fā)出PRECHARGE命令前,行地址保持有效。

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

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

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

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

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

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

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

3.模式寄存器

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

①突發(fā)長度(BurstLength):

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

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

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

②CAS延時(CASLatency)。

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

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

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

③工作模式(OperationsMode)。

正常的工作模式是通過將M7和M8設置為0選擇的,M7和M8用于未來的工作模式或者測試模式,不應該使用這些預留或者測試的模式,以免導致未知的操作或者不兼容的工作方式。

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

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

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

4.初始化

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

推薦的SDRAM初始化序列是:

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

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

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

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

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

令。

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

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

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

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

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

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

(12)SDRAM準備好模式寄存器編程。因為模式寄存器在加電的時候是未知的,所以它應該在其它操作命令之前執(zhí)行。使用LMR(LoadModeRegister)命令編程模式寄存器。通

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

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

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

5.操作

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

1) Active操作

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

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

命令的最小間隔由tRCD決定。圖8-23ACTIVE命令和WRITE/READ命令之間的時序關系

2)讀操作

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

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

3)寫操作

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

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

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

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

8.3非易失存儲器

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

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

2.EPROM

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

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

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

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

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

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

3.E2PROM存儲器

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

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

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

一般允許改寫100~1000次。

4.FlashEEPROM

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

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

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

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

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

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

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

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

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

1)位擴展方法

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

【例8-1】

用1024×8位的RAM擴展成容量為1024×32位的存儲器。

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

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

)、讀寫控制線(

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

圖8-35所示。圖8-35存儲器的位擴展

2)存儲器字擴展

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

【例8-2】

圖8-36給出了用4個256×8芯片經(jīng)字擴展構成一個1K×8存儲器系統(tǒng)的連接方法。

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

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

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

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

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

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

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

1.PROM

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

【例8-4】

Y0=A

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

【例8-5】

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

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

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

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

2.PLA

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

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

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

【例8-6】

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

圖8-43編程后的PLA3. PAL

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

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

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

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

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

1)專用輸出結構

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

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

2)可編程輸入/輸出結構

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

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

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

溫馨提示

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

評論

0/150

提交評論