如何實(shí)現(xiàn)DRAM控制器的電路設(shè)計(jì)?
DRAM(Dynamic Random Access Memory)
即動態(tài)隨機(jī)存取存儲器,它和 SRAM(靜態(tài)隨機(jī)存取存儲器)一樣都是常見的系統(tǒng)內(nèi)存,也就是說我們個(gè)人電腦里的內(nèi)存條通常都是DRAM。但是DRAM和 SRAM 兩者之間有著很大的區(qū)別。其中最大的區(qū)別就是DRAM的地址總線接口與 SRAM 的不同。DRAM使用了dram 地址復(fù)用技術(shù)。也就是行地址與列地址分時(shí)復(fù)用技術(shù),這就是dram 的關(guān)鍵技術(shù)所在。主要原因是由它的硬件電路決定的。
DRAM與 CPU 的接口(尋址方式)
舉個(gè)栗子,EM63A165TS 是 EtronTech 公式的一款 DRAM 芯片,容量為 16M*16Bit,分成四個(gè) Bank,每一個(gè) Bank 為 4M*16Bit。但是,觀察它的芯片管腳圖,你就會發(fā)現(xiàn)它的地址線只有 13 根(A0-A12)和兩根 Bank 控制線。13 根的控制線按照 SRAM 的尋址方法,每個(gè) Bank 只有 2^13=8K,遠(yuǎn)遠(yuǎn)沒有達(dá)到 4M。這是為什么呢?
原因在于,DRAM 普遍采用的是行與列地址分時(shí)復(fù)用技術(shù)進(jìn)行尋址。在 DRAM 的矩陣存儲單元中,地址可以分成行地址和列地址。在尋址時(shí),必須先進(jìn)行行尋址然后在進(jìn)行列尋址,這是由 DRAM 的硬件電路所決定的。所以,對行地址線和列地址線進(jìn)行共用,既節(jié)省了地址線,也不會降低 DRAM 原有的工作速率(因?yàn)?DRAM 的行地址和列地址就是要分時(shí)傳送的)。而,如果是 SRAM 采用這種尋址方式的話,則會大大降低其工作速度。
那么,EM63A165TS 只有 13 根地址線也就可以理解了,在其數(shù)據(jù)手冊上可以知道,A0-A12 是行地址線,同時(shí) A0-A8 復(fù)用為列地址線,那么就有了 22 根地址線,2^22=4M。
DRAM作為PC必備器件之一,大家自然對DRAM較為熟悉。但是,大家知道DRAM存儲具有哪些分類嗎?大家了解DRAM控制器是如何設(shè)計(jì)出來的嗎?如果你對DRAM以及本文即將要闡述的內(nèi)容具有興趣,不妨繼續(xù)往下閱讀哦。
一、DRAM存儲分類
DRAM是Dynamicrandomaccessmemory的縮寫,稱為動態(tài)隨機(jī)存取存儲器。主要運(yùn)用在對功耗要求不太高、系統(tǒng)緩存要求容量比較大速度要求比較快的系統(tǒng)。
廣泛應(yīng)用于各種電子系統(tǒng),如PC、通信、DVB、DVD、LCDTV、監(jiān)控等。
DRAM的分類:
DRAM,Dynamicrandomaccessmemory,是很快要淘汰的產(chǎn)品。
SDRAM,SynchronousDRAM(單數(shù)據(jù)傳輸模式),主要應(yīng)用于PC外的產(chǎn)品上
DDRSDRAM,DoubleDataRate(雙數(shù)據(jù)傳輸模式),主要應(yīng)用在PC上
RDRAM,RambusDRAM,主要應(yīng)用在PC上,比DDR用得少。
二、基于VHDL設(shè)計(jì)DRAM控制器
80C186XL16位嵌入式微處理器是Intel公司在嵌入式微處理器市場的上導(dǎo)產(chǎn)品之一。為了方便地使用DRAM,降低系統(tǒng)成本,本文提出一種新穎的解決方案:利用80C186XL的時(shí)序特征,采用CPLD技術(shù),并使用VHDL語言設(shè)計(jì)實(shí)現(xiàn)DRAM控制器。
(一)80C186XLRCU單元的資源
80C186XL的BIU單元提供20位地址總線,RCU單元也為刷新周期提供20位地址總線。80C186XL能夠產(chǎn)生刷新功能,并將刷新狀態(tài)編碼到控制信號中。
嵌入式系統(tǒng)中DRAM控制器的CPLD解決方案
圖1是RCU單元的方框圖。它由1個(gè)9位遞減定時(shí)計(jì)數(shù)器、1個(gè)9位地址計(jì)數(shù)器、3個(gè)控制寄存器和接口邏輯組成。當(dāng)RCU使能時(shí),遞減定時(shí)計(jì)數(shù)器每一個(gè)CLKOUT周期減少1次,定時(shí)計(jì)數(shù)器的值減為1時(shí),則產(chǎn)生刷新總線請求,遞減定時(shí)計(jì)數(shù)器重載,操作繼續(xù)。刷新總線周期具有高優(yōu)先級,旦80C186XL總線有空,就執(zhí)行刷新操作。
設(shè)計(jì)者可將刷新總線周期看成是“偽讀”周期。刷新周期像普通讀周期一樣出現(xiàn)在80C186XL總線上,只是沒有數(shù)據(jù)傳輸。從引腳BHE/RFSH和A0的狀態(tài)可以判別刷新周期,如表1所列。刷新總線周期的時(shí)序要求如圖2所示。
(二)80C186XLDRAM控制器的設(shè)計(jì)與運(yùn)行
DRAM存在著大量、復(fù)雜的時(shí)序要求,其中訪問時(shí)間的選擇、等待狀態(tài)以及刷新方法是至關(guān)重要的。DRAM控制器必須正確響應(yīng)80C186XL的所有總線周期,必須能將DRAM的部周期和其它訪問周期分辨出來,其訪問速度必須足夠快,以避免不必要的等待周期。
在設(shè)計(jì)時(shí),我們采用XC95C36-15CPLD[2]以及4Mbits的V53C8258[3]DRAM作范例。15ns的CPLD,速度相對較高,價(jià)格比較便宜。用它設(shè)計(jì)成的DRAM控制器允許80C186XL的工作速度高達(dá)20MHz,并且XC95C36有異步時(shí)鐘選擇項(xiàng)。這種特性對本設(shè)計(jì)有很大的好處。
圖3是80C186XLDRAM控制器和存儲器的功能框圖。
DRAM控制器由80C186XL狀態(tài)信號S2、S1和S0的解碼來檢測總線的開始、類型和結(jié)束。這些狀態(tài)線是在CLKOUT的上升沿開始有效,在CLKOUT的下降沿失效的。DRAM控制器發(fā)出的RAS和CAS信號應(yīng)該在CLKOUT的下降沿同時(shí)有效,行列地址應(yīng)該在CLKOUT上升沿附近提供。
DRAM控制器應(yīng)該在CLKOUT的兩個(gè)沿都應(yīng)能正常操作。通過啟用XC95C36的異步時(shí)鐘選擇項(xiàng),每個(gè)XC95C36宏單元可以從可編程與陣列獲得時(shí)鐘。DRAM控制器使用80C186XL的CLKOUT信號作時(shí)鐘輸入。
DRAM控制器主要由兩個(gè)相互聯(lián)的狀態(tài)機(jī)構(gòu)成。這兩個(gè)狀態(tài)機(jī),使得DRAM的控制與80C186XL是否進(jìn)行等待狀態(tài)無關(guān)。狀態(tài)機(jī)A和地址多路控制信號(MUX)在CLKOUT的上升沿鎖存。狀態(tài)機(jī)B和RAS及CAS的邏輯在CLKOUT的下降沿鎖存。
動態(tài)隨機(jī)存取存儲器(dram)是一種將數(shù)據(jù)的各位元儲存在分開的電容器中的隨機(jī)存取存儲器。最簡單的dram單元包含單一n型金屬氧化物半導(dǎo)體(n-typemetal-oxide-semiconductor,nmos)晶體管及單一電容器。若電荷被儲存在電容器中,則取決于所使用的約定,稱該單元儲存邏輯高。接著,若沒有電荷存在,則稱該單元儲存邏輯低。由于電容器中的電荷隨時(shí)間耗散,dram系統(tǒng)需要額外的重寫電路以周期性地重寫儲存在電容器中的電荷。由于電容器只能儲存非常有限量的電荷,為了快速區(qū)分邏輯`1`與邏輯`0`之間的差異,典型是將兩條位元線(bit-line,bl)用于各位元,其中該對位元線中的第一條被稱作真位元線(bitlinetrue,blt),而另一條是互補(bǔ)位元線(bitlinecomplement,blc)。該單一nmos晶體管的柵極受字元線(wordline,wl)控制。
此“背景技術(shù)的討論”章節(jié)僅為提供背景技術(shù)信息。于此“背景技術(shù)的討論”中的陳述并非承認(rèn)于此“背景技術(shù)”章節(jié)中公開的標(biāo)的構(gòu)成本公開的現(xiàn)有技術(shù),且此“背景技術(shù)”章節(jié)沒有任何部分可用于作為承認(rèn)本申請案的任何部分,包括此“背景技術(shù)”章節(jié),構(gòu)成本公開的現(xiàn)有技術(shù)。