芯片片上SRAM存儲概略及生成使用實(shí)踐 (上)
掃描二維碼
隨時隨地手機(jī)看文章
芯片是一個龐雜的系統(tǒng),體量分布非常寬泛,從百十個gate的數(shù)模混合芯片(譬如:PMU,sensor等等)一路到上百億門的復(fù)雜高端數(shù)字芯片(譬如:蘋果Axx, 麒麟:9xx,聯(lián)發(fā)科:天璣系列抑或各個巨大無比的NP網(wǎng)絡(luò)芯片等等)
同樣的芯片,也可以從不同維度進(jìn)行區(qū)分,譬如:邏輯功能分類(core,peripheral,interface 等等),門級功能分類(寄存器,組合邏輯,存儲器,phy等等)。
這里,就一起來從芯片的門級功能展開說起,一起來看看片上存儲的細(xì)節(jié)和生成實(shí)踐,本系列分為上,中,下三部分,這一篇是開篇,一起走就片上存儲的世界。
芯片片上存儲分類
為了配合芯片的功能和應(yīng)用,對于數(shù)據(jù)存儲會有非常多的使用場景,通常可以用下列表格進(jìn)行描述
對于大型芯片而言,以上種種可能都會用到,但是最普遍,占比最大的還是第一類,這里使用下表對三種存儲方式各自的特點(diǎn)進(jìn)行一個拆解
可以看到,通過上表比較,對于大型的存儲需求,以及從簡單易用角度而言,SRAM是此類場景的不二之選
SRAM的存儲結(jié)構(gòu)
SRAM的核心存儲器件,通常被稱為bit cell。具體如下圖所示
可以看到,外部邏輯通過控制信號:BL(BitLine)和WL(WordLine)對bit cell進(jìn)行寫入和讀取,這也就是通常所說的六管結(jié)構(gòu),由四個NMOS和兩個PMOS組成
寫操作
- 先把需要寫入的數(shù)據(jù)加載到BL上,如果是準(zhǔn)備寫入邏輯‘1’,那么就先在BL上就置成邏輯‘1’,~BL置成邏輯‘0’
-
在WL上置成邏輯‘1’,這樣通過選通M5/M6,對應(yīng)的邏輯寫到了Q和~Q上,這樣就完成了邏輯‘1’的寫入
對于邏輯‘0’的寫入方式類似
- 預(yù)充電到BL/~BL端到高電平
- 然后把WL置高,從而打開M5/M6,
- 如果Q=“1”,則晶體管M1導(dǎo)通,~BL會被拉低到低電平
-
對于另一側(cè),因~Q=“0”,晶體管M4和M6導(dǎo)通,通過VDD將BL拉到高電平
這樣就完成了將邏輯1讀取到了BL上
對于邏輯‘0’的讀取方式類似
可以看到,對于HD,RF,DP會呈現(xiàn)不同的bit cell的大小,這里的每一個bit-cell就是一個完整的存儲1bit的器件大小?;诖?,和同樣儲存1bit的DFF進(jìn)行面積比對的優(yōu)勢明顯,詳見下圖:
片載SRAM的結(jié)構(gòu)拆解對于芯片上的SRAM,是由一個個bit cell拼接成一個矩陣,矩陣的橫豎分布被BL和WL來控制,這個由bit cell組成的矩陣通常就會被稱為memory array通常的SRAM都是由以下兩個部分組成的
SRAM的大致示意圖如下
這里很明顯可以看到控制邏輯的身影,從外部訪問方便而言,它們對memory array成包圍模式。更為真實(shí)的SRAM結(jié)構(gòu)如下圖所示,
一個SRAM的簡單訪問步驟如下:
- 首先確定讀抑或?qū)懖僮鳎瑢L進(jìn)行對應(yīng)的與操作,詳見上述bitcell的讀寫操作釋義
- 配置地址線,選通對應(yīng)的WL
- 如果是讀操作:下方的Data就會出現(xiàn)一整行WL的bitcell的數(shù)據(jù);如果是寫操作:下方的Data就會寫入到選定WL的bitcell中
- 讀寫操作通常都是對一個WL進(jìn)行的操作
- 如果,WL的bitcell 位數(shù)不變,地址的深度直接決斷了SRAM的物理高度。
- SRAM的容量通常由NW*NB來決斷
- NW:Number of Word,SRAM深度
- NB:Number of Bit, SRAM寬度
- Bitcell Count:NW * NB SRAM的容量
- 地址譯碼和數(shù)據(jù)通路通常由std-cell直接構(gòu)成,是影響接口時序的一個因素
- 支持bitwise的SRAM,在寫入的時候,可以通過對某一個bitcell對應(yīng)的BL進(jìn)行管控,從而控制單bit的寫操作。
- SRAM過于細(xì)長,對布局不友好, PG的接觸點(diǎn)也不太均衡
- 由于SRAM的地址和數(shù)據(jù)出口通常都是居中分布式規(guī)劃,過高的SRAM,必定會在一定的高度的時候引發(fā)驅(qū)動能力的問題
可以看到,豎長的SRAM攔腰被折成兩半,并排分布,有效的降低了SRAM的高度。用戶通過使用CM=2,相應(yīng)的也增加CM decoder部分組合邏輯。一個簡單的換算公式如下:Depth * Width = (Depth/2) * width + (Depth/2) * width地址線的部分(高位)會直接參與CM的譯碼,從而可以2的冪次方的折疊方式有效降低SRAM的高度。同樣也會由于bitcell更為聚集,接口時序也會有相應(yīng)的提升,對應(yīng)的面積增長(CM decoder)在大規(guī)模SRAM下的影響,可以忽略不計。
本章詞匯





