[go: up one dir, main page]

TWI788345B - 設計積體電路的方法及其系統 - Google Patents

設計積體電路的方法及其系統 Download PDF

Info

Publication number
TWI788345B
TWI788345B TW107113892A TW107113892A TWI788345B TW I788345 B TWI788345 B TW I788345B TW 107113892 A TW107113892 A TW 107113892A TW 107113892 A TW107113892 A TW 107113892A TW I788345 B TWI788345 B TW I788345B
Authority
TW
Taiwan
Prior art keywords
wiring
integrated circuit
delay
metal layer
information
Prior art date
Application number
TW107113892A
Other languages
English (en)
Other versions
TW201839641A (zh
Inventor
李鍾馝
朴琫一
金汶洙
許銑益
Original Assignee
南韓商三星電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 南韓商三星電子股份有限公司 filed Critical 南韓商三星電子股份有限公司
Publication of TW201839641A publication Critical patent/TW201839641A/zh
Application granted granted Critical
Publication of TWI788345B publication Critical patent/TWI788345B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Networks Using Active Elements (AREA)

Abstract

本發明提供一種設計積體電路的方法及其系統。所述方法包括:產生配線資料,所述配線資料對應於積體電路中所包含的網,所述配線資料包括與所述網對應的配線的金屬層資訊及所述配線的物理資訊;利用所述配線資料中所包含的所述配線的所述物理資訊來執行時序分析,以產生時序分析資料;以及根據所述時序分析資料來改變所述積體電路的佈局。

Description

設計積體電路的方法及其系統
本發明是有關於一種積體電路,且特別是有關於一種通過時序延遲來設計積體電路的方法及其系統。
可基於標準單元來設計積體電路。具體來說,可通過放置用於界定積體電路的標準單元以及對所放置的標準單元進行路由來產生積體電路的佈局。接著使用路由資料來製作積體電路。
根據示例性實施例的一方面,提供一種設計積體電路的方法,所述方法包括:使用至少一個處理器從放置及路由資料產生配線資料,所述配線資料對應於積體電路中所包含的網,所述配線資料包括與所述網對應的配線的金屬層資訊及所述配線的物理資訊;使用所述至少一個處理器、利用所述配線資料中所包含的所述配線的所述物理資訊來執行時序分析,以產生時序分析資料;以及根據所述時序分析資料來改變所述積體電路的佈局。
根據示例性實施例的另一方面,提供一種設計積體電路的方法,所述方法包括:使用至少一個處理器執行合成運算,以從關於積體電路的輸入資料產生網清單;使用所述至少一個處理器來放置及路由標準單元,以產生佈局資料及配線資料,所述標準單元使用所述網清單來定義所述積體電路;使用所述至少一個處理器從所述佈局資料提取寄生分量;以及使用所述至少一個處理器基於所述佈局資料及所述配線資料、根據時序約束條件來執行所述積體電路的時序分析。
根據示例性實施例的另一方面,提供一種設計積體電路的方法,所述方法包括:使用至少一個處理器從放置及路由資料產生配線資料,所述配線資料包括:積體電路中所包含的一個或多個網;以及對於所述一個或多個網中的每一個網,形成與所述網對應的配線的一個或多個金屬層以及所述一個或多個金屬層中的每一個金屬層上的所述配線的配線長度;使用所述至少一個處理器、基於所述網中所包含的所述一個或多個金屬層的製程變化來執行所述一個或多個網中的每一個網的時序分析,以產生時序分析資料;以及根據所述時序分析資料來改變所述積體電路的佈局。
根據示例性實施例的另一方面,提供一種設計積體電路的方法,所述方法包括:使用至少一個處理器從標準單元的放置及路由資料產生配線資料,所述標準單元界定積體電路,所述配線資料包括與所述積體電路中所包含的網對應的至少一條配線的層資訊及所述至少一條配線的物理資訊;使用所述至少一個處理器通過基於所述配線資料執行對包括所述網的時序路徑的時序分析來產生時序分析資料,其中所述物理資訊包括所述至少一條配線的製程變化。
根據示例性實施例的另一方面,提供一種設計積體電路的方法,所述方法包括:使用至少一個處理器從標準單元的放置及路由資料產生配線資料,所述標準單元界定積體電路,所述配線資料包括與所述積體電路中所包含的網對應的至少一條配線的層資訊及所述至少一條配線的物理資訊;使用所述至少一個處理器從所述放置及路由資料提取寄生分量;使用所述至少一個處理器通過利用所述配線資料中所包含的所述配線的所述物理資訊及所提取的所述寄生分量執行時序分析來產生時序分析資料,其中所述物理資訊包括所述至少一條配線的製程變化。
根據示例性實施例的另一方面,提供一種設計積體電路的系統,所述系統包括:至少一個微處理器及記憶體,所述記憶體儲存代碼,所述代碼由所述至少一個處理器執行以建構多個模組,所述多個模組包括:第一模組,從標準單元的放置及路由資料產生配線資料,所述標準單元界定積體電路,所述配線資料包括與所述積體電路中所包含的網對應的至少一條配線的層資訊及所述至少一條配線的物理資訊;以及時序分析模組,基於所述配線資料執行對包括所述網的時序路徑的時序分析,以產生時序分析資料,其中所述物理資訊包括所述至少一條配線的製程變化。
根據示例性實施例的另一方面,提供一種設計積體電路的系統,所述系統包括:至少一個微處理器及記憶體,所述記憶體儲存代碼,所述代碼由所述至少一個處理器執行以建構多個模組,所述多個模組包括:放置及路由模組,從標準單元的放置及路由資料產生配線資料,所述標準單元界定積體電路,所述配線資料包括與所述積體電路中所包含的網對應的至少一條配線的層資訊及所述至少一條配線的物理資訊;寄生提取模組,從所述放置及路由資料提取寄生分量;以及時序分析模組,利用所述配線資料中所包含的所述配線的所述物理資訊及所提取的所述寄生分量來執行時序分析,以產生時序分析資料,其中所述物理資訊包括所述至少一條配線的製程變化。
隨著半導體裝置被最小化,佈局中所包含的圖案的大小可能逐漸減小,且因此,所設計圖案的大小與由硬體實施的圖案的大小之間的微小差異可能會造成積體電路的良率降低。具體來說,由於與生產線後段製程(back-end-of-line,BEOL)對應的一個或多個金屬層的製程變化,在包括由所述一個或多個金屬層實施的配線的時序路徑中的延遲可增大,且因此,可能會在時序路徑中發生時序約束條件違例(timing constraint violation)。
在下文中,將參照圖式詳細闡述示例性實施例。
圖1是說明根據示例性實施例的積體電路設計方法的流程圖。
參照圖1,作為設計積體電路的佈局的操作,可使用設計積體電路的工具來執行積體電路設計方法。在這種情形中,設計積體電路的工具可為包括由處理器執行的多個指令的程式。處理器可為微處理器或中央處理器(central processing unit,CPU),且可使用一個或多個處理器。因此,所述積體電路設計方法可被稱為設計積體電路的由電腦實施的方法。
在操作S110中,執行合成運算。合成運算將電路的抽象形式處理成硬體實施形式。舉例來說,可使用合成工具通過處理器來執行操作S110。合成工具可通過將關於積體電路的輸入資料轉換成包括邏輯閘的硬體類型來產生網清單。因此,“合成”可被稱為“邏輯合成”。“輸入資料”可為描述積體電路的行為的抽象形式,例如寄存器傳輸級(register transfer level,RTL)代碼中定義的資料。“網清單”可使用標準單元庫由寄存器傳輸級代碼產生,且“網清單”可為閘級(gate level)的網清單。在一些示例性實施例中,可向合成工具提供寄存器傳輸級代碼作為輸入檔案,且可從網清單工具輸出網清單作為輸出檔案。
在操作S120中,可執行放置及路由。也就是說,對界定積體電路的標準單元進行放置及路由(放置及路由(placement & routing,P&R))。舉例來說,可使用增強型放置及路由(P&R)工具通過處理器來執行操作S120。具體來說,可通過根據網清單放置用於界定積體電路的標準單元以及對所放置的標準單元中所包含的網進行路由來產生關於積體電路的佈局。舉例來說,佈局資料可為圖形設計系統(graphic design system,GDS)II格式的資料。在一些示例性實施例中,可向增強型放置及路由(enhanced P&R,EP&R)工具提供網清單作為輸入檔案,且可從放置及路由工具輸出佈局資料作為輸出檔案。
根據一些示例性實施例,在操作S120中,可進一步產生配線資料D10,配線資料D10包括與積體電路的佈局中所包含的網對應的配線的層資訊以及配線的物理資訊。在本文中,“網”可表示積體電路的等效電路圖中的等電位(equipotential),且可對應於積體電路的佈局中的互連。層資訊可表示用於實施網的配線圖案的一個或多個層,即生產線後段製程(BEOL)的層次。物理資訊可表示用於實施網的配線圖案的佈局大小(例如,線長度、線寬度、線面積等),即生產線後段製程的佈局大小。在這種情形中,放置及路由工具的輸出檔案可為佈局資料及配線資料D10。換句話說,可從放置及路由工具將佈局資料與配線資料D10分別作為單獨的輸出檔案進行輸出。然而,本發明概念並非僅限於此,且根據一些示例性實施例,在操作S120中,關於積體電路的佈局資料可包括配線資料。在這種情形中,放置及路由工具的輸出檔案可為佈局資料。
如上所述,“網”的概念可表示積體電路的等效電路圖中的等電位,且可對應於積體電路的佈局中的互連。互連可對應於包括彼此電連接的至少一個通孔與至少一個金屬層的配線結構。在傳統佈局方法中,為每一個金屬層生成配線資料。然而,並不存在如何將配線互連在一起以在佈局中形成各種網的概念。因此,本文所述“與網對應的配線”可包括實際上用於實施所述網的多個通孔及多個金屬層。換句話說,舉例來說,與網對應的配線可包括從第一層上的一個邏輯閘前行、在第一層中穿行且接著穿過通孔行進到第二層、在第二層中穿行且接著穿過另一個通孔返回到第一層以連接到第一層上的另一個邏輯閘的配線。(參見後面闡述的圖3A及圖3B中的另一個實例)。應注意,在一些情況下,網可包括在單個金屬層上穿行以連接邏輯元件的配線。在這種情形中,網可被視為與配線同義。在本文中,“配線”可對應於生產線後段製程,且將被用作包括金屬層及通孔的概念。因此,配線資料D10可為金屬層資料且可為通孔資料。
在一些示例性實施例中,配線資料D10可包括與積體電路的佈局中所包含的網對應的金屬層的層資訊以及金屬層的物理資訊。舉例來說,金屬層的物理資訊可包括金屬層的長度資訊、寬度資訊、空間資訊或遮罩資訊。金屬層的長度資訊可為用於實施網的金屬層圖案的第一方向大小。金屬層的寬度資訊可為用於實施網的金屬層圖案的第二方向大小,且第一方向與第二方向可彼此垂直。金屬層的空間資訊可為與用於實施網的金屬層圖案相同的層的相鄰金屬層圖案之間的距離。金屬層的遮罩資訊可表示是否存在與用於實施網的金屬層圖案相鄰的遮罩圖案。舉例來說,作為與金屬層相同的層的相鄰金屬層,遮罩圖案可為被施加第一電壓(例如,接地電壓)的圖案。
在一些示例性實施例中,配線資料D10可包括與積體電路的佈局中所包含的網對應的通孔的層資訊以及通孔的物理資訊。舉例來說,通孔的物理資訊可包括通孔的類型或通孔的數目。通孔的類型可為例如在製程中使用的雙通孔、單通孔或條通孔(bar via)等各種類型。通孔的數目可表示放置在不同的金屬層中的通孔的數目。作為另一個實例,通孔的物理資訊可包括通孔的長度資訊、周長資訊或寬度資訊。
在操作S130中,提取寄生分量。可從佈局資料提取寄生分量。舉例來說,可由處理器使用增強型寄生提取(parasitic extraction,PEX)工具來執行操作S130。具體來說,可提取佈局資料中所包含的網的例如寄生電阻及寄生電容等寄生分量,且可產生增強型標準寄生提取格式(enhanced standard parasitic extraction format,SPEF)檔案。增強型標準寄生提取格式檔案可為標準寄生提取格式(SPEF)檔案的修改形式。舉例來說,標準寄生提取格式檔案可包括在網中使用的多個金屬層中的每一個金屬層的電阻及電容。舉例來說,標準寄生提取格式檔案可包括在網中使用的多個通孔中的每一個通孔的電阻及電容。換句話說,作為實例,網的寄生電阻及寄生電容可包括以下中的每一個的寄生電阻及寄生電容:在第一層中穿行的配線、從第一層到第二層的通孔、在第二層中穿行的配線及從第二層返回到第一層的通孔。根據本示例性實施例,可向寄生提取工具提供佈局資料作為輸入檔案,且可從放置及路由工具輸出標準寄生提取格式檔案作為輸出檔案。
在操作S140中,執行時序分析。可執行積體電路的時序分析。舉例來說,可由處理器使用增強型靜態時序分析(static timing analysis,STA)工具來執行操作S140。“時序分析”表示判斷積體電路的佈局中所包含的時序路徑是否滿足時序約束條件以及選擇積體電路的時序關鍵路徑的操作。舉例來說,時序關鍵路徑可為其中根據判斷結果從輸入(即,起點)到輸出(即,終點)的總時序延遲超過時序路徑中的時序要求的時序路徑。時序約束條件可包括建立時序約束條件(setup timing constraints)及保持時序約束條件(hold time constraints)。
根據本示例性實施例,在操作S140中,可通過基於配線資料對佈局資料中所包含的時序路徑執行時序分析來產生反映配線的製程變化的時序分析資料。根據一些示例性實施例,可向靜態時序分析工具提供包括配線資料的佈局資料作為輸入檔案,且可從靜態時序分析工具輸出時序分析資料作為輸出檔案。作為另外一種選擇,在其他示例性實施例,可向靜態時序分析工具提供佈局資料及配線資料中的每一個(作為單獨的檔案),且可從靜態時序分析工具輸出時序分析資料作為輸出檔案。
在一些示例性實施例中,所述設計方法可進一步包括根據時序分析資料執行工程變更次序(engineering change orders,ECO)操作。在一些示例性實施例中,設計方法可進一步包括使用時序分析資料執行時鐘樹合成(clock tree synthesis,CTS)的操作。在一些示例性實施例中,設計方法可進一步包括使用時序分析資料執行放置及路由操作優化的操作。在一些示例性實施例中,所述設計方法可進一步包括使用時序分析資料修改放置及路由操作中所包含的金屬路由的操作。舉例來說,基於時序分析資料,可修改一條或多條配線的長度及/或可將配線的金屬層修改成另一個金屬層的配線,以改善配線所對應的網的時序。
圖2示出根據示例性實施例的積體電路100。
參照圖2,積體電路100可包括第一單元110、第二單元120、第三單元130、第四單元140、第五單元150及第六單元160。舉例來說,第二單元120可對應於發射雙穩態觸發器(launch flip-flop),且第三單元130可對應於捕獲雙穩態觸發器(capture flip-flop)。舉例來說,在圖1所示操作S140中,可對積體電路100中所包含的時序路徑執行時序分析。可根據在時序路徑中的延遲來確定積體電路100的運行速度。建立時序路徑(setup timing path)或保持時序路徑(hold timing path)包括資料路徑DP、發射時鐘路徑LCP及捕獲時鐘路徑CCP,如圖2所示。
資料路徑DP可被定義為從與發射雙穩態觸發器對應的第二單元120的時鐘引腳到與捕獲雙穩態觸發器對應的第三單元130的資料登錄引腳的時序路徑。可由以下公式1來表示在資料路徑DP中的延遲D。
公式1
Figure 02_image001
在本文中,“n”表示資料路徑DP中所包含的單元的數目。舉例來說,資料路徑DP可包括第二單元120、第四單元140、第五單元150及第六單元160,且因此,在這種情形中,“n”是4。“Dcell ”表示資料路徑DP的總單元延遲,且可例如對應於第二單元120的延遲dcell,0 、第四單元140的延遲dcell,1 、第五單元150的延遲dcell,2 及第六單元160的延遲dcell,3 之和。“Dnet ”表示資料路徑DP的總網延遲(total net delay),且可例如對應於連接第二單元120與第四單元140的網N3的延遲dnet,0 、連接第四單元140與第五單元150的網N4的延遲dnet,1 、連接第五單元150與第六單元160的網N5的延遲dnet,2 及連接第六單元160與第三單元130的網N6的延遲dnet,3 之和。大體來說,由於資料路徑DP包括相對大數目的單元,因此資料路徑DP對總網延遲(即,配線延遲)的敏感度可小於發射時鐘路徑LCP及捕獲時鐘路徑CCP。
發射時鐘路徑LCP可被定義為從時鐘樹的共用時鐘引腳到與發射雙穩態觸發器對應的第二單元120的時鐘輸入引腳的時序路徑。可由以下公式2來表示在發射時鐘路徑LCP中的延遲L。
公式2
Figure 02_image003
在本文中,“j”表示發射時鐘路徑LCP中所包含的單元的數目。舉例來說,發射時鐘路徑LCP可包括第一單元110,且因此在這種情形中,“j”是1。“Lcell ”表示發射時鐘路徑LCP的總單元延遲,且可例如對應於第一單元110的延遲“lcell,0 ”。“Lnet ”表示發射時鐘路徑LCP的總網延遲,且可例如對應於連接第一單元110與第二單元120的網N1的延遲lnet,0 。大體來說,由於發射時鐘路徑LCP包括相對小數目的單元,因此發射時鐘路徑LCP對總網延遲(即,配線延遲)的敏感度可大於資料路徑DP。
捕獲時鐘路徑CCP可被定義為從時鐘樹的共用時鐘引腳到與捕獲雙穩態觸發器對應的第三單元130的時鐘輸入引腳的時序路徑。可由以下公式3來表示在捕獲時鐘路徑CCP中的延遲C。
公式3
Figure 02_image005
在本文中,“k”表示捕獲時鐘路徑CCP中所包含的單元的數目。舉例來說,捕獲時鐘路徑CCP可包括第一單元110,且因此在這種情形中,“k”是1。“Ccell ”表示捕獲時鐘路徑CCP的總單元延遲,且可例如對應於第一單元110的延遲“ccell,0 ”。“Cnet ”表示捕獲時鐘路徑CCP的總網延遲,且可例如對應於連接第一單元110與第三單元130的網N2的延遲cnet,0 。大體來說,由於捕獲時鐘路徑CCP包括相對小數目的單元,因此捕獲時鐘路徑CCP對總網延遲(即,配線延遲)的敏感度可大於資料路徑DP。
利用公式1至公式3,可由以下公式4來表示保持時間餘量(hold time slack)THOLD
公式4
Figure 02_image007
在本文中,“α”是常數且表示例如時鐘不確定性及雙穩態觸發器保持裕量等其他時序參數之和。在本文中,“Scell ”表示由單元延遲造成的保持餘量差(hold slack difference),且“Swire ”表示由配線延遲造成的保持餘量差。在公式4中,“Lwire ”、“Dwire ”、“Cwire ”可分別對應於公式2的“Lnet ”、公式1的“Dnet ”、及公式3的“Cnet ”。
舉例來說,在其中僅使用金屬層D1來實施圖2所示積體電路的情形中,當用於實施積體電路100的金屬層D1的電阻被製造成比模型的目標值大20%時,在公式4中,常數“α”及由單元延遲造成的保持餘量差“Scell ”不發生改變,且只有由配線延遲造成的保持餘量差“Swire ”發生改變。在這種情形中,可由以下公式5來表示保持時間餘量差(hold time slack difference)
Figure 02_image009
公式5
Figure 02_image011
使用由配線延遲造成的保持餘量差“Swire ”來分析配線模型-硬體相關(model-to-hardware correlation,MHC)問題。“模型-硬體相關”表示設計所依據的模型與實際上由矽來實施的硬體之間的一致性(consistency)。當模型具有的電性特性與在矽中測量的電性特性不同時,可能無法實現在設計階段預期的晶片性能。
具體來說,“配線模型-硬體相關失不匹配(wire MHC mismatch)”可表示配線的模型化電阻/電容值與實際實施的配線的電阻/電容值之間的差。舉例來說,配線模型-硬體相關不匹配可由例如以下生產線後段製程的製程變化造成:金屬層電阻變化、金屬層電容變化或通孔變化。舉例來說,當金屬層的實際電阻大於模型化目標電阻時,在包括金屬層的時序路徑中的延遲可增大,且因此,作為對時序路徑進行的時序分析的結果,可能會發生保持違例。
根據傳統的設計方法,在時序分析階段,可能並不知曉關於時序路徑中所包含的網的物理資訊。也就是說,在時序分析階段,可能並不知曉網實際上是由哪一或哪些金屬層實施的。因此,在時序分析階段可能無法產生反映配線的製程變化的時序分析資料。然而,根據示例性實施例,在產生佈局資料的操作或者提取寄生分量的操作中,可通過產生配線資料並使用所產生的配線資料執行時序分析來提高時序分析的準確度,所述配線資料包括與積體電路的佈局中所包含的網對應的配線的層資訊及關於配線的物理資訊。因此,通過發現並解決設計漏洞可確保實現改善的大批量生產。將參照圖6至圖12來詳細闡述時序分析操作。
圖3A及圖3B示出圖2所示積體電路中所包含的時鐘樹的實施方式實例(100a及100b)。
參照圖3A,積體電路100a是具有魯棒時鐘樹(robust clock tree)的實施方式實例。發射時鐘路徑LCPa中所包含的網N1a可由第一金屬層D1及第二金屬層D2實施,且捕獲時鐘路徑CCPa中所包含的網N2a也可由第一金屬層D1及第二金屬層D2來實施。舉例來說,可僅在第一金屬層D1及第二金屬層D2中的第一金屬層D1中發生變化,且因此,與目標值相比,第一金屬層D1的電阻可增大。在這種情形中,由於在公式4中在發射時鐘路徑LCPa中的配線延遲與在捕獲時鐘路徑CCPa中的配線延遲二者同時增大,因此,在公式5中LCPa與CCPa之間的保持時間餘量差是0且可不發生保持違例。換句話說,由於發射時鐘路徑LCPa與捕獲時鐘路徑CCPa在相似的層上包括相似的配線,因此不會出現保持時間餘量差。
參照圖3B,積體電路100b是具有易受配線的製程變化影響的時鐘樹的實施方式實例。發射時鐘路徑LCPb中所包含的網N1b可由第一金屬層D1及第二金屬層D2實施,且捕獲時鐘路徑CCPb中所包含的網N2b可由第二金屬層D2來實施。舉例來說,可僅在第一金屬層D1及第二金屬層D2中的第一金屬層D1中發生變化,且因此,與目標值相比,第一金屬層D1的電阻可增大。在這種情形中,由於在發射時鐘路徑LCPb中的配線延遲增大、而在捕獲時鐘路徑CCPb中的配線延遲不增大,因此在公式5中保持時間餘量差可具有大於0的值且可發生保持違例。
如此一來,當時鐘樹不具有魯棒結構時,可能會因例如與配線、金屬對應的金屬層的電阻變化及/或電容變化(例如,D1變得更快速、或者D2變得更慢速)、及/或與網對應的通孔變化等配線模型-硬體相關(MHC)不匹配而發生保持違例。因此,本發明概念提出一種新的時序分析方法,所述方法分析金屬路由結構來移除由配線模型-硬體相關造成的時序違例並使用配線阻容變化規範來預測時間餘量。
圖4是說明根據示例性實施例的積體電路設計方法的流程圖。
參照圖4,作為一種考慮配線變化來執行積體電路的時序分析的方法,根據示例性實施例的積體電路設計方法可對應於圖1所示實施方式實例。在操作S210中,通過放置及路由標準單元產生佈局資料及配線資料。舉例來說,通過放置及路由界定積體電路的標準單元來產生積體電路的佈局資料以及與積體電路的佈局資料中所包含的網對應的配線資料D10。配線資料D10可包括與積體電路中所包含的網對應的至少一條配線的層資訊以及所述至少一條配線的物理資訊。舉例來說,配線資料D10可包括配線的長度資訊。根據一些示例性實施例,在操作S210與操作S220之間可進一步包括從佈局資料提取寄生分量的操作。舉例來說,提取寄生分量的操作可對應於圖1所示操作S130。
在操作S220中,通過基於配線資料執行時序分析來考慮配線的變化產生時序分析資料。舉例來說,通過基於配線資料D10對包括網的時序路徑執行時序分析來產生反映所述至少一條配線的製程變化的時序分析資料。在一些示例性實施例中,可基於表示至少一條配線的每單位長度的延遲的單位延遲資訊以及所述至少一條配線的物理資訊來對時序路徑執行時序分析。在一些示例性實施例中,可基於時間常數比例因數來計算時序路徑的配線延遲偏斜(wire delay skew),所述時間常數比例因數基於至少一條配線的製程變化、表示至少一條配線的每單位長度的延遲的單位延遲資訊、以及至少一條配線的物理資訊。將參照圖9至圖12來更詳細地闡述時序分析。在一些示例性實施例中,設計方法可進一步包括根據時序分析資料執行工程變更次序(ECO)的操作。
圖5是說明根據示例性實施例的設計積體電路的積體電路設計系統200的方塊圖。
參照圖5,積體電路設計系統200可為用於設計積體電路的計算系統。積體電路設計系統可包括處理器210、記憶體230、輸入/輸出(input/output,I/O)裝置250、儲存裝置270及匯流排290。積體電路設計系統200可執行積體電路設計操作,所述積體電路設計操作包括圖1所示操作S110至S140或者圖4所示操作S210及S220。在圖4所示示例性實施例中,積體電路設計系統200可被實施為集成裝置,且因此,積體電路設計系統200也可被稱為積體電路設計設備。積體電路設計系統200可被設置為用於設計半導體裝置的積體電路的專用設備,或者可為用於驅動各種模擬工具或設計工具的電腦。
處理器210可包括一個或多個微處理器且可被配置成執行指令來進行用於設計積體電路的各種操作中的至少一種操作。處理器210可經由匯流排290來與記憶體230、輸入/輸出裝置250及儲存裝置270進行通信。處理器210可通過驅動在記憶體230中載入的放置及路由模組231、寄生提取模組233及靜態時序分析模組235來執行積體電路設計操作。
記憶體230可儲存放置及路由模組231、寄生提取模組233及靜態時序分析模組235。另外,記憶體230可進一步儲存合成模組。放置及路由模組231、寄生提取模組233及靜態時序分析模組235可從儲存裝置270載入到記憶體230。記憶體230可包括例如:揮發性記憶體,例如靜態隨機存取記憶體(Static Random Access Memory,SRAM)或動態隨機存取記憶體(Dynamic Random Access Memory,DRAM);或者非揮發性記憶體,例如相變隨機存取記憶體(phase change random access memory,PRAM)、磁性隨機存取記憶體(magnetic random access memory,MRAM)、電阻式隨機存取記憶體(resistive random access memory,ReRAM)、鐵電式隨機存取記憶體(ferroelectric random access memory,FRAM)或者或非快閃記憶體(NOR flash memory)。
放置及路由模組231可為例如包括用於根據圖1所示操作S120或圖4所示操作S210執行增強型放置及路由操作的多個指令的程式。寄生提取模組233可為例如包括用於根據圖1所示操作S130執行增強型寄生提取操作的多個指令的程式。靜態時序分析模組235可為例如包括用於根據圖1所示操作S140或圖4所示操作S220執行增強型時序分析操作的多個指令的程式。應注意,放置及路由模組231、寄生提取模組233、及靜態時序分析模組235在圖5中被分別示出為單獨的組件。然而,此僅為實例,且放置及路由模組231、寄生提取模組233及靜態時序分析模組235可一同組合成一個模組或者一同組合成兩個模組。換句話說,所述各模組不需要被分別設置成單獨的模組。
輸入/輸出裝置250可控制來自一個或多個使用者介面裝置的使用者輸入及輸出。舉例來說,輸入/輸出裝置250可包括輸入裝置(例如,鍵盤、滑鼠、及/或觸控板)以接收定義積體電路的輸入資料。在一些示例性實施例中,輸入/輸出裝置250可接收各種使用者輸入,例如金屬阻容變化比例因數。舉例來說,輸入/輸出裝置250可包括顯示裝置(例如,顯示器及/或揚聲器)以顯示放置結果、路由結果、及/或時序分析結果。在一些示例性實施例中,針對與積體電路中所包含的網對應的配線,輸入/輸出裝置250可顯示基於目標值的第一配線延遲、基於製程變化的第二配線延遲以及從第一配線延遲及第二配線延遲產生的配線延遲。
儲存裝置270可儲存與放置及路由模組231、寄生提取模組233及靜態時序分析模組235相關的各種資料。儲存裝置270可包括例如記憶體卡(例如,多媒體卡(multimedia card,MMC)、嵌入式多媒體卡(embedded MMC,eMMC)、安全數位卡(secure digital,SD)、微型安全數位卡(MicroSD))、固態驅動器、及/或硬碟驅動器。
圖6是更詳細地說明圖5所示積體電路設計系統的方塊圖。
參照圖5及圖6,儲存在記憶體230中的程式可包括多個進程,且進程可表示用於執行具體任務的一系列指令。進程也可被稱為函數、常式、子常式或副程式。根據圖6所示示例性實施例,進程可包括放置器PLC、路由器RT及時序分析器TA。具體來說,放置及路由模組231可包括放置器PLC及路由器RT,且靜態時序分析模組235可包括時序分析器TA。另外,進程可進一步包括寄生提取器,且寄生提取器可例如包含於寄生提取模組233中。在本文中,可將通過由圖5所示處理器210執行進程(放置器、路由器或時序分析器)來執行動作表示為由進程(放置器、路由器或時序分析器)執行操作。
儲存裝置270可包括單元庫資料庫(database,DB)271、佈局資料庫273及技術(technology,tech)檔案資料庫275。單元庫資料庫271可儲存關於用於產生積體電路的佈局的標準單元的資訊,且可被稱為標準單元庫資料庫。佈局資料庫273可儲存關於在進程中產生的佈局的資訊,例如關於佈局的物理資訊。技術檔案資料庫275可儲存技術檔案,技術檔案用於儲存在積體電路製造過程中使用的材料及規則。技術(tech)檔案資料庫275可儲存例如層定義、裝置定義、及/或設計工具。在圖6所示示例性實施例中,技術(tech)檔案資料庫275可儲存分別與多個金屬層對應的儲存單元延遲。
放置器PLC可根據網清單D20放置標準單元,且具體來說,放置器PLC可通過對儲存裝置270的單元庫資料庫271進行存取來執行放置操作。路由器RT可通過對由放置器PLC放置的標準單元進行路由來產生佈局資料。所產生的佈局資料可儲存在儲存裝置270的佈局資料庫273中。另外,路由器RT可產生配線資料D10,配線資料D10包括與積體電路中所包含的多個網中的每一個網對應的至少一條配線的層資訊以及至少一條配線的物理資訊。在下文中,將參照圖7及圖8更詳細地闡述配線資料D10。
圖7示出根據示例性實施例的圖6所示配線資料D10。
參照圖7,配線資料D10可例如包括與例如圖2所示積體電路100中所包含的網N1至N7中的每一個網對應的至少一條配線的層資訊(Ma至Mf)以及所述至少一條配線的金屬層的長度資訊。舉例來說,配線資料D10可在圖4所示操作S210中產生。舉例來說,與網N4對應的金屬層可為第二金屬層M2、第三金屬層M3、第四金屬層M4及第五金屬層M5,且用於實施網N4的第二金屬層M2到第五金屬層M5的長度可分別為
Figure 02_image013
Figure 02_image015
圖8示出根據示例性實施例的與圖7所示網N4對應的金屬層。
參照圖7及圖8,可使用第二金屬層M2至第五金屬層M5來實施網N4。與網N4對應的總配線長度
Figure 02_image017
對應於分別在第二金屬層M2至第五金屬層M5中實作的網的配線的相應長度
Figure 02_image013
Figure 02_image015
之和。因此,可由以下公式6來表示與圖7及圖8所示網N4對應的總配線長度
Figure 02_image017
公式6
Figure 02_image019
在下文中,
Figure 02_image021
表示金屬路由長度,“i”表示金屬路由次序,且“m”表示金屬層數目。
圖9是說明根據示例性實施例的用於通過圖6所示時序分析器TA計算配線延遲偏斜
Figure 02_image023
的參數的表。
參照圖6及圖9,時序分析器TA可通過對積體電路執行時序分析來搜索時序關鍵路徑、產生關於時序關鍵路徑中所包含的標準單元的單元清單以及將所產生的單元清單傳送到放置及路由模組231。放置及路由模組231可發現與單元清單中所包含的標準單元連接的網,並將關於所發現的網的配線資料D10傳送到靜態時序分析模組235(即,時序分析器TA)。舉例來說,配線資料D10可包括第m條金屬配線的金屬配線長度
Figure 02_image025
緊接著,時序分析器TA可基於配線資料D10、配線模型-硬體相關(MHC)規範D30以及阻容(resistance-capacitance,RC)變化比例因數D40來計算配線延遲偏斜
Figure 02_image027
。具體來說,時序分析器TA可從儲存裝置270中所包含的技術(tech)檔案資料庫275接收包括第m條金屬配線的單位延遲
Figure 02_image029
的配線模型-硬體相關規範D30。舉例來說,可通過矽監測電路產生第m條金屬配線的單位延遲
Figure 02_image029
。另外,時序分析器TA可從輸入/輸出裝置250接收使用者輸入,用戶輸入包括表示第m個金屬層的阻容時間常數變化的第m個金屬層的阻容變化比例因數
Figure 02_image031
(即,D40)。以下將參照圖10闡述阻容變化比例因數
Figure 02_image031
時序分析器TA可基於以下來計算具體金屬層中的一條或多條配線的配線延遲
Figure 02_image033
:第m個金屬層中的一條或多條導線的金屬配線長度
Figure 02_image035
、包括一條或多條配線的第m個金屬層的單位延遲
Figure 02_image029
以及包括一條或多條配線的第m個金屬層的阻容變化比例因數
Figure 02_image031
。具體金屬層中的一條或多條配線的配線延遲
Figure 02_image033
可包含於從時序分析器TA輸出的時序分析資料中。時序分析器TA可基於配線延遲
Figure 02_image033
計算配線延遲偏斜
Figure 02_image023
。配線延遲偏斜可包含於從時序分析器TA輸出的時序分析資料中。
圖10是說明根據示例性實施例的第m個金屬層的電阻及電容的圖表。
參照圖10,橫軸表示第m個金屬層的電阻,且縱軸表示第m個金屬層的電容。在圖10所示圖表中,由虛線表示的方框表示第m個金屬層的模型化阻容值的允許範圍。所述方框可基於金屬層的電阻及電容的測量值以實驗方式設定。可基於第m個金屬層的阻容的隅角值(corner value)CN將阻容時間常數設定成第一時間常數TC1。當第m個金屬層的阻容因第m個金屬層的製程變化而具有超出允許範圍的附加值(extra value)EV時,阻容時間常數可被設定成第二時間常數TC2。在這種情形中,第二時間常數TC2對第一時間常數TC1的比率可被定義為阻容變化比例因數
Figure 02_image031
圖11是說明根據示例性實施例的時序分析方法的流程圖。
參照圖11,圖11所示根據示例性實施例的時序分析方法可對應於圖4所示操作S220的實施方式實例。舉例來說,圖11所示根據示例性實施例的時序分析方法可由圖5所示積體電路設計系統200依序執行。在下文中,將參照圖11闡述時序分析方法。
在操作S310中,搜索時序關鍵路徑。舉例來說,靜態時序分析模組235可通過對積體電路中所包含的時序路徑執行時序分析來確定時序關鍵路徑。舉例來說,時序關鍵路徑可為發生保持違例的路徑。參見例如圖3A及圖3B以及以上相關聯的論述。靜態時序分析模組235可確定時序關鍵路徑。然而,本發明概念並非僅限於此,且在一些示例性實施例中,可由放置及路由模組231執行操作S310。
在操作S320中,收集所確定的每一個時序關鍵路徑的單元延遲及網延遲。舉例來說,可收集選自所確定的時序關鍵路徑中的一條路徑的單元延遲及網延遲。舉例來說,靜態時序分析模組235可通過收集所選擇路徑中所包含的多個單元的單元延遲及所選擇路徑中所包含的多個網的網延遲來獲取在所選擇路徑中的延遲。然而,本發明概念並非僅限於此,且在一些示例性實施例中,可由放置及路由模組231執行操作S320。
舉例來說,重新參照圖2及其相關聯的說明,當所選擇的路徑包括資料路徑時,可根據以上公式1所述來收集資料路徑中所包含的n個單元的單元延遲dcell,0 至dcell,n-1 以及資料路徑中所包含的n個網的網延遲dnet,0 至dnet,n-1 。當所選擇的路徑包括發射路徑時,可根據以上公式2所述來收集發射路徑中所包含的j個單元的單元延遲lcell,0 至lcell,j-1 以及發射路徑中所包含的j個網的網延遲lnet,0 至lnet,j-1 。當所選擇的路徑包括捕獲路徑時,可根據以上公式3所述來收集捕獲路徑中所包含的k個單元的單元延遲ccell,0 至ccell,k-1 以及捕獲路徑中所包含的k個網的網延遲cnet,0 至cnet,k-1
在操作S330中,針對每一個網收集關於與至少一個網對應的至少一條配線的物理資訊。舉例來說,收集關於與所選擇的路徑中所包含的至少一個網對應的至少一條配線的物理資訊。在一些示例性實施例中,所選擇的路徑可包括多個網,且可收集關於與每一個網對應的至少一條配線的物理資訊。在一些示例性實施例中,所選擇的路徑可包括單個網,且可收集關於與單個網對應的至少一條配線的物理資訊。在一些示例性實施例中,所述至少一條配線可包括所述至少一條配線的位於多個金屬層上的多個部分,且物理資訊可包括所述至少一條配線的位於每一個金屬層上的一部分的長度資訊。參見例如圖7。在下文中,在操作S330中,將主要闡述與所選擇的路徑中所包含的網對應的多個金屬層中的每一個金屬層的長度資訊。
在一些示例性實施例中,放置及路由模組231可收集與所選擇的路徑中所包含的網對應的多個金屬層的長度資訊。在一些示例性實施例中,寄生提取模組233可收集與所選擇的路徑中所包含的網對應的多個金屬層的長度資訊。在一些示例性實施例中,靜態時序分析模組235可從放置及路由模組231或寄生提取模組233接收與所選擇的路徑中所包含的網對應的多個金屬層的長度資訊。在一些示例性實施例,可對所選擇路徑中所包含的所有網執行操作S330。然而,本發明概念並非僅限於此,且在一些示例性實施例中,可僅對所選擇路徑中所包含的網的一部分執行操作S330。
在操作S340中,基於物理資訊計算配線延遲。舉例來說,針對與網對應的至少一條配線,基於至少一條配線的物理資訊計算配線延遲。在一些示例性實施例中,可基於配線的位於金屬層中的一部分的長度資訊及所述金屬層的單位延遲資訊來計算配線延遲。舉例來說,靜態時序分析模組235可基於第m個金屬層的長度資訊來計算配線的位於第m個金屬層中的一部分的配線延遲。然而,本發明概念並非僅限於此,且在一些示例性實施例中,可由放置及路由模組231執行操作S340。
在操作S350中,基於配線的製程變化更新配線延遲。舉例來說,針對與網對應的至少一條配線,基於至少一條配線的製程變化更新配線延遲。在一些示例性實施例中,可基於包括配線的所述一部分的金屬層的阻容比例因數來更新配線延遲,所述阻容比例因數隨著製程變化而變化。舉例來說,靜態時序分析模組235可基於第m個金屬層的隨著製程變化而變化的阻容比例因數來更新配線的位於第m個金屬層中的一部分的配線延遲。然而,本發明概念並非僅限於此,且在一些示例性實施例中,可由放置及路由模組231執行操作S350。
在操作S360中,使用經過更新的配線延遲來計算時序餘量。在一些示例性實施例中,針對多個金屬層中的每一個金屬層,可計算根據金屬層的配線延遲與經過更新的配線延遲之間的差而變化的配線延遲偏斜,且可使用多個金屬層的配線延遲偏斜來計算時序餘量。舉例來說,時序餘量可為保持余量或建立餘量。舉例來說,靜態時序分析模組235可計算配線的位於第m個金屬層上的部分的配線延遲偏斜並使用配線的位於與網對應的所有金屬層上的部分的配線延遲偏斜來計算時序餘量。然而,本發明概念並非僅限於此,且在一些示例性實施例中,可由放置及路由模組231執行操作S360。在操作S360之後,可對所確定的時序關鍵路徑中的下一路徑執行操作S320。
圖12是說明根據示例性實施例的圖6所示放置及路由模組231與靜態時序分析模組235之間的操作的流程圖。
參照圖12,可例如由圖6所示靜態時序分析模組235來依序執行操作S310至操作S330以及操作S370至操作S390,且可例如由圖6所示放置及路由模組231來依序執行操作S340至操作S360。在下文中,將另外參照圖6至圖11來闡述時序分析操作。
在操作S410中,靜態時序分析模組235可確定時序關鍵路徑。靜態時序分析模組235可通過對積體電路中所包含的時序路徑執行時序分析來確定時序關鍵路徑。在操作S420中,靜態時序分析模組235可選擇時序關鍵路徑中的一個路徑並產生包括與所選擇路徑相關的標準單元的單元清單。在操作S430中,靜態時序分析模組235可將單元清單傳送到放置及路由模組231。
在操作S440中,放置及路由模組231可發現連接到單元清單中所包含的標準單元的網。在操作S450中,放置及路由模組231可產生配線資料,配線資料包括分別與網對應的至少一條配線的層資訊以及所述至少一條配線的物理資訊。在一些示例性實施例中,放置及路由模組231可產生表示與多個網中的每一個網對應的配線的層的配線資料(即,佈局資料產生操作中的配線的類型),並通過根據操作S450中的靜態時序分析模組235的請求對與具體網對應的配線的長度進行測量來產生與具體網對應的配線資料。在一些示例性實施例中,在操作S450中,放置及路由模組231可在佈局資料產生操作中產生包括與多個網中的每一個網對應的配線的類型以及配線的長度資訊的總配線資料,並根據靜態時序分析模組235的請求從總配線資料提取與一個具體網對應的配線資料。在操作S460中,放置及路由模組231可將所產生的配線資料傳送到靜態時序分析模組235。
在操作S470中,靜態時序分析模組235可基於配線資料、配線模型-硬體相關(MHC)規範D30以及阻容變化比例因數D40來計算配線延遲偏斜及保持餘量。將參照圖13更詳細地闡述操作S470。在操作S480中,靜態時序分析模組235可產生時序報告。舉例來說,時序報告可包括配線模型-硬體相關餘量、最差金屬層、每一個金屬層的配線延遲偏斜、每一個金屬層的阻容變化比例因數及每一個金屬層的保持餘量差。在操作S490中,靜態時序分析模組235可判斷在操作S420中選擇的路徑是否是在操作S410中所確定的時序關鍵路徑中的最後一個路徑。作為判斷結果,當所述路徑不是最後一個路徑時,執行操作S420,且當路徑是最後一個路徑時,結束時序分析操作。
圖13是說明根據示例性實施例的積體電路時序分析方法的流程圖。
參照圖13,圖13所示根據示例性實施例的時序分析方法可對應於圖4所示操作S220的實施方式實例。舉例來說,圖13所示根據示例性實施例的時序分析方法可由圖6所示靜態時序分析模組235依序執行。在下文中,將參照圖6至圖13闡述由時序分析器TA計算與網N4對應的配線延遲的操作。
在操作S510中,基於配線的目標值計算第一配線延遲。在一些示例性實施例中,一個網可對應於多條配線,且可對所述多條配線中的每一條配線執行操作S510。舉例來說,可假設第m個金屬層上的第一配線延遲
Figure 02_image036
與配線在第m個金屬層上的長度
Figure 02_image038
及第m個金屬層的單位延遲
Figure 02_image039
成比例。因此,可由以下公式7來表示配線在第m個金屬層上的第一配線延遲
Figure 02_image036
公式7
Figure 02_image041
舉例來說,可以說,與網N4(圖7所示)對應的第一總配線延遲
Figure 02_image043
對應於配線的位於第二金屬層M2至第五金屬層M5上的部分的第一配線延遲
Figure 02_image045
Figure 02_image047
之和(即,
Figure 02_image049
)。因此,可由以下公式8來表示與網N4對應的第一總配線延遲
Figure 02_image043
公式8
Figure 02_image051
可由以下公式9來表示公式8中的
Figure 02_image053
公式9
Figure 02_image055
根據公式8及公式9,可由以下公式10來表示配線在第m個金屬層上的第一配線延遲
Figure 02_image057
公式10
Figure 02_image058
在操作S520中,基於配線的製程變化計算第二配線延遲。在一些示例性實施例中,一個網可對應於多條配線,且可對所述多條配線中的每一條配線執行操作S520。具體來說,可使用各種方程式來執行計算第二配線延遲的操作。在一些示例性實施例中,可由以下公式11來表示配線的位於第m個金屬層上的一部分的第二配線延遲
Figure 02_image060
公式11
Figure 02_image062
在本文中,
Figure 02_image064
是第m個金屬層的金屬阻容變化比例因數且可由用戶來設定。另外,在一些示例性實施例中,可通過進一步考慮與網對應的通孔的物理資訊(例如,孔的數目或孔的類型)來對公式11進行修改,且可使用經修改的公式11來計算第二配線延遲
Figure 02_image060
。另外,在一些示例性實施例中,可通過進一步考慮與網對應的通孔的阻容變化來對公式11進行修改,且可使用經修改的公式11來計算第二配線延遲
Figure 02_image060
在一些示例性實施例中,可由以下公式12來表示配線的位於第m個金屬層上的一部分的第二配線延遲
Figure 02_image060
公式12
Figure 02_image066
另外,在一些示例性實施例中,可通過進一步考慮與網對應的通孔的物理資訊(例如,隨著通孔的類型或通孔的數目的變化而變化的比例因數)來對公式12進行修改,且可使用經修改的公式12來計算第二配線延遲
Figure 02_image068
。另外,在一些示例性實施例中,可通過進一步考慮與網對應的通孔的阻容變化來對公式12進行修改,且可使用經修改的公式12來計算第二配線延遲
Figure 02_image070
在操作S530中,基於第一配線延遲及第二配線延遲來計算配線延遲偏斜。在一些示例性實施例中,一個網可對應於多條配線,且可對所述多條配線中的每一條配線執行操作S530。舉例來說,當根據公式11計算第二配線延遲
Figure 02_image071
時,可基於第一配線延遲
Figure 02_image072
及第二配線延遲
Figure 02_image071
將配線的位於第m個金屬層上的一部分的配線延遲偏斜
Figure 02_image074
表示為以下公式13。
公式13
Figure 02_image076
舉例來說,當根據公式12計算第二配線延遲
Figure 02_image078
時,可基於第一配線延遲
Figure 02_image080
及第二配線延遲
Figure 02_image081
將配線的位於第m個金屬層上的一部分的配線延遲偏斜
Figure 02_image082
表示為以下公式14。
公式14
Figure 02_image083
舉例來說,當僅在所有金屬層中的第m個金屬層中發生製程變化且在其他金屬層中未發生變化時,總配線延遲偏斜可等於配線的位於第m個金屬層上的一部分的配線延遲偏斜
Figure 02_image085
在操作S540中,計算時序餘量。舉例來說,可基於分別與和網對應的多條配線對應的配線延遲偏斜來計算所述網的時序餘量。在一些示例性實施例中,可通過對配線延遲偏斜應用和的平方根(root sum square,RSS)方法來計算時序餘量。舉例來說,可按照以下公式15來計算時序餘量。
公式15
Figure 02_image086
在操作S550中,根據時序餘量來判斷是否發生時序違例。在一些示例性實施例中,作為判斷結果,當發生時序違例時,可採取措施來移除時序違例(S560)。舉例來說,在一些示例性實施例中,可執行工程變更次序(ECO)來移除時序違例。在一些示例性實施例中,當發生時序違例時,可通過使用例如時鐘樹合成(CTS)等時序引擎來另外地確保時序路徑的時序裕量。在一些示例性實施例中,當發生時序違例時,可通過利用放置及路由工具中的優化來另外地確保時序路徑的時序裕量。在一些示例性實施例中,當發生時序違例時,可修改金屬路由。舉例來說,可修改金屬層的長度,或者可將配線的位於金屬層中的一部分改變到另一個金屬層中。作為判斷結果,當不發生時序違例時,可結束時序分析操作(S570)。
圖14是說明根據示例性實施例的用於設計積體電路的計算系統300的方塊圖。
參照圖14,積體電路設計系統300可包括使用者裝置310、積體電路設計平臺330及儲存裝置350。舉例來說,積體電路設計系統300可執行積體電路設計操作,所述積體電路設計操作包括圖1所示操作S110至S140或者圖4所示操作S210及S220。在圖14所示示例性實施例中,使用者裝置310、積體電路設計平臺330、及儲存裝置350中的至少一個可為單獨的裝置,且使用者裝置310、積體電路設計平臺330及儲存裝置350可通過無線/有線通信或網路進行連接。在一些示例性實施例中,使用者裝置310、積體電路設計平臺330及儲存裝置350中的至少一個可彼此間隔開。
使用者裝置310可包括處理器311及使用者介面(user interface,UI)313。處理器311可包括一個或多個微處理器或中央處理器(central processing unit,CPU)且可根據通過使用者介面313接收到的使用者輸入來驅動積體電路設計平臺330。積體電路設計平臺330可包括放置及路由模組331、寄生提取模組333及靜態時序分析模組335作為用於設計積體電路的一組電腦可讀指令。放置及路由模組331、寄生提取模組333、及靜態時序分析模組335可分別對應於圖5所示放置及路由模組231、寄生提取模組233及靜態時序分析模組235。儲存裝置350可包括單元庫資料庫351、佈局資料庫353、及技術檔案資料庫355。單元庫資料庫351、佈局資料庫353及技術檔案資料庫355可分別對應於圖6所示單元庫資料庫271、佈局資料庫273及技術(tech)檔案資料庫276。
圖15示出根據示例性實施例的積體電路400。
參照圖15,積體電路400可包括第一單元410、第二單元420、第三單元430、第四單元440、第五單元450、及第六單元460以及第一網N1、第二網N2、第三網N3、第四網N4及第五網N5。第一網N1包括位於第一金屬層M1上的配線及位於第二金屬層M2上的配線。第二網N2包括位於第三金屬層M3上的配線。第三網N3包括位於第三金屬層M3上的配線,且第四網N4及第五網N5分別包括位於第四金屬層M4上的配線。捕獲時鐘路徑CCP可包括第一單元410及第二單元420、以及第一網N1及第二網N2。舉例來說,在捕獲時鐘路徑CCP中,單元延遲可為3 ps、網延遲可為3 ps、且總延遲可為6 ps。發射時鐘路徑LCP可包括第三單元430及第三網N3。舉例來說,在發射時鐘路徑LCP中,單元延遲可為1 ps、網延遲可為1 ps、且總延遲可為2 ps。資料路徑DP可包括第四單元440及第五單元450、以及第四網N4及第五網N5。舉例來說,在資料路徑DP中,單元延遲可為2 ps、網延遲可為2 ps、且總延遲可為4 ps。在下文中,將參照圖14至圖17C來闡述對積體電路400進行的時序分析操作。
圖16示出圖15所示積體電路400的配線資料D10’。
參照圖16,第一網N1可對應於第一金屬層M1及第二金屬層M2,配線的位於用於實施第一網N1的第一金屬層M1上的長度可為λ1 ,且配線的位於用於實施第一網N1的第二金屬層M2上的長度可為λ2 。第二網N2及第三網N3可對應於第三金屬層M3,配線的位於用於實施第二網N2的第三金屬層M3上的長度可為λ3a ,且配線的位於用於實施第三網N3的第三金屬層M3上的長度可為λ3b 。第四網N4及第五網N5可對應於第四金屬層M4,配線的位於用於實施第四網N4的第四金屬層M4上的長度可為λ4a ,且配線的位於用於實施第四網N4的第四金屬層M4上的長度可為λ4b
圖17A至圖17C示出根據示例性實施例的對圖15所示積體電路400進行時序分析的實例。舉例來說,可僅在與積體電路400中所包含的第一網N1至第五網N5對應的第一金屬層M1至第四金屬層M4中的第一金屬層M1及第二金屬層M2中發生製程變化,且在第三金屬層M3及第四金屬層M4中可不發生製程變化。在這種情形中,配線延遲可僅在由第一金屬層M1及第二金屬層M2實施的第一網N1中變化。舉例來說,與模型化目標值相比,第一金屬層M1及第二金屬層M2中的每一個的電阻可增大15%。在下文中,將參照圖6及圖15至圖17C闡述時序分析操作。
圖17A說明計算與第一網N1對應的第一配線延遲的操作。靜態時序分析模組235可從放置及路由模組231接收配線資料D10’,配線資料D10’包括配線在第一金屬層M1上的長度λ1 以及配線在第二金屬層M2上的長度λ2 。舉例來說,λ1 可為40 μm、且λ2 可為60 μm。另外,靜態時序分析模組235可接收技術檔案中所包含的第一單位延遲資訊τ1 及第二單位延遲資訊τ2 。第一單位延遲資訊τ1 表示第一金屬層M1的每單位長度的延遲,且第二單位延遲資訊τ2 表示第二金屬層M2的每單位長度的延遲。舉例來說,τ1 可為19.3 fs/μm、且τ2 可為3.3 fs/μm。
如圖15所示,當第一網N1的延遲是1 ps時,通過以上公式10,第一金屬層M1的第一配線延遲δ1 可被計算為795.9 fs(= 1000 * 19.3 * 40 / (19.3 * 40 + 3.3 * 60)),且通過以上公式10,第二金屬層M2的第一配線延遲δ2 可被計算為204.1 fs(= 1000 * 3.3 * 60 / (19.3 * 40 + 3.3 * 60))。
圖17B說明計算與第一網N1對應的第二配線延遲的操作。靜態時序分析模組235可接收第一阻容變化比例因數σ1 及第二阻容變化比例因數σ2 作為用戶輸入。當第一金屬層M1及第二金屬層M2中的每一個的電阻與模型化目標值相比增大15%時,第一阻容變化比例因數σ1 及第二阻容變化比例因數σ2 二者可為1.15。舉例來說,可使用以上公式11或12來計算第二配線延遲。在這種情形中,第一金屬層M1的配線的第二配線延遲δ1 ’可被計算為915.3 fs,且第二金屬層M2的配線的第二配線延遲δ2 ’可被計算為234.7 fs。然而,本發明概念並非僅限於此,且用於計算第二配線延遲的公式可隨著各種示例性實施例變化。
圖17C說明計算與第一網N1對應的配線延遲偏斜的操作。參照圖17C,與第一金屬層M1對應的配線延遲偏斜Δ1 是-119.4 fs,且與第二金屬層M2對應的配線延遲偏斜Δ2 是-30.6 fs。舉例來說,可使用以上公式15來計算第一網N1的保持餘量。因此,保持餘量可被計算為-125 fs(= -
Figure 02_image088
)。
圖18是說明根據示例性實施例的積體電路設計方法的流程圖。
參照圖18,作為一種考慮配線變化來執行積體電路的時序分析的方法,所述積體電路設計方法可對應於圖1所示實施方式實例。圖18所示示例性實施例可對應於圖4所示方法的經修改的示例性實施例。因此,以上參照圖4至圖17C所作的說明也可應用於圖18所示示例性實施例,且為簡明起見,將不再對其予以詳述。
在操作S610中,通過放置及路由用於界定積體電路的標準單元來產生積體電路的佈局資料。在一些示例性實施例中,在操作S610中,可進一步產生與積體電路中所包含的網對應的配線資料D10a。配線資料D10a可包括與積體電路的佈局中所包含的網對應的至少一條配線的層資訊以及所述至少一條配線的物理資訊。舉例來說,配線資料可包括配線的長度資訊。
在操作S620中,從佈局資料提取寄生分量。在一些示例性實施例中,在操作S620中,可進一步產生與積體電路中所包含的網對應的配線資料D10b。配線資料D10b可包括與積體電路的佈局中所包含的網對應的至少一條配線的層資訊以及所述至少一條配線的物理資訊。舉例來說,配線資料可包括配線的長度資訊。
操作S610中產生的配線資料D10a與操作S620中產生的配線資料D10b可實質上彼此相等。因此,在一些示例性實施例中,當在操作S610中產生配線資料D10a時,可不在操作S620中產生配線資料D10b。另外,在一些示例性實施例中,當在操作S620中產生配線資料D10b時,可不在操作S610中產生配線資料D10a。如此一來,可選擇性地產生配線資料D10a及配線資料D10b。
在操作S630中,通過基於配線的物理資訊執行時序分析來產生反映配線的製程變化的時序分析資料。在一些示例性實施例中,在操作S610中產生的配線資料D10a中可包含有配線的物理資訊。因此,在操作S630中,可從配線資料D10a獲取物理資訊。在一些示例性實施例中,在操作S620中產生的配線資料D10b中可包含配線的物理資訊。因此,在操作S630中,可從配線資料D10b獲取物理資訊。在一些示例性實施例中,可基於時間常數比例因數來計算時序路徑的配線延遲偏斜,所述時間常數比例因數基於配線的製程變化、表示配線的每單位長度的延遲的單位延遲資訊以及配線的物理資訊。在一些示例性實施例中,積體電路設計方法可進一步包括根據時序分析資料執行工程變更次序(ECO)的操作。在一些示例性實施例中,在設計方法中,可根據時序分析資料再次執行時鐘樹合成或在放置及路由工具中的優化。
圖19是說明根據示例性實施例的半導體裝置製造方法的流程圖。
參照圖19,所述半導體裝置製造方法可被劃分成積體電路設計過程與積體電路製造過程。積體電路設計過程可包括操作S710至S740,積體電路製造過程可包括操作S750及S760,且所述積體電路製造過程可在半導體製程模組中作為基於佈局資料、根據積體電路製造半導體裝置的操作來執行。圖19所示根據示例性實施例的半導體裝置製造方法可通過參照圖1至圖18執行上述積體電路設計方法來製造半導體裝置。具體來說,操作S710至S740可分別對應於圖1所示操作S110至S140,且為簡明起見,將不再對其予以詳述。
在操作S750中,產生遮罩(mask)。可基於佈局資料產生遮罩。具體來說,可首先基於佈局資料執行光學鄰近校正(optical proximity correction,OPC),且光學鄰近校正可指通過根據光學鄰近效應反映誤差來修改佈局的製程。接著,可根據已依據光學鄰近校正執行結果加以修改的佈局來製造遮罩。在這種情形中,可使用反映光學鄰近校正的佈局(例如,反映光學鄰近校正的圖形資料系統(graphic data system,GDS)II)來製造遮罩。
在操作S760中,製造包括積體電路的半導體裝置。可使用遮罩來製造半導體裝置。具體來說,通過使用多個遮罩對例如晶片等半導體基板執行各種半導體製程來形成包括積體電路的半導體裝置。舉例來說,使用遮罩的製程可表示基於光刻製程(lithography process)進行的圖案化製程。通過圖案化製程,可在半導體基板或材料層上形成期望的圖案。半導體製程可包括沉積製程、蝕刻製程、離子製程及清潔製程。另外,半導體製程可包括將半導體裝置安裝在印刷電路板(printed circuit board,PCB)上且利用密封劑對半導體裝置進行密封的封裝製程,且可包括對半導體裝置或封裝進行測試的測試製程。
圖20示出根據示例性實施例的電腦可讀儲存介質1000。
參照圖20,儲存介質1000可儲存放置及路由程式1100、靜態時序分析程式1200、佈局資料1300及配線資料1400。儲存介質1000可為電腦可讀儲存介質,且可包括可由電腦讀取、同時用於向電腦提供指令及/或資料的儲存介質。舉例來說,電腦可讀儲存介質1000可包括:磁性介質或光學介質,例如磁片、磁帶、光碟唯讀記憶體(compact disc read-only memory,CD-ROM)、數位視訊光碟唯讀記憶體(digital video disc read-only memory,DVD-ROM)、可錄光碟(compact disc-recordable,CD-R)、可重寫光碟(compact disc-rewritable,CD-RW)、可錄數位視訊光碟(digital video disc-recordable,DVD-R)或可重寫數位視訊光碟(digital video disc-rewritable,DVD-RW);揮發性記憶體或非揮發性記憶體,例如隨機存取記憶體(random access memory,RAM)、唯讀記憶體(read only memory,ROM)、或快閃記憶體記憶體、可通過通用序列匯流排介面存取的非揮發性記憶體以及微機電系統(microelectromechanical system,MEMS)。電腦可讀儲存介質可插入到電腦中,可集成到電腦中,或者可通過例如網路及/或無線鏈路等通信介質與電腦連接。
放置及路由程式1100可包括多個指令以執行根據上述示例性實施例的使用標準單元庫產生積體電路的佈局資料的方法。舉例來說,放置及路由程式1100可用於執行圖1所示操作S120、圖4所示操作S210、圖12所示操作S440至S460、圖18所示操作S610或圖19所示操作S720。
靜態時序分析程式1200可包括多個指令以執行根據上述示例性實施例的時序分析方法。舉例來說,靜態時序分析程式1200可用於執行圖1所示操作S140、圖4所示操作S220、圖12所示操作S410至操作S430以及操作S470至操作S490、圖11所示操作S310、操作S320、及操作S340至操作S360、圖13所示操作S510至操作S540、圖18所示操作S630或圖19所示操作S740。
佈局資料1300可包括關於通過放置及路由操作產生的佈局的物理資訊。舉例來說,佈局資料1300可包括構成信號網的導電圖案的空間值及寬度值。配線資料1400可包括與積體電路中所包含的網中的每一個網對應的至少一條配線的層資訊以及所述至少一條配線的物理資訊。另外,配線資料1400可包括與積體電路中所包含的網中的每一個網對應的至少一個通孔的層資訊以及所述至少一個通孔的物理資訊。舉例來說,可通過放置及路由程式1100產生配線資料1400。然而,本發明概念並非僅限於此,且也可通過寄生提取程式產生配線資料1400。儘管圖20單獨地示出佈局資料1300及配線資料1400,但本發明概念並非僅限於此。在一些示例性實施例中,佈局資料1300可包括配線資料1400。
以上已參照圖式闡述了本發明概念的示例性實施例。儘管在本文中使用具體用語來闡述示例性實施例,然而所述用語僅用於闡述本發明概念的技術理念而並非旨在限制以上申請專利範圍中所闡述的本發明概念的範圍。因此,所屬領域中的普通技術人員應理解,可自其衍生出各種修改及其他等效實施例。因此,本發明概念的精神及範圍應由隨附申請專利範圍界定。
儘管已參照本發明概念的示例性實施例具體示出並闡述了本發明概念,然而應理解,在不背離以上申請專利範圍的精神及範圍的條件下,可在本文中作出形式及細節上的各種改變。
100、100a、100b、400‧‧‧積體電路110、410‧‧‧第一單元120、420‧‧‧第二單元130、430‧‧‧第三單元140、440‧‧‧第四單元150、450‧‧‧第五單元160、460‧‧‧第六單元200‧‧‧積體電路設計系統210‧‧‧處理器230‧‧‧記憶體231、331‧‧‧放置及路由模組233、333‧‧‧寄生提取模組235、335‧‧‧靜態時序分析模組250‧‧‧輸入/輸出裝置270、350‧‧‧儲存裝置271、351‧‧‧單元庫資料庫273、353‧‧‧佈局資料庫275、355‧‧‧技術檔案資料庫290‧‧‧匯流排300‧‧‧積體電路設計系統/計算系統310‧‧‧使用者裝置311‧‧‧處理器313‧‧‧使用者介面330‧‧‧積體電路設計平臺1000‧‧‧儲存介質/電腦可讀儲存介質1100‧‧‧放置及路由程式1200‧‧‧靜態時序分析程式1300‧‧‧佈局資料1400‧‧‧配線資料C、D、L‧‧‧延遲CCP、CCPa、CCPb‧‧‧捕獲時鐘路徑ccell,0、dcell,0、dcell,1、dcell,2、dcell,3、lcell,0‧‧‧延遲/單元延遲cnet,0、dnet,0、dnet,1、dnet,2、dnet,3、lnet,0‧‧‧延遲/網延遲CN‧‧‧隅角值D1‧‧‧金屬層/第一金屬層D2‧‧‧第二金屬層D10、D10’、D10a、D10b‧‧‧配線資料D20‧‧‧網清單D30‧‧‧配線模型-硬體相關規範D40‧‧‧阻容變化比例因數DP‧‧‧資料路徑EV‧‧‧附加值LCP、LCPa、LCPb‧‧‧發射時鐘路徑M1‧‧‧第一金屬層M2‧‧‧第二金屬層M3‧‧‧第三金屬層M4‧‧‧第四金屬層M5‧‧‧第五金屬層Ma、Ma、Mb、Mc、Md、Me、Mf‧‧‧層信息N1‧‧‧網/第一網N2‧‧‧網/第二網N3‧‧‧網/第三網N4‧‧‧網/第四網N5‧‧‧網/第五網N6、N7、N1a、N1b、N2a、N2b‧‧‧網PLC‧‧‧放置器RT‧‧‧路由器S110、S120、S130、S140、S210、S220、S310、S320、S330、S340、S350、S360、S410、S420、S430、S440、S450、S460、S470、S480、S490、S510、S520、S530、S540、S550、S560、S570、S610、S620、S630、S710、S720、S730、S740、S750、S760‧‧‧操作TA‧‧‧時序分析器TC1‧‧‧第一時間常數TC2‧‧‧第二時間常數THOLD‧‧‧保持時間餘量λ1、λ2、λ3、λ4、λ5、λ3a、λ3b、λ4a、λ4b‧‧‧長度λ1,2、λ2,3、λ3,4、λ4,3、λ5,5、λ6,4、λ7,2‧‧‧金屬路由長度dtotal‧‧‧總配線長度δ1、δ1‧‧‧第一配線延遲δ1'、δ2'‧‧‧第二配線延遲λm‧‧‧長度/金屬配線長度τ1‧‧‧第一單位延遲資訊τ2‧‧‧第二單位延遲資訊σ1‧‧‧第一阻容變化比例因數σ2‧‧‧第二阻容變化比例因數
結合圖式閱讀以下詳細說明,將更清楚地理解示例性實施例,在圖式中: 圖1是說明根據示例性實施例的積體電路設計方法的流程圖。 圖2示出根據示例性實施例的積體電路。 圖3A及圖3B示出圖2所示積體電路中所包含的時鐘樹(clock tree)的實施方式實例。 圖4是說明根據示例性實施例的積體電路設計方法的流程圖。 圖5是說明根據示例性實施例的設計積體電路的積體電路設計系統的方塊圖。 圖6是更詳細地說明圖5所示積體電路設計系統的方塊圖。 圖7示出根據示例性實施例的由圖6所示積體電路設計系統產生的配線資料。 圖8示出根據示例性實施例的與圖7所示配線資料的網對應的金屬層。 圖9是說明根據示例性實施例的用於通過圖6所示積體電路設計系統的時序分析器計算配線延遲偏斜(wire delay skew)的參數的表。 圖10是說明根據示例性實施例的第m個金屬層的電阻及電容的圖表。 圖11是說明根據示例性實施例的時序分析方法的流程圖。 圖12是說明根據示例性實施例的圖6所示積體電路設計系統的放置及路由(placing and routing,P&R)模組與靜態時序分析(static timing analysis,STA)模組之間的操作的流程圖。 圖13是說明根據示例性實施例的積體電路時序分析方法的流程圖。 圖14是說明根據示例性實施例的積體電路設計系統的方塊圖。 圖15示出根據示例性實施例的積體電路。 圖16示出圖15所示積體電路的配線資料。 圖17A至圖17C示出根據示例性實施例的關於圖15所示積體電路的時序分析結果。 圖18是說明根據示例性實施例的積體電路設計方法的流程圖。 圖19是說明根據示例性實施例的半導體裝置製造方法的流程圖。 圖20示出根據示例性實施例的電腦可讀儲存介質。
S110、S120、S130、S140‧‧‧操作
D10‧‧‧配線資料

Claims (17)

  1. 一種設計積體電路的方法,包括:使用至少一個處理器從放置及路由資料產生配線資料,所述配線資料對應於積體電路中所包含的網,所述配線資料包括與所述網對應的至少一條配線的金屬層資訊及所述至少一條配線的物理資訊,其中所述至少一條配線的所述物理資訊包括所述至少一條配線的製程變化資訊,且所述製程變化資訊包括所述至少一條配線在製造過程中產生的電阻變化、電容變化與通孔變化;使用所述至少一個處理器、依據關聯於所述至少一條配線的所述電阻變化、所述電容變化與所述通孔變化來執行時序分析,以產生時序分析資料;以及根據所述時序分析資料來改變所述積體電路的佈局,其中所述至少一條配線的所述物理資訊還包括所述至少一條配線的至少一長度資訊、所述至少一條配線的寬度資訊、所述至少一條配線的面積資訊、所述至少一條配線的空間資訊與所述至少一條配線的遮罩資訊,其中執行所述時序分析包括:使用所述至少一條配線的所述物理資訊來計算所述至少一條配線的時序延遲;以及使用所計算的所述時序延遲來判定所述網的時間餘量。
  2. 如申請專利範圍第1項所述的設計積體電路的方法, 其中所述配線資料包括至少一金屬層的層資訊及所述至少一金屬層的物理資訊。
  3. 如申請專利範圍第1項所述的設計積體電路的方法,其中所述配線資料包括至少一通孔的層資訊及所述至少一通孔的物理資訊。
  4. 如申請專利範圍第1項所述的設計積體電路的方法,其中所述時序延遲是基於所述至少一條配線的所述製程變化資訊來計算。
  5. 如申請專利範圍第1項所述的設計積體電路的方法,其中所述網包括位於所述積體電路的第一金屬層上的第一配線、及位於與所述第一金屬層不同的第二金屬層上的第二配線。
  6. 如申請專利範圍第5項所述的設計積體電路的方法,其中執行所述時序分析包括:基於所述第一配線的長度及所述第一金屬層的單位延遲來計算所述第一金屬層的第一配線延遲;以及基於所述第二配線的長度及所述第二金屬層的單位延遲來計算所述第二金屬層的第一配線延遲。
  7. 如申請專利範圍第6項所述的設計積體電路的方法,其中執行所述時序分析包括:基於所述第一配線的所述長度、所述第一金屬層的所述單位延遲、及所述第一金屬層的阻容變化比例因數來計算所述第一金屬層的第二配線延遲;以及 基於所述第二配線的所述長度、所述第二金屬層的所述單位延遲、及所述第二金屬層的阻容變化比例因數來計算所述第二金屬層的第二配線延遲。
  8. 如申請專利範圍第7項所述的設計積體電路的方法,其中執行所述時序分析包括:基於所述第一金屬層的所述第一配線延遲及所述第一金屬層的所述第二配線延遲來計算第一配線延遲偏斜;基於所述第二金屬層的所述第一配線延遲及所述第二金屬層的所述第二配線延遲來計算第二配線延遲偏斜;以及基於所述第一配線延遲偏斜及所述第二配線延遲偏斜來計算所述網的所述時間餘量。
  9. 如申請專利範圍第1項所述的設計積體電路的方法,其中所述執行所述時序分析包括基於時間常數比例因數來計算用於建構所述積體電路的多個金屬層中的每一個金屬層的配線延遲偏斜,所述時間常數比例因數是根據至少一條配線的製程變化、表示所述至少一條配線的每單位長度的延遲的單位延遲資訊、以及所述至少一條配線的所述物理資訊來設定。
  10. 一種設計積體電路的方法,包括:使用至少一個處理器執行合成運算,以從關於積體電路的輸入資料產生網清單;使用所述至少一個處理器來放置及路由標準單元,以產生佈局資料及配線資料,所述標準單元使用所述網清單來定義所述 積體電路;使用所述至少一個處理器從所述佈局資料提取寄生分量;以及使用所述至少一個處理器基於所述佈局資料及所述配線資料、根據時序約束條件來執行所述積體電路的時序分析。
  11. 如申請專利範圍第10項所述的設計積體電路的方法,其中所述配線資料包括:配線圖案的層;配線圖案的佈局大小;至少一個通孔;至少一個金屬層;以及所述至少一個金屬層的層資訊。
  12. 如申請專利範圍第11項所述的設計積體電路的方法,其中所述配線資料包括所述至少一個金屬層的物理資訊,其中所述物理資訊包括所述至少一個金屬層的長度資訊、寬度資訊、空間資訊或遮罩資訊中的至少一個。
  13. 如申請專利範圍第10項所述的設計積體電路的方法,其中所述執行所述時序分析包括基於時間常數比例因數來計算用於建構所述積體電路的多個金屬層中的每一個金屬層的配線延遲偏斜,所述時間常數比例因數是根據所述配線資料中所包含的至少一條配線的製程變化、表示所述至少一條配線的每單位長度的延遲的單位延遲資訊、以及所述至少一條配線的物理資訊來設定。
  14. 如申請專利範圍第10項所述的設計積體電路的方法,其中執行所述時序分析包括:從所述積體電路中的多個時序路徑中選擇如下的時序路徑作為時序關鍵路徑:從所述時序路徑的起點到所述時序路徑的終點的總時序延遲大於或等於閾值延遲。
  15. 一種設計積體電路的系統,所述系統包括:至少一個微處理器、及記憶體,所述記憶體儲存代碼,所述代碼由所述至少一個微處理器執行以建構多個模組,所述多個模組包括:第一模組,從標準單元的放置及路由資料產生配線資料,所述標準單元界定積體電路,所述配線資料包括與所述積體電路中所包含的網對應的至少一條配線的層資訊及所述至少一條配線的物理資訊;以及時序分析模組,基於所述配線資料執行對包括所述網的時序路徑的時序分析,以產生時序分析資料,其中所述至少一條配線的所述物理資訊包括所述至少一條配線的至少一長度資訊、所述至少一條配線的寬度資訊、所述至少一條配線的面積資訊、所述至少一條配線的空間資訊與所述至少一條配線的遮罩資訊,其中所述至少一條配線的所述物理資訊還包括所述至少一條配線的製程變化,所述製程變化包括所述至少一條配線在製造過程中產生的一或多個電阻變化、電容變化與通孔變化, 其中所述時序分析模組還配置為:使用所述至少一條配線的所述物理資訊來計算所述至少一條配線的時序延遲;以及使用所計算的所述時序延遲來判定所述網的時間餘量。
  16. 如申請專利範圍第15項所述的設計積體電路的系統,其中所述第一模組是執行界定所述積體電路的所述標準單元的放置及路由的放置及路由模組。
  17. 如申請專利範圍第15項所述的設計積體電路的系統,其中所述第一模組是從所述放置及路由資料提取寄生分量的寄生提取模組。
TW107113892A 2017-04-28 2018-04-24 設計積體電路的方法及其系統 TWI788345B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR1020170055660A KR102402673B1 (ko) 2017-04-28 2017-04-28 Beol의 공정 변이를 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템
KR10-2017-0055660 2017-04-28
??10-2017-0055660 2017-04-28
US15/862,296 2018-01-04
US15/862,296 US10902168B2 (en) 2017-04-28 2018-01-04 Computer-implemented method and computing system for designing integrated circuit by considering timing delay

Publications (2)

Publication Number Publication Date
TW201839641A TW201839641A (zh) 2018-11-01
TWI788345B true TWI788345B (zh) 2023-01-01

Family

ID=63917292

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107113892A TWI788345B (zh) 2017-04-28 2018-04-24 設計積體電路的方法及其系統

Country Status (4)

Country Link
US (2) US10902168B2 (zh)
KR (1) KR102402673B1 (zh)
CN (1) CN108804734B (zh)
TW (1) TWI788345B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI665573B (zh) 2018-01-02 2019-07-11 慧榮科技股份有限公司 電路設計方法及相關的電腦程式產品
US10509888B1 (en) * 2018-09-18 2019-12-17 Taiwan Semiconductor Manufacturing Company Ltd. System and method for forming integrated device
TWI714039B (zh) * 2019-03-27 2020-12-21 創意電子股份有限公司 時序模型、時序模型建立方法、與相關的頂層分析方法
US11023650B2 (en) * 2019-06-18 2021-06-01 Samsung Electronics Co., Ltd. Apparatus and method for circuit timing fixing using extension metal sections and alternate vias
US11646305B2 (en) 2019-10-02 2023-05-09 Samsung Electronics Co., Ltd. Semiconductor devices and methods of manufacturing the same
CN112784384B (zh) * 2019-10-23 2024-08-23 长鑫存储技术(上海)有限公司 时序分析方法及装置、电子设备和计算机可读存储介质
KR102893501B1 (ko) 2019-11-29 2025-11-28 삼성전자 주식회사 나노시트를 포함하는 집적 회로를 제조하기 위한 방법 및 컴퓨팅 시스템
KR20210070892A (ko) 2019-12-04 2021-06-15 삼성전자주식회사 반도체 소자 및 그의 제조 방법
US11080457B1 (en) * 2020-03-18 2021-08-03 Cadence Design Systems, Inc. Layer assignment and routing based on resistance or capacitance characteristic
US11668749B2 (en) * 2020-08-26 2023-06-06 Silicon Motion, Inc. Method for eliminating fake faults in gate-level simulation
CN112069753B (zh) * 2020-08-28 2023-11-10 中国能源建设集团湖南省电力设计院有限公司 正多边形平面螺旋线圈的磁场计算方法
CN112784520B (zh) * 2020-12-31 2024-10-11 成都海光微电子技术有限公司 集成电路时延检测方法、装置、存储介质及电子设备
US11694015B2 (en) * 2021-06-23 2023-07-04 Nxp B.V. Signal routing between memory and memory controller
CN113505554B (zh) * 2021-07-05 2024-08-16 台山市利华电子厂有限公司 时效预校准方法及系统
CN113657065B (zh) * 2021-07-20 2023-08-25 长鑫存储技术有限公司 时钟电路、存储器及半导体结构的制作方法
JP7454689B2 (ja) 2021-07-20 2024-03-22 チャンシン メモリー テクノロジーズ インコーポレイテッド クロック回路、メモリ及び半導体構造の製造方法
TWI801084B (zh) * 2022-01-07 2023-05-01 瑞昱半導體股份有限公司 用於靜態時序分析的餘量校正方法及餘量校正系統
CN114548017B (zh) * 2022-02-24 2025-01-10 长鑫存储技术有限公司 延迟电路单元的版图、延迟电路的版图和半导体存储器
US12307187B2 (en) * 2022-05-18 2025-05-20 Synopsys, Inc. Circuit design having an improved clock tree
CN115293083B (zh) * 2022-09-30 2022-12-20 深圳鸿芯微纳技术有限公司 集成电路时序预测方法、装置、电子设备及存储介质
CN115758969B (zh) * 2022-12-01 2024-11-26 无锡中微亿芯有限公司 一种利用内置长线模块实现长距离布线的fpga

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6189131B1 (en) * 1998-01-14 2001-02-13 Lsi Logic Corporation Method of selecting and synthesizing metal interconnect wires in integrated circuits
US20090254874A1 (en) * 2006-05-18 2009-10-08 Subhasis Bose Methods and systems for placement and routing
TW201426905A (zh) * 2012-04-20 2014-07-01 Ibm 基極-集極接面電容減量的雙極接面電晶體

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572437A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models
US5987086A (en) * 1996-11-01 1999-11-16 Motorola Inc. Automatic layout standard cell routing
KR100475014B1 (ko) * 1997-10-14 2005-09-28 삼성전자주식회사 인터콘넥터의 지연 시간 계산방법
US6145117A (en) * 1998-01-30 2000-11-07 Tera Systems Incorporated Creating optimized physical implementations from high-level descriptions of electronic design using placement based information
US6381730B1 (en) * 1999-07-09 2002-04-30 Sequence Design, Inc. Method and system for extraction of parasitic interconnect impedance including inductance
JP2001306647A (ja) * 2000-04-21 2001-11-02 Matsushita Electric Ind Co Ltd タイミング検証方法
US6789248B1 (en) * 2002-06-24 2004-09-07 Taiwan Semiconductor Manufacturing Company Method and apparatus to perform resistance and capacitance (RC) parameter customization for better timing closure results in physical synthesis and optimization
US7111268B1 (en) * 2002-08-26 2006-09-19 Xilinx, Inc. Post-layout optimization in integrated circuit design
JP2004110522A (ja) 2002-09-19 2004-04-08 Toshiba Microelectronics Corp 半導体装置設計用のタイミング検証装置およびタイミング検証方法
US20050229142A1 (en) * 2004-04-09 2005-10-13 Zenasis Technologies, Inc. System and method for automated accurate pre-layout estimation of standard cell characteristics
US7526743B2 (en) 2004-07-23 2009-04-28 International Business Machines Corporation Method for routing data paths in a semiconductor chip with a plurality of layers
US7174523B2 (en) * 2004-07-30 2007-02-06 International Business Machines Corporation Variable sigma adjust methodology for static timing
JP2006164132A (ja) * 2004-12-10 2006-06-22 Matsushita Electric Ind Co Ltd 半導体集積回路のネットリスト作成方法およびレイアウト設計方法
US7882464B1 (en) * 2005-02-14 2011-02-01 Cadence Design Systems, Inc. Method and system for power distribution analysis
US8595669B1 (en) * 2007-08-31 2013-11-26 Cadence Design Systems, Inc. Flexible noise and delay modeling of circuit stages for static timing analysis of integrated circuit designs
US8225248B2 (en) * 2005-10-24 2012-07-17 Cadence Design Systems, Inc. Timing, noise, and power analysis of integrated circuits
US7882471B1 (en) * 2005-11-15 2011-02-01 Cadence Design Systems, Inc. Timing and signal integrity analysis of integrated circuits with semiconductor process variations
JP2007183932A (ja) 2005-12-09 2007-07-19 Fujitsu Ltd タイミング解析方法及びタイミング解析装置
US7941776B2 (en) * 2006-05-26 2011-05-10 Open-Silicon Inc. Method of IC design optimization via creation of design-specific cells from post-layout patterns
US7937256B2 (en) * 2006-12-02 2011-05-03 Altos Design Automation, Inc. Systems and methods of efficient library characterization for integrated circuit cell libraries
US8504978B1 (en) * 2009-03-30 2013-08-06 Cadence Design Systems, Inc. User interface for timing budget analysis of integrated circuit designs
US7594203B2 (en) 2007-01-24 2009-09-22 Prolific, Inc. Parallel optimization using independent cell instances
JP4803078B2 (ja) 2007-03-07 2011-10-26 富士通セミコンダクター株式会社 半導体集積回路のレイアウト設計方法およびレイアウト設計用プログラム
US7913210B2 (en) * 2007-05-02 2011-03-22 Cadence Design Systems, Inc. Reducing critical cycle delay in an integrated circuit design through use of sequential slack
JP5041882B2 (ja) 2007-06-07 2012-10-03 ルネサスエレクトロニクス株式会社 半導体集積回路の設計方法及び設計支援装置
US7669161B2 (en) * 2007-06-22 2010-02-23 Synopsys, Inc. Minimizing effects of interconnect variations in integrated circuit designs
EP2006784A1 (en) * 2007-06-22 2008-12-24 Interuniversitair Microelektronica Centrum vzw Methods for characterization of electronic circuits under process variability effects
JP2009025914A (ja) * 2007-07-17 2009-02-05 Nec Electronics Corp 半導体集積回路の設計方法及び設計プログラム
JP2009025891A (ja) * 2007-07-17 2009-02-05 Nec Electronics Corp 半導体集積回路の設計方法及び設計プログラム
US8386975B2 (en) * 2007-12-27 2013-02-26 Cadence Design Systems, Inc. Method, system, and computer program product for improved electrical analysis
JP4530049B2 (ja) * 2008-01-10 2010-08-25 ソニー株式会社 半導体装置の設計プログラムおよび半導体装置の設計システム
US7783999B2 (en) * 2008-01-18 2010-08-24 Taiwan Semiconductor Manufacturing Company, Ltd. Electrical parameter extraction for integrated circuit design
JP4938696B2 (ja) 2008-01-24 2012-05-23 ソニー株式会社 半導体装置の設計プログラムおよび半導体装置の設計システム
US8245165B1 (en) * 2008-04-11 2012-08-14 Cadence Design Systems, Inc. Methods and apparatus for waveform based variational static timing analysis
US8255851B1 (en) * 2008-06-24 2012-08-28 Marvell Israel (M.I.S.L) Ltd. Method and system for timing design
US8117568B2 (en) * 2008-09-25 2012-02-14 International Business Machines Corporation Apparatus, method and computer program product for fast simulation of manufacturing effects during integrated circuit design
JP4655240B2 (ja) * 2008-09-26 2011-03-23 日本電気株式会社 タイミング解析支援装置
JP2010165828A (ja) * 2009-01-15 2010-07-29 Renesas Electronics Corp 感度解析システム、感度解析プログラム
US8312406B2 (en) * 2009-06-22 2012-11-13 Cadence Design Systems, Inc. Method and system performing RC extraction
US8336015B2 (en) * 2009-09-08 2012-12-18 Synopsys, Inc. Pre-route and post-route net correlation with defined patterns
US8336010B1 (en) * 2009-12-04 2012-12-18 Cadence Design Systems, Inc. Design-specific on chip variation de-rating factors for static timing analysis of integrated circuits
US8453102B1 (en) * 2010-03-12 2013-05-28 Worldwide Pro Ltd. Hierarchical variation analysis of integrated circuits
US20120011480A1 (en) * 2010-05-25 2012-01-12 Sridhar Srinivasan Logic-Driven Layout Verification
US8473886B2 (en) 2010-09-10 2013-06-25 Synopsys, Inc. Parallel parasitic processing in static timing analysis
US8418112B2 (en) * 2011-03-03 2013-04-09 Taiwan Semiconductor Manufacturing Company, Ltd. Method of generating RC technology file
US8584065B2 (en) * 2011-05-05 2013-11-12 Advanced Micro Devices, Inc. Method and apparatus for designing an integrated circuit
US8797054B2 (en) * 2011-08-03 2014-08-05 Qualcomm Incorporated Thermal and stress gradient based RC extraction, timing and power analysis
US8713498B2 (en) * 2011-08-24 2014-04-29 Freescale Semiconductor, Inc. Method and system for physical verification using network segment current
US8769462B2 (en) * 2011-10-07 2014-07-01 Synopsys, Inc. Parasitic extraction for semiconductors
US8806414B2 (en) * 2012-05-31 2014-08-12 Taiwan Semiconductor Manufacturing Co., Ltd. Method and system for layout parasitic estimation
US9418192B1 (en) 2012-12-11 2016-08-16 Atoptech, Inc. Pass eco flow based on reduced timing scope timer
US8788995B1 (en) 2013-03-15 2014-07-22 Cadence Design Systems, Inc. System and method for guiding remedial transformations of a circuit design defined by physical implementation data to reduce needed physical corrections for detected timing violations in the circuit design
US8863052B1 (en) * 2013-07-12 2014-10-14 Cadence Design Systems, Inc. System and method for generating and using a structurally aware timing model for representative operation of a circuit design
US9165105B2 (en) * 2013-12-13 2015-10-20 Taiwan Semiconductor Manufacturing Co., Ltd. Rule checking for confining waveform induced constraint variation in static timing analysis
US9563734B2 (en) * 2014-01-08 2017-02-07 Taiwan Semiconductor Manufacturing Company Ltd. Characterizing cell using input waveform generation considering different circuit topologies
JP2015166981A (ja) * 2014-03-04 2015-09-24 株式会社ソシオネクスト レイアウト検証方法、検証装置、及び検証プログラム
US9477803B2 (en) * 2014-07-30 2016-10-25 Taiwan Semiconductor Manufacturing Company, Ltd. Method of generating techfile having reduced corner variation value
US9600620B2 (en) * 2015-03-20 2017-03-21 Xpliant Repeater insertions providing reduced routing perturbation caused by flip-flop insertions
US10372869B2 (en) * 2015-03-27 2019-08-06 Samsung Electronics Co., Ltd. System and method of analyzing integrated circuit in consideration of a process variation
US11256846B2 (en) * 2015-03-27 2022-02-22 Samsung Electronics Co., Ltd. System and method of analyzing integrated circuit in consideration of a process variation and a shift
US9589096B1 (en) * 2015-05-19 2017-03-07 Cadence Design Systems, Inc. Method and apparatus for integrating spice-based timing using sign-off path-based analysis
KR102398596B1 (ko) 2015-06-15 2022-05-16 삼성전자주식회사 집적 회로의 수율 예측 방법 및 집적 회로의 설계 최적화 방법
US9904743B2 (en) * 2015-10-29 2018-02-27 Taiwan Semiconductor Manufacturing Co., Ltd. Method for analyzing interconnect process variation
US9875333B1 (en) * 2016-01-19 2018-01-23 Cadence Design Systems, Inc. Comprehensive path based analysis process
US10521538B2 (en) * 2016-04-27 2019-12-31 Taiwan Semiconductor Manufacturing Co., Ltd Method and system for integrated circuit design with on-chip variation and spatial correlation
US10318696B1 (en) * 2016-05-09 2019-06-11 Ampere Computing Llc Efficient techniques for process variation reduction for static timing analysis
KR20170133750A (ko) * 2016-05-26 2017-12-06 삼성전자주식회사 집적 회로의 설계를 위한 컴퓨터 구현 방법
US10755009B1 (en) * 2017-04-20 2020-08-25 Synopsys, Inc. Optimization after allocating potential slacks to clock arrival times
KR102416490B1 (ko) * 2017-06-15 2022-07-04 삼성전자 주식회사 와이어의 공정 변이를 고려한 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6189131B1 (en) * 1998-01-14 2001-02-13 Lsi Logic Corporation Method of selecting and synthesizing metal interconnect wires in integrated circuits
US20090254874A1 (en) * 2006-05-18 2009-10-08 Subhasis Bose Methods and systems for placement and routing
TW201426905A (zh) * 2012-04-20 2014-07-01 Ibm 基極-集極接面電容減量的雙極接面電晶體

Also Published As

Publication number Publication date
CN108804734B (zh) 2023-11-07
KR102402673B1 (ko) 2022-05-26
CN108804734A (zh) 2018-11-13
US20180314771A1 (en) 2018-11-01
US10902168B2 (en) 2021-01-26
KR20180121219A (ko) 2018-11-07
US11475195B2 (en) 2022-10-18
TW201839641A (zh) 2018-11-01
US20210173991A1 (en) 2021-06-10

Similar Documents

Publication Publication Date Title
TWI788345B (zh) 設計積體電路的方法及其系統
US11861281B2 (en) Computer-implemented method and computing system for designing integrated circuit by considering timing delay
CN107066681B (zh) 集成电路和制造集成电路的计算机实现方法
TW202018548A (zh) 製造積體電路的方法以及用於設計積體電路的計算系統
KR102416490B1 (ko) 와이어의 공정 변이를 고려한 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템
US10928442B2 (en) Computer implemented methods and computing systems for designing integrated circuits by considering back-end-of-line
US20170344692A1 (en) Computer-implemented method of designing an integrated circuit
CN110728109A (zh) 集成装置以及形成集成装置的方法
US10424518B2 (en) Integrated circuit designing system and a method of manufacturing an integrated circuit
JP2015166981A (ja) レイアウト検証方法、検証装置、及び検証プログラム
TWI817646B (zh) 用於設計上下文感知電路的方法及系統
TWI718245B (zh) 積體電路、製造其的電腦實施方法以及定義其的標準元件
US9852252B2 (en) Standard cell library and methods of using the same
US9292648B1 (en) Activity-driven capacitance reduction to reduce dynamic power consumption in an integrated circuit
CN112214956B (zh) 用于设计半导体电路的系统及其操作方法
TW201935289A (zh) 用於單元交換的方法
JP2007004563A (ja) ライブラリ作成装置、ライブラリ作成プログラムおよびライブラリ作成方法