基于DBL結(jié)構(gòu)的嵌入式64kb SRAM的低功耗設(shè)計
關(guān)鍵詞:存儲器;SRAM;位線分割;分塊譯碼
嵌入式存儲器的容量及其在系統(tǒng)芯片中所占的面積越來越大,對其操作所帶來的動態(tài)功耗成為系統(tǒng)芯片功耗中重要的組成部分,因此,必須尋求有效的低功耗設(shè)計技術(shù),以降低嵌入式存儲器對整個系統(tǒng)的影響。為了降低存儲器的功耗,人們采用了字線分割、分級字線譯碼以及字線脈沖產(chǎn)生等技術(shù),大大降低了存儲器的動態(tài)功耗。 另外一種能有效降低存儲器動態(tài)功耗的技術(shù)就是位線分割(DBL)。 針對系統(tǒng)要求,筆者采用DBL結(jié)構(gòu)以及一種存儲陣列分塊譯碼結(jié)構(gòu),完成了64 kb嵌入式存儲器模塊的設(shè)計。
參數(shù)的修正與公式的重新推導(dǎo)
DBL結(jié)構(gòu)的原理
DBL結(jié)構(gòu)就是通過將兩個或者多個SRAM存儲單元進行合并,以減少連接到位線上的晶體管數(shù)目,從而減小位線電容,達到降低存儲器動態(tài)功耗的目的。 圖1w給出了將4個SRAM單元連接在一起并通過傳輸管連接到位線上的電路示意圖。 與一般布局的位線結(jié)構(gòu)相比,圖1w所示的DBL結(jié)構(gòu)中連接到位線上的傳輸管數(shù)目減少了3 /4。
DBL結(jié)構(gòu)有兩個關(guān)鍵:第1,確定存儲陣列行數(shù)N 與合并的單元個數(shù)M 之間的最優(yōu)關(guān)系。 所謂最優(yōu)是指合并后存儲器的動態(tài)功耗最小。 對于這個關(guān)系,文獻[ 1 ]中給出了相應(yīng)的公式:
pnor = (1 /M + 0.1) + 2 ( (M + 1) / (N (ΔV /V ) ) ) , (1)
Mop t = ( (N /2) (ΔV /V ) ) 1 /2 , (2)
式中ΔV 表示位線上電壓的擺幅, V 表示電源電壓。第2,確定合并后各個管子的寬長比。下面,針對這兩個問題進行討論。
DBL功耗公式的修正
公式(1) , ( 2)是在下述假設(shè)下得出的:在SRAM中,位線的電容主要是由存儲單元中傳輸晶體管的漏極電容和位線的金屬連線電容構(gòu)成,并且金屬線的寄生電容是與位線相連管子漏極總電容C的10% ,則圖2中寄生電容C1 和C2 可表示為
C1 = C M /N , C2 = C /M + 0.1C 。
然而,上述假設(shè)并沒有真正反映位線電容的構(gòu)成,因為位線電容的組成包括存儲單元中傳輸晶體管的源/漏電容CBS ,位線間的耦合電容CBB ,位線與橫向字線之間的耦合電容CWW ,位線與地線的耦合電容CBSS ,位線與電源線的耦合電容CBDD ,位線的金屬連線電容CW 等。 隨著深亞微米技術(shù)的發(fā)展,在位線總電容中,傳輸晶體管的源/ 漏電容CBS 所占的比例只有60% ~ 70% ,其他的電容分量共占30% ~40%,在這種情況下公式設(shè)計電路會帶來較大的誤差。 另外,對C1 的舍入過大,由此也引入了很大的誤差,必須進行修正。 筆者對公式的重新推導(dǎo)如下。
假設(shè)存儲陣列的行數(shù)為N, DBL 結(jié)構(gòu)中合并的存儲單元數(shù)為M,一般布局結(jié)構(gòu)(N 行) 中, 與位線相連的所有傳輸管漏極的總電容為C,并假定位線上其他的寄生電容是此漏極總電容的30% , 則圖2中電容C1 和C2 可表示為
C1 = C (1.3M + 1) /N , C2 = (C /M ) + 0.3C 。
假設(shè)讀寫操作時子位線不進行預(yù)充電,并且其電壓值能夠達到電源電壓,用ΔV 表示位線上電壓的擺幅,那么,圖2中DBL存儲器的動態(tài)功耗可表示為
p =f (M ) = (C2 ΔV V + 2 C1 V2 ) f = [ (C /M + 0.3 C) ΔV V + 2 C ( (1.3M + 1) /N ) V2 ] f (3)
根據(jù)標準存儲單元的功耗表達式pstan = (C ΔV V ) f , (4)
對式(3) 歸一化得pnor = (1 /M + 0.3) + 2 ( (1.3M + 1) / (N ΔV /V ) ) , (5)
因此可求得功耗最小時的M 值Mop t = ( (N /2. 6) (ΔV /V ) ) 1 /2 。 (6)
如果存儲陣列的行數(shù)N = 1 024,位線電壓變化率ΔV /V = 011,則Mop t ≈ 6, pnor ≈ 0164。 但是如果按照公式(1) , (2) 計算,則Mop t ≈ 8, pnor ≈ 0140,后面的設(shè)計均基于修正后的公式(5) , (6)。
管子寬長比的選擇
在6管存儲單元中,為了完成正常的讀寫操作,各個管子的寬長比必須滿足一定的約束條件,這種約束條件通常用上拉比PR 和單元比CR 來刻畫。 對于圖3@ 所示的存儲單元,有CR = (WN 2 / LN 2 ) / (WN 4 /LN 4 ) PR = (WP1 / LP1 ) / (WN 3 /LN 3 ) 。 為了完成正常的讀出操作,不發(fā)生“讀翻轉(zhuǎn)”,要求CR 大于1.8 (VDD = 3.3V, Vt = 0.5V) [ 7 ] ,因此N2 比 N4 有更好的導(dǎo)通性。 為了完成正常的寫入操作, 要求PR 小于1 (VDD = 3.3V, Vtp = 0.5V 和μP /μN =0.5) ,也就是說, N3 應(yīng)該比P1 有更好的導(dǎo)通性。 在DBL結(jié)構(gòu)中,如果存儲單元中各個管子的W /L 與 一般結(jié)構(gòu)中的相同,顯然,由于N4 和N6 (N3 和N5 ) 的串聯(lián)等效關(guān)系,使得CR 的條件更容易滿足,而PR 的條件更不容易滿足,從而使寫入操作變得更加困難。 因此, 為了完成正常的讀寫操作, 應(yīng)合理確定管子N4 和N6 (N3 和N5 ) 的寬長比。N4 和N6 寬長比的選擇,可以通過將N4 和N6 (N3 和N5 ) 近似成串聯(lián)電阻來估算,如圖3w 所示。 為了方便分析,假設(shè)N4 和N6 的結(jié)構(gòu)相同。 顯然,為了保持原先存儲單元正常的讀寫功能,應(yīng)該將N4 和N6 的寬長比都加倍,而其他管子的寬長比保持不變。
分塊譯碼的DBL 結(jié)構(gòu)
通過前面的分析可以看出,對于位線很長的存儲陣列,通過采用DBL技術(shù),選取合理的M 值,動態(tài)功耗會有所減小。 然而,以上的分析并沒有考慮不同尺寸的管子以及不同的版圖布局風(fēng)格等因素的影響。 另外,在DBL結(jié)構(gòu)中,由于還附加了其他的控制邏輯電路,其本身也有功耗,因此,實際功耗并不能完全按照公式(5)計算。為了進一步降低存儲器的功耗,筆者在DBL結(jié)構(gòu)的基礎(chǔ)上,設(shè)計了存儲陣列的分塊譯碼結(jié)構(gòu)。首先,為了使版圖形狀滿足要求,將64kb SRAM劃分成8個8kb的子陣列,并利用地址信號A1 , A2 , A3 譯碼后對8個8kb子陣列進行選擇。 這不僅滿足了版圖的布局要求,也降低了存儲器的功耗,整個布局如圖4v所示。分塊譯碼的DBL結(jié)構(gòu)主要是針對每個8kb的存儲子陣列設(shè)計的,如圖4w所示,每個8kb的子陣列由左右兩個存儲陣列模塊構(gòu)成。 其工作原理為:利用列地址線A0 和A0 控制行譯碼器的輸出,使得在任何讀寫周期,左右兩個存儲陣列只有一個被選中,這樣整個64kb的SRAM就有1 /16子陣列處于活動狀態(tài),從而減小了由于字線充放電引起的動態(tài)功耗。
圖4w中,控制邏輯的具體結(jié)構(gòu)如圖4x 所示,子陣列sub DBLmemroy arrayi ( i = 0~7)的結(jié)構(gòu)如圖4y所示,每個子陣列有512行,即N =512,根據(jù)公式(6) ,合并后的存儲單元數(shù)M =4
按照分塊譯碼的DBL結(jié)構(gòu),采用chartered 0.35μm雙層多晶三層鋁布線的n阱CMOS工藝,完成了嵌入式64kb SRAM模塊的設(shè)計,版圖面積1。 4mm 4. 7mm (一般結(jié)構(gòu)的版圖面積1.3mm 4. 3mm)。 Starsim仿真結(jié)果表明,采用分塊譯碼DBL結(jié)構(gòu)的存儲器的平均電流約為37mA,一般結(jié)構(gòu)存儲器的平均電流約為65mA。
結(jié)束語
以上討論了嵌入式64kb SRAM的低功耗設(shè)計,通過采用DBL結(jié)構(gòu)以及存儲陣列分塊譯碼結(jié)構(gòu),使得存儲器的功耗降低了43%,而面積僅增加了18%。 仿真結(jié)果表明兩者的最小訪問周期都約為15 ns。 因此,根據(jù)A T2 P (A 是面積, T是訪問周期, P是功耗)來衡量,這種低功耗設(shè)計方法是可行的。隨著嵌入式存儲器容量的加大以及深亞微米技術(shù)的發(fā)展,亞閾值漏電流所造成的靜態(tài)功耗已經(jīng)不可忽略,尋求有效的低功耗設(shè)計技術(shù)仍然是值得探討的課題。
評論