在IC領(lǐng)域,SRAM(Static Random-Access Memory)是一種靜態(tài)的隨機存取存儲器?!办o態(tài)”是相對于動態(tài)隨機存取存儲器(DRAM)而言,只要系統(tǒng)不斷電,里面儲存的數(shù)據(jù)就可以一直保持。而DRAM里面用電容儲存的數(shù)據(jù)就需要周期性地刷新。
為什么要聊一聊SRAM,因為比較大一點的IC芯片中都可能有SRAM的電路。如CPU中的 caches,或者一些芯片中用作緩存大量的數(shù)據(jù)(如果用常規(guī)的LATCH 或者 DFFP存大量數(shù)據(jù),那所耗費的面積就太大了),或者作為IP用在ASIC和FPGA中。而且SRAM的基本原理相對比較簡單,好掌握。
其實常用的SRAM的架構(gòu)也很簡單,下圖就是包含6個晶體管的CMOS SRAM最基本單元。
兩個反相器的輸入、輸出Q,Q非交叉連接,再加上2個控制管M5和M6。
網(wǎng)上隨便找了一個SRAM的datasheet,截了一張功能塊的圖:
這個SRAM的容量就是8M bit ,就是8M X 6管基本單元。 左上是一個地址譯碼電路 產(chǎn)生6管單元中的WL/BL 信息。 中間的I/O DATA CIRCUIT 和 COLUMN I/O就是用來寫數(shù)據(jù)的bus線輸入以及讀數(shù)據(jù)bus線的輸出。最下面的CONTROL CIRCUIT是讀寫的控制電路。
SRAM有3種工作狀態(tài):空閑standby , 讀 reading ,寫 writing .
Standby
如果WL都沒選中,那么控制管M
5與M6斷開,由M1– M4組成的兩個反相器作為latch一直保持自己的狀態(tài)。Reading
假設SRAM一開始存的內(nèi)容為 0 , Q點的電位為低, Q非點為高。讀操作開始后,有上拉信號將BL/BL非這2條線拉為高電壓VDD,隨后譯碼選出的WL電壓變成VDD, 使得控制管M
5與M6導通,因為BL和BL非連到一個SA(放大器)的兩端,只要BL與BL有電位差,SA就會把這種差異放大,得到最終的輸出結(jié)果。當然這邊要注意這幾個管子的size,如果M6管比較強,BL在被拉低的過程中,Q點會被充電,電壓有可能會變高到超過M1的閾值電壓,從而導致這個latch存的值被沖掉。所以這邊M3 M6存在管子的size要求,簡單而言M3 > M6。具體的計算方法一些教科書上都有。
Writing
寫操作開始后,同樣也會有上拉信號將BL/BL非 拉為高電壓VDD,選中的WL電壓變成VDD,使得控制管M
5與M6導通,寫控制電路會驅(qū)動BL和BL非。假設現(xiàn)在要寫0,原來存的是1, 那BL和BL非就會被驅(qū)動成0和1,M6 與M4管開始fighting,直到Q點的電壓降到低于M1管的閾值電壓,M1關(guān)斷,SRAM存儲的值才能翻轉(zhuǎn)。同樣這邊管子M4 M6存在特定的size要求,簡單而言M6 > M4,不然M6 fighting 不過 M4,無法寫入數(shù)據(jù)。具體的size計算方法一些教科書上都有。上面2張圖是我從SRAM datasheet里面找的AC特性,可以看出讀寫量級都是幾十ns的量級,不過這個時間應該跟SRAM的容量有很大的關(guān)系,容量小的更快一點,大家設計的時候可以參考一下
-
DRAM
+關(guān)注
關(guān)注
40文章
2316瀏覽量
183539 -
IC
+關(guān)注
關(guān)注
36文章
5953瀏覽量
175681 -
存儲器
+關(guān)注
關(guān)注
38文章
7493瀏覽量
163878 -
sram
+關(guān)注
關(guān)注
6文章
768瀏覽量
114697 -
隨機存取存儲器
+關(guān)注
關(guān)注
0文章
44瀏覽量
8984
發(fā)布評論請先 登錄
相關(guān)推薦
評論