在傳統的大規模ASIC和SoC設計中,晶片的實體空間大致可分為用于新的定制邏輯、用于可再使用邏輯(第三方IP或傳統的內部IP)以及用于嵌入式存儲器三部份。
當各家廠商為晶片產品的市場差異化(用于802.11n的無線DSP+RF、藍牙和其他新興無線標準)持續開發專有的自定義模組,第三方IP(USB核心、乙太網路核心以及CPU/微控制器核心)占用的晶片空間幾乎一成未變,嵌入式存儲器所占比例卻顯著上升(參見圖1)。
圖1:目前的ASIC和SoC設計中,嵌入式存儲器在可用晶片的總空間中所占比例逐漸升高
Semico Research 2013年發布的資料顯示,大多數SoC和ASIC設計中,各式嵌入式存儲器占用的晶片空間已超過50%。此外,許多大規模SoC嵌入式存儲器的使用目的和主要性能也各不相同,如圖2所示。
圖2:多核心SoC的各種嵌入式存儲器IP
由于可以根據設計目的,透過采用正確的SoC存儲器類型來最佳化設計,因此,對于設計者來說,利用各種存儲器IP具有非常重要的意義。設計者可透過恰當分配各種存儲器IP所占比例,實現速度、功耗、空間(密度)以及非揮發性等各種性能參數的最佳化。
嵌入式存儲器的主要設計標準
各種應用設計中,最佳存儲器IP的確定主要基于以下5個驅動因素,如圖3所示,包括功率、速度、可靠性/良率、密度,以及成本。
圖3:確定存儲器IP的主要因素
透過針對上述各種性能決定要素進行權衡,可得到最佳化解決方案。許多情況下,存儲器編譯器可根據輸入存儲器設計產生制程中的各種驅動因素,自動產生性能經最佳化的特定存儲器IP。同樣重要的是,存儲器IP的支持性架構應適用可靠的驗證方法,且產生的IP良率最高。最后,為了實現產量與品質最最佳化,存儲器編譯器還應直接產生GDSII,無需人工干預或調整。其他要素還包括良好的設計余量控制、對自動化測試圖形向量產生和內建自測試(BIST)的支持。此外,最好具備通過BIST的單步執行進行硅片除錯的功能。
功率 強大的編譯器加上先進的電路設計,可大幅降低動態功耗(CV2f),并可透過利用多晶片組、先進的計時方法、偏置方法、電晶體Leff特徵控制以及多重供應電壓(VT)最佳化等技術大幅地降低泄漏功率。設計者可整合運用這些存儲器技術,透過電壓和頻率的調整以及多電源域的利用,得到最理想的結果。
速度 為了實現最佳化的存儲器性能,充分利用先進設計技術至關重要。設計者可利用存儲器編譯器對速度(例如存取時間或循環時間)、空間、動態功耗以及靜態功耗(泄漏功率)等因素進行權衡,得到所需要的最佳組合。在透過多種VT技術、多晶片組以及多種儲存單元等的合成選用,改進存儲器塊的同時,輔以節能設計技術,同樣可以獲得較高速度。
可靠性與良率 電晶體體積和能耗的大幅下降,雖然使噪音容限明顯減少,但也對極深次微米晶片的可靠性帶來了影響。因此,為提高良率,改善執行的可靠性,需采用ECC和冗余技術。
由于現在SoC的位元數已十分龐大,因此,嵌入式存儲器便成為決定SoC良率的最重要因素。在提高存儲器良率方面,由于可減少量產時間,控制測試與修復成本,因此專有測試與修復資源具有重要作用。采用一次可程式儲存技術制造的存儲器IP,在晶片制造完成后,產生儲存資訊失效時,其內建自修復功能便可對存儲器陣列進行修復。理想情況下,為在生產測試過程中,快速進行修復編程,存儲器編譯器的修復功能必須與晶片測試工具緊密整合。
對于設計者來說極其重要的是,可根據需要選擇由晶圓代工企業制造位單元,或者進行自我設計。當需要進行客制設計時,與理解客制設計且可為各制程節點提供硅片數據的嵌入式存儲器供應商進行合作,具有極大的幫助作用。有了先進的設計技術,即使不需要額外的光罩和制程修正,亦可大幅地提高良率和可靠性。
密度 在存儲器IP的選擇上一個重要的考慮因素是,能否為各制程節點選擇不同的存儲器密度。先進的存儲器編譯器允許設計者在密度與速度之間進行權衡,比如,是選擇高密度(HD)位單元還是選擇高電流位單元。
設計者還可借助靈活的列多工等功能,通過控制存儲器占用形狀(可變寬度、可變高度,或正方形),最佳化SoC布局規劃,進而大幅地減少存儲器對晶片整體大小的影響。部份存儲器編譯器還支持sub-words(位和位元組可寫)、功率網格產生等功能,可大幅地最佳化功率輸出。此外,靈活的埠分配(一個埠用于讀或寫,第二個埠用于讀和寫)亦可節省SRAM、CAM和暫存器文件的占用空間。
兩種嵌入式存儲器IP架構的密度關系如圖4所示。與6電晶體(6T)位單元相較,位容量一定時,單電晶體(1T)位單元最多可減少50%的晶片空間。在設計中,對速度要求較低而密度要求較高時,1T 式架構是較為理想的選擇。由于可采用批量CMOS制程,省卻了額外的光罩環節,因而有益于成本壓縮。在高速應用方面,設計者可采用6T甚至8T位單元來滿足其速度要求。
圖4:存儲器密度與不同嵌入式存儲器IP架構的關系
成本 對于SoC/ASIC來說,為了大幅壓縮成本,與次優IP(常是免費IP)相較,設計者更喜歡選擇‘節省空間’的IP參數。盡管有許多存儲器IP參數可供設計者免費選用,但在產品的整體收益性上,卻并不見得是最經濟的解決方案。在很多情況下,與‘免費’存儲器IP相較,透過改善的嵌入式存儲器IP密度與性能來壓縮制造成本,效果更為顯著。
在產品的整個生命周期中,存儲器體積最佳化對量產成本的影響如表1所示。在表1中,存儲器IP占用的晶片空間以百分比表示。可透過晶片成本、量產效率以及產品壽命,計算高密度存儲器的成本壓縮效果。節省的IP空間根據圖4可看出,1T和6T 存儲器的密度增量比值約為2:1。
表1:高密度IP與成本節約
嵌入式存儲器IP選用指南
為了了解存儲器設計中的選擇要件,可針對具有最先進功能的付費嵌入式存儲器類型加以歸納:
單埠(6T)和雙埠(8T)SRAM IP 由于這類存儲器架構大多適用于主流CMOS制造制程,無需額外的制程,因此基于傳統6T儲存單元的靜態RAM存儲器模組正成為ASIC/SoC制造中的主流。6T儲存單元采用經驗證適用于晶圓代工廠生產的高速、低功耗設計6T/8T位單元,是大規模編程或數據存儲器模組的理想元件。6T儲存單元適用于儲存能力從幾位元到幾兆位元的儲存陣列。
根據設計者采用針對高性能還是針對低功耗最佳化的CMOS制程,采用此種結構的儲存陣列經過設計后,可滿足多種不同的性能需求。經高性能CMOS制程制造的SRAM,在功耗降低的同時,可讓40nm和28nm等先進制程節點的存取時間可降低到1ns以下。隨著制程節點的進展,外形尺寸的微縮,采用傳統6T儲存單元建構的靜態RAM單元尺寸更小,存取時也間更短。
SRAM存儲器單元的靜態特性使其可保留最小數目的支持電路,只需要對位址進行解碼,并為解碼器、感測和計時電路的設計提供訊號即可。
單埠(6T)和雙埠(8T)暫存器IP 對于快速處理器緩沖存儲器和較小的存儲器緩沖(最高約每個巨集72Kbit)來說,這類暫存器存儲器組合IP是個不錯的選擇。暫存器同時具備占用空間最小、性能最快等特點。
單層可編程ROM IP 這種結構功耗和速度均相對較低,特別適用于空間有限的儲存、固定數據的儲存或體積穩步遞增的應用程式儲存。這類IP可支持多晶片組和不同長寬比,既縮小了晶片體積,又獲得了最佳速度。為加速設計周期,部份IP還提供用以驅動存儲器編譯器的編程腳本語言。
內容尋址存儲器IP 由于速度更快、能耗更低,以及較執行大量搜尋任務的應用程式演算法占用晶片空間更小,這類IP大多作為TCAM(三進制)或BCAM(二進制)IP,用于搜尋引擎類應用程式。在一般情況下,搜尋可在單一時脈周期內完成。TCAM和BCAM常用于封包轉發、乙太網路位址過濾、路由查詢、韌體搜尋、主機ID搜尋、存儲器去耦合、目錄壓縮、封包分類以及多工高速緩沖存儲器控制器等。
單電晶體SRAM 這種結構雖然速度有所降低,但密度極高,適用于180nm、160nm、152nm、130nm、110nm、90nm以及65nm制程。尤其適用于需要大量晶片儲存空間、但不需要極高的存取速度的ASIC/SoC程式,以及空間有限且存儲器模組存在泄漏電流的設計。該結構可產生與SRAM工作塬理相似的存儲器陣列,但其基礎為單電晶體/單電容器(1T)儲存單元(如動態RAM所用)。
由于采用了6T儲存陣列,因此在相同的晶片空間上,單電晶體SRAM陣列的儲存能力更強,但必須在系統控制器和邏輯層面了解存儲器的動態特性,并在刷新控制方面發揮積極作用。在某些情況下,為了使其看起來像簡單易用的SRAM陣列,也可能對DRAM及其自身控制器進行整合。透過高密度1T巨集模組與某些提供刷新訊號的支持邏輯整合,可使存儲器單元的動態特性透明化,設計者可在實施ASIC和SoC解決方案時,將存儲器模組視為靜態RAM。
1T SRAM是一種可授權IP,能從晶圓代工廠獲得。但是,由于某些此類IP需要額外光罩層(除標準CMOS層外),增加了晶圓成本,因而限制晶圓代工廠的可選制造空間。為了使額外的晶圓加工成本物有所值,晶片上采用的總DRAM陣列大小,通常必須大于50%的晶片空間。大部份可用DRAM巨集均為硬巨集單元,大小、長寬比以及介面的可選空間有限。
有一種單電晶體SRAM的特殊變體,采用了可通過標準CMOS制程的架構,因此,它不但不必需修改光罩,也無需額外的制程步驟。此類IP巨集模組具有更高的成本效益(制程成本可節省15-20%),而且可在任何晶圓廠進行加工,也可出于成本或生產能力等塬因,改變制造廠。這種解決方案提供了多種尺寸、長寬比和介面,可逐一指定相應的存儲器編譯器。對于系統的其余部份來說,產生的存儲器模組介面看起來就像靜態RAM,但其密度(位元/單元空間)是基于6T儲存單元的存儲器陣列的2倍(經過對作為空間運算一部份的全部支持電路的平均)。對于大型存儲器陣列來說,支持電路所需的空間占百分比較小,存儲器模組的空間利用率也更高。
存儲器編譯器工具 嵌入式存儲器編譯器的職責在于因應特定存儲器應用程式的確切需求,量身定做基本的IP存儲器巨集單元。若適用範圍足夠廣,編譯器可讓設計者選擇最優架構,自動產生存儲器陣列,并精確確定最佳化程式所需的速度、密度、功率、成本、可靠性與大小等因素。透過編譯器的自動化作業,可降低非經常性工程成本,并可減少手動陣列最佳化相關的潛在錯誤。編譯器不但可使客戶的核心大小、介面以及長寬比均達到最理想數值,而且還可幫助他們大幅地縮短上市時間。作為編譯制程的一部份,編譯器還可為設計者提供存儲器陣列的電氣、實體、模擬(Verilog)、BIST/DFT模型以及合成視圖。
表2:嵌入式存儲器IP的商業案例
結論
為新的ASIC/SOC選擇最佳嵌入式存儲器IP是設計決策的關鍵。設計者應了解適用于其特定應用程式的最佳存儲器特性及其所有關鍵參數,所尋找的存儲器 IP應具有足夠的適應性,可滿足目標SoC的各種需求。盡管有現成的免費存儲器IP可供使用,但與可為特定應用程式提供更好特性的付費IP相較,它并不見得總能提供最佳解決方案。
經過充分除錯的存儲器IP具有體積小、泄漏功率低、動態能耗低、速度快等特點,可為設計者的解決方案進一步最佳化,不但可在產品的整個壽命周期內,帶來上百萬美元的營收,同時也使其晶片在競爭激烈的ASIC/SOC市場上,得到更好的差異化。
評論