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


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

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





