TWI718486B - 積體電路佈局設計方法 - Google Patents

積體電路佈局設計方法 Download PDF

Info

Publication number
TWI718486B
TWI718486B TW108106924A TW108106924A TWI718486B TW I718486 B TWI718486 B TW I718486B TW 108106924 A TW108106924 A TW 108106924A TW 108106924 A TW108106924 A TW 108106924A TW I718486 B TWI718486 B TW I718486B
Authority
TW
Taiwan
Prior art keywords
layout design
integrated circuit
stage
circuit layout
design method
Prior art date
Application number
TW108106924A
Other languages
English (en)
Other versions
TW202032396A (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 瑞昱半導體股份有限公司
Priority to TW108106924A priority Critical patent/TWI718486B/zh
Priority to US16/801,414 priority patent/US10915688B2/en
Publication of TW202032396A publication Critical patent/TW202032396A/zh
Application granted granted Critical
Publication of TWI718486B publication Critical patent/TWI718486B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/396Clock trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

本發明揭露了一種積體電路佈局設計方法,能夠減少一積體電路佈局設計流程之結果的電路面積與功率的消耗。該積體電路佈局設計流程包含一前段流程與一後段流程。該積體電路佈局設計方法包含下列步驟:依據初始時脈延遲設定執行該前段流程,以產生一初始網表;依據該初始網表執行該後段流程的至少一部分以得到更新時脈延遲設定;依據該更新時脈延遲設定執行該前段流程的至少一部分,以產生一更新網表;以及依據該更新網表執行該後段流程,以得到該積體電路佈局設計流程之結果。

Description

積體電路佈局設計方法
本發明是電路佈局設計方法,尤其是關於積體電路佈局設計方法。
一般的積體電路佈局設計流程包含一邏輯合成(synthesis)流程與一自動佈局繞線(automatic placement and routing, APR)流程。該邏輯合成流程依據一積體電路設計的硬體描述碼(hardware description language code, HDL code)產生一邏輯閘級的網表(netlist),接著該自動佈局繞線流程依據該網表產生電路的實體設計。然而,目前的邏輯合成流程未考慮一時脈根源(clock root)至一序向元件(sequential cell)的一時脈接腳的時脈樹(clock tree),也就是說該時脈根源至該序向元件的該時脈接腳的時脈延遲(clock latency)被視為零(例如當該序向元件為正反器時)或可能為一不準確的預設值(例如當該序向元件為一積體時脈閘控(integrated clock gating, ICG)元件或一靜態隨機存取記憶體(SRAM)電路時);因此,為了符合電路運作的時序要求,該邏輯合成流程的時序處理可能是過度限制的(over-constraint),從而該自動佈局繞線流程依據該網表所產生的實體設計的電路面積與功耗可能會超出所需。在製程微縮的趨勢下,電路面積與功耗均是本領域錙銖必較的項目,因此,目前的積體電路佈局設計流程仍有改善的餘地。
本發明的目的之一在於提供一種積體電路佈局設計方法,以改善先前技術。
本發明的目的之一在於提供一種積體電路佈局設計方法,以改善一積體電路佈局設計流程之結果。
本發明之積體電路佈局設計方法的一實施例能夠改善一積體電路佈局設計流程之結果的電路面積與功率的消耗,該積體電路佈局設計流程包含一前段流程與一後段流程,該實施例包含下列步驟:依據初始時脈延遲設定執行該前段流程,以產生一初始網表;依據該初始網表執行該後段流程的至少一部分,以得到更新時脈延遲設定;依據該更新時脈延遲設定執行該前段流程的至少一部分,以產生一更新網表;以及依據該更新網表執行該後段流程,以得到該積體電路佈局設計流程之結果。
有關本發明的特徵、實作與功效,茲配合圖式作較佳實施例詳細說明如下。
以下說明內容的用語是參照本技術領域的習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語的解釋是以本說明書的說明或定義為準。
本發明揭露了一種積體電路佈局設計方法,能夠改善一積體電路佈局設計流程之結果,以降低一積體電路(例如:處理器)的面積及生產成本,並降低該積體電路的漏電(leakage power)。該積體電路佈局設計流程包含一前段流程與一後段流程。該前段流程包含一邏輯合成(synthesis)流程,其可由一工具程式(例如:Synopsys的design compiler,或是Cadence的genus)來執行;該後段流程包含一自動佈局繞線(automatic placement and routing, APR)流程,其可由一工具程式(例如:Synopsys的ICC/ICC2,或是Cadence的Innovus)來執行。該邏輯合成流程依序包含一轉譯(translation)階段、一映射(mapping)階段、與一優化(optimization)階段;該自動佈局繞線流程依序包含一佈局與優化(Placement and Optimization)階段、一時序樹合成(Clock Tree Synthesis, CTS)階段、一時序樹合成後優化(Post-CTS Optimization)階段、一訊號繞線(Signal Routing)階段、與一繞線後優化(Post-Route Optimization)階段;該前段流程可能包含早於該邏輯合成流程的其它流程像是一模擬流程;該後段流程可能包含晚於該自動佈局繞線流程的其它流程像是一驗證流程。由於該前段流程及其中的每一階段與該後段流程及其中的每一階段均為已知,其細節在此省略。
圖1顯示本發明之積體電路佈局設計方法的一實施例,該實施例能夠改善前述積體電路佈局設計流程之結果的電路面積與功率的消耗。圖1之實施例包含下列步驟: 步驟S110:依據初始時脈延遲(clock latency)設定執行該前段流程,以產生一初始網表(netlist)。於一實作範例中,步驟S110依據一初始資料庫執行該前段流程,以產生一初始網表(netlist),並更新該初始資料庫而得到一第一更新資料庫,其中該初始資料庫包含初始時脈延遲(clock latency)設定。於一實作範例中,步驟S110執行該前段流程包含前述邏輯合成流程,以產生該初始網表。於步驟S110的一實作範例中,根據該初始時脈延遲設定,一時脈根源(clock root)與一序向元件(sequential cell)的一時脈接腳(clock pin)之間的時脈延遲等於一第一值;舉例而言,該第一值為零。於一實作範例中,該序向元件為一正反器(flip flop)、一積體時脈閘控(integrated clock gating, ICG)元件、一靜態隨機存取記憶體(SRAM)電路、或一包含記憶體儲存資料的邏輯電路(例如:計數器或閂鎖器)。 步驟S120:依據該初始網表執行該後段流程的至少一部分以得到更新時脈延遲設定。於一實作範例中,步驟S120依據該初始網表執行前述自動佈局繞線流程的至少一部分(例如:該佈局與優化階段、該時序樹合成階段、與該時序樹合成後優化階段如圖2之S222~S226所示;或者該佈局與優化階段、該時序樹合成階段、該時序樹合成後優化階段、該訊號繞線階段、與該繞線後優化階段如圖3之S322~S329所示),以得到該更新時脈延遲設定。於一實作範例中,根據該更新時脈延遲設定,前述時脈根源與前述序向元件的時脈接腳之間的時脈延遲為一第二值,該第二值不同於該第一值;舉例而言,該第二值大於該第一值。 步驟S130:依據該更新時脈延遲設定執行該前段流程的至少一部分,以產生一更新網表。於一實作範例中,步驟S130依據該更新時脈延遲設定更新前述第一更新資料庫以得到一第二更新資料庫,並依據該第二更新資料庫執行該前段流程的至少一部分以產生該更新網表。於一實作範例中,步驟S130依據該更新時脈延遲設定執行前述邏輯合成流程的至少一部分(例如:該優化階段如圖2之S236或圖3之S336所示;或者該映射階段與該優化階段),以產生該更新網表。 步驟S140:依據該更新網表執行該後段流程,以得到該積體電路佈局設計流程之結果。
值得注意的是,步驟S110~S140可由單一工具程式或複數個工具程式來執行。另值得注意的是,前述資料庫可被一工具程式自動地更新或藉由使用者的輸入而被更新。
圖2顯示圖1之積體電路佈局設計方法的一範例性實作流程,其中虛框表示的階段(亦即:訊號繞線階段S228、與繞線後優化階段S229、轉譯階段S232、映射階段S234)是未被執行的程序。如圖2所示,該實作流程包含下列程序:該邏輯合成流程的轉譯階段S212、映射階段S214與優化階段S216;該自動佈局繞線流程的佈局與優化階段S222、時序樹合成階段S224、與時序樹合成後優化階段S226;該邏輯合成流程的優化階段S236;以及該自動佈局繞線流程的佈局與優化階段S242、時序樹合成階段S244、時序樹合成後優化階段S246、訊號繞線階段S248、與繞線後優化階段S249。圖2的實作流程中,該更新時脈延遲設定是於執行完該時序樹合成後優化階段S226後得到;由於本實作流程於執行完該後段流程的時序樹合成後優化階段S226後即回頭執行該前段流程的優化階段S236,本實作流程可省去執行時序樹合成後優化階段S226之後的階段(亦即:虛框表示的階段)的時間。
圖3顯示圖1之積體電路佈局設計方法的另一範例性實作流程,其中虛框表示的階段(亦即:轉譯階段S332、映射階段S334)是未被執行的程序。如圖3所示,本發明之積體電路佈局設計方法依序執行至少下列程序:該邏輯合成流程的轉譯階段S312、映射階段S314與優化階段S316;該自動佈局繞線流程的佈局與優化階段S322、時序樹合成階段S324、該時序樹合成後優化階段S326、該訊號繞線階段S328、與該繞線後優化階段S329;該邏輯合成流程的優化階段S336;以及該自動佈局繞線流程的佈局與優化階段S342、時序樹合成階段S344、時序樹合成後優化階段S346、訊號繞線階段S348、與繞線後優化階段S349。圖3的實作流程中,該更新時脈延遲設定是於執行完該繞線後優化階段S329後得到;由於本實作流程於執行完該繞線後優化階段S329階段後才回頭執行該優化階段S336,本實作流程所得到的該更新時脈延遲設定相較於圖2的實作流程所得到的該更新時脈延遲設定更加準確,而能更有效地改善該積體電路佈局設計流程之結果。
請注意,在實施為可能的前提下,本技術領域具有通常知識者可選擇性地實施前述任一實施例中部分或全部技術特徵,或選擇性地實施前述複數個實施例中部分或全部技術特徵的組合,藉此增加本發明實施時的彈性。
綜上所述,本發明能夠改善一積體電路佈局設計流程之結果的電路面積與功率的消耗,以減少一積體電路的生產成本,並降低該積體電路的漏電(leakage power)。
雖然本發明之實施例如上所述,然而該些實施例並非用來限定本發明,本技術領域具有通常知識者可依據本發明之明示或隱含之內容對本發明之技術特徵施以變化,凡此種種變化均可能屬於本發明所尋求之專利保護範疇,換言之,本發明之專利保護範圍須視本說明書之申請專利範圍所界定者為準。
S110~S140:步驟S212:轉譯階段S214:映射階段S216:優化階段S222:佈局與優化階段S224:時序樹合成階段S226:時序樹合成後優化階段S228:訊號繞線階段S229:繞線後優化階段S232:轉譯階段S234:映射階段S236:邏輯合成流程的優化階段S242:佈局與優化階段S244:時序樹合成階段S246:時序樹合成後優化階段S248:訊號繞線階段S249:繞線後優化階段S312:轉譯階段S314:映射階段S316:優化階段S322:佈局與優化階段S324:時序樹合成階段S326:時序樹合成後優化階段S328:訊號繞線階段S329:繞線後優化階段S332:轉譯階段S334:映射階段S336:優化階段S342:佈局與優化階段S344:時序樹合成階段S346:時序樹合成後優化階段S348:訊號繞線階段S349:繞線後優化階段
[圖1]顯示本發明之積體電路佈局設計方法的一實施例; [圖2]顯示圖1之積體電路佈局設計方法的一範例性實作流程;以及 [圖3]顯示圖1之積體電路佈局設計方法的另一範例性實作流程。
S110~S140:步驟

Claims (10)

  1. 一種積體電路佈局設計方法,能夠改善一積體電路佈局設計流程之結果,該積體電路佈局設計流程包含一前段流程與一後段流程,該積體電路佈局設計方法包含:依據初始時脈延遲設定執行該前段流程,以產生一初始網表(netlist);依據該初始網表執行該後段流程的至少一部分,以得到更新時脈延遲設定;依據該更新時脈延遲設定執行該前段流程的至少一部分,以產生一更新網表;以及依據該更新網表執行該後段流程,以得到該積體電路佈局設計流程之結果,其中該前段流程包含一或多個流程不晚於一邏輯合成(Synthesis)流程,該後段流程包含一或多個流程不早於一自動佈局繞線(Automatic Placement and Routing,APR)流程。
  2. 如申請專利範圍第1項所述之積體電路佈局設計方法,其中該自動佈局繞線流程包含一時序樹合成後優化(Post-CTS Optimization)階段與一繞線後優化(Post-Route Optimization)階段,該後段流程的該至少一部分包含該時序樹合成後優化階段。
  3. 如申請專利範圍第1項所述之積體電路佈局設計方法,其中該前段流程的該至少一部分為該邏輯合成流程之一優化(Optimization)階段。
  4. 如申請專利範圍第3項所述之積體電路佈局設計方法,其中該前段流程的該至少一部分僅包含該前段流程的一部分。
  5. 如申請專利範圍第3項所述之積體電路佈局設計方法,其中該自動佈局繞線流程包含一時序樹合成後優化(Post-CTS Optimization)階段與一繞線 後優化(Post-Route Optimization)階段,該後段流程的該至少一部分包含該時序樹合成後優化階段。
  6. 如申請專利範圍第5項所述之積體電路佈局設計方法,其中該更新時脈延遲設定是於執行完該時序樹合成後優化階段後得到。
  7. 如申請專利範圍第5項所述之積體電路佈局設計方法,其中該後段流程的該至少一部分僅包含該後段流程的一部分。
  8. 如申請專利範圍第5項所述之積體電路佈局設計方法,其中該後段流程的該至少一部分包含該繞線後優化階段。
  9. 如申請專利範圍第8項所述之積體電路佈局設計方法,其中該更新時脈延遲設定是於執行完該繞線後優化階段後得到。
  10. 如申請專利範圍第1項所述之積體電路佈局設計方法,其中依據該初始時脈延遲設定,一時脈根源(clock root)與一序向元件(sequential cell)的一時脈接腳(clock pin)之間的一時脈延遲等於一第一值;依據該更新時脈延遲設定,該時脈根源與該序向元件的該時脈接腳之間的該時脈延遲為一第二值,該第二值不同於該第一值。
TW108106924A 2019-02-27 2019-02-27 積體電路佈局設計方法 TWI718486B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW108106924A TWI718486B (zh) 2019-02-27 2019-02-27 積體電路佈局設計方法
US16/801,414 US10915688B2 (en) 2019-02-27 2020-02-26 IC layout design method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108106924A TWI718486B (zh) 2019-02-27 2019-02-27 積體電路佈局設計方法

Publications (2)

Publication Number Publication Date
TW202032396A TW202032396A (zh) 2020-09-01
TWI718486B true TWI718486B (zh) 2021-02-11

Family

ID=72142612

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108106924A TWI718486B (zh) 2019-02-27 2019-02-27 積體電路佈局設計方法

Country Status (2)

Country Link
US (1) US10915688B2 (zh)
TW (1) TWI718486B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113919275A (zh) 2020-09-21 2022-01-11 台积电(南京)有限公司 用于优化集成电路的布局的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8302053B2 (en) * 2010-02-24 2012-10-30 Juniper Networks, Inc. Automated integrated circuit clock insertion
TWI376613B (en) * 2007-05-22 2012-11-11 United Microelectronics Corp Method for determining a standard cell for ic design
US20150276871A1 (en) * 2014-03-31 2015-10-01 Mediatek Singapore Pte. Ltd. Integrated circuit and method for establishing scan test architecture in integrated circuit
CN105631087A (zh) * 2014-11-26 2016-06-01 台湾积体电路制造股份有限公司 用于集成电路布局生成的方法、器件和计算机程序产品
US9489478B2 (en) * 2014-10-17 2016-11-08 Synopsys, Inc. Simplifying modes of an electronic circuit by reducing constraints
US10073944B2 (en) * 2016-06-08 2018-09-11 Synopsys, Inc. Clock tree synthesis based on computing critical clock latency probabilities

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005119440A2 (en) * 2004-06-01 2005-12-15 Tera Systems, Inc. Methods and systems for mixed-mode physical synthesis in electronic design automation
WO2005119531A2 (en) * 2004-06-01 2005-12-15 Tera Systems, Inc. Rule-based design consultant and method for integrated circuit design
EP1816577A1 (en) * 2006-02-03 2007-08-08 STMicroelectronics (Research & Development) Limited A method of making an integrated circuit including a clock tree
US10509886B2 (en) * 2017-11-07 2019-12-17 Taiwan Semiconductor Manufacturing Company Ltd. Method, system, and storage medium for RC extraction using hierarchical modeling architecture

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI376613B (en) * 2007-05-22 2012-11-11 United Microelectronics Corp Method for determining a standard cell for ic design
US8302053B2 (en) * 2010-02-24 2012-10-30 Juniper Networks, Inc. Automated integrated circuit clock insertion
US20150276871A1 (en) * 2014-03-31 2015-10-01 Mediatek Singapore Pte. Ltd. Integrated circuit and method for establishing scan test architecture in integrated circuit
US9489478B2 (en) * 2014-10-17 2016-11-08 Synopsys, Inc. Simplifying modes of an electronic circuit by reducing constraints
CN105631087A (zh) * 2014-11-26 2016-06-01 台湾积体电路制造股份有限公司 用于集成电路布局生成的方法、器件和计算机程序产品
US10073944B2 (en) * 2016-06-08 2018-09-11 Synopsys, Inc. Clock tree synthesis based on computing critical clock latency probabilities

Also Published As

Publication number Publication date
US10915688B2 (en) 2021-02-09
TW202032396A (zh) 2020-09-01
US20200272783A1 (en) 2020-08-27

Similar Documents

Publication Publication Date Title
Simon et al. BLADE: An in-cache computing architecture for edge devices
Cassidy et al. Beyond Amdahl's law: an objective function that links multiprocessor performance gains to delay and energy
Papaphilippou et al. Accelerating database systems using FPGAs: A survey
Mueller et al. Data processing on FPGAs
US8200846B2 (en) Timestamp synchronization for queries to database portions in nodes that have independent clocks in a parallel computer system
US10579341B2 (en) Generation of workload models from execution traces
TWI718486B (zh) 積體電路佈局設計方法
Chowdhury et al. AnyCore: A synthesizable RTL model for exploring and fabricating adaptive superscalar cores
US9047434B2 (en) Clustering for processing of circuit design data
US7577558B2 (en) System and method for providing compact mapping between dissimilar memory systems
US20100293514A1 (en) Design-driven metal critical dimension (cd) biasing
CN111666732B (zh) 集成电路布局设计方法
Konstadinidis et al. Architecture and physical implementation of a third generation 65 nm, 16 core, 32 thread chip-multithreading sparc processor
Bose et al. Challenges in processor modeling and validation
US20230110560A1 (en) Unified framework and method for accurate context-aware timing modeling
Hayes et al. Future vector microprocessor extensions for data aggregations
Wainberg et al. Robust optimization of multiple timing constraints
US10380295B1 (en) Methods, systems, and articles of manufacture for X-behavior verification of an electronic design
Ratkovic et al. Physical vs. physically-aware estimation flow: case study of design space exploration of adders
Choudhary FabScalar: Automating the design of superscalar processors
US11868696B2 (en) Lightweight unified power format implementation for emulation and prototyping
TWI477941B (zh) Dynamic modulation processing device and its processing method
US11797739B2 (en) Endpoint path margin based integrated circuit design using sub-critical timing paths
US20220327266A1 (en) Generating a reduced block model view on-the-fly
US20220121802A1 (en) Construction, modeling, and mapping of multi-output cells