新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于DBL結構的嵌入式64kb SRAM的低功耗設計

        基于DBL結構的嵌入式64kb SRAM的低功耗設計

        作者: 時間:2016-10-22 來源:網絡 收藏
        摘要: 針對嵌入式系統的低功耗要求,采用位線分割結構和存儲陣列分塊譯碼結構,完成了 低功耗模塊的設計。 與一般布局的存儲器相比,采用這兩種技術使存儲器的功耗降低了43% ,而面積僅增加了18%。
        關鍵詞:存儲器;;位線分割;分塊譯碼

        嵌入式存儲器的容量及其在系統芯片中所占的面積越來越大,對其操作所帶來的動態功耗成為系統芯片功耗中重要的組成部分,因此,必須尋求有效的低功耗設計技術,以降低嵌入式存儲器對整個系統的影響。為了降低存儲器的功耗,人們采用了字線分割、分級字線譯碼以及字線脈沖產生等技術,大大降低了存儲器的動態功耗。 另外一種能有效降低存儲器動態功耗的技術就是位線分割()。 針對系統要求,筆者采用結構以及一種存儲陣列分塊譯碼結構,完成了 嵌入式存儲器模塊的設計。

        參數的修正與公式的重新推導

        結構的原理
          
        DBL結構就是通過將兩個或者多個存儲單元進行合并,以減少連接到位線上的晶體管數目,從而減小位線電容,達到降低存儲器動態功耗的目的。 圖1w給出了將4個SRAM單元連接在一起并通過傳輸管連接到位線上的電路示意圖。 與一般布局的位線結構相比,圖1w所示的DBL結構中連接到位線上的傳輸管數目減少了3 /4。

        DBL結構有兩個關鍵:第1,確定存儲陣列行數N 與合并的單元個數M 之間的最優關系。 所謂最優是指合并后存儲器的動態功耗最小。 對于這個關系,文獻[ 1 ]中給出了相應的公式:
        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)是在下述假設下得出的:在SRAM中,位線的電容主要是由存儲單元中傳輸晶體管的漏極電容和位線的金屬連線電容構成,并且金屬線的寄生電容是與位線相連管子漏極總電容C的10% ,則圖2中寄生電容C1 和C2 可表示為
        C1 = C M /N  ,  C2 = C /M + 0.1C 。


        然而,上述假設并沒有真正反映位線電容的構成,因為位線電容的組成包括存儲單元中傳輸晶體管的源/漏電容CBS ,位線間的耦合電容CBB ,位線與橫向字線之間的耦合電容CWW ,位線與地線的耦合電容CBSS ,位線與電源線的耦合電容CBDD ,位線的金屬連線電容CW 等。 隨著深亞微米技術的發展,在位線總電容中,傳輸晶體管的源/ 漏電容CBS 所占的比例只有60% ~ 70% ,其他的電容分量共占30% ~40%,在這種情況下公式設計電路會帶來較大的誤差。 另外,對C1 的舍入過大,由此也引入了很大的誤差,必須進行修正。 筆者對公式的重新推導如下。

        假設存儲陣列的行數為N, DBL 結構中合并的存儲單元數為M,一般布局結構(N 行) 中, 與位線相連的所有傳輸管漏極的總電容為C,并假定位線上其他的寄生電容是此漏極總電容的30% , 則圖2中電容C1 和C2 可表示為
        C1 = C (1.3M + 1) /N  ,  C2 = (C /M ) + 0.3C 。

        假設讀寫操作時子位線不進行預充電,并且其電壓值能夠達到電源電壓,用ΔV 表示位線上電壓的擺幅,那么,圖2中DBL存儲器的動態功耗可表示為

        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)

        根據標準存儲單元的功耗表達式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)
          如果存儲陣列的行數N = 1 024,位線電壓變化率ΔV /V = 011,則Mop t ≈ 6, pnor ≈ 01。 但是如果按照公式(1) , (2) 計算,則Mop t ≈ 8, pnor ≈ 0140,后面的設計均基于修正后的公式(5) , (6)。

        管子寬長比的選擇
        在6管存儲單元中,為了完成正常的讀寫操作,各個管子的寬長比必須滿足一定的約束條件,這種約束條件通常用上拉比PR 和單元比CR 來刻畫。 對于圖3@ 所示的存儲單元,有CR = (WN 2 / LN 2 ) / (WN 4 /LN 4 ) PR = (WP1 / LP1 ) / (WN 3 /LN 3 ) 。 為了完成正常的讀出操作,不發生“讀翻轉”,要求CR 大于1.8 (VDD = 3.3V, Vt = 0.5V) [ 7 ] ,因此N2 比 N4 有更好的導通性。 為了完成正常的寫入操作, 要求PR 小于1 (VDD = 3.3V, Vtp = 0.5V 和μPN =0.5) ,也就是說, N3 應該比P1 有更好的導通性。 在DBL結構中,如果存儲單元中各個管子的W /L 與 一般結構中的相同,顯然,由于N4 和N6 (N3 和N5 ) 的串聯等效關系,使得CR 的條件更容易滿足,而PR 的條件更不容易滿足,從而使寫入操作變得更加困難。 因此, 為了完成正常的讀寫操作, 應合理確定管子N4 和N6 (N3 和N5 ) 的寬長比。N4 和N6 寬長比的選擇,可以通過將N4 和N6 (N3 和N5 ) 近似成串聯電阻來估算,如圖3w 所示。 為了方便分析,假設N4 和N6 的結構相同。 顯然,為了保持原先存儲單元正常的讀寫功能,應該將N4 和N6 的寬長比都加倍,而其他管子的寬長比保持不變。


        分塊譯碼的DBL 結構


        通過前面的分析可以看出,對于位線很長的存儲陣列,通過采用DBL技術,選取合理的M 值,動態功耗會有所減小。 然而,以上的分析并沒有考慮不同尺寸的管子以及不同的版圖布局風格等因素的影響。 另外,在DBL結構中,由于還附加了其他的控制邏輯電路,其本身也有功耗,因此,實際功耗并不能完全按照公式(5)計算。為了進一步降低存儲器的功耗,筆者在DBL結構的基礎上,設計了存儲陣列的分塊譯碼結構。首先,為了使版圖形狀滿足要求,將64 SRAM劃分成8個8kb的子陣列,并利用地址信號A1 , A2 , A3 譯碼后對8個8kb子陣列進行選擇。 這不僅滿足了版圖的布局要求,也降低了存儲器的功耗,整個布局如圖4v所示。分塊譯碼的DBL結構主要是針對每個8kb的存儲子陣列設計的,如圖4w所示,每個8kb的子陣列由左右兩個存儲陣列模塊構成。 其工作原理為:利用列地址線A0 和A0 控制行譯碼器的輸出,使得在任何讀寫周期,左右兩個存儲陣列只有一個被選中,這樣整個64kb的SRAM就有1 /16子陣列處于活動狀態,從而減小了由于字線充放電引起的動態功耗。

        圖4w中,控制邏輯的具體結構如圖4x 所示,子陣列sub DBLmemroy arrayi ( i = 0~7)的結構如圖4y所示,每個子陣列有512行,即N =512,根據公式(6) ,合并后的存儲單元數M =4



        按照分塊譯碼的DBL結構,采用chartered 0.35μm雙層多晶三層鋁布線的n阱CMOS工藝,完成了嵌入式64kb SRAM模塊的設計,版圖面積1。 4mm 4. 7mm (一般結構的版圖面積1.3mm 4. 3mm)。 Starsim仿真結果表明,采用分塊譯碼DBL結構的存儲器的平均電流約為37mA,一般結構存儲器的平均電流約為65mA。

        結束語

        以上討論了嵌入式64kb SRAM的低功耗設計,通過采用DBL結構以及存儲陣列分塊譯碼結構,使得存儲器的功耗降低了43%,而面積僅增加了18%。 仿真結果表明兩者的最小訪問周期都約為15 ns。 因此,根據A T2 P (A 是面積, T是訪問周期, P是功耗)來衡量,這種低功耗設計方法是可行的。隨著嵌入式存儲器容量的加大以及深亞微米技術的發展,亞閾值漏電流所造成的靜態功耗已經不可忽略,尋求有效的低功耗設計技術仍然是值得探討的課題。


        關鍵詞: SRAM DBL 64 kb

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 江达县| 精河县| 台州市| 达日县| 荥阳市| 平安县| 肇庆市| 区。| 泽库县| 辽阳市| 沛县| 鹿邑县| 原阳县| 罗源县| 遂昌县| 朝阳市| 新晃| 宜州市| 新沂市| 南和县| 长白| 遵义市| 固阳县| 宜州市| 敦化市| 漾濞| 虞城县| 观塘区| 芜湖县| 合水县| 奈曼旗| 五河县| 内江市| 哈巴河县| 沭阳县| 莱芜市| 永寿县| 南郑县| 卓资县| 栾城县| 石家庄市|