芯片片上SRAM存儲(chǔ)概略及生成使用實(shí)踐 (中)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在上一篇中,一起了解了片上SRAM的基本構(gòu)造和結(jié)構(gòu),在本篇中,通過一些具體的Memory Compiler,一起深入的了解SRAM的具體特點(diǎn)和不同構(gòu)成,閑話少說,Let’s go!
對(duì)于設(shè)計(jì)一個(gè)SRAM,除過最基本的核心部件(memory array )以外,在對(duì)SRAM進(jìn)行的構(gòu)件中還有多個(gè)部件需要添加,有了這些必要的封裝,SRAM才可以提供一個(gè)友好的使用環(huán)境,提供給用戶使用。
兩種結(jié)構(gòu):Register File vs. memory array
常規(guī)的時(shí)序邏輯確實(shí)也具備了memory的存儲(chǔ)方法,如果使用一種特殊的布局方式,可以模擬類似于register的高速的pipe級(jí)別的訪問,同一個(gè)周期可以完成兩次讀和一次寫操作(這里需要內(nèi)部的讀寫沖突控制,產(chǎn)生先讀后寫操作)


這樣的結(jié)構(gòu)體和通常的memory array的bit cell結(jié)構(gòu)體略有不同,帶來的好處是在bitline的cap值和同樣大小的memory array會(huì)有減小,可以有效降低訪問memory cell時(shí)間,提升memory 速度。但是相應(yīng)的當(dāng)RF的容量逐步擴(kuò)大,這種通過結(jié)構(gòu)體降低cap的方法,會(huì)變得越來越不明顯,所以RF的速度優(yōu)勢(shì)只限制在小容量的memory 上。
在近現(xiàn)代的工藝上(60nm 以及以下),RF也是使用bitcell進(jìn)行構(gòu)建,所以從bitcell上來看,RF和常規(guī)的memory array的基礎(chǔ)期間是一樣大的,這個(gè)從T家的SRAM 文檔中可以看出來。
SRAM的結(jié)構(gòu)框圖
一個(gè)可操作控制的SRAM通常具有豐富的接口控制,這里呈現(xiàn)出一個(gè)簡(jiǎn)單T家的SRAM框圖
可以看到這里的接口控制管腳,遠(yuǎn)遠(yuǎn)多于簡(jiǎn)單的memory array的控制需求,具體每一個(gè)管腳的配置用途詳見下表
電源地:毋庸置疑的必選項(xiàng),但是由于通常的memory cell都很大,通常都在100um * 100um的區(qū)域范圍,所以電源的連接要比這的兩三句描述更為復(fù)雜。主要是供電需求。此外VDDM和VDD 也無需完全一樣,可以分布來自不同的power source,這樣可以構(gòu)建dual rail的memory,提供更多的低功耗控制可能。
除去常見的地址、數(shù)據(jù)、讀寫等功能類別,還可以根據(jù)場(chǎng)景分為以下幾類
- 可以看到memory的PG pin 非常密集,主要分布在中間部分,這也是功耗大戶memory array分布集中的地方
- BIST測(cè)試:Built-in self-test,,顧名思義,這個(gè)是對(duì)memory 的物理存儲(chǔ)特性進(jìn)行的自測(cè)和錯(cuò)誤標(biāo)記,在遇到錯(cuò)誤數(shù)據(jù)的時(shí)候,可以使用內(nèi)部bypass/mux的方式,將正確地?cái)?shù)據(jù)讀取、寫入到其他的地方。這里的BIST是給memory使用,通常也叫做MBIST。所有和BIST測(cè)試相關(guān)的管腳,都是可以MBIST邏輯,對(duì)memory進(jìn)行強(qiáng)制管控。
- 測(cè)試:TSEL pin主要用于良率微調(diào)的時(shí)候進(jìn)行使用,在每一批wafer回片以后,進(jìn)行機(jī)臺(tái)測(cè)試,對(duì)于不同批次的產(chǎn)品可能在性能上會(huì)有些許不同,通過測(cè)試項(xiàng)目提取出來合理的調(diào)整值,儲(chǔ)存到芯片的efuse之中,在芯片上電后,efuse的內(nèi)容可以被相應(yīng)邏輯讀取并對(duì)memory 進(jìn)行微操作,確保芯片使用正常。PS:這個(gè)微調(diào)很小,不建議在功能模式下進(jìn)行調(diào)整和使用
- 低功耗:基于memory的使用場(chǎng)景,memory 可以分為shut-down、deep-sleep和normal模式。譬如本級(jí)模塊是一個(gè)可關(guān)斷domain,在關(guān)斷std-cell邏輯之前,需要對(duì)于memory的SD/DSLP進(jìn)行拉高(使能),讓memory進(jìn)入到不同的工作模式以節(jié)省功耗。PS:如果在DSLP模式下,VDDM掉電,memory的內(nèi)容會(huì)丟失
SRAM 冗余修復(fù)(redundancy repair)
在正常的SARM上,可能會(huì)有一定的bitcell的失效比率,基于不同的情形,可以分為column和row類型的bitcell損壞,譬如下圖
這里的bit_i (第i列)的bitcell有損壞,這個(gè)時(shí)候,所有寫入到bit_i的數(shù)據(jù)依次右移,直至bit_n-1移動(dòng)到redun_1列,這個(gè)時(shí)候,可以通過redun_1避免整塊memory的失效。
對(duì)應(yīng)的,row and column redundancy 可以使用下圖進(jìn)行描述,
MBIST
MBIST是使用BIST邏輯對(duì)memory進(jìn)行測(cè)試的一種方式,可以定位出SRAM的壞點(diǎn),并且通過調(diào)用column/row的redundancy來進(jìn)行修復(fù)(通常也稱為MBISR:SRAM自修復(fù)功能)。MBIST的測(cè)試方法高效,和帶有redundancy bit的memory聯(lián)動(dòng)使用可以有效提升芯片的良率?;驹韴D如下
step_1: 在ATE測(cè)試環(huán)境下,使用MBIST邏輯對(duì)SRAM的每個(gè)bit進(jìn)行測(cè)試
step_2: 發(fā)現(xiàn)問題進(jìn)行上報(bào),同時(shí)對(duì)問題進(jìn)行歸類(可修復(fù),不可修復(fù),是否可修復(fù)通常是根據(jù)錯(cuò)誤數(shù)量和redundancy bit位來決斷)
step_3:如果可修復(fù),在ATE模式下,通過利用redundancy bit,對(duì)memory 進(jìn)行修復(fù),如果此時(shí)MBIST的測(cè)試可以通過,則相關(guān)信息燒錄進(jìn)在EFUSE里邊。
step_4:進(jìn)入用戶模式,芯片啟動(dòng),從EFUSE里邊讀取對(duì)應(yīng)的出錯(cuò)的memory ID以及修復(fù)的方式。在使用SRAM的時(shí)候,F(xiàn)ADIO[*] 輸入控制會(huì)被鉗位到對(duì)應(yīng)的位置,確保SRAM使用中可以正確無誤。對(duì)于大部分的memory,其實(shí)都提供了MBIST的通路,如下圖所示:

