TWI707241B - 開發電子裝置的電子架構設計的方法、將電子裝置的電子架構設計最佳化的電腦系統及非暫時性機器可讀取媒體 - Google Patents
開發電子裝置的電子架構設計的方法、將電子裝置的電子架構設計最佳化的電腦系統及非暫時性機器可讀取媒體 Download PDFInfo
- Publication number
- TWI707241B TWI707241B TW108114694A TW108114694A TWI707241B TW I707241 B TWI707241 B TW I707241B TW 108114694 A TW108114694 A TW 108114694A TW 108114694 A TW108114694 A TW 108114694A TW I707241 B TWI707241 B TW I707241B
- Authority
- TW
- Taiwan
- Prior art keywords
- electronic
- electronic architecture
- design
- geometric shape
- architecture
- Prior art date
Links
- 238000013461 design Methods 0.000 title claims abstract description 252
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000010801 machine learning Methods 0.000 claims abstract description 31
- 230000008569 process Effects 0.000 claims abstract description 29
- 238000011161 development Methods 0.000 claims description 48
- 238000006467 substitution reaction Methods 0.000 claims description 39
- 238000004088 simulation Methods 0.000 claims description 38
- 238000009792 diffusion process Methods 0.000 claims description 10
- 239000002184 metal Substances 0.000 claims description 10
- 229910021420 polycrystalline silicon Inorganic materials 0.000 claims description 10
- 229920005591 polysilicon Polymers 0.000 claims description 10
- 238000005457 optimization Methods 0.000 description 58
- 238000004458 analytical method Methods 0.000 description 47
- 238000005516 engineering process Methods 0.000 description 38
- 238000012795 verification Methods 0.000 description 34
- 238000007726 management method Methods 0.000 description 33
- 238000003860 storage Methods 0.000 description 33
- 238000012545 processing Methods 0.000 description 29
- 238000000605 extraction Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000015572 biosynthetic process Effects 0.000 description 8
- 230000003068 static effect Effects 0.000 description 8
- 238000003786 synthesis reaction Methods 0.000 description 8
- 238000013475 authorization Methods 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000011960 computer-aided design Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 2
- 238000002790 cross-validation Methods 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 238000011022 operating instruction Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000010408 sweeping Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/337—Design optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/373—Design optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/22—Yield analysis or yield optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices 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/04—Devices 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 the substrate being a semiconductor body
- H01L27/10—Devices 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 the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration
- H01L27/118—Masterslice integrated circuits
- H01L27/11803—Masterslice integrated circuits using field effect technology
- H01L27/11807—CMOS gate arrays
- H01L2027/11809—Microarchitecture
- H01L2027/11859—Connectibility characteristics, i.e. diffusion and polysilicon geometries
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices 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/04—Devices 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 the substrate being a semiconductor body
- H01L27/10—Devices 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 the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration
- H01L27/118—Masterslice integrated circuits
- H01L27/11803—Masterslice integrated circuits using field effect technology
- H01L27/11807—CMOS gate arrays
- H01L2027/11809—Microarchitecture
- H01L2027/11859—Connectibility characteristics, i.e. diffusion and polysilicon geometries
- H01L2027/11864—Yield or reliability
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices 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/0203—Particular design considerations for integrated circuits
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices 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/0203—Particular design considerations for integrated circuits
- H01L27/0207—Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K3/00—Apparatus or processes for manufacturing printed circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Architecture (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
電子設計自動化將對電子裝置的電子架構設計的設計、
模擬、分析、及驗證最佳化。電子設計自動化可使用機器學習過程藉由多次迭代操縱一或多個電子架構模型,直至所述一或多個電子架構模型中的一或多個電子架構模型滿足一或多個電子設計目標為止。電子設計自動化將滿足電子架構特徵的電子設計目標的電子架構模型代入電子架構設計中以將電子架構設計最佳化。本發明的電子設計自動化可在對電子架構設計的設計、模擬、分析、及/或驗證之前、期間、及/或之後代入電子架構模型以有效地減少電子裝置的上市時間。
Description
本揭露實施例是有關於一種具有機器學習設計能力的平台。
技術及工程的進步已使得設計者及製造商能夠向消費者提供更多電子裝置。時常地,設計者及/或製造商會在電子裝置的整個設計中利用電子設計自動化(electronic design automation,EDA)(亦稱作電子電腦輔助設計(electronic computer-aided design,ECAD))。電子設計自動化為一種可被設計者及製造商用於設計電子裝置的軟體工具類別。設計者及/或製造商可在將電子
裝置製作於積體電路(integrated circuit,IC)上或半導體基底上之前,使用諸多軟體工具來設計、模擬、分析、及驗證所述電子裝置。用於設計電子裝置的傳統軟體工具在暫存器轉移層階(register-transfer level,RTL)處利用高階軟體語言來開發所述電子裝置的類比及/或數位電路系統的軟體實作方案。用於模擬電子裝置的傳統軟體工具利用傳統模擬演算法來複製軟體實作方案的一或多個電子架構特徵的行為。用於分析電子裝置的傳統軟體工具評估電子裝置的所述一或多個電子架構特徵。傳統軟體工具亦用於驗證軟體實作方案的所述一或多個電子架構特徵滿足如在電子設計規範中概述的所述一或多個電子架構特徵的要求。
該些傳統軟體工具需要在可將電子裝置最佳化之前完成其對所述電子裝置的設計、模擬、分析、及驗證。舉例而言,用於設計電子裝置的傳統軟體工具,會在可藉由試誤過程(trial and error process)將對標準庫之單元(standard library cell)的放置及/或路由最佳化之前,完成對預定標準單元庫(predefined library of standard cell)中的所述標準庫之單元的放置及/或路由,所述預定標準單元庫形成所述電子裝置。在此實例中,設計者及/或製造商藉由多次迭代來手動地調整對標準庫之單元的放置及/或路由,以將對所述標準庫之單元的放置及/或路由最佳化。此試誤過程會不必要地增加電子裝置的上市時間(time to market,TTM),且通常需要設計者及/或製造商不必要地藉由多次迭代來複製電子裝置的設計、模擬、分析、及驗證的諸多態樣,直至所述電子裝置的所
述一或多個電子架構特徵滿足如在電子設計規範中概述的所述一或多個電子架構特徵的要求為止。
本揭露提供一種開發電子裝置架構設計的方法,所述方法包括:由電腦系統自所述電子架構設計辨識電子架構特徵;開發具有滿足電子設計目標的所述電子架構特徵的電子架構模型,以及,將所述電子架構模型代入所述電子架構設計中。所述辨識、所述開發、或所述代入中的至少一者是由電腦進行。
本揭露提供一種將電子裝置的電子架構設計最佳化的電腦系統,所述電腦系統包括記憶體及處理器。所述記憶體適於儲存一或多個指令。所述處理器適於與所述記憶體進行通訊,被配置成執行所述一或多個指令。所述一或多個指令在由所述處理器執行時將所述處理器配置成:以迭代方式操縱(manipulate)所述電子架構設計的電子架構特徵,以開發多個電子架構模型,直至所述多個電子架構模型中的電子架構模型滿足所述電子架構特徵的電子設計目標為止;以及,將滿足所述電子架構特徵的所述電子設計目標的所述電子架構模型代入所述電子架構設計中以將所述電子架構設計最佳化。
本揭露提供一種儲存有指令的非暫時性機器可讀取媒體,所述指令在由電腦系統執行時使所述電腦系統進行包括以下的操作:辨識所述電子架構設計的電子架構特徵;開發與所述電子架構設計的所述電子架構特徵對應的多個電子架構模型;模擬
所述多個電子架構模型,以提供多個特性、參數、或屬性;在所述多個電子架構模型中搜索所述多個電子架構模型中的如下電子架構模型:所述多個特性、參數、或屬性中所述電子架構模型的特性、參數、或屬性滿足所述電子架構特徵的電子設計目標;以及,將滿足所述電子架構特徵的所述電子設計目標的所述電子架構模型代入所述電子架構設計中,以將所述電子架構設計最佳化。
100:設計環境/電子設計環境
102、200:電子設計平台
104、300、400:電子最佳化平台
202:合成工具
204:佈局工具
206:模擬工具
208:驗證工具
302:特徵提取工具
304、608:資料處理工具
306、612:模型代入工具
308、312、316:機器可讀取媒體
310、610:模型開發工具
314、606:模型管理工具
318、320:訊號流
402:高階軟體層階描述
404:電子架構設計
406:第一標準單元
408:第二標準單元
410、414:內連線
412:電子架構模型
500:電腦系統
502:使用者輸入/輸出介面
503:使用者輸入/輸出裝置
504、600:處理器
506:通訊基礎設施/匯流排
508:主記憶體/主要記憶體
510:次級儲存裝置/次級記憶體
512:硬碟驅動機
514:儲存裝置/儲存驅動機
518、522:可移除儲存單元
520:介面
524:通訊或網路介面
526:通訊路徑
528:遠端裝置
602:特徵提取
604:模式管理工具
700、800:操作控制流程
702、704、706、802、804、806:操作
結合附圖閱讀以下詳細說明,會最佳地理解本發明的各個態樣。應注意,根據本行業中的標準慣例,各種特徵並非按比例繪製。事實上,為論述清晰起見,可任意增大或減小各種特徵的尺寸。
圖1說明根據本揭露示例性實施例的示例性電子裝置設計平台的方塊圖。
圖2說明根據本揭露示例性實施例的具有示例性設計環境的電子設計平台的方塊圖。
圖3說根據本揭露示例性實施例的具有示例性設計環境的電子最佳化平台的方塊圖。
圖4說根據本揭露示例性實施例的電子最佳化平台的示例性操作的圖解說明。
圖5說明根據本揭露示例性實施例的用於實作示例性設計環境的示例性電腦系統的方塊圖。
圖6說明根據本揭露示例性實施例的示例性電腦系統的示例性處理器的方塊圖。
圖7說明根據本揭露示例性實施例的電子最佳化平台演算法的第一示例性操作的流程圖。
圖8說明根據本揭露示例性實施例的電子最佳化平台演算法的第二示例性操作的流程圖。
以下揭露內容提供用於實作所提供主題的不同特徵的諸多不同實施例或實例。以下闡述組件及構造的具體實例以簡化本揭露內容。當然,該些僅為實例且不旨在進行限制。舉例而言,以下說明中將第一特徵形成於第二特徵「之上」可包括其中第一特徵及第二特徵被形成為直接接觸的實施例,且亦可包括其中第一特徵與第二特徵之間可形成有附加特徵、進而使得所述第一特徵與所述第二特徵可能不直接接觸的實施例。另外,本揭露可能在各種實例中重複使用參考編號及/或字母。此種重複使用自身並不表示所論述的各種實施例及/或配置之間的關係。
概要
在各種實施例中,本揭露的電子設計自動化(EDA)將對電子裝置的一或多個電子架構設計的設計、模擬、分析、及驗證最佳化。所述一或多個電子架構設計可表示用於對電子裝置的電路系統進行描述的幾何形狀的一或多個影像及/或一或多個資料
式表示形式、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線。本揭露的電子設計自動化自所述一或多個電子架構設計辨識一或多個電子架構特徵(例如(舉例而言,幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線))。在一些情形中,本揭露的電子設計自動化可利用機器學習過程藉由多次迭代操縱所述一或多個電子架構特徵(例如,調整所述一或多個電子架構模型的幾何形狀、調整所述幾何形狀的位置、及/或調整所述幾何形狀之間的內連線)以開發一或多個電子架構模型,直至所述一或多個電子架構模型滿足一或多個電子設計目標為止。本揭露的電子設計自動化將滿足所述一或多個電子架構特徵的所述一或多個電子設計目標的所述一或多個電子架構模型代入所述一或多個電子架構設計中,以將所述一或多個電子架構設計最佳化。本揭露的電子設計自動化可在對所述一或多個電子架構設計的設計、模擬、分析、及/或驗證之前、期間、及/或之後代入所述一或多個電子架構模型以有效地減少電子裝置的上市時間(TTM)。
示例性電子裝置設計環境
圖1說明根據本揭露示例性實施例的示例性電子裝置設計平台的方塊圖。電子設計環境100可在對所述一或多個電子架構設計的設計、模擬、分析、及/或驗證之前、期間、及/或之後將電子裝置的一或多個電子架構設計最佳化。如圖1中所說明,電子設計環境100包括電子設計平台102及電子最佳化平台104。在示例性實施例中,電子設計平台102及/或電子最佳化平台104可
實作於硬體、韌體、軟體、或其任意組合中。此外,韌體、軟體、常式、指令、及/或應用可在本文中被闡述為進行特定動作。然而,應知,此種闡述僅是為了方便,且應知,此種動作實際上是執行韌體、軟體、常式、指令、及/或應用的計算裝置、處理器、控制器、或其他裝置所造成。作為另一實例,電子設計平台102及/或電子最佳化平台104可被實作成機器可讀取媒體所儲存的指令,所述指令可由一或多個處理器讀取及執行。在本文中,機器可讀取媒體可包括以可由一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置讀取的形式儲存或傳輸資訊的任意機制。機器可讀取媒體可包括例如唯讀記憶體(read only memory,ROM)、隨機存取記憶體(random access memory,RAM)、磁碟儲存媒體、固態儲存媒體、光學儲存媒體、及/或快閃記憶體裝置。
電子設計平台102為一種包括一或多個電子設計軟體工具的設計流程,所述一或多個電子設計軟體工具在由一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置執行時可設計、模擬、分析、及/或驗證所述一或多個電子架構設計。在示例性實施例中,電子設計平台102可與電子最佳化平台104位於一致的位置中。在另一示例性實施例中,電子設計平台102可位於電子最佳化平台104的遠端。在該些示例性實施例中,可提供訂用式服務(subscription based service)及/或授權(license)來存取電子
最佳化平台104。舉例而言,可提供訂用式服務及/或授權來存取電子最佳化平台104,以將由電子設計平台102進行的對所述一或多個電子架構設計的設計、模擬、分析、及驗證最佳化。在圖2中將進一步詳細地闡述電子設計平台102的示例性實施例。此示例性實施例進一步闡述電子設計平台102的各種態樣。
電子最佳化平台104包括一或多個設計最佳化軟體工具,所述設計最佳化軟體工具在由一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置執行時可將由電子設計平台102提供的對所述一或多個電子架構設計的設計、模擬、分析、及驗證最佳化。電子最佳化平台104自所述一或多個電子架構設計辨識一或多個電子架構特徵(例如(舉例而言,幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線))。在一些情形中,電子最佳化平台104可使用機器學習過程藉由多次迭代操縱一或多個電子架構特徵(例如,調整幾何形狀、調整所述幾何形狀的位置、及/或調整所述幾何形狀之間的內連線)以開發一或多個電子架構模型,直至所述一或多個電子架構模型滿足一或多個電子設計目標為止。以下將進一步詳細地闡述機器學習過程。電子最佳化平台104將滿足所述一或多個電子架構特徵的所述一或多個電子設計目標的所述一或多個電子架構模型代入所述一或多個電子架構設計中以將所述一或多個電子架構設計最佳化。電子最佳化平台104可在由電子設計平台102進行的對所述一或多個電子架
構設計的設計、模擬、分析、及/或驗證之前、期間、及/或之後代入所述一或多個電子架構模型以有效地減少電子裝置的上市時間(TTM)。
具有示例性設計環境的示例性電子設計平台
圖2說明根據本揭露示例性實施例的具有示例性設計環境的電子設計平台的方塊圖。如圖2中所說明,電子設計平台200為一種包括一或多個電子設計軟體工具的設計流程,所述一或多個電子設計軟體工具在由一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置執行時可設計、模擬、分析、及/或驗證對電子裝置的類比及/或數位電路系統的一或多個高階軟體層階描述。在示例性實施例中,所述一或多個高階軟體層階描述可使用高階軟體語言或高階軟體格式來實作,所述高階軟體語言例如為圖解設計工具(例如C、系統C(System C)、C++、LabVIEW、及/或MATLAB)、通用系統設計語言(例如系統模型化語言(system modeling language,SysML)、語義模型定義語言(semantic model definition language,SMDL)、及/或儲存圖式定義語言(store schema definition language,SSDL))、或任何其他適合的高階軟體語言、或是將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的高階軟體語言,所述高階軟體格式例如為通用功率格式(Common Power Format,CPF)、統一功率格式(Unified Power Format,UPF)、或將對於熟習相關技術者而言顯而易見且不背離
本揭露的精神及範圍的任何其他適合的高階軟體格式。在圖2中所說明的示例性實施例中,電子設計平台200包括合成工具202、佈局工具204、模擬工具206、及驗證工具208。電子設計平台200可代表在圖1中所述的電子設計平台102的一個示例性實施例。
合成工具202為一種電子設計軟體工具,所述電子設計軟體工具在由一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置執行時將電子裝置的一或多個特性、參數、或屬性轉譯成一或多個邏輯操作、一或多個算術操作、一或多個控制操作、及/或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的任何其他適合的操作,且轉譯成對類比電路系統及/或數位電路系統的所述一或多個高階軟體層階描述。合成工具202可利用模擬演算法來模擬所述一或多個邏輯操作、一或多個算術操作、一或多個控制操作、及/或其他適合的操作,以根據如在電子設計規範中概述的電子裝置的一或多個特性、參數、或屬性所實現來驗證所述一或多個邏輯操作、一或多個算術操作、一或多個控制操作、及/或其他適合的操作。
佈局工具204為一種電子設計軟體工具,所述電子設計軟體工具在由一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置執行時界定來自合成工具202的所述一或多個邏輯操作、一或多個算術操作、一或多個控制操作、及/或其他適合的操作的幾
何形狀,所述幾何形狀對應於擴散層、多晶矽層、金屬層、及/或各層之間的內連線。在示例性實施例中,佈局工具204可為電子最佳化平台(例如,電子最佳化平台104或以下將在圖3中闡述的電子最佳化平台300)提供對幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線的一或多個高階軟體層階描述,以最佳化如以下所將進一步詳細闡述將所述幾何形狀、所述幾何形狀的所述位置、及/或所述幾何形狀之間的所述內連線。在另一示例性實施例中,可根據與技術庫相關聯的預定標準單元庫中的標準單元來界定類比電路系統及/或數位電路系統中的一些類比電路系統及/或數位電路系統的幾何形狀。標準單元為被配置成且被構造成提供例如(舉例而言,及(AND)、或(OR)、互斥或(XOR)、互斥反或(XNOR)、或者非(NOT))等邏輯功能或者例如(舉例而言,雙穩態觸發器(flipflop)或鎖存器(latch))等儲存功能的一或多個半導體裝置及其內連線結構。儘管最簡單的標準單元是基本的布林邏輯函數(Boolean logic function)反及(NAND)、反或(NOR)、互斥或(XOR)、或者非(NOT)的直接表示形式,然而熟習相關技術者將意識到在不背離本揭露的精神及範圍的條件下可使用複雜度大得多的標準單元。預定標準單元庫是以幾何形狀來界定,所述幾何形狀對應於擴散層、多晶矽層、金屬層、及/或各層之間的內連線。此後,佈局工具204在印刷電路板(printed circuit board,PCB)及/或半導體基底上指派幾何形狀的位置及/或所述幾何形狀之間的內連線。在示例性實施例中,佈局
工具204利用用於對類比電路系統、數位電路系統、技術庫、製作電子裝置的半導體代工廠(semiconductor foundry)、及/或製作所述電子裝置的半導體技術節點進行描述的文本式或影像式網表(netlist),來指派幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線。
模擬工具206為一種電子設計軟體工具,所述電子設計軟體工具在由一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置執行時模擬幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線,以複製所述幾何形狀、所述幾何形狀的所述位置、及/或所述幾何形狀之間的所述內連線的一或多個特性、參數、或屬性。在示例性實施例中,模擬工具206可在進行模擬之前、期間、及/或之後為電子最佳化平台(例如,電子最佳化平台104或如以下將在圖3中闡述的電子最佳化平台300)提供對幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線的一或多個高階軟體層階描述,以最佳化如以下所將進一步詳細闡述將所述幾何形狀、所述幾何形狀的所述位置、及/或所述幾何形狀之間的所述內連線。在另一示例性實施例中,模擬工具206可提供靜態時序分析(static timing analysis,STA)、壓降分析(voltage drop analysis)(亦稱作IREM分析)、時鐘域交叉驗證(Clock Domain Crossing Verification)(時鐘域交叉檢查(CDC check))、正式驗證(亦稱作模型檢查(model checking))、等效檢查
(equivalence checking)、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的任何其他適合的分析。在又一示例性實施例中,模擬工具206可進行交流(alternating current,AC)分析(例如,線性小訊號頻域分析(linear small-signal frequency domain analysis))及/或直流(direct current,DC)分析(例如,非線性靜點計算(nonlinear quiescent point calculation)或者在掃略電壓、電流、及/或參數以進行靜態時序分析、IREM分析、或其他適合的分析的同時,計算一系列非線性操作點)。
驗證工具208為一種電子設計軟體工具,所述電子設計軟體工具在由一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置執行時驗證如由模擬工具206複製的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線的所述一或多個特性、參數、或屬性,滿足電子設計規範。在示例性實施例中,驗證工具208可在進行驗證之前、期間、及/或之後為電子最佳化平台(例如,電子最佳化平台104或如以下將在圖3中闡述的電子最佳化平台300)提供對幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線的一或多個高階軟體層階描述,以最佳化如以下所將進一步詳細闡述將所述幾何形狀、所述幾何形狀的所述位置、及/或所述幾何形狀之間的所述內連線。驗證工具208亦可進行物理驗證(亦稱作設計規則檢查(design rule check,DRC))以檢查由佈局工具204所指派的幾何形狀、所述幾何形狀
的位置、及/或所述幾何形狀之間的內連線是否滿足如由製作電子裝置的半導體代工廠及/或半導體技術節點界定的一系列推薦參數(稱作設計規則)。
具有示例性設計環境的示例性最佳化平台
圖3說明根據本揭露示例性實施例的具有示例性設計環境的電子最佳化平台的方塊圖。如圖3中所說明,電子最佳化平台300為一種一或多個機器設計最佳化工具,所述機器設計最佳化工具在由一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置執行時可將對電子裝置的一或多個高階軟體層階描述的設計、模擬、分析、及驗證最佳化。在示例性實施例中,所述一或多個高階軟體層階描述可由如以上在圖2中所述的佈局工具204、模擬工具206、及/或驗證工具208提供。電子最佳化平台300自與所述一或多個高階軟體層階描述對應的一或多個電子架構設計辨識一或多個電子架構特徵(例如(舉例而言,幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線))。在一些情形中,電子最佳化平台300可使用機器學習過程藉由多次迭代操縱所述一或多個高階軟體層階描述,直至所述一或多個高階軟體層階描述的一或多個電子架構模型滿足一或多個電子設計目標為止。電子最佳化平台300將滿足所述一或多個電子設計目標的所述一或多個電子架構模型代入所述一或多個高階軟體層階描述中,以將所述一或多個電子架構設計最佳化。在圖3中所說明的示例性實
施例中,電子最佳化平台300包括特徵提取工具302、資料處理工具304、模型代入(model substitution)工具306、模型開發工具310、及模型管理工具314。電子最佳化平台300可為如以上在圖1中所述的電子最佳化平台104的一個示例性實施例。在示例性實施例中,所述一或多個計算裝置、處理器、控制器、或其他裝置可為用於執行特徵提取工具302、資料處理工具304、模型代入工具306、模型開發工具310、及模型管理工具314中的一或多者的一或多個客製積體電路(指一或多個應用專用積體電路(application-specific integrated circuit,ASIC))。在一些實施例中,相較於旨在用於通用用途的積體電路,所述一或多個應用專用積體電路可使特徵提取工具302、資料處理工具304、模型代入工具306、模型開發工具310、及模型管理工具314的計算時間加速。
特徵提取工具302為一種設計最佳化軟體工具,所述設計最佳化軟體工具在由一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置執行時自從佈局工具204、模擬工具206、及/或驗證工具208提供的對電子裝置的高階軟體層階描述提取一或多個路由特性,以將所述一或多個路由特性提供至資料處理工具304。在示例性實施例中,電子裝置的高階軟體層階描述表示為由佈局工具204、模擬工具206、及/或驗證工具208提供的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線。在另一示例
性實施例中,高階軟體層階描述可表示為電子裝置的文本式表式形式或影像式表示形式,所述文本表式形式例如為使用高階軟體語言或高階軟體格式的所述一或多個電子架構設計的網表或高階軟體模型,所述高階軟體語言例如為圖解設計工具(例如C、系統C、C++、LabVIEW、及/或MATLAB)、通用系統設計語言(例如系統模型化語言、語義模型定義語言、及/或儲存圖式定義語言)、或其他適合的高階軟體語言、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的高階軟體語言,所述高階軟體格式例如為通用功率格式(CPF)、統一功率格式(UPF)、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的任何其他適合的高階軟體格式,所述影像式表示形式例如為(舉例而言,電腦輔助設計(computer-aided design,CAD)模型)。在此示例性實施例中,特徵提取工具302自從如上述圖2中所述的佈局工具204、模擬工具206、及/或驗證工具208提供的所述一或多個高階軟體層階描述提取所述一或多個路由特性,所述一或多個路由特性例如為所述一或多個高階軟體層階描述內的一定數目的網路節點或網(net)、所述一或多個高階軟體層階描述的類比電路系統及/或數位電路系統的扇入(fan-in)或扇出(fan-out)、或者將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線的任何其他適合的特性、參數、或屬性。
資料處理工具304為一種設計最佳化軟體工具,所述設
計最佳化軟體工具在由一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置執行時,將由特徵提取工具302提供的所述一或多個路由特性轉譯成適合於由模型代入工具306來操縱的一或多個電子架構設計。所述一或多個電子架構設計表示為用於對電子裝置的電路系統進行描述的幾何形狀的一或多個影像及/或一或多個資料式表示形式、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線。所述一或多個電子架構設計可表示為與所述一或多個路由特性對應的一或多個聯合圖像專家群組(Joint Photographic Experts Group,JPEG)影像、JPEG檔案互換格式(JPEG File Interchange Format,JIFF)影像、可交換影像檔案(Exchangeable image file,Exif)影像、帶標影像檔案格式(Tagged Image File Format,TIFF)影像、圖形互換格式(Graphics Interchange Format,GIF)影像、Windows位元映像(Windows bitmap,BMP)影像、及/或可攜式網路圖形(Portable Network Graphic,PNG)影像,及/或表示與由特徵提取工具302提供的所述一或多個路由特性對應的一或多個格氏資料檔案(Gerber data file)、自動電腦輔助設計製圖交換格式(Drawing Exchange Format,DXF)資料檔案、可攜式文件檔案(Portable Document Format,PDF)資料檔案、電子設計互換格式(Electronic Design Interchange Format,EDIF)資料檔案、ODB++資料檔案、一或多個電子工業聯接協會(Association Connecting Electronics Industries,IPC)資料檔案(例
如(舉例而言,IPC-2511A、IPC-2511B、或IPC-2581))、一或多個國際標準化組織(International Organization for Standardization,ISO)資料檔案(例如(舉例而言,ISO 10303-210))。
模型代入工具306為一種設計最佳化軟體工具,所述設計最佳化軟體工具在由一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置執行時將滿足一或多個電子設計目標的一或多個電子架構模型代入由資料處理工具304提供的所述一或多個電子架構設計中,以將由如以上在圖2中所述的佈局工具204、模擬工具206、及/或驗證工具208提供的所述一或多個高階軟體層階描述最佳化。在操作的代入模式中,如由圖3中的訊號流318所示,模型代入工具306分析來自從資料處理工具304提供的所述一或多個電子架構設計的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線,以辨識所述一或多個電子架構設計的一或多個電子架構特徵。接下來,模型代入工具306在模型管理工具314及/或機器可讀取媒體308中查詢與滿足一或多個電子設計目標的所述一或多個電子架構特徵對應的一或多個電子架構模型。此後,模型代入工具306以由機器可讀取媒體308及/或模型管理工具314提供的所述一或多個電子架構模型的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線代替所述一或多個電子架構設計的所述一或多個電子架構特徵以將所述一或多個電子架構設計最佳化,並將所述一或多個最佳化的電子架構設計
發送至如由以上在圖2中所述的佈局工具204、模擬工具206、及/或驗證工具208。在一些情形中,模型代入工具306可將所述一或多個最佳化的電子架構設計轉譯成適合於由如以上在圖2中所述的佈局工具204、模擬工具206、及/或驗證工具208使用。舉例而言,模型代入工具306可將所述一或多個最佳化的電子架構設計自如上所述的示例性影像格式及/或資料格式轉譯成如以上在圖2中所述的高階軟體語言或高階軟體格式。
在一些情形中,模型代入工具306可以通訊方式耦合至機器可讀取媒體308。在該些情形中,模型代入工具306可在機器可讀取媒體308中查詢與滿足所述一或多個電子設計目標的所述一或多個電子架構特徵對應的所述一或多個電子架構模型。另一方面,當在機器可讀取媒體308中不存在與滿足所述一或多個電子設計目標的所述一或多個電子架構特徵對應的所述一或多個電子架構模型時,模型代入工具306可在模型管理工具314中查詢與滿足所述一或多個電子設計目標的所述一或多個電子架構特徵對應的所述一或多個電子架構模型。
模型開發工具310為一種設計最佳化軟體工具,所述設計最佳化軟體工具在由一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置執行時會開發與一或多個電子架構特徵對應的一或多個電子架構模型。具體而言,在如由圖3中的訊號流320所示的操作的模型開發模式中,模型開發工具310自從資料處理工具
304提供的所述一或多個電子架構設計辨識所述一或多個電子架構特徵(例如(舉例而言,幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線))。模型開發工具310可藉由多次迭代操縱所述一或多個電子架構特徵(例如,調整幾何形狀、調整所述幾何形狀的位置、及/或調整所述幾何形狀之間的內連線),以開發所述一或多個電子架構特徵的一或多個電子架構模型。舉例而言,模型開發工具310可增大及/或減小幾何形狀的長度、寬度及/或厚度、所述幾何形狀的位置、以及所述幾何形狀之間的內連線的長度、寬度及/或厚度。在一些情形中,可使用儲存於機器可讀取媒體312中的其他電子裝置的其他電子架構設計來預先確定所述一或多個電子架構特徵的所述一或多個電子架構模型。在該些情形中,模型開發工具310可在機器可讀取媒體308中查詢所述一或多個電子架構特徵的所述一或多個電子架構模型。
在示例性實施例中,模型開發工具310利用機器學習過程來操縱幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線,以開發所述一或多個電子架構特徵的所述一或多個電子架構模型。作為此機器學習過程的一部份,模型開發工具310選擇幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀的內連線的第一實作方案來開發所述一或多個電子架構特徵的所述一或多個電子架構模型中的第一潛在電子架構模型。接下來,模型開發工具310模擬第一潛在電子架構模型以辨識所述第一潛在電子架構模型的一或多個特性、參數、或屬性。接著,模型開發工具
310將第一潛在電子架構模型的所述一或多個特性、參數、或屬性與所述一或多個電子設計目標進行比較以確定所述第一潛在電子架構模型的所述一或多個特性、參數、或屬性與所述一或多個電子設計目標之間的誤差。此後,模型開發工具310將第一潛在電子架構模型的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線操縱成第二實作方案以開發所述一或多個電子架構特徵的所述一或多個電子架構模型中的第二潛在電子架構模型。舉例而言,模型開發工具310可增大及/或減小第一潛在電子架構模型的幾何形狀的長度、寬度及/或厚度、所述幾何形狀的位置、以及所述幾何形狀之間的內連線的長度、寬度及/或厚度以提供第二潛在電子架構模型。模型開發工具310模擬第二潛在電子架構模型,將所述第二潛在電子架構模型的所述一或多個特性、參數、或屬性與所述一或多個電子設計目標進行比較以確定誤差,並操縱所述第二潛在電子架構模型的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線以開發所述一或多個電子架構特徵的所述一或多個電子架構模型中的其他潛在電子架構模型。接著,模型開發工具310模擬所述一或多個電子架構模型的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線以辨識所述一或多個電子架構模型的一或多個特性、參數、或屬性。在示例性實施例中,模型開發工具310可提供靜態時序分析(STA)、壓降分析(亦稱作IREM分析)、時鐘域交叉驗證(時鐘域交叉檢查)、正式驗證(亦稱作模型檢查)、等效檢查、
或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的任何其他適合的分析。在示例性實施例中,模型開發工具310可進行交流(AC)分析(例如,線性小訊號頻域分析)及/或直流(DC)分析(例如,非線性靜點計算或者在掃略電壓、電流、及/或參數以進行靜態時序分析、IREM分析、或其他適合的分析的同時,計算一系列非線性操作點)。此後,模型開發工具310將所述一或多個電子架構特徵的所述一或多個電子架構模型及其對應的一或多個特性、參數、或屬性提供至模型管理工具314以供儲存。模型開發工具310以迭代方式重複所述操縱、模擬、及/或比較,直至因此種迭代重複而導致的誤差收斂為止,所述誤差收斂即表示已滿足所述一或多個電子設計目標。
模型管理工具314為一種設計最佳化軟體工具,所述設計最佳化軟體工具在由一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置執行時提供與滿足一或多個電子設計目標的一或多個電子架構特徵對應的所述一或多個電子架構模型。在操作期間,模型管理工具314自模型代入工具306接收對與滿足所述一或多個電子設計目標的所述一或多個電子架構特徵對應的所述一或多個電子架構模型的查詢。此後,模型管理工具314在機器可讀取媒體316中搜索與所述一或多個電子架構特徵對應的所述一或多個電子架構模型並將其對應一或多個特性、參數、或屬性與所述一或多個電子設計目標進行比較。在示例性實施例中,機器
可讀取媒體316將所述一或多個電子架構模型及/或其對應一或多個特性、參數、或屬性整理成表格形式(例如(舉例而言,查找表(look-up table,LUT))),所述表格形式以所述一或多個電子架構特徵及/或所述一或多個特性、參數、或屬性為索引。在另一示例性實施例中,模型管理工具314儲存由機器可讀取媒體316中的模型開發工具310提供的所述一或多個電子架構特徵及其對應一或多個特性、參數、或屬性。模型管理工具314選擇所述一或多個電子架構模型中的如下電子架構模型作為所述一或多個電子架構模型:所述電子架構模型的一或多個特性、參數、或屬性滿足所述一或多個電子設計目標。在一些情形中,機器可讀取媒體316中的模型管理工具314可將所選擇潛在電子架構模型辨識成滿足所述一或多個電子設計目標,進而使模型管理工具314可在不進行搜索的條件下簡單地針對對與所述一或多個電子架構特徵對應的所述一或多個電子架構模型的任意後續查詢而將滿足一或多個電子設計目標的所選擇潛在電子架構模型提供至模型代入工具306。
在示例性實施例中,機器可讀取媒體308、機器可讀取媒體312、及/或機器可讀取媒體316可與電子最佳化平台300位於一致的位置中。在另一示例性實施例,機器可讀取媒體308、機器可讀取媒體312、及/或機器可讀取媒體316可位於電子最佳化平台300的遠端。在該些示例性實施例中,可提供訂用式服務及/或授權以存取機器可讀取媒體308、機器可讀取媒體312、及/或機器
可讀取媒體316。舉例而言,可提供訂用式服務及/或授權以存取儲存於機器可讀取媒體312中的所述一或多個預先確定的潛在電子架構模型。作為另一實例,可提供訂用式服務及/或授權以存取儲存於機器可讀取媒體316中的所述一或多個電子架構模型及/或其對應一或多個特性、參數、或屬性。
圖4說明根據本揭露示例性實施例的電子最佳化平台的示例性操作的圖解說明。如圖4中所說明,電子最佳化平台400為一種一或多個機器學習軟體工具,所述一或多個機器學習軟體工具在由一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置執行時可將對電子裝置的高階軟體層階描述402的設計、模擬、分析、及驗證最佳化。如上所述,特徵提取工具302自從電子設計平台102提供的電子裝置的高階軟體層階描述402提取一或多個路由特性,以將一或多個路由特性提供至資料處理工具304。在示例性實施例中,高階軟體層階描述402表示為電子裝置的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線的文本式或影像式表示形式。資料處理工具304將所述一或多個路由特性轉譯成適合於由模型代入工具306來操縱的電子架構設計404。如圖4中所說明,資料處理工具304可使用來自預定標準單元庫中的一或多個標準單元將高階軟體層階描述402的所述一或多個路由特性轉譯成電子架構設計404,所述一或多個標準單元表示為與高階軟體層階描述402對應的幾何形狀、所述幾何形狀的
位置、及/或所述幾何形狀之間的內連線。在圖4中所說明的示例性實施例中,電子架構設計404包括來自預定標準單元庫的第一標準單元406及第二標準單元408、以及第一標準單元406與第二標準單元408之間的內連線410。
模型代入工具306操縱由資料處理工具304提供的電子架構設計404以將對由電子設計平台102提供的電子裝置的高階軟體層階描述402的設計、模擬、分析、及驗證最佳化。在操作的代入模式中,如由圖3中的訊號流318所示,模型代入工具306分析來自電子架構設計404的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線,以自電子架構設計404辨識內連線410。接下來,模型代入工具306在模型管理工具314中查詢具有最小壓降的電子架構模型412。此後,模型代入工具306以內連線414替代電子架構設計404中的內連線410以將電子架構設計404最佳化,並將最佳化的所述電子架構設計發送至電子最佳化平台104。
模型開發工具310開發與內連線410對應的電子架構模型412。具體而言,在由圖3中的訊號流320所示的操作的模型開發模式中,模型開發工具310分析電子架構設計404的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線,以自電子架構設計404辨識內連線410。接下來,模型開發工具310使用機器學習過程開發內連線410,以開發電子架構模型412。接著,模型開發工具310模擬電子架構模型412以辨識電子架構模型412
的壓降。此後,模型開發工具310將電子架構模型412及其對應壓降提供至模型管理工具314以供儲存。
模型管理工具314接收對具有最小壓降的電子架構模型412的查詢。此後,模型管理工具314搜索與內連線410對應的電子架構模型412並將其對應壓降進行比較以確定哪一壓降為最小壓降。模型管理工具314選擇電子架構模型412中壓降為最小壓降的內連線414。一旦模型管理工具314已選擇與最小壓降對應的內連線414,則模型管理工具314對具有最小壓降的內連線410的所有未來查詢而可僅提供與所述最小壓降對應的內連線414。
用於實作示例性設計環境的示例性電腦系統
圖5說明根據本揭露示例性實施例的用於實作示例性設計環境的示例性電腦系統的方塊圖。電腦系統500可用於實作示例性設計環境100、電子設計平台200、及/或電子最佳化平台300。然而,在一些情形中,可使用多於一個電腦系統500來實作示例性設計環境100、電子設計平台200、及/或電子最佳化平台300。在閱讀此說明之後,對於熟習相關技術者而言,如何使用其他電腦系統及/或電腦架構來實作各實施例將變得顯而易見。
電腦系統500包括一或多個處理器504(亦稱作中央處理單元(central processing unit)(或CPU)),所述一或多個處理器504用於執行如以上在圖2中所述的合成工具202、佈局工具204、模擬工具206、及/或驗證工具208,及/或執行如以上在圖3及圖4中所述的特徵提取工具302、資料處理工具304、模型代入工具
306、模型開發工具310、及模型管理工具314。所述一或多個處理器504可連接至通訊基礎設施或匯流排506。在示例性實施例中,所述一或多個處理器504中的一或多者可被實作成圖形處理單元(graphics processing unit,GPU)。圖形處理單元為一種被設計成快速地處理電子裝置上的數學密集性應用(mathematically intensive application)的專用電子電路。圖形處理單元可具有高度平行結構,所述高度平行結構在對大的資料區塊(例如為電腦圖形應用、影像、及視訊所共用的數學密集性資料)進行平行處理方面是高效的。
電腦系統500亦包括經由使用者輸入/輸出介面502與通訊基礎設施506進行通訊的使用者輸入/輸出裝置503(例如,監視器、鍵盤、指向裝置(pointing device)等)。
電腦系統500亦包括主記憶體或主要記憶體508,例如(舉例而言,隨機存取記憶體(random-access memory,RAM))。主記憶體508可包括一或多個快取層階。主記憶體508中儲存有控制邏輯(即,電腦軟體)及/或資料(例如如以上在圖2中所述的合成工具202、佈局工具204、模擬工具206、及/或驗證工具208,及/或如以上在圖3及圖4中所述的特徵提取工具302、資料處理工具304、模型代入工具306、模型開發工具310、及模型管理工具314)。
電腦系統500亦可包括一或多個次級儲存裝置或次級記憶體510以儲存例如如以上在圖2中所述的合成工具202、佈局工
具204、模擬工具206、及/或驗證工具208,及/或如以上在圖3及圖4中所述的特徵提取工具302、資料處理工具304、模型代入工具306、模型開發工具310、及模型管理工具314。所述一或多個次級儲存裝置或次級記憶體510可包括例如硬碟驅動機512及/或可移除儲存裝置或儲存驅動機514。可移除儲存驅動機514可為軟碟驅動機、磁帶驅動機、光碟驅動機、光學儲存裝置、磁帶備份裝置(tape backup device)、及/或任何其他儲存裝置/驅動機。可移除儲存驅動機514可與可移除儲存單元518相互作用。可移除儲存單元518包括儲存有電腦軟體(控制邏輯)及/或資料的電腦可使用或可讀取儲存裝置。可移除儲存單元518可為軟碟、磁帶、光碟、數位視訊光碟(digital video disc,DVD)、光學儲存磁碟、及/或任何其他電腦資料儲存裝置。可移除儲存驅動機514以眾所習知的方式自可移除儲存單元518進行讀取及/或向可移除儲存單元518進行寫入。
根據示例性實施例,所述一或多個次級儲存裝置或次級記憶體510可包括使得電腦程式及/或其他指令及/或資料能夠被電腦系統500存取的其他方式、手段、或其他途徑。此種方式、手段、或其他途徑可包括例如可移除儲存單元522及介面520。可移除儲存單元522及介面520的實例可包括程式盒及盒式介面(program cartridge and cartridge interface)(例如將在視訊遊戲裝置中找到)、可移除記憶體晶片(例如,可抹除可程式化唯讀記憶體(erasable programmable read only memory,EPROM)或可程式
唯讀記憶體(programmable read only memory,PROM))及相關聯插座(socket)、記憶棒及通用串列匯流排(universal serial bus,USB)埠、記憶卡及相關聯記憶卡槽、及/或任何其他可移除儲存單元及相關聯介面。
電腦系統500可更包括通訊或網路介面524。通訊或網路介面524能夠使電腦系統500與遠端裝置、遠端網路、遠端實體等(各別地及籠統地由參考編號528指稱)的任意組合進行通訊及相互作用。舉例而言,通訊或網路介面524可使得電腦系統500能夠經由通訊路徑526而與遠端裝置528進行通訊,通訊路徑526可為有線的及/或無線的且可包括區域網路(local area network,LAN)、無線區域網路(wireless LAN,WLAN)、網際網路等的任意組合。控制邏輯及/或資料可經由通訊路徑526而往來於電腦系統500進行傳輸。
在實施例中,本文中亦將包括儲存有控制邏輯(軟體)的有形電腦可使用或可讀取媒體的有形設備或製品(article of manufacture)稱作電腦程式產品或程式儲存裝置。此包括但不限於電腦系統500、主記憶體508、次級記憶體510、及可移除儲存單元518及522、以及包納前述者的任意組合的有形製品。此種控制邏輯在由一或多個資料處理裝置(例如,電腦系統500)執行時,使此種資料處理裝置如本文所述般進行操作。
基於此揭露內容中所含有的教示內容,對於熟習相關技術者而言,如何使用除圖5中所示者以外的資料處理裝置、電腦
系統、及/或電腦架構來製作及使用本揭露將顯而易見。具體而言,各實施例可使用除本文所述者以外的軟體、硬體、及/或作業系統(operating system)實作方案來進行操作。
圖6說明根據本揭露示例性實施例的示例性電腦系統的示例性處理器的方塊圖。如以上所論述,電子最佳化平台(例如(舉例而言,電子最佳化平台104))在由處理器600執行時可將由電子設計平台102進行的對電子裝置的設計、模擬、分析、及驗證最佳化。處理器600可代表所述一或多個處理器504的示例性實施例。
如圖6中所說明,處理器600可包括硬體、韌體、及/或軟體的任意組合以執行電子最佳化平台。舉例而言,特徵提取602(例如(舉例而言,特徵提取工具302))及模型管理工具606(例如(舉例而言,模型管理工具314))可實作於在處理器600上執行的軟體(在圖6中使用「虛」方框示出)中。在此實例中,用於控制處理器600的操作的模式管理工具604、資料處理工具608(例如(舉例而言,資料處理工具304))、模型開發工具610(例如(舉例而言,模型開發工具310))、及模型代入工具612(例如(舉例而言,模型代入工具306))可實作於硬體及/或韌體(在圖6中使用「實」方框示出)中。在示例性實施例中,硬體可代表處理器600內的一或多個應用專用積體電路(ASIC)及/或由處理器600執行的用於執行模式管理工具604、資料處理工具608、模型開發工具610、及/或模型代入工具612的韌體。相較於旨在用於
通用用途的積體電路,所述一或多個應用專用積體電路及/或韌體可使模式管理工具604、資料處理工具608、模型開發工具610、及模型代入工具612的計算時間加速。另外,所述一或多個應用專用積體電路及/或韌體為處理器600提供有益可組態度(beneficial configurability)。在示例性實施例中,可使用訂用式服務及/或授權來提供不同的應用專用積體電路及/或韌體。舉例而言,訂用式服務及/或授權的提供商可提供不同的機器學習封裝,例如迂回機器學習封裝(detour machine learning package)、壓降機器學習封裝(voltage drop machine learning package)、擁擠機器學習封裝(congestion machine learning package)、及/或時鐘潛時機器學習封裝(clock latency machine learning package)。在此實例中,訂用式服務及/或授權的訂用者可購買與所期望機器學習封裝對應的訂用式服務及/或授權且可將與此所期望機器學習封裝對應的所述一或多個應用專用積體電路及/或韌體安裝至處理器600中,以將模式管理工具604、資料處理工具608、模型開發工具610、及模型代入工具612配置成根據所述所期望機器學習封裝進行操作。舉例而言,迂回機器學習封裝、壓降機器學習封裝、擁擠機器學習封裝、及/或時鐘潛時機器學習封裝可將滿足所述一或多個電子設計目標的對應電子架構模型預先儲存於機器可讀取媒體308中,將對應預先確定的潛在電子架構模型預先儲存於機器可讀取媒體312中,及/或將對應潛在電子架構模型及其對應一或多個特性、參數、或屬性儲存於機器可讀取媒體316中。
電子最佳化平台的示例性操作
圖7說明根據本揭露示例性實施例的電子最佳化平台演算法的第一示例性操作的流程圖。本揭露並非僅限於此操作說明。確切而言,對於熟習相關技術的通常知識者而言將顯而易見,其他操作控制流程亦處於本揭露的範圍及精神內。以下論述闡述用於將對電子裝置的設計、模擬、分析、及驗證最佳化的示例性操作控制流程700。操作控制流程700可為一種在如以上在圖3中所述的操作的代入模式中電子最佳化平台300的示例性操作。
在操作702處,操作控制流程700分析與電子架構設計的擴散層、多晶矽層、金屬層、及/或各層之間的內連線對應的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線,以辨識所述一或多個電子架構設計的一或多個電子架構特徵。此操作可由執行一或多個軟體工具(例如(舉例而言,模型代入工具306))的一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置(例如(舉例而言,電腦系統500))進行。
在操作704處,操作控制流程700辨識與滿足一或多個設計目標的所述一或多個電子架構特徵對應的一或多個電子架構模型。操作控制流程700可搜索一或多個機器可讀取媒體(例如(舉例而言,機器可讀取媒體308、機器可讀取媒體312、及/或機器可讀取媒體316))以辨識一或多個電子架構模型。此操作可由執行一或多個軟體工具(例如(舉例而言,模型代入工具306及/
或模型管理工具314))的一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置(例如(舉例而言,電腦系統500))進行。
在操作706處,操作控制流程700將滿足所述一或多個電子架構特徵的所述一或多個電子設計目標的所述一或多個電子架構模型代入所述一或多個電子架構設計中,以將所述一或多個電子架構設計最佳化。此操作可由執行一或多個軟體工具(例如(舉例而言,模型代入工具306))的一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置(例如(舉例而言,電腦系統500))進行。
圖8說明根據本揭露示例性實施例的電子最佳化平台演算法的第二示例性操作的流程圖。本揭露並非僅限於此操作說明。確切而言,對於熟習相關技術的通常知識者而言將顯而易見,其他操作控制流程亦處於本揭露的範圍及精神內。以下論述闡述用於將對電子裝置的設計、模擬、分析、及驗證最佳化的示例性操作控制流程800。操作控制流程800可為一種在如以上在圖3中所述的操作的模型開發模式中電子最佳化平台300的示例性操作。
在操作802處,操作控制流程800分析與電子架構設計的擴散層、多晶矽層、金屬層、及/或各層之間的內連線對應的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線,
以辨識所述一或多個電子架構設計的一或多個電子架構特徵。此操作可由執行一或多個軟體工具(例如(舉例而言,模型開發工具310))的一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置(例如(舉例而言,電腦系統500))進行。
在操作804處,操作控制流程800利用機器學習過程來開發與一或多個電子架構特徵對應的一或多個電子架構模型。操作控制流程800使用機器學習過程來開發所述一或多個電子架構模型的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線。此操作可由執行一或多個軟體工具(例如(舉例而言,模型開發工具310))的一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置(例如(舉例而言,電腦系統500))進行。
在操作806處,操作控制流程800模擬所述一或多個電子架構模型的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線,以辨識所述一或多個電子架構模型的一或多個特性、參數、或屬性。在示例性實施例中,操作控制流程800可提供靜態時序分析(STA)、壓降分析(亦稱作IREM分析)、時鐘域交叉驗證(時鐘域交叉檢查)、正式驗證(亦稱作模型檢查)、等效檢查、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的任何其他適合的分析。在示例性實施例中,操作控制流程800可進行交流(AC)分析(例如,線性小訊號頻域
分析)及/或直流(DC)分析(例如,非線性靜點計算或者在掃略電壓、電流、及/或參數以進行靜態時序分析、IREM分析、或其他適合的分析的同時,計算一系列非線性操作點)。此操作可由執行一或多個軟體工具(例如(舉例而言,模型開發工具310))的一或多個計算裝置、處理器、控制器、或將對於熟習相關技術者而言顯而易見且不背離本揭露的精神及範圍的其他裝置(例如(舉例而言,電腦系統500))進行。
結論
前述實施方式揭露一種開發電子裝置的電子架構設計的方法。所述方法包括:由電腦系統自電子架構設計辨識電子架構特徵;開發與滿足電子設計目標的電子架構特徵對應的架構模型;以及將與滿足電子設計目標的電子架構特徵對應的架構模型代入(substituting)電子架構設計中。
在本揭露的實施例中,其中所述電子架構設計包括用於對所述電子裝置的電路系統進行描述的幾何形狀的影像或資料式表示形式、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線。
在本揭露的實施例中,其中所述電子架構特徵包括以下中的至少一者:來自所述電子架構設計的幾何形狀;所述幾何形狀的位置;或者所述幾何形狀的內連線。
在本揭露的實施例中,其中所述開發包括:使用機器學習過程藉由多次迭代來操縱所述電子架構特徵,以開發多個電子
架構模型,所述多個電子架構模型包括所述電子架構模型。
在本揭露的實施例中,其中所述機器學習過程包括:調整所述電子架構特徵的長度、寬度、及/或厚度、所述電子架構特徵的位置、或者所述電子架構特徵的內連線的長度、寬度、及/或厚度,以開發所述電子架構模型;模擬所述電子架構模型,以辨識所述電子架構模型的特性、參數、或屬性;將所述特性、所述參數、或所述屬性與所述電子架構特徵的所述電子設計目標進行比較以產生所述特性、所述參數、或所述屬性與所述電子架構特徵的所述電子設計目標之間的多個誤差中的誤差,以及,以迭代方式重複調整、模擬及比較。
在本揭露的實施例中,其中所述辨識包括:自所述電子架構設計辨識所述電子架構特徵的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀的內連線,且其中所述開發包括:藉由多次迭代來操縱所述幾何形狀、所述幾何形狀的所述位置、及/或所述幾何形狀的所述內連線,以開發所述電子架構模型。
在本揭露的實施例中,其中所述操縱所述幾何形狀包括:調整所述幾何形狀的長度、寬度、及/或厚度、所述幾何形狀的位置、或者所述幾何形狀的內連線的長度、寬度、及/或厚度。
在本揭露的實施例中,更包括:由所述電腦系統對所述電子裝置的軟體層階描述進行轉譯,以提供所述電子架構設計。
前述實施方式另外揭露一種將電子裝置的電子架構設計最佳化的電腦系統。所述電腦系統包括記憶體及處理器。記憶體
儲存一或多個指令。處理器執行所述一或多個指令,所述一或多個指令在由所述處理器執行時將所述處理器配置成:以迭代方式操縱電子架構設計的電子架構特徵,以開發多個電子架構模型,直至所述多個電子架構模型中的一個電子架構模型滿足所述電子架構特徵的電子設計目標為止,以及將滿足所述電子架構特徵的所述電子設計目標的所述電子架構模型代入所述電子架構設計中以將所述電子架構設計最佳化。
在本揭露的實施例中,其中所述電子架構設計包括用於對所述電子裝置的電路系統進行描述的幾何形狀的影像或資料式表示形式、所述幾何形狀的位置、及/或所述幾何形狀之間的內連線。
在本揭露的實施例中,其中所述電子架構特徵包括以下中的至少一者:來自所述電子架構設計的幾何形狀;所述幾何形狀的位置;或者所述幾何形狀的內連線。
在本揭露的實施例中,其中所述一或多個指令在由所述處理器執行時將所述處理器配置成:使用機器學習過程以迭代方式操縱所述電子架構設計的所述電子架構特徵,以開發所述多個電子架構模型。
在本揭露的實施例中,其中所述機器學習過程被配置成:調整所述電子架構特徵的長度、寬度、及/或厚度、所述電子架構特徵的位置、或者所述電子架構特徵的內連線的長度、寬度、及/或厚度,以開發所述電子架構模型;模擬所述電子架構模型,
以辨識所述電子架構模型的特性、參數、或屬性;將所述特性、所述參數、或所述屬性與所述電子架構特徵的所述電子設計目標進行比較以產生所述特性、所述參數、或所述屬性與所述電子架構特徵的所述電子設計目標之間的多個誤差中的誤差,以及,以迭代方式重複調整、模擬、及比較,直至所述多個誤差收斂為止。
在本揭露的實施例中,其中所述一或多個指令在由所述處理器執行時更將所述處理器配置成:自所述電子架構設計辨識所述電子架構特徵的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀的內連線,以及,以迭代方式操縱所述幾何形狀、所述幾何形狀的所述位置、及/或所述幾何形狀的所述內連線,以開發所述多個電子架構模型。
在本揭露的實施例中,其中所述一或多個指令在由所述處理器執行時將所述處理器配置成:以迭代方式調整所述幾何形狀的長度、寬度、及/或厚度、所述幾何形狀的位置、或者所述幾何形狀的內連線的長度、寬度、及/或厚度,以開發所述多個電子架構模型。
在本揭露的實施例中,其中所述一或多個指令在由所述處理器執行時將所述處理器配置成:對所述電子裝置的軟體層階描述進行轉譯,以提供所述電子架構設計。
前述實施方式更揭露一種儲存有指令的非暫時性機器可讀取媒體。所述指令在由電腦系統執行時使所述電腦系統進行包括以下的操作:辨識電子架構設計的電子架構特徵;開發與電子
架構設計的電子架構特徵對應的多個電子架構模型;模擬所述多個電子架構模型,以提供多個特性、參數、或屬性;在所述多個電子架構模型中搜索所述多個電子架構模型中的如下電子架構模型:所述多個特性、參數、或屬性中所述電子架構模型的特性、參數、或屬性滿足電子架構特徵的電子設計目標;以及將滿足電子架構特徵的電子設計目標的電子架構模型代入電子架構設計中,以將所述電子架構設計最佳化。
在本揭露的實施例中,其中所述開發包括:使用機器學習過程開發與所述電子架構設計的所述電子架構特徵對應的多個電子架構模型;以及其中所述模擬包括:在所述機器學習過程期間模擬所述多個電子架構模型。
在本揭露的實施例中,其中所述機器學習過程更包括:將所述多個特性、參數、或屬性與所述電子架構特徵的所述電子設計目標進行比較以產生所述多個特性、參數、或屬性與所述電子架構特徵的所述電子設計目標之間的多個誤差,其中以迭代方式重複對所述多個電子架構模型進行開發、模擬、及比較,直至所述多個誤差收斂為止。
在本揭露的實施例中,其中所述開發包括:調整所述電子架構特徵的長度、寬度、及/或厚度、所述電子架構特徵的位置、或者所述電子架構特徵的內連線的長度、寬度、及/或厚度,以開發所述多個電子架構模型。
以上實施方式概述了若干實施例的特徵,以使此項技術
中具有通常知識者可更佳地理解本發明的各個態樣。此項技術中具有通常知識者應知,其可容易地使用本發明作為設計或修改其他製程及結構的基礎來施行與本文中所介紹的實施例相同的目的及/或達成與本文中所介紹的實施例相同的優點。此項技術中具有通常知識者亦應認識到,此種等效構造並不背離本發明的精神及範圍,而且他們可在不背離本發明的精神及範圍的條件下對其作出各種改變、代替、及變更。
100:設計環境/電子設計環境
102:電子設計平台
104:電子最佳化平台
Claims (10)
- 一種開發電子裝置的電子架構設計的方法,所述方法包括:由電腦系統自所述電子架構設計辨識電子架構特徵,其中所述電子架構設計包括用於對所述電子裝置的電路系統進行描述的幾何形狀、所述幾何形狀的位置、及所述幾何形狀之間的內連線,所述幾何形狀對應於擴散層、多晶矽層、金屬層、及所述擴散層、所述多晶矽層、及所述金屬層之間的內連線;開發具有滿足電子設計目標的所述電子架構特徵的電子架構模型;以及將所述電子架構模型代入所述電子架構設計中,其中所述辨識、所述開發、或所述代入中的至少一者是由電腦進行。
- 如申請專利範圍第1項所述的方法,其中所述電子架構設計包括用於對所述電子裝置的電路系統進行描述的所述幾何形狀的影像或資料式表示形式、所述幾何形狀的所述位置、及所述幾何形狀之間的所述內連線。
- 如申請專利範圍第1項所述的方法,其中所述電子架構特徵包括以下中的至少一者:來自所述電子架構設計的幾何形狀;所述幾何形狀的位置;或者所述幾何形狀的內連線。
- 一種將電子裝置的電子架構設計最佳化的電腦系統,所述電腦系統包括:記憶體,儲存一或多個指令;以及處理器,與所述記憶體進行通訊,被配置成執行所述一或多個指令,所述一或多個指令在由所述處理器執行時將所述處理器配置成:以迭代方式藉由多次迭代來操縱所述電子架構設計的電子架構特徵,以開發多個電子架構模型,直至所述多個電子架構模型中的電子架構模型滿足所述電子架構特徵的電子設計目標為止,其中所述電子架構設計包括用於對所述電子裝置的電路系統進行描述的幾何形狀、所述幾何形狀的位置、及所述幾何形狀之間的內連線,所述幾何形狀對應於擴散層、多晶矽層、金屬層、及所述擴散層、所述多晶矽層、及所述金屬層之間的內連線,以及將滿足所述電子架構特徵的所述電子設計目標的所述電子架構模型代入所述電子架構設計中以將所述電子架構設計最佳化。
- 如申請專利範圍第4項所述的電腦系統,其中所述電子架構設計包括用於對所述電子裝置的電路系統進行描述的所述幾何形狀的影像或資料式表示形式、所述幾何形狀的所述位置、及所述幾何形狀之間的所述內連線。
- 如申請專利範圍第4項所述的電腦系統,其中所述電子架構特徵包括以下中的至少一者:來自所述電子架構設計的幾何形狀;所述幾何形狀的位置;或者所述幾何形狀的內連線。
- 如申請專利範圍第4項所述的電腦系統,其中所述一或多個指令在由所述處理器執行時更將所述處理器配置成:自所述電子架構設計辨識所述電子架構特徵的幾何形狀、所述幾何形狀的位置、及/或所述幾何形狀的內連線,以及以迭代方式操縱所述幾何形狀、所述幾何形狀的所述位置、及/或所述幾何形狀的所述內連線,以開發所述多個電子架構模型。
- 如申請專利範圍第4項所述的電腦系統,其中所述一或多個指令在由所述處理器執行時將所述處理器配置成:對所述電子裝置的軟體層階描述進行轉譯,以提供所述電子架構設計。
- 一種儲存有指令的非暫時性機器可讀取媒體,所述指令在由電腦系統執行時使所述電腦系統進行包括以下的操作:辨識所述電子架構設計的電子架構特徵,其中所述電子架構設計包括用於對電子裝置的電路系統進行描述的幾何形狀、所述幾何形狀的位置、及所述幾何形狀之間的內連線,所述幾何形狀對應於擴散層、多晶矽層、金屬層、及所述擴散層、所述多晶矽層、及所述金屬層之間的內連線; 開發與所述電子架構設計的所述電子架構特徵對應的多個電子架構模型;模擬所述多個電子架構模型,以提供多個特性、參數、或屬性;在所述多個電子架構模型中搜索所述多個電子架構模型中的如下電子架構模型:所述多個特性、參數、或屬性中所述電子架構模型的特性、參數、或屬性滿足所述電子架構特徵的電子設計目標;以及將滿足所述電子架構特徵的所述電子設計目標的所述電子架構模型代入所述電子架構設計中,以將所述電子架構設計最佳化。
- 如申請專利範圍第9項所述的非暫時性機器可讀取媒體,其中所述模擬包括:在所述機器學習過程期間模擬所述多個電子架構模型。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762471538P | 2017-03-15 | 2017-03-15 | |
US62/471,538 | 2017-03-15 | ||
US15/724,663 US10678973B2 (en) | 2017-03-15 | 2017-10-04 | Machine-learning design enablement platform |
US15/724,663 | 2017-10-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201935290A TW201935290A (zh) | 2019-09-01 |
TWI707241B true TWI707241B (zh) | 2020-10-11 |
Family
ID=63519398
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106142892A TWI661327B (zh) | 2017-03-15 | 2017-12-07 | 開發電子架構設計的方法、電腦系統及機器可讀取媒體 |
TW108114694A TWI707241B (zh) | 2017-03-15 | 2017-12-07 | 開發電子裝置的電子架構設計的方法、將電子裝置的電子架構設計最佳化的電腦系統及非暫時性機器可讀取媒體 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106142892A TWI661327B (zh) | 2017-03-15 | 2017-12-07 | 開發電子架構設計的方法、電腦系統及機器可讀取媒體 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10678973B2 (zh) |
KR (1) | KR102165943B1 (zh) |
CN (1) | CN108629066A (zh) |
TW (2) | TWI661327B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678973B2 (en) * | 2017-03-15 | 2020-06-09 | Taiwan Semiconductor Manufacturing Co., Ltd. | Machine-learning design enablement platform |
TWI760574B (zh) * | 2018-10-29 | 2022-04-11 | 和碩聯合科技股份有限公司 | 模擬自動化方法 |
KR102539066B1 (ko) * | 2018-11-09 | 2023-06-01 | 삼성전자주식회사 | 서로 다른 타입의 셀들을 포함하는 집적 회로, 그 설계 방법 및 설계 시스템 |
US12099788B2 (en) | 2018-11-26 | 2024-09-24 | Agency For Science, Technology And Research | Method and system for predicting performance in electronic design based on machine learning |
US11514220B2 (en) | 2019-01-09 | 2022-11-29 | International Business Machines Corporation | Predicting power usage of a chip |
US10796051B1 (en) * | 2019-04-30 | 2020-10-06 | Cadence Design Systems, Inc. | Adaptive model interface for a plurality of EDA programs |
CN112052642B (zh) | 2019-05-20 | 2024-08-16 | 台积电(南京)有限公司 | 用于机器学习的esl建模的系统和方法 |
US11048852B1 (en) * | 2019-07-26 | 2021-06-29 | Cadence Design Systems, Inc. | System, method and computer program product for automatic generation of sizing constraints by reusing existing electronic designs |
WO2021041455A1 (en) * | 2019-08-29 | 2021-03-04 | Siemens Aktiengesellschaft | Performance based system configuration as preprocessing for system peformance simulation |
US11341304B2 (en) | 2019-12-10 | 2022-05-24 | Microchip Technology Inc. | Machine learning based methods and apparatus for integrated circuit design delay calculation and verification |
US20220027546A1 (en) * | 2020-07-23 | 2022-01-27 | Nvidia Corp. | Standard cell layout generation with applied artificial intelligence |
US11645440B1 (en) | 2020-10-02 | 2023-05-09 | Xilinx, Inc. | Machine learning based delay estimation |
KR20220060214A (ko) | 2020-11-04 | 2022-05-11 | 삼성전자주식회사 | 반도체 설계 자동화 시스템 및 이를 포함하는 컴퓨팅 시스템 |
US20240028396A1 (en) * | 2020-11-24 | 2024-01-25 | Raytheon Company | Run-time schedulers for field programmable gate arrays or other logic devices |
US20220164510A1 (en) * | 2020-11-24 | 2022-05-26 | Raytheon Company | Automated design of field programmable gate array or other logic device based on artificial intelligence and vectorization of behavioral source code |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030237064A1 (en) * | 2002-06-07 | 2003-12-25 | David White | Characterization and verification for integrated circuit designs |
US20080127000A1 (en) * | 2006-05-26 | 2008-05-29 | Open-Silicon, Inc. | Method of IC design optimization via creation of design-specific cells from post-layout patterns |
US20090013292A1 (en) * | 2007-07-03 | 2009-01-08 | Mentor Graphics Corporation | Context dependent timing analysis and prediction |
US20090249259A1 (en) * | 2008-03-31 | 2009-10-01 | Broadcom Corporation | High-Speed Low-Leakage-Power Standard Cell Library |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5092780B1 (en) * | 1986-10-14 | 1995-07-11 | Analogy Inc | System performance simulator |
US6314390B1 (en) * | 1998-11-30 | 2001-11-06 | International Business Machines Corporation | Method of determining model parameters for a MOSFET compact model using a stochastic search algorithm |
US7103524B1 (en) * | 2001-08-28 | 2006-09-05 | Cadence Design Systems, Inc. | Method and apparatus for creating an extraction model using Bayesian inference implemented with the Hybrid Monte Carlo method |
US7523429B2 (en) * | 2004-02-20 | 2009-04-21 | Takumi Technology Corporation | System for designing integrated circuits with enhanced manufacturability |
US20050234761A1 (en) * | 2004-04-16 | 2005-10-20 | Pinto Stephen K | Predictive model development |
US20060036422A1 (en) * | 2004-08-13 | 2006-02-16 | Gryba John S | Methods and systems for electronic device modelling |
US7707533B2 (en) * | 2006-07-21 | 2010-04-27 | Solido Design Automation Inc. | Data-mining-based knowledge extraction and visualization of analog/mixed-signal/custom digital circuit design flow |
JP5020562B2 (ja) * | 2006-07-25 | 2012-09-05 | 株式会社 液晶先端技術開発センター | シミュレーション装置、シミュレーション方法、及び半導体装置の製造方法 |
US20090070716A1 (en) * | 2007-09-12 | 2009-03-12 | Joshi Rajiv V | System and method for optimization and predication of variability and yield in integrated ciruits |
US8548777B2 (en) * | 2007-09-28 | 2013-10-01 | Rockwell Automation Technologies, Inc. | Automated recommendations from simulation |
US7673278B2 (en) * | 2007-11-29 | 2010-03-02 | Tokyo Electron Limited | Enhanced process yield using a hot-spot library |
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 |
US9021409B2 (en) * | 2011-07-11 | 2015-04-28 | The Board Of Trustees Of The University Of Illinois | Integration of data mining and static analysis for hardware design verification |
US8850374B2 (en) * | 2012-11-06 | 2014-09-30 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of reducing parasitic mismatch |
US8887134B2 (en) * | 2012-11-06 | 2014-11-11 | Rockwell Automation Technologies, Inc. | Customized object design for industrial automation application |
US8806392B2 (en) * | 2012-12-03 | 2014-08-12 | Taiwan Semiconductor Manufacturing Company, Ltd. | Distinguishable IC patterns with encoded information |
SG2013048186A (en) * | 2013-06-20 | 2015-01-29 | Plunify Pte Ltd | System and method for designing an integrated circuit |
US10102320B2 (en) | 2015-02-26 | 2018-10-16 | Autodesk, Inc. | Predictive multi-user client-server electronic circuit design system utilizing machine learning techniques |
US9690898B2 (en) * | 2015-06-25 | 2017-06-27 | Globalfoundries Inc. | Generative learning for realistic and ground rule clean hot spot synthesis |
CN105354353B (zh) * | 2015-09-28 | 2018-12-14 | 武汉开目信息技术有限责任公司 | 一种基于mbd模型的加工特征识别和建模方法 |
US10254641B2 (en) * | 2016-12-01 | 2019-04-09 | Lam Research Corporation | Layout pattern proximity correction through fast edge placement error prediction |
US10678973B2 (en) * | 2017-03-15 | 2020-06-09 | Taiwan Semiconductor Manufacturing Co., Ltd. | Machine-learning design enablement platform |
-
2017
- 2017-10-04 US US15/724,663 patent/US10678973B2/en active Active
- 2017-12-07 TW TW106142892A patent/TWI661327B/zh active
- 2017-12-07 KR KR1020170167637A patent/KR102165943B1/ko active IP Right Grant
- 2017-12-07 TW TW108114694A patent/TWI707241B/zh active
- 2017-12-14 CN CN201711335011.5A patent/CN108629066A/zh active Pending
-
2020
- 2020-05-11 US US16/871,841 patent/US11017149B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030237064A1 (en) * | 2002-06-07 | 2003-12-25 | David White | Characterization and verification for integrated circuit designs |
US20080127000A1 (en) * | 2006-05-26 | 2008-05-29 | Open-Silicon, Inc. | Method of IC design optimization via creation of design-specific cells from post-layout patterns |
US20090013292A1 (en) * | 2007-07-03 | 2009-01-08 | Mentor Graphics Corporation | Context dependent timing analysis and prediction |
US20090249259A1 (en) * | 2008-03-31 | 2009-10-01 | Broadcom Corporation | High-Speed Low-Leakage-Power Standard Cell Library |
Also Published As
Publication number | Publication date |
---|---|
US20180268096A1 (en) | 2018-09-20 |
CN108629066A (zh) | 2018-10-09 |
TW201935290A (zh) | 2019-09-01 |
TWI661327B (zh) | 2019-06-01 |
US11017149B2 (en) | 2021-05-25 |
TW201835795A (zh) | 2018-10-01 |
KR20180105559A (ko) | 2018-09-28 |
US20200272777A1 (en) | 2020-08-27 |
US10678973B2 (en) | 2020-06-09 |
KR102165943B1 (ko) | 2020-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI707241B (zh) | 開發電子裝置的電子架構設計的方法、將電子裝置的電子架構設計最佳化的電腦系統及非暫時性機器可讀取媒體 | |
TWI715945B (zh) | 電腦系統以及分組及排序之方法 | |
US7711536B2 (en) | System and method for verification aware synthesis | |
US9817932B2 (en) | Recognizing and utilizing circuit topology in an electronic circuit design | |
US8539406B2 (en) | Equivalence checking for retimed electronic circuit designs | |
JP4586926B2 (ja) | 回路検証装置、回路検証プログラムおよび回路検証方法 | |
US8935643B2 (en) | Parameter matching hotspot detection | |
CN104933214A (zh) | 集成电路设计方法和装置 | |
US20110161898A1 (en) | Synthesizing Checkers from Nondeterministic Finite Automaton | |
US9378327B2 (en) | Canonical forms of layout patterns | |
US8677300B2 (en) | Canonical signature generation for layout design data | |
US11467851B1 (en) | Machine learning (ML)-based static verification for derived hardware-design elements | |
US20150186591A1 (en) | Selective Parasitic Extraction | |
JP2012221389A (ja) | 回路シミュレーション方法および回路シミュレーション装置 | |
US9626474B2 (en) | Expanded canonical forms of layout patterns | |
US10896283B1 (en) | Noise-based optimization for integrated circuit design | |
US20130132917A1 (en) | Pattern Matching Hints | |
US9183330B2 (en) | Estimation of power and thermal profiles | |
US10997333B1 (en) | Methods, systems, and computer program product for characterizing an electronic design with a schematic driven extracted view | |
US9996643B2 (en) | Integrated circuit modeling method using resistive capacitance information | |
US8549457B1 (en) | Method and system for implementing core placement | |
JP4080464B2 (ja) | 検証ベクタ生成方法およびこれを用いた電子回路の検証方法 | |
US20240303402A1 (en) | Shape matching-based layout versus schematic for photonic circuits | |
CN118251675A (zh) | 用于布局与原理图比较的自动单元黑盒化 | |
Yassine | A fast metal layer elimination approach for power grid reduction in integrated circuits |