晶片PM該知道的IC術語(三)設計用庫
庫的基本概念
設計中使用的庫檔案
庫型別 | 流程位置 | 格式 | 內容 | 設計中用途 | 說明 |
---|---|---|---|---|---|
logic lib邏輯單元庫 | target_library,在elaborate時使用 | .db | 描述單元名,埠名,面積,時延弧,埠負載;最大翻轉時間限制,指定工作條件,特定工藝線載模型 | 確定引用的單元,實現設計功能,計算、檢查時序值和路徑是否滿足條件,計算功耗 | NLDM、CCS(複雜、真實、耗時) |
引用庫 | link_library連結庫,在link時使用 | .db | 除了logic library,還包括編譯的RTL模組單元、儲存單元、IO等。 | – | – |
符號庫 | symbol lib圖形符號庫 | .sdb | 模組的符號表示 | – | – |
IP庫 | synthetic lib綜合庫 | .sldb | DesignWare的可重用IP庫 | 對運算子號轉換成特定的庫 | – |
物理庫 | Milkyway設計庫 | 用於dc拓撲模式 | 生成包含物理資訊的網表 | Milkyway設計庫(設計資料) | 由參考庫、工藝庫建立 |
物理庫 | Milkyway物理庫(物理資料) | – | 以CEL、FRAM示圖表示標準單元和巨集,擺放單元片的引數 | 用於佈局 | Milkyway參考庫 |
物理庫 | Milkyway物理庫(物理資料) | .tf | 工藝引數 | 用於佈線 | milkyway工藝庫 |
設計庫 | design lib本次工作區 | – | – | – | – |
中間庫 | analysis lib目標庫的中間庫 | .alib | 感知target library特徵的中間庫 | – | – |
注1:milkyway參考庫,即Milkway Reference DB(包含有CEL和FRAM等資訊,還有wire load models)
注2:TLU PLUS並不是庫檔案。TLUPlus檔案包含電阻和電容查詢表以及超深亞微米(UDSM)工藝效應模型。如果TLUPlus檔案可用或在後端流程中使用,建議您在DC拓撲模式下將其用於RC估算。TLUPlus檔案提供了更精確的電容和電阻資料,從而提高了與後端結果的相關性。tech2itf的mapping file(.map,主要是把TF檔案轉換成Interconnect Technology File的對映檔案,其中,ITF檔案由代工廠提供,這個檔案可以自己根據TF和ITF檔案的內容對應著寫一下),從而與TLU PLUS檔案建立對映關係。
注3:可以特徵化地描述(或分析)目標邏輯庫並建立名為Alib的偽邏輯,它具有從布林函式電路到目標庫的實際門的對映。設計編譯器在編譯期間讀取Alib檔案。Alib檔案為Design編譯器提供了更大的靈活性和更大的解決方案空間,以便在優化過程中探索區域和延遲之間的權衡。必須使用compile_ultra命令從Alib庫中獲得好處。庫特徵化發生在編譯的初始階段。由於設計編譯器對每個邏輯庫進行特徵化可能需要5-10分鐘,因此建議在安裝Design Compiler時生成Alib檔案,並將其儲存在單個儲存庫中,以便多個使用者可以共享該庫。在設計編譯器(標準模式和拓撲模式)中使用.alib檔案進行對映,以及流程中邏輯閘的組成和分解。但在ICC中不使用.alib檔案。
邏輯單元庫時序模型
時序模型由驅動模型、網路模型和接收機模型組成。驅動模型和接收機模型通常用電路模擬器來描述,而網路模型要麼是估計(線負載、曼哈頓或星型拓撲),要麼是使用金屬、通孔和觸點等工藝引數從版圖中提取。
NLDM 非線性延遲模型
Non-Linear Delay Model
NLDM驅動程式模型描述了輸入輸出延遲和輸出轉換時間,並對輸入轉換時間、輸出負載和側輸入狀態敏感。這些特性是通過具有適當激勵的電路模擬器來獲得的,可以引起輸出轉換。
特徵化軟體測量和捕獲3個點的有效輸入和主動輸出。這三個點稱為延遲和過渡時間閾值。輸入延遲閾值與輸出延遲閾值之差被建模為信元延遲,輸出埠上的高低轉換時間之差被建模為輸出轉換時間。延遲和轉換時間這兩個引數被用來綜合nldm驅動器模型。
NLDM接收機模型是一個簡單的單電容的整個過渡過程,沒有靈敏度。
NLDM模型的不足之處之一是,在靜態時序分析過程中,NLDM僅捕獲3個輸出點,不足以反映綜合驅動模型中低幾何構型(65 nm及以下)電路的非線性。這種不足的典型情況是,當驅動電阻的數量級小於網路的阻抗時(rd<<znet),對驅動模型的粒度提出了更高的要求。而CCS時序模型消除了這種綜合的需要,因此能夠獲得比NLDM更高的精度。
NLDM的另一個重要缺點是接收機模型,NLDM接收機模型不能捕獲Miller效應。對於非常小的阻抗網路,這種效應決定了STA的延遲計算。
CCS 複合電流源模型
Composite Current Source
CCS驅動模型的特點是捕獲流入單元負載電容的電流波形。CCS驅動模型對輸入轉換時間、輸出負載和側輸入狀態也具有敏感性。CCS驅動模型本質上是一個具有無窮大驅動電阻的電流源,因此它在網路阻抗很高的情況下提供了更好的精度。
注意,CCS時序模型不需要綜合驅動器模型,捕獲的電流波形就是驅動器模型本身。
CCS接收機模型與NLDM接收機模型非常相似,具有附加粒度,能夠反映米勒電容、側輸入狀態、輸入過渡時間和輸出負載等靈敏度。
為了準確地反映米勒電容對輸入電容和網路延遲的影響,將其分為C1和C2兩個部分。對於STA延遲計算,C1用於接收波形到達延遲閾值前的網路延遲計算,C2用於接收波形到達延遲閾值後的網路延遲計算。
ECSM 有效電流源模型
Effective Current Source Model
有效電流源模型(ECSM)目的是解決在電壓波動、過程變化和噪聲嚴重的情況下如何精確地建模延遲。它為先進的低功耗設計提供了經過生產驗證的延遲建模,並提高了定時結束的精度。
ECSM標準是可用的最完整的開放庫格式,並對時序、噪音、功率和變化的影響進行了全面的建模。
延遲建模
ECSM時序模型是一種先進的信元驅動模型,它描述了非線性開關波形對基於信元的互連延遲計算和訊號完整性的影響。
通過將單元的輸出驅動器建模為電流源而不是電壓源,電流源可以更有效地跟蹤非線性電晶體開關行為,並允許對當今最大的低功耗納米設計中常見的複雜互連進行高度精確的建模。
ECSM通過將單元的輸出驅動器建模為電流源而不是電壓源來實現精確的延遲計算,從而實現對非線性電晶體行為的精確建模。
當此電流驅動器模型與ECSM的高階接收器模型(包括多片電容模型)相結合時,其精度可達到SPICE的2%以內,適用於:
並行驅動網路;
變電源電壓;
長互連;
米勒效應;
噪聲建模。
在90 nm及以下的工藝節點上,矽中與訊號完整性相關的故障的風險大大增加。利用先進的電壓輸入/電壓輸出關係,噪聲擴充套件使訊號完整性(SI)分析工具能夠對多Vt和多電壓器件混合的複雜場景中耦合電容引入的噪聲累積效應進行建模。
SI擴充套件基於CDB格式,該格式已在1000多個抽頭中得到驗證。
當與電源和定時擴充套件一起使用時,ECSM的噪聲擴充套件將精確測量IR下降和噪聲對延遲的累積影響,以提供更全面的定時和電源登出檢視。
功率建模。
ECSM功率建模支援動態柵極電網分析,它為單個單元提供在任何給定時間從電網中提取的實際電流。
該擴充套件允許在不同的迴轉和負載組合的電網引腳處儲存電流波形。
統計變異模型
需要進行統計分析,以使設計人員能夠更有效地管理製造過程中不斷增加的工藝差異,以及對工藝和環境引數的敏感性,這些引數會影響65納米及以下的電路效能。支援此分析所需資訊的標準化是行業快速採用的關鍵。除了支援65 nm及以下設計工具和方法之間的互操作性外,其目的是建立一種全面的解決方案,以消除設計師支援多種庫格式的需要-這是一項耗時且成本高昂的工作,會在設計過程中引入錯誤,並延遲複雜積體電路(IC)的交付。
區別
CCS和ECSM時序模型都將驅動波形的瞬態行為建模為負載。兩者的主要區別在於CCS是由電流樣本組成的時間函式,ECSM是電壓樣本組成的時間函式。
靜態時序分析引擎的延遲計算器在liberty檔案中查詢NLDM、CCS或ECSM時序模型,在將其用於靜態時序分析之前,對相鄰的點進行插值或外推。CCS驅動器模型捕獲通過負載電容的輸出電流。因此,CCS模型迫使特徵引擎有一個非零電容連線到單元的輸出。ECSM驅動器模型在單元輸出處捕獲電壓波形。ECSM驅動器模型可以捕獲從零負載電容開始的負載靈敏度,而CCS則必須從非零負載電容開始。
NLDM vs CCS vs ECSM
理論上,CCS和ECSM模型的大小都必須大於NLDM。典型的CCS庫大約比NLDM大8-10倍。
原因是NLDM為每個輸入迴轉和輸出負載儲存2個數字(延遲和轉換),ECSM和CCS都需要儲存波形。CCS儲存當前和時間樣本。CCS特性使用自適應演算法,以確保取樣波形提供最精確的電流向量模型。這意味著對於每個波形,電流值和時間值都會被儲存。我們平均能看到10個。
每個波形的取樣。這意味著為每個波形儲存10個電流值和10個時間值,因此總共有20個數字。一個簡單的經驗法則是,CCS對於每個輸入轉換和輸出負載有20個數字,NLDM只儲存2個數字。因此,與舊的NLDM定時模型相比,我們預計新CCS定時模型的大小將增加10倍。
下表顯示了一些示例標準單元庫,以及在新增CCS資料時NLDM(.lib)模型的檔案大小及其相應的檔案大小:
庫 | 工藝 | 單元數量 | NLDM檔案大小 | NLDM+CCS檔案大小 |
---|---|---|---|---|
1 | 90nm | 804 | 19M | 168M |
2 | 90nm | 593 | 35M | 241M |
3 | 65nm | 330 | 4M | 42M |
4 | 65nm | 712 | 28M | 331 |
在65nm以下,普遍使用CCS和ECSM。
CCS vs ECSM
相互轉換。CCS驅動器模型捕獲通過負載電容器的輸出電流,ECSM驅動器模型捕獲電池單元輸出的電壓波形。電流可以由電壓計算,反之亦然,所以很容易看到CCS驅動器模型可以從ECSM驅動器匯出,反之亦然。
然而,轉換有實際的準確性限制。ECSM電壓和CCS電流波形的取樣點要少得多-通常比參考模擬器的輸出少10到100倍。當從電路模擬器的輸出中對這些點進行明智的取樣時,精度損失是有限的。如果由於缺少資料而將取樣的ECSM電壓波形轉換為ccs電流波形(反之亦然),則精度損失可能會很大。
Synopsys提供了詳細的特性描述指南和jumpstart指令碼,以便能夠提取CCS模型並將其寫入Liberty。遵循這些指導原則可確保模型以最少的資料量提供最佳的準確性。
轉換開始時需要的樣本較少,有時會出現米勒故障和過激現象。分割演算法跳過這些故障,因為波形的這一部分不需要精確建模驅動程式。這種毛刺引起的額外延遲自然地被捕獲在通過信元的延遲中,表示為參考時間和輸出訊號的延遲閾值躍遷之間的差。
CCS分割演算法提取電流樣本,自適應地選擇電流,同時保持對應的復活電壓波形與電路模擬器預測的電壓波形的準確性。
CCS和ECSM有一些不同之處。為了計算精度,現代延遲計算引擎使用電流來計算寄生環境中的有效延遲。因此,EDA工具可以直接使用CCS模型中的電流值,而在使用ECSM時,必須從電壓中提取電流,從而導致不準確。此外,準確捕獲波形中的峰值電流對於延遲65 nm及以下的計算精度至關重要。
儲存電壓樣本的ECSM,很難重建一個準確的電流波形。
ECSM和CCS的另一個關鍵區別在於CCS使用的是2段接收機電容模型。CCS有兩個部分,有靈活性,可以建模米勒效應。
從foundry、library和IDM那裡得到的反饋表明CCS在電壓和溫度調節方面具有卓越的精度。通過儲存非線性電流波形,可以在電流域中進行定標,然後利用定標後的電流波形準確地預測時序行為。
CCS還有一個新的擴充套件,我們稱之為“基本曲線技術”。這項技術最近得到了Si2自由技術諮詢委員會的批准。基本曲線技術允許CCS資料在自由式中以更緊湊的形式表示。在不損失任何準確性的情況下,當使用基本曲線技術時,小3倍。