但是,考慮到后端實(shí)現(xiàn)的便利性,通常不會(huì)這么應(yīng)用,在使用的時(shí)候,并不去產(chǎn)生MBIST pin,或者直接tie0掉。簡(jiǎn)單連接方法如下:
DFT可測(cè)性
由于SRAM的由外圍邏輯和memory array構(gòu)成。這里的外圍邏輯本質(zhì)上就是一些std-cell搭建的譯碼邏輯。從數(shù)字電路的角度來看,也是會(huì)有生成風(fēng)險(xiǎn)的可能,所以,使用scan-chain的DFT策略,可以很好的對(duì)這部分邏輯進(jìn)行可測(cè)性分析。
當(dāng)SRAM處于,DFT管控模式的時(shí)候,測(cè)試步驟如下
step1:使用shift mode,將memory 的輸入端口信號(hào)配置成指定值
step2:使用capture mode,將這些端口信號(hào)捕捉到SRAM里內(nèi)建的scan-FF 中
step3:再次使用shift mode,此時(shí)memory array處于bypass 模式下,scan-FF的值被依次shift out
step4:在SOC等DFT 輸出管腳觀察結(jié)果,和step1的輸入信息進(jìn)行比對(duì),完成對(duì)SRAM 外圍邏輯的DFT測(cè)試
本章詞匯
【敲黑板劃重點(diǎn)】
SRAM是由數(shù)字邏輯電路(外圍電路)和存儲(chǔ)單元(memory array)組成,所以會(huì)呈現(xiàn)出數(shù)字電路的特性(multi-VT legalize ,掃描鏈等)和存儲(chǔ)單元的特點(diǎn)(MBIST)





