热门问题
时间线
聊天
视角
標準單元
来自维基百科,自由的百科全书
Remove ads
在半導體設計中,標準單元方法(standard-cell methodology)是指一種特定應用積體電路(ANSI)的設計方法。標準單元方法屬於設計抽象的實例:將低級的超大規模集成電路版圖通過邏輯綜合封裝為抽象的邏輯表示(例如NAND)。

一個標準單元是指一系列由晶體管和連線結構組成的具有布爾邏輯功能或者觸發功能的數字單元。
基於單元的方法使得設計者可以專注於數字設計的高級(邏輯功能)方面,而另一個設計者則專注於實現(物理)方面。隨着半導體器件製造的進步,標準單元方法幫助設計師將ASIC從相對簡單的單功能IC(數千門級)擴展到複雜的數百萬門級的片上系統(SoC)設備。
構成
標準單元是一組晶體管和互連結構,提供布爾邏輯功能(例如AND、OR、XOR、XNOR、反相器)或存儲功能(觸發器或鎖存器)。[1]最簡單的單元是基本的NAND、NOR、XOR布爾函數的直接表示,儘管通常也使用複雜得多的單元(例如2位加法器或帶多路復用的D輸入觸發器)。單元的布爾邏輯功能稱為其邏輯視圖:組合邏輯的功能行為以真值表或布爾代數方程表示;時序邏輯以狀態轉移表表示。
通常,標準單元的初始設計在晶體管級別進行,以晶體管網表或原理圖(schematic)視圖的形式存在。網表是對晶體管、它們之間連接以及對外端口(引腳)的節點描述。可用多種計算機輔助設計(CAD)或電子設計自動化(EDA)程序通過圖形用戶界面生成該網表。設計者使用諸如SPICE的CAD程序對網表進行電學行為仿真,給出輸入激勵(電壓或電流波形),計算電路的時域(模擬)響應。仿真用於驗證網表是否實現了預期功能,並預測功耗或信號傳播延遲等相關參數。
由於邏輯視圖和網表視圖僅對抽象(代數)仿真有用,而不用於器件製造,因此必須設計標準單元的物理表示,也稱為版圖視圖,這是常見設計實踐中最低級別的設計抽象。從製造角度看,標準單元的VLSI版圖是最重要的視圖,因為它最接近標準單元的實際「製造藍圖」。版圖按基底層(base layers)組織,基底層對應晶體管器件的不同結構;並有互連布線層(interconnect wiring layers)和通孔層(via layers),用於連接晶體管結構的端口。[1]互連布線層通常編號,並具有特定的通孔層表示每一相鄰層之間的特定連接。布局中還可能存在用於設計自動化的非製造層,但許多專門供放置與布線(PNR)CAD程序使用的層通常包含在一個單獨但類似的抽象視圖中。抽象視圖的信息通常遠少於完整版圖,常以庫交換格式(LEF)文件或等價格式表示。
在創建版圖之後,通常使用額外的CAD工具執行若干常見驗證。進行設計規則檢查(Design rule check,DRC)以驗證設計是否滿足代工廠和其他版圖要求。然後執行寄生提取(parasitic extraction,PEX),從版圖生成具有寄生屬性的PEX-網表。接着通過電路佈局驗證(layout vs schematic,LVS)程序將該網表的節點連接與原理圖網表進行比較,以驗證連通性模型是否等價。[2]
由於PEX網表包含寄生屬性,因此可以對其再次進行仿真以獲得更精確的時序、功耗和噪聲模型。這些模型通常以Synopsys Liberty格式進行表徵(characterized),但也可使用其他Verilog相關格式。
最後,放置與布線(place and route,PNR)工具可用於將所有內容整合,並從更高級別的設計網表與芯片平面自動生成(綜合)VLSI版圖。
此外,還可使用若干其它CAD工具驗證單元視圖和模型的其它方面,並產生支持各種工具使用標準單元的多種其它文件。為支持所有這些標準單元變體而創建的所有文件統稱為標準單元庫(standard-cell library)。
對於典型的布爾函數,存在許多功能等價的晶體管網表。同樣,對於典型網表,也存在許多符合網表性能參數的不同版圖。設計者的挑戰是儘量降低標準單元版圖的製造成本(通常通過最小化電路的芯片面積),同時滿足單元的速度和功耗性能要求。因此,儘管存在輔助的設計工具,集成電路版圖仍然是一項勞動密集型的工作。
Remove ads
庫
標準單元庫是低級電子邏輯代數功能(如與、或、非、觸發器、鎖存器和緩衝器等)的集合。這些單元實現為定高、可變寬的全定製單元。該類庫的關鍵特徵是單元具有固定高度,使其能按行放置,從而簡化自動化數字版圖的過程。單元通常為經過優化的全定製版圖,以最小化延遲和面積。
典型的標準單元庫包含兩個主要組成部分:
- 庫數據庫:包含若干視圖,通常包括版圖、原理圖、符號、抽象和其它邏輯或仿真視圖。從這些視圖可捕獲多種格式的信息,包括Cadence LEF格式和Synopsys Milkyway格式,它們包含關於單元版圖的簡化信息,足以供自動化放置與布線工具使用。
- 時序抽象 :通常為Liberty(EDA)格式,提供每個單元的功能定義、時序、功耗和噪聲信息。
標準單元庫還可能包含下列附加組件:[3]
- 單元的完整版圖
- 單元的SPICE器件模型
- Verilog模型或VHDL-VITAL模型
- 寄生提取模型
- 設計規則檢查規則集
例如,一個簡單的XOR邏輯門可以由OR、NOT與AND門構成。
Remove ads
應用
標準單元通常可以應用在數字電路設計中的綜合和布局布線階段。
嚴格來說,2輸入的NAND或NOR功能足以構成任意布爾函數集合。但在現代ASIC設計中,標準單元方法通常配合較大的單元庫(或多庫)使用。庫通常包含同一邏輯函數的多個實現,面積與速度各不相同。[3]這種多樣性可提升自動綜合、放置與布線(SPR)工具的效率;並間接賦予設計者在實現權衡(面積 vs. 速度 vs. 功耗)上更大的自由。完整的一組標準單元描述通常稱為工藝庫(technology library)。[3]
商業化的電子設計自動化(EDA)工具使用工藝庫來自動執行數字ASIC的綜合、放置與布線。工藝庫由代工廠運營商(foundry operator)開發和分發。該庫(以及一種設計網表格式)是各階段SPR流程之間交換設計信息的基礎。
利用工藝庫中單元的邏輯視圖,邏輯綜合工具將ASIC的寄存器傳輸級(RTL)描述數學地轉換為與工藝相關的網表。此過程類似於軟件編譯器將高級C程序轉換為與處理器相關的匯編語言。
網表是ASIC設計的標準單元表示(邏輯視圖級)。它由標準單元庫門的實例及門之間的端口連通性構成。適當的綜合技術可確保綜合得到的網表與原始RTL描述在數學上等價。網表中不應包含未映射的RTL語句或聲明。
放置(placement)工具啟動ASIC的物理實現。在ASIC設計者提供的二維芯片平面(floorplan)基礎上,放置器為網表中的每個門分配位置。生成的「已放置門」網表包含網表中每個標準單元的物理位置,但仍保留門端口之間布線的抽象描述。
通常標準單元在至少一個維度上具有恆定尺寸,使它們可以在集成電路上排列成行。芯片由大量行組成(每行旁邊為電源和地軌),每行填充構成實際設計的各種單元。放置工具遵守若干規則:每個門被分配唯一(獨占)的芯片位置;一個門只能放置一次,且不得占用或與其它門重疊。
布線
在使用布局級網表和單元級庫版圖,布線工具可以增加信號連接線和電源線。完全布線後的物理網表包含綜合階段的門清單、放置階段每個門的位置以及布線階段繪製的互連。
設計規則檢查(Design rule check,DRC)和電路佈局驗證(layout versus schematic,LVS)都是驗證流程。[2] 在現代深亞微米工藝(0.13 μm及以下)下,可靠的器件製造要求嚴格遵守晶體管間距、金屬層厚度和功率密度等規則。DRC將物理網表與代工廠提供的一組「代工廠設計規則」進行逐條比較,並標記任何觀測到的違例項。
LVS流程確認版圖與對應的原理圖結構相同;這通常是版圖流程的最後一步。[2]LVS工具以原理圖和版圖提取視圖為輸入,分別從兩者生成網表並進行比較。比較內容包括節點、端口和器件尺寸等。如果一致,則LVS通過,設計者可繼續後續工作。LVS通常將晶體管指(finger)視為加寬晶體管等價。因此,4個並聯的1 μm寬晶體管、一個4指1 μm的晶體管,或一個4 μm寬的晶體管,在LVS工具看來均相同。.lib文件的功能性將從SPICE模型中獲取並作為屬性添加到.lib文件中。 在半導體設計中,標準單元須滿足DRC和LVS合規性。這種合規性顯著提高了設計流程的效率,縮短了設計者的周轉時間。通過確保這些單元滿足關鍵的驗證標準,設計者能夠更順利、更快速地將這些組件集成到更大的芯片設計中。
Remove ads
其它方法
「標準單元」屬於更一般的稱為基於單元設計(cell-based design)的設計自動化流程類。結構化ASIC(Structured ASICs)、現場可編程邏輯門陣列與複雜可程式化邏輯裝置(CPLD)是基於單元設計的變體。從設計者角度來看,三者具有相同的前端輸入:設計的RTL描述。然而,這三種技術在SPR流程(綜合、放置與布線)和物理實現的細節上有顯著差異。
複雜度度量
對於數字標準單元設計(例如在CMOS中),一種常見的與工藝無關的複雜度度量是門等效(gate equivalents,GE)。
參考資料
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads
