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

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

Info

Publication number
TW201923823A
TW201923823A TW107113102A TW107113102A TW201923823A TW 201923823 A TW201923823 A TW 201923823A TW 107113102 A TW107113102 A TW 107113102A TW 107113102 A TW107113102 A TW 107113102A TW 201923823 A TW201923823 A TW 201923823A
Authority
TW
Taiwan
Prior art keywords
height
unit
cell
row
integrated circuit
Prior art date
Application number
TW107113102A
Other languages
English (en)
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 TW201923823A publication Critical patent/TW201923823A/zh

Links

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/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
    • 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/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
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/0203Particular design considerations for integrated circuits
    • H01L27/0207Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Power Engineering (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

一種積體電路,包含具有第一高度的第一行,其中第一單元位於具有第一高度的第一行中。積體電路進一步包含具有第二高度的第二行,其中第一高度不是第二高度的整數倍數。第二單元位於具有第二高度的第二行中。

Description

積體電路及其設計的方法及其設計系統
本發明的實施例是有關於一種積體電路及其設計的方法及其設計系統。
各種自動化工具用於輔助半導體設計師對準備製造的電路的最終佈局採用期望電路的功能性設計。此製程將電路的功能性描述轉化成使用標準單元資料庫(library)映射到單元的行中的布耳函數(Boolean function)。一旦映射,那麼便執行合成以將結構設計轉變成物理佈局。
為了避免來自資料庫的單元與共同電力軌(power rails)或其它設計規則對準的問題,使用來自單元資料庫的標準化單元,所述標準化單元所具有的單元高度等於單元行的高度或標準單元高度的整數倍的單元高度。因此,通常早期就做出關於利用哪一單元高度來設計的決策,且對應於那一單元高度的單元資料庫用於結構設計和合成製程。
根據一實施例,積體電路包括:多個單元,所述單元中的每一個包含配置成執行預設定義功能的元件;所述多個單元中的第一個,其定位於具有第一高度的第一行中;所述第一單元,其具有所述第一高度;所述多個單元中的第二個,其定位於具有第二高度的第二行中,其中所述第一高度不是所述第二高度的整數倍數;以及所述第二單元,其具有所述第二高度。
根據另一實施例,積體電路的設計方法包括:接收積體電路設計;確定具有第一高度的第一單元類型的最大可允許面積;確定所述第一單元類型的多個第一單元的總面積;將所述多個第一單元的所述總面積與所述第一單元類型的所述最大可允許面積進行比較;如果所述多個第一單元的所述總面積大於所述第一單元類型的所述最大可允許面積,那麼所述第一單元中的一個便由具有小於所述第一高度的第二高度的第二單元類型的第二單元替換;其中由處理器執行所述方法的至少一個步驟。
根據又一實施例,積體電路的設計系統包括:單元資料庫,其定義多個單元,所述單元中的每一個包含配置成執行預設定義功能的元件,所述多個單元包含具有第一高度的第一單元類型以及具有第二高度的第二單元類型,其中所述第一高度不是所述第二高度的整數倍數;處理器;電腦可讀媒體,其可由所述處理器存取,所述電腦可讀媒體存儲在由所述處理器執行時實施方法的指令,所述方法包括:接收積體電路設計;基於功能性積體電路設計從所述單元資料庫中選擇所述第一單元類型的第一單元以及所述第二單元類型的第二單元;產生積體電路設計佈局,所述積體電路設計佈局包含具有所述第一高度的第一行,其中所述第一單元定位於所述第一行中;以及具有所述第二高度的第二行,其中所述第二單元定位於所述第二行中。
以下公開提供用於實施所提供主題的不同特徵的許多不同實施例或實例。下文描述元件和佈置的具體實例以簡化本公開。當然,這些僅為實例且並不意圖為限制性的。舉例來說,在以下描述中,在第二特徵上方或第二特徵上形成第一特徵可包含第一特徵和第二特徵直接接觸而形成的實施例,並且還可包含可在第一特徵與第二特徵之間形成額外特徵,使得第一特徵和第二特徵可以不直接接觸的實施例。另外,本公開可在各種實例中重複圖示元件符號和/或字母。此重複是出於簡化和清楚的目的,且就其本身而言並不指示所論述的各種實施例和/或配置之間的關係。
此外,為易於描述,如“下方”、“低於”、“下部”、“高於”、“上部”和類似術語的空間相對術語可在本文中用以描述如圖式中所示的一個元件或特徵與另一元件或特徵的關係。除了圖式中所描繪的定向之外,空間相對術語意圖涵蓋在使用或操作中的裝置的不同定向。設備可以其它方式定向(旋轉90度或處於其它定向),且可同樣相應地解釋本文中所使用的空間相對描述詞。
積體電路自動化設計工具將電路設計轉化成待製造的電路佈局。此製程典型地包含將電路的行為描述轉變成功能性描述,所述功能性描述隨後分解成邏輯函數且使用標準單元資料庫映射到單元的行中。一旦映射,那麼便執行合成以將結構設計轉變成物理佈局,建構時鐘樹(clock tree)以使結構元件同步,且設計優化後佈局(optimized post layout)。
根據本公開的詳情,用於從用戶設計中產生閘級網表(gate-level netlist)的積體電路和設計製程的實例包含產生包含具有變化單元高度的單元的行的積體電路。換句話說,所述行具有彼此不必互為倍數的變化行高度。
舉例來說,一些實施例提供包含以下的積體電路:具有第一高度的第一行,其中單元位於具有第一高度的第一行中;以及具有不是第一高度的整數倍數的第二高度的第二行。第二行中的單元具有第二高度。相比之下,一些已知集成設計方法僅包含相同行高度,其中每一行具有稱為hunit 的高度。所述行含有具有此行高度的單元,或具有hunit 的整數倍(即n×hunit ,其中n為正整數)的單元高度的單元可放入各自具有hunit 高度的多個行中。由於此種行限制,此佈置阻止或阻礙優化設計。
僅使用單個單元高度,必須在電路性能、電路功率以及製造製程之間做出折中。舉例來說,有較低閾值電壓的單元具有相對較高的速度和功率,但可能需要額外製造步驟。或者,相比於較低閾值電壓單元,具有相對較高閾值電壓設計的單元可使用較少功率,且還可具有較低速度,然而仍需要額外製造步驟。
圖1是說明根據本文所公開的一些實施例的處理系統100的實例的方塊圖。處理系統100可用於實施本文中所論述的各種製程。處理系統100包含處理單元110,如桌上型電腦、工作站、筆記型電腦、定制用於特定應用的專用單元、智慧手機或平板電腦等。處理系統100可配備有顯示器114和一或多個輸入/輸出裝置112,如滑鼠、鍵盤、觸控式螢幕、印表機等。處理單元110還包含中央處理單元(central processing unit, CPU)120、記憶體122、大型存放區裝置124、視訊卡126以及連接到匯流排130的輸入/輸出介面128。
匯流排130可以是任何類型的若干匯流排架構中的一種或多種,包含記憶體匯流排或記憶體控制器、週邊匯流排,或視頻匯流排。中央處理單元120可包括任何類型的電子資料處理器,且記憶體122可包括任何類型的系統記憶體,如靜態隨機存取記憶體(static random access memory, SRAM)、動態隨機存取記憶體(dynamic random access memory, DRAM)或唯讀記憶體(read-only memory, ROM)。
大型存放區裝置124可包括任何類型的存儲裝置,所述存儲裝置配置為了存儲資料、程式(programe)以及其它資訊,且配置成使得資料、程式以及其它資訊可經由匯流排130存取。大型存放區裝置124可包括例如硬碟驅動器、磁碟機、光碟驅動器或類似裝置中的一或多個。
如本文中所使用的術語(term)電腦可讀媒體可包含如上述系統記憶體和存儲裝置的電腦存儲媒體。電腦存儲媒體可包含以任何方法或技術實施用於存儲資訊的揮發性(volatile)和非揮發性(nonvolatile)、可移動和不可移動媒體,如電腦可讀指令、資料結構或程式模組。記憶體122和大型存放區裝置124為電腦存儲媒體實例(例如記憶體存儲(memory storage))。因此,電腦存儲媒體可包含隨機存取記憶體、唯讀記憶體、電可擦除唯讀記憶體(electrically erasable read-only memory, EEPROM)、快閃記憶體或其它記憶體技術、光碟唯讀記憶體(compact disc read-only memory, CD-ROM)、數位通用光碟(digital versatile disk, DVD)或其它光學記憶體、盒式磁帶、磁帶、磁碟記憶體或其它磁性存儲裝置,或可用以存儲資訊以及可由處理系統100存取的任何其它製品。任何此類電腦存儲媒體可以是處理系統100的部分。電腦存儲媒體不包含載波或其它傳播資料信號或調製資料信號。
通信媒體可由電腦可讀指令、資料結構、程式模組或其它資料在如載波或其它傳送機制等調製資料信號中體現,且包含任何資訊傳遞媒體。術語“調製資料信號”可描述具有一或多個特徵組或以編碼使得信號資訊的方式改變的信號。借助於實例而非限制,通信媒體可包含有線媒體,例如有線網路或直接有線連接;和無線媒體,如聲學、射頻(radio frequency, RF)、紅外線(infrared)以及其它無線媒體。
視訊卡126和輸入/輸出介面128提供介面以將外部輸入裝置和輸出裝置耦合到處理單元110。如圖1中所說明,輸入裝置和輸出裝置的實例包含耦合到視訊卡126的顯示器114以及耦合到輸入/輸出介面128的輸入/輸出裝置112,所述輸入/輸出裝置如滑鼠、鍵盤、印表機和類似裝置。其它裝置可耦合到處理單元110,且可採用額外或較少的介面卡。舉例來說,序列介面卡(未圖示)可用於為印表機提供序列介面。處理單元110還可包含網路介面140,所述網路介面可為到局域網(local area network, LAN)或廣域網路(wide area network, WAN)116的有線連接和/或無線連接。
處理系統100的實施例可包含其它元件。舉例來說,處理系統100可包含電力供應、電纜、主機板、卸除式存放裝置媒體、主機殼和類似裝置。儘管未圖示,這些其它元件應視為處理系統100的部分。
在一些實例中,通過中央處理單元120執行軟體代碼來分析使用者設計以獲得積體電路佈局。軟體代碼可由中央處理單元120經由匯流排130從記憶體122、大型存放區裝置124或類似裝置來存取,或通過網路介面140遠端存取。
圖2大體上說明可通過處理系統100來實施用於使用者供應行為/功能性設計產生物理佈局的實例積體電路設計和製造製程200。用戶設計202基於施加於總體設計的輸入端的各種信號或刺激來指定電路的期望行為或功能,且可以合適的程式設計語言寫入。使用者可通過輸入/輸出介面128將設計202上載到處理單元110(見圖1)中。或者,設計202可上載和/或保存到記憶體122或大型存放區裝置124上,或設計202可通過網路介面140從遠端使用者上載。
合成製程204在設計上執行,其中通過使設計與標準單元相匹配(如從一或多個單元資料庫208)將來自設計202所期望的行為和/或功能轉化成功能上等效的邏輯閘級電路描述。單元資料庫208含有預設設計組件或各自可執行離散邏輯功能的單元的清單。單元存儲在單元資料庫208中的資訊包括內部電路元件、這些電路元件的各種連接、包含每一單元的單元高度沿著單元所設計的電力軌、摻雜植入體(dopant implants)、孔等的預設設計物理佈局圖案。另外,所存儲單元也可包括單元的形狀、外部連接的終端位置、延遲特徵、功率消耗等。合成工藝204產生功能上等效的邏輯閘級電路描述,如閘級網表206。單元資料庫208可存儲在例如含於大型存放區裝置124中的一或多個資料庫中。基於閘級網表206,可產生用於製造積體電路212的光罩210。
在一些實例中,確定包含具有不同行高度的多個行的設計“平面佈置圖”。圖3說明包含多個行301到305的實例積體電路裝置平面佈置圖300,其中行301到305中的每一行具有不同單元高度hunit1 到hunit5 。舉例來說,第一行301的高度為hunit1 ,且第二行302的高度為hunit2 ,其中行單元高度hunit1 、hunit2 中的兩個都不為其他行單元高度的整數倍。
圖4說明具有定位於行301到305的多個單元311到315的平面佈置圖300。如圖4中所示,單元301到305具有相應於單元單元高度(cell unit heights)hunit1 到hunit5 的單元高度Cellunit1 到Cellunit5 。換句話說,行301到305中的每一行含有具有相同高度的單元311到315。此外,在所說明的實例中,行301到305僅含有具有與相應的行相同單元高度的單元311到315。因此,基於規劃於平面佈置圖300中的行來控制單元的使用。
圖5是說明根據所公開實例的積體電路設計製程210的其它詳情的流程圖。如先前所提到,積體電路設計製程210可由圖1中所示的處理系統100來實施。參考圖5,提供積體電路設計202,以及包含沿圖3和圖4相結合論述的直線規劃的行的單元資料庫208和平面佈置圖220。因此,單元資料庫208包含具有變化單元高度的單元,且平面佈置圖220定義具有沿與圖3和圖4相結合論述的直線的各種高度的行。
合成製程204包含確定用於設計的最大可允許面積,且更確切地說包含計算每一單元類型的最大可允許面積。因此,返回參考圖3中所示的平面佈置圖300,合成製程包含操作230,其中計算具有第一高度hunit1 的第一單元類型cellunit1 的最大面積Areamax (unit1)。針對單元類型中的每一種重複此操作,因此計算具有相應單元高度hunit1 - n 的每一單元類型cellunit1 - n 的最大面積Areamax (unit1-n)。從而,對於圖3和圖4中所示的具體實例,計算具有相應單元高度hunit1 - 5 的每一單元類型cellunit1 - 5 的最大面積Areamax (unit1-5)。
隨後操作230根據硬體寄存器之間的數位信號的流動來類比數位電路的編譯器(如寄存器電晶體級(register transistor level, RTL)編譯器232)以及執行於那些信號上的邏輯運算所使用,從而產生閘級網表206。
圖6說明寄存器電晶體級編譯器232的實例的其它詳情,其中檢查編譯製程240的初始輸出端以確保沒有單元類型cellunit1 - 5 超出每一單元類型的所計算出的最大面積。在決策區塊242中,如果確定單元類型cellunit1 - 5 中的任一種超出相應計算最大面積Areamax (unit1-n),那麼超出最大面積的任何此類單元類型cellunit1 - n 便更換為另一單元類型。
舉例來說,確定具有第一高度hunit1 的第一單元類型cellunit1 的最大可允許面積為Areamax (unit1)。另外,確定由設計202所指定的第一單元類型cellunit1 的第一單元的總面積,且將多個第一單元的總面積與第一單元類型的最大可允許面積進行比較。如果多個第一單元的總面積大於第一單元類型的最大可允許面積,那麼第一單元cellunit1 中的一個便由具有小於第一高度heightunit1 的第二高度heightunit2 的第二單元類型cellunit2 的第二單元替換。將第二單元放入具有第二行高度hunit2 的相應第二行中。
一旦在決策區塊242中確定沒有單元類型cellunit1 - n 超出相應最大面積Areamax (unit1-n),那麼便產生閘級網表206。以此方式,不會超出每一行的最大可允許面積Areamax (unit1-n)都。
一些實例包含物理設計製程,其中基於如由所產生的輸入閘級網表206確定的單元面積來確定每一行高度的行的數量。圖7說明此類物理設計製程的實例,其中將單元套組或資料庫208以及閘級網表206作為輸入提供到自動佈局和佈線(automatic placement and routing, APR)系統250。自動佈局和佈線系統250配置基於閘級網表206所定義的單元分佈來確定包含行規劃的平面佈置圖252。
因此,在一些實例中,確定在平面佈置圖252中用於每一單元類型cellunit1 - n 所需要的行的數量。圖8說明用於確定每一單元類型所需要的行的數量的製程330。在區塊332中,確定每一單元類型cellunit1 - n 的面積,並在區塊334中確定總單元面積。基於總單元面積和每一單元類型的面積,在區塊336中確定每一單元類型的行的數量。
每一單元類型的面積的總和為平面佈置圖所需要的總面積Area(Celltotal )。每一單元類型所需要的行的數量(單元高度)可如下計算。
其中Row#(uniti)為具有uniti 的高度的單元類型所需要的行的數量;Area(Celluniti )為具有單元高度uniti 的單元類型的面積;Wcore 為設計區塊的寬度;且hunitiuniti 的高度。將具有行規劃的平面佈置圖252輸入到包含佈局254、時鐘樹合成(clock tree synthesis, CTS)256、佈線258以及後佈線260的其餘自動佈局和佈線製程。自動佈局和佈線250提供圖形資料系統(graphic data system, GDS)輸出262。
圖9說明驅動強度優化的實例,其中為較短單元高度的行提供較大驅動強度。參考圖7,在一些實例中,單元資料庫208包含驅動強度資訊。閘級網表206包含電路中的閘的規格以及變化行高度電路設計的門之間的互連件的規格。基於資料庫208和閘級網表206,確定電路中特定的閘的驅動強度資訊且將所述資訊用於優化不同高度單元的驅動強度。因此,返回參考圖9,對於具有2Y的單元高度hunit1 的較高單元280,使用升至DX(X為驅動強度乘數)的驅動強度D(D)。對於具有較短高度的單元,驅動強度增加。舉例來說,具有Y的單元高度hunit2 (較高單元280的高度的一半)的較短單元282,採用升至2DX的驅動強度D。換句話說,在所說明的實例中,所施加的最大驅動強度根據單元的單元高度而變化。在一些實施例中,驅動強度與單元的單元高度成反比,且在其它實施例中,可基於具有不同關係的單元的單元高度提供最大驅動強度。
返回到圖7,在一些實例中,自動佈局和佈線250包含變化行高度感知時序優化270和/或變化行高度感知功率優化272。圖10在概念上說明變化行高度感知時序優化270,其中設計包含三行301到313。行302包含時序關鍵(timing-critical)單元284,且行301和313包含較高單元286、288。舉例來說,可將自動佈局和佈線250配置成使用較高單元284'替換時序關鍵單元284。此較高單元284'與較高單元288的單元高度相同,且因此,將較高單元284'以及較高單元288放入行303中。或者,時序關鍵單元284並不更換為較高單元,相反的驅動強度增加且/或電壓閾值降低,如由單元284''所指示。因為單元284''的高度未改變,所以其保留在行302中。
圖11在概念上說明變化行高度感知功率優化272,其中設計包含具有三行301到303的平面佈置圖的部分。行301包含待優化以減少功率的單元290。另一單元292繪示在行303中。舉例來說,可將自動佈局和佈線250配置成使用較短單元290'替換單元290。由此,較短單元290'將被放入較短行高度單元302中。假設不存在關鍵時序問題,較短單元290'將減少功率使用。或者,單元290的高度可保持相同,但由單元290''替換以具有變化的驅動強度和或電壓閾值從而減少功率。
因此,本公開的詳情提供具有變化行高度以用於接收相應變化高度單元的積體電路設計。通過提供單元高度與其所放入的行的高度相匹配的設計,優化總晶片面積且可減少設計面積。所得裝置具有較小浪費面積。
因此,所公開的實施例包含積體電路,所述積體電路包含具有第一高度的第一行,其中第一單元位於具有第一高度的第一行中。積體電路進一步包含具有第二高度的第二行,其中第一高度不是第二高度的整數倍數。第二單元位於具有第二高度的第二行中。
根據其它所公開的實施例,設計積體電路的方法包含接收功能性積體電路設計。確定具有第一高度的第一單元類型的最大可允許面積,並確定第一單元類型的多個第一單元的總面積。將多個第一單元的總面積與第一單元類型的最大可允許面積進行比較。如果多個第一單元的總面積大於第一單元類型的最大可允許面積,那麼第一單元中的一個便由具有小於第一高度的第二高度的第二單元類型的第二單元替換。
根據又其它所公開的實施例,積體電路設計系統包含具有第一單元類型(具有第一高度)和第二單元類型(具有第二高度)的單元資料庫。第一高度不是第二高度的整數倍數。電腦可讀媒體可由處理器存取,且存儲執行為了實施包含接收功能性積體電路設計的方法的指令。基於功能性積體電路設計從單元資料庫中選擇第一單元類型的第一單元和第二單元類型的第二單元。確定包含具有第一高度的第一行(其中第一單元定位於第一行中)和具有第二高度的第二行(其中第二單元定位於第二行中)的積體電路設計佈局。
根據一實施例,積體電路包括:多個單元,所述單元中的每一個包含配置成執行預設定義功能的元件;所述多個單元中的第一個,其定位於具有第一高度的第一行中;所述第一單元,其具有所述第一高度;所述多個單元中的第二個,其定位於具有第二高度的第二行中,其中所述第一高度不是所述第二高度的整數倍數;以及所述第二單元,其具有所述第二高度。在一實施例中,積體電路進一步包括:所述多個單元中的第三個,其定位於具有第三高度的第三行中;所述第三單元,其具有所述第三高度,其中所述第三高度不是所述第一高度或所述第二高度的整數倍數。
根據另一實施例,設計的方法包括:接收積體電路設計;確定具有第一高度的第一單元類型的最大可允許面積;確定所述第一單元類型的多個第一單元的總面積;將所述多個第一單元的所述總面積與所述第一單元類型的所述最大可允許面積進行比較;如果所述多個第一單元的所述總面積大於所述第一單元類型的所述最大可允許面積,那麼所述第一單元中的一個便由具有小於所述第一高度的第二高度的第二單元類型的第二單元替換;其中由處理器執行所述方法的至少一個步驟。在一實施例中,方法進一步包括:確定包含具有所述第一高度的第一行的平面佈置圖;其中基於所述平面佈置圖來確定具有所述第一高度的所述第一單元類型的所述最大可允許面積;以及其中所述第一行含有所述多個第一單元。在一實施例中,所述平面佈置圖包含具有所述第二高度的第二行,以及其中所述第二行含有所述第二單元。在一實施例中,所述平面佈置圖包含多個所述第一行。在一實施例中,方法進一步包括基於所接收的積體電路設計的總單元面積以及所述多個第一單元的所確定的總面積來確定所述多個所述第一行的數量。在一實施例中,方法進一步包括基於所述平面佈置圖產生圖形資料系統。在一實施例中,產生所述圖形資料系統進一步包含將所述第一單元類型改變為具有不同高度的另一單元類型,從而優化所述積體電路設計的功率消耗。在一實施例中,產生所述圖形資料系統進一步包含將所述第一單元類型改變為具有不同高度的另一單元類型,從而優化所述積體電路設計的電路時序。在一實施例中,方法進一步包括提供定義多個所述第一單元類型以及多個所述第二單元類型的單元資料庫。在一實施例中,所述單元資料庫包含所述第一單元類型以及第二單元類型的可相容驅動強度資訊。在一實施例中,所述資料庫定義基於所述單元高度而變化的驅動強度級。
根據又一實施例,積體電路的設計系統包括:單元資料庫,其定義多個單元,所述單元中的每一個包含配置成執行預設定義功能的元件,所述多個單元包含具有第一高度的第一單元類型以及具有第二高度的第二單元類型,其中所述第一高度不是所述第二高度的整數倍數;處理器;電腦可讀媒體,其可由所述處理器存取,所述電腦可讀媒體存儲在由所述處理器執行時實施方法的指令,所述方法包括:接收積體電路設計;基於功能性積體電路設計從所述單元資料庫中選擇所述第一單元類型的第一單元以及所述第二單元類型的第二單元;產生積體電路設計佈局,所述積體電路設計佈局包含具有所述第一高度的第一行,其中所述第一單元定位於所述第一行中;以及具有所述第二高度的第二行,其中所述第二單元定位於所述第二行中。在一實施例中,所述第一行具有多個所述第一單元,其中所述單元資料庫包含具有小於所述第一高度的第三高度的第三單元類型,其中所述第一高度不是所述第三高度的整數倍數以及其中所述方法進一步包括:確定所述第一行的最大可允許面積;確定所述多個所述第一單元的總面積;將所述多個所述第一單元的所述總面積與所述第一行的所述最大可允許面積進行比較;如果所述多個第一單元的所述總面積大於所述第一單元類型的所述最大可允許面積,那麼便由所述第三單元中的一個替換所述第一單元中的一個,其中所述第三單元定位於具有所述第三高度的第三行中。在一實施例中,所述方法進一步包括確定包括多個所述第一行的平面佈置圖。在一實施例中,所述方法進一步包括確定所述多個所述第一行,包括:計算所述平面佈置圖的總單元面積;計算所述多個所述第一單元的單元面積;基於所述總單元面積以及所述多個所述第一單元的所述單元面積確定所述第一行的數量。在一實施例中,其中所述庫進一步包含所述第一單元類型以及第二單元類型的可相容驅動強度資訊,所述資訊包含基於所述單元高度而變化的驅動強度級。在一實施例中,所述方法進一步包括將所述第一單元改變為具有不同高度的另一單元類型,從而優化所述積體電路設計的功率消耗。在一實施例中,所述方法進一步包括將所述第一單元改變為具有不同高度的另一單元類型,從而優化所述積體電路設計的電路時序。
前文概述若干實施例的特徵,以使得所屬領域的技術人員可更好地理解本公開的各方面。所屬領域的技術人員應瞭解,其可以易於使用本公開作為設計或修改用於進行本文中所介紹的實施例的相同目的和/或獲得相同優勢的其它製程和結構的基礎。所屬領域的技術人員還應認識到,此類等效構造並不脫離本公開的精神和範圍,且其可在不脫離本公開的精神和範圍的情況下在本文中進行各種改變、替代以及更改。
100‧‧‧處理系統
110‧‧‧處理單元
112‧‧‧輸入/輸出裝置
114‧‧‧顯示器
120‧‧‧中央處理單元(CPU)
122‧‧‧記憶體
124‧‧‧大型存放區裝置
126‧‧‧視訊卡
128‧‧‧輸入/輸出介面
130‧‧‧匯流排
140‧‧‧網路介面
200‧‧‧積體電路設計和製造製程
202‧‧‧設計
204‧‧‧合成製程
206‧‧‧閘級網表
208‧‧‧單元資料庫
210‧‧‧光罩/積體電路設計製程
212‧‧‧積體電路
220‧‧‧平面佈置圖
230‧‧‧操作
232‧‧‧寄存器電晶體級編譯器
240‧‧‧編譯製程
242‧‧‧決策區塊
244、330‧‧‧製程
250‧‧‧自動佈局和佈線系統
252、300‧‧‧平面佈置圖
254‧‧‧佈局
256‧‧‧時鐘樹合成(CTS)
258‧‧‧佈線
260‧‧‧後佈線
262‧‧‧輸出
270‧‧‧變化行高度感知時序優化
272‧‧‧變化行高度感知功率優化
280、284'、286、288‧‧‧較高單元
282、290'‧‧‧較短單元
284‧‧‧時序關鍵單元
284''、290、290''、292、311、312、313、314、315‧‧‧單元
301、302、303、304、305‧‧‧行
332、334、336‧‧‧區塊
2DX、D、DX‧‧‧驅動強度
2Y、Y、hunit1 、hunit2 、hunit3 、hunit4 、hunit5 ‧‧‧單元高度
Area(Celluniti )‧‧‧面積
Areamax (unit1)、Areamax (unit1-5)、Areamax (unit1-n)‧‧‧最大面積
Cellunit1 、Cellunit2 、Cellunit3 、Cellunit4 、Cellunit5 ‧‧‧單元高度/單元類型
hunit ‧‧‧高度
當結合附圖閱讀時,從以下詳細描述最好地理解本公開的各方面。應注意,根據行業中的標準慣例,各種特徵未按比例繪製。實際上,為了論述清晰起見,可任意增大或減小各種特徵的尺寸。 圖1是說明根據一些實施例的實例處理系統的詳情的方塊圖。 圖2是說明根據一些實施例的實例積體電路設計方法的詳情的製程流程圖。 圖3是說明根據一些實施例的實例積體電路平面佈置圖的詳情的方塊圖。 圖4說明圖3中所示的積體電路平面佈置圖,其進一步包含根據一些實施例的變化高度單元的實例。 圖5是說明根據一些實施例的積體電路設計系統的其它詳情的方塊圖。 圖6是說明根據一些實施例的積體電路設計系統的其它詳情的方塊圖。 圖7是說明根據一些實施例的積體電路設計系統的其它詳情的方塊圖。 圖8是說明根據一些實施例的用於確定積體電路平面佈置圖的行的數量的實例製程的製程流程圖。 圖9是說明根據一些實施例的包含驅動強度考慮因素的積體電路設計系統的其它詳情的方塊圖。 圖10是說明根據一些實施例的包含時序(timing)優化的積體電路設計系統的其它詳情的方塊圖。 圖11是說明根據一些實施例的包含功率優化的積體電路設計系統的其它詳情的方塊圖。

Claims (1)

  1. 一種積體電路,包括: 多個單元,所述單元中的每一個包含配置成執行預設定義功能的元件; 所述多個單元中的第一個,其定位於具有第一高度的第一行中; 所述第一單元,其具有所述第一高度; 所述多個單元中的第二個,其定位於具有第二高度的第二行中,其中所述第一高度不是所述第二高度的整數倍數;以及 所述第二單元,其具有所述第二高度。
TW107113102A 2017-11-15 2018-04-18 積體電路及其設計的方法及其設計系統 TW201923823A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762586541P 2017-11-15 2017-11-15
US62/586,541 2017-11-15
US15/908,785 US10878157B2 (en) 2017-11-15 2018-02-28 Variant cell height integrated circuit design
US15/908,785 2018-02-28

Publications (1)

Publication Number Publication Date
TW201923823A true TW201923823A (zh) 2019-06-16

Family

ID=66432769

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107113102A TW201923823A (zh) 2017-11-15 2018-04-18 積體電路及其設計的方法及其設計系統

Country Status (3)

Country Link
US (1) US10878157B2 (zh)
CN (1) CN109783833A (zh)
TW (1) TW201923823A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI781610B (zh) * 2020-07-07 2022-10-21 台灣積體電路製造股份有限公司 製造半導體裝置的方法及系統以及用於執行該方法的非暫時性電腦可讀取媒體
TWI800897B (zh) * 2021-01-28 2023-05-01 台灣積體電路製造股份有限公司 製造半導體元件之方法與系統

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017127276A1 (de) * 2017-08-30 2019-02-28 Taiwan Semiconductor Manufacturing Co., Ltd. Standardzellen und abwandlungen davon innerhalb einer standardzellenbibliothek
US11755808B2 (en) * 2020-07-10 2023-09-12 Taiwan Semiconductor Manufacturing Company Limited Mixed poly pitch design solution for power trim

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2972540B2 (ja) * 1994-03-24 1999-11-08 松下電器産業株式会社 Lsi自動設計システム及びlsi自動設計方法
US5852562A (en) * 1994-12-13 1998-12-22 Matsushita Electric Industrial Co., Ltd. Method and apparatus for designing an LSI layout utilizing cells having a predetermined wiring height in order to reduce wiring zones
JP3420694B2 (ja) * 1996-12-27 2003-06-30 株式会社東芝 スタンダードセル方式の集積回路
US6336207B2 (en) * 1997-05-27 2002-01-01 Matsushita Electric Industrial Co., Ltd. Method and apparatus for designing LSI layout, cell library for designing LSI layout and semiconductor integrated circuit
GB9929084D0 (en) * 1999-12-08 2000-02-02 Regan Timothy J Modification of integrated circuits
US7003738B2 (en) * 2000-06-30 2006-02-21 Zenasis Technologies, Inc. Process for automated generation of design-specific complex functional blocks to improve quality of synthesized digital integrated circuits in CMOS using altering process
US7039882B2 (en) * 2002-06-17 2006-05-02 Amar Pal Singh Rana Technology dependent transformations for Silicon-On-Insulator in digital design synthesis
JP4533645B2 (ja) 2004-03-02 2010-09-01 株式会社東芝 スタンダードセルのレイアウト設計方法、及びレイアウト設計用ソフトウェアを格納したコンピュータが読取り可能な記録媒体
JP2006196872A (ja) * 2004-12-17 2006-07-27 Matsushita Electric Ind Co Ltd 標準セル、標準セルライブラリ、半導体装置、及びその配置方法
US7802219B2 (en) * 2006-11-30 2010-09-21 Cadence Design Systems, Inc. Flat placement of cells on non-integer multiple height rows in a digital integrated circuit layout
US8631377B2 (en) 2009-05-14 2014-01-14 Taiwan Semiconductor Manufacturing Company, Ltd. System and method for designing cell rows with differing cell heights
US8495534B2 (en) * 2010-06-08 2013-07-23 International Business Machines Corporation Post-placement cell shifting
JP2013088862A (ja) * 2011-10-13 2013-05-13 Elpida Memory Inc レイアウトデータ作成装置及び半導体装置
US9007095B2 (en) * 2012-02-17 2015-04-14 Broadcom Corporation Efficient non-integral multi-height standard cell placement
US8788998B2 (en) * 2012-12-21 2014-07-22 Broadcom Corporation Non-integer height standard cell library
US8943455B2 (en) 2013-03-12 2015-01-27 Taiwan Semiconductor Manufacturing Company, Ltd. Methods for layout verification for polysilicon cell edge structures in FinFET standard cells
US9501600B2 (en) * 2013-05-02 2016-11-22 Taiwan Semiconductor Manufacturing Company, Ltd. Standard cells for predetermined function having different types of layout
US9165102B1 (en) * 2014-04-07 2015-10-20 Freescale Semiconductor, Inc. Routing standard cell-based integrated circuits
US9449136B2 (en) * 2015-01-20 2016-09-20 Yu-Hsiang Pan Integrated circuit layout structure and method having different cell row heights with different row ratios for area optimization
KR102458446B1 (ko) * 2016-03-03 2022-10-26 삼성전자주식회사 스탠다드 셀을 포함하는 반도체 장치 및 그것의 전자 설계 자동화 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI781610B (zh) * 2020-07-07 2022-10-21 台灣積體電路製造股份有限公司 製造半導體裝置的方法及系統以及用於執行該方法的非暫時性電腦可讀取媒體
US11681847B2 (en) 2020-07-07 2023-06-20 Taiwan Semiconductor Manufacturing Company, Ltd. Method of manufacturing semiconductor device and system for same
TWI800897B (zh) * 2021-01-28 2023-05-01 台灣積體電路製造股份有限公司 製造半導體元件之方法與系統
US11803683B2 (en) 2021-01-28 2023-10-31 Taiwan Semiconductor Manufacturing Company, Ltd. Method of and system for manufacturing semiconductor device

Also Published As

Publication number Publication date
US10878157B2 (en) 2020-12-29
US20190147133A1 (en) 2019-05-16
CN109783833A (zh) 2019-05-21

Similar Documents

Publication Publication Date Title
US7549137B2 (en) Latch placement for high performance and low power circuits
US7624366B2 (en) Clock aware placement
US8010926B2 (en) Clock power minimization with regular physical placement of clock repeater components
TW201923823A (zh) 積體電路及其設計的方法及其設計系統
CN110991138B (zh) 用于生成集成电路的方法和系统以及计算机可读介质
US11853676B2 (en) Layout context-based cell timing characterization
KR102459550B1 (ko) 탭 셀
US11637547B2 (en) Flip-flop cell
CN108228955B (zh) 半导体装置的布局系统及布局方法
US11055463B1 (en) Systems and methods for gate array with partial common inputs
EP2529283A2 (en) Zone-based leakage power optimization
US20240020451A1 (en) Systems and methods for integrated circuit layout
US9275186B2 (en) Optimization for circuit migration
US8762919B2 (en) Circuit macro placement using macro aspect ratio based on ports
US10073944B2 (en) Clock tree synthesis based on computing critical clock latency probabilities
US20180150585A1 (en) Method for layout generation with constrained hypergraph partitioning
US20190163863A1 (en) Method and system of forming semiconductor device
US20080244480A1 (en) System and method to generate an IC layout using simplified manufacturing rule
US11836000B1 (en) Automatic global clock tree synthesis
US9189583B2 (en) Look-up based buffer tree synthesis
US10509888B1 (en) System and method for forming integrated device
CN116127891A (zh) 可编程逻辑器件乘法器模块布局方法、装置、设备及介质
이동윤 Power Optimization Techniques Applicable in Pre/Post Placement Stages for Modern System-on-Chips
Sabbavarapu et al. A novel physical synthesis methodology in the VLSI design automation by introducing dynamic library concept