CN108629066A - 用于开发和优化电子器件的电子架构设计的方法和计算机系统 - Google Patents
用于开发和优化电子器件的电子架构设计的方法和计算机系统 Download PDFInfo
- Publication number
- CN108629066A CN108629066A CN201711335011.5A CN201711335011A CN108629066A CN 108629066 A CN108629066 A CN 108629066A CN 201711335011 A CN201711335011 A CN 201711335011A CN 108629066 A CN108629066 A CN 108629066A
- Authority
- CN
- China
- Prior art keywords
- electronic
- electronic architecture
- design
- geometry
- architecture
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000013461 design Methods 0.000 title claims abstract description 224
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004088 simulation Methods 0.000 claims abstract description 39
- 238000010801 machine learning Methods 0.000 claims abstract description 31
- 230000008569 process Effects 0.000 claims abstract description 24
- 230000005611 electricity Effects 0.000 claims description 24
- 230000014509 gene expression Effects 0.000 claims description 15
- 238000005457 optimization Methods 0.000 abstract description 69
- 238000004458 analytical method Methods 0.000 abstract description 47
- 238000012795 verification Methods 0.000 abstract description 37
- 238000011161 development Methods 0.000 description 38
- 238000007726 management method Methods 0.000 description 32
- 238000012545 processing Methods 0.000 description 24
- 238000003860 storage Methods 0.000 description 18
- 238000000605 extraction Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000015572 biosynthetic process Effects 0.000 description 9
- 238000003786 synthesis reaction Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 239000004065 semiconductor Substances 0.000 description 8
- 230000003068 static effect Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000009792 diffusion process Methods 0.000 description 4
- 239000002184 metal Substances 0.000 description 4
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 4
- 229920005591 polysilicon Polymers 0.000 description 4
- 238000002790 cross-validation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000010276 construction Methods 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
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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/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/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
本发明的实施例提供了用于开发和优化电子器件的电子架构设计的方法和计算机系统。在各种实施例中,本发明的电子设计自动化(EDA)优化了电子器件的一个或多个电子架构设计的设计、模拟、分析和验证。本发明的EDA从一个或多个电子架构设计中识别一个或多个电子架构特征。在一些情况下,本发明的EDA可以利用机器学习过程通过多次迭代操纵一个或多个电子架构模型,直到来自所述一个或多个电子架构模型中的一个或多个电子架构模型满足一个或多个电子设计目标。本发明的EDA用满足一个或多个电子设计目标的一个或多个电子架构模型替换在一个或多个电子架构设计中的一个或多个电子架构特征,以优化一个或多个电子架构设计。本发明的EDA可以在一个或多个电子架构设计的设计、模拟、分析和/或验证之前、期间和/或之后替换一个或多个电子架构模型,以有效地缩短电子器件的上市时间(TTM)。
Description
技术领域
本发明的实施例总体涉及电子电路领域,更具体地,涉及用于开发和优化电子器件的电子架构设计的方法和计算机系统。
背景技术
技术和工程方面的进步已经允许设计者和制造者向消费者提供更多的电子器件。在整个电子器件的设计中,设计者和/或制造者通常使用电子设计自动化(EDA),也被称为电子计算机辅助设计(ECAD)。EDA表示设计者和制造者可以使用的用于设计电子器件的一类软件工具。在制造到集成电路(IC)或半导体衬底之上之前,设计者和/或制造者可以使用许多软件工具来设计、模拟、分析和验证电子器件。用于设计电子器件的常规软件工具利用寄存器传输级(RTL)的高级软件语言来开发电子器件的模拟和/或数字电路的软件实现。用于模拟电子器件的常规软件工具利用常规模拟算法来复制软件实现的一个或多个电子架构特征的行为。用于分析电子器件的常规软件工具评估电子器件的一个或多个电子架构特征。常规软件工具也用于验证软件实现的一个或多个电子架构特征满足如电子设计规范中所概述的一个或多个电子架构特征的要求。
这些常规软件工具需要在电子器件可以被优化之前完成对电子器件的设计、模拟、分析和验证。例如,在标准单元库的放置和/或布线可以通过试错过程来优化之前,设计电子器件的常规软件工具完成来自形成电子器件的预定义标准单元库中的标准库单元的放置和/或布线。在该实例中,设计者和/或制造者通过多次迭代手动调整标准库单元的放置和/或布线以优化标准库单元的放置和/或布线。这种试错过程不必要地增加了电子器件的上市时间(TTM),这通常要求设计者和/或制造者通过多次迭代不必要地重复电子器件的设计、模拟、分析和验证的许多方面,直到电子器件的一个或多个电子架构特征满足电子设计规范中概述的一个或多个电子架构特征的要求。
发明内容
根据本发明的一个方面,提供了一种用于开发电子器件的电子架构设计的方法,所述方法包括:由计算机系统从所述电子架构设计中识别电子架构特征;开发具有满足电子设计目标的所述电子架构特征的架构模型;以及将所述电子架构模型替换至所述电子架构设计中,其中,所述识别、所述开发和所述替换的至少一个是由计算机执行的。
根据本发明的另一个方面,提供了一种用于优化电子器件的电子架构设计的计算机系统,所述计算机系统包括:存储器,存储一个或多个指令;以及处理器,与所述存储器通信,所述处理器被配置为执行所述一个或多个指令,当所述一个或多个指令由所述处理器执行时,所述处理器被配置为:迭代地操纵所述电子架构设计的电子架构特征以开发多个电子架构模型,直到来自所述多个电子架构模型中的电子架构模型满足所述电子架构特征的所述电子设计目标,和用满足所述电子设计目标的所述电子架构模型替换在所述电子架构设计中的所述电子架构特征,以优化所述电子架构设计。
根据本发明的又一个方面,提供了一种具有存储在其上的指令的非暂时性机器可读介质,当所述指令由计算机系统执行时,使所述计算机系统执行包括以下步骤的操作:识别所述电子架构设计的电子架构特征;开发与所述电子架构设计的所述电子架构特征相对应的多个电子架构模型;模拟所述多个电子架构模型,以提供多个特性、参数或属性;搜索所述多个电子架构模型以获得来自所述多个电子架构模型中的电子架构模型,所述电子架构模型的来自所述多个特性、参数或属性中的特性、参数或属性满足所述电子架构特征的电子设计目标,以及用满足所述电子设计目标的所述电子架构模型替换在所述电子架构设计的所述电子架构特征,以优化所述电子架构设计。
附图说明
当结合附图进行阅读时,从以下详细描述可最佳地理解本发明的各个方面。应该注意,根据工业中的标准实践,各个部件未按比例绘制。实际上,为了清楚的讨论,各个部件的尺寸可以被任意增大或减小。
图1示出根据本发明的示例性实施例的用于电子器件的示例性设计平台的框图;
图2示出根据本发明的示例性实施例的示例性设计环境的电子设计平台的框图;
图3示出根据本发明的示例性实施例的示例性设计环境的电子优化平台的框图;
图4示出根据本发明的示例性实施例的电子优化平台的示例性操作的图形说明;
图5示出根据本发明的示例性实施例的用于实现示例性设计环境的示例性计算机系统的框图;
图6示出根据本发明的示例性实施例的示例性计算机系统的示例性处理器的框图;
图7示出根据本发明的示例性实施例的电子优化平台算法的第一示例性操作的流程图;以及
图8示出根据本发明的示例性实施例的电子优化平台算法的第二示例性操作的流程图。
具体实施方式
以下公开内容提供了许多用于实现所提供主题的不同特征的不同实施例或实例。下面描述了组件和布置的特定实例以简化本发明。当然,这些仅仅是实例,而不旨在限制本发明。例如,在以下描述中,在第二部件上方形成第一部件可以包括第一部件和第二部件以直接接触的方式形成的实施例,并且也可以包括在第一部件和第二部件之间可以形成额外的部件,从而使得第一部件和第二部件可以不直接接触的实施例。此外,本发明可在各个实例中重复参考标号和/或字符。该重复本身不指示所讨论的各个实施例和/或配置之间的关系。
概述
在各种实施例中,本发明的电子设计自动化(EDA)优化了电子器件的一个或多个电子架构设计的设计、模拟、分析和验证。一个或多个电子架构设计可以表示描述电子器件的电路的几何形状、几何形状的位置和/或几何形状之间的互连的一个或多个图像和/或一个或多个基于数据的表示。本发明的EDA从一个或多个电子架构设计中识别一个或多个电子架构特征(例如,几何形状、几何形状的位置和/或几何形状之间的互连以提供一些实例)。在一些情况下,本发明的EDA可以利用机器学习过程通过多次迭代操纵一个或多个电子架构特征(例如,调整一个或多个电子架构模型的几何形状、调整一个或多个电子架构模型的几何形状的位置和/或调整一个或多个电子架构模型的几何形状之间的互连)以开发一个或多个电子架构模型,直到一个或多个电子架构模型满足一个或多个电子设计目标。本发明的EDA用满足一个或多个电子设计目标的一个或多个电子架构模型来替换一个或多个电子架构设计中的一个或多个电子架构特征,以优化一个或多个电子架构设计。本发明的EDA可以在一个或多个电子架构设计的设计、模拟、分析和/或验证之前、期间和/或之后替换一个或多个电子架构模型,以有效地缩短电子器件的上市时间(TTM)。
用于电子器件的示例性设计环境
图1示出根据本发明的示例性实施例的用于电子器件的示例性设计平台的框图。电子设计环境100可以在设计、模拟、分析和/或验证一个或多个电子架构设计之前、期间和/或之后优化用于电子器件的一个或多个电子架构设计。如图1所示,电子设计环境100包括电子设计平台102和电子优化平台104。在示例性实施例中,电子设计平台102和/或电子优化平台104可以用硬件、固件、软件或者任何它们的组合实现。此外,固件、软件、程序、指令和/或应用程序在此可被描述为执行某些动作。然而,应当理解,这些描述仅仅是为了方便的目的,并且这些动作实际上是由执行固件、软件、程序、指令和/或应用程序的计算设备、处理器、控制器或其他设备产生的。作为另一实例,电子设计平台102和/或电子优化平台104可以被实现为存储在机器可读介质上的指令,该指令可以被一个或多个处理器读取和执行。在此,机器可读介质可以包括用于以由一种或多种计算设备、处理器、控制器或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的其他设备可读的形式存储或传输信息的任何机制。机器可读介质可以包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、固态存储介质、光存储介质和/或闪存设备以提供一些实例。
电子设计平台102表示包括一个或多个电子设计软件工具的设计流程,当电子设计平台102由一个或多个计算设备、处理器、控制器或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的其他设备执行时,电子设计平台102可以设计、模拟、分析和/或验证一个或多个电子架构设计。在示例性实施例中,电子设计平台102可以与电子优化平台104一起位于集中位置中。在另一示例性实施例中,电子设计平台102可以远离电子优化平台104。在这些示例性实施例中,可以提供基于订阅的服务和/或许可来访问电子优化平台104。例如,可以通过电子设计平台102提供基于订阅的服务和/或许可来访问电子优化平台104,以优化一个或多个电子架构设计的设计、模拟、分析和验证。用于电子设计平台102的示例性实施例将在图2中进一步详细描述。该示例性实施例还描述了电子设计平台102的各个方面。
电子优化平台104包括一个或多个设计优化软件工具,当电子优化平台104由一个或多个计算设备、处理器、控制器或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的其他设备执行时,电子优化平台104可以优化由电子设计平台102提供的一个或多个电子架构设计的设计、模拟、分析和验证。电子优化平台104从一个或多个电子架构设计中识别一个或多个电子架构特征,例如几何形状、几何形状的位置和/或几何形状之间的互连以提供一些实例。在一些情况下,电子优化平台104可以使用机器学习过程通过多次迭代操纵一个或多个电子架构特征,例如,调整几何形状、调整几何形状的位置、和/或调整几何形状之间的互连以开发一个或多个电子架构模型,直到一个或多个电子架构模型满足一个或多个电子设计目标。将在下面进一步详细描述该机器学习过程。电子优化平台104在一个或多个电子架构设计中替换满足针对一个或多个电子架构特征的一个或多个电子设计目标的一个或多个电子架构模型,以优化一个或多个电子架构设计。电子优化平台104可以在电子设计平台102设计、模拟、分析和/或验证一个或多个电子架构设计之前、期间和/或之后替换一个或多个电子架构模型,以有效地缩短电子器件的上市时间(TTM)。
示例性设计环境的示例性电子设计平台
图2示出根据本发明的示例性实施例的示例性设计环境的电子设计平台的框图。如图2所示,电子设计平台200表示包括一个或多个电子设计软件工具的设计流程,当电子设计平台200由一个或多个计算设备、处理器、控制器或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的其他设备执行时,电子设计平台200可以设计、模拟、分析和/或验证电子器件的模拟和/或数字电路的一个或多个高级软件级别描述。在示例性实施例中,可以使用高级软件语言(诸如图形设计工具,例如C、system C、C++、LabVIEW和/或MATLAB);诸如SysML、SMDL和/或SSDL的通用系统设计语言;或任何其他合适的高级软件语言或者在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的高级软件格式;或者诸如通用功率格式(CPF)、统一功率格式(UPF)的高级软件格式;或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的任何其他合适的高级软件格式来实现一个或多个高级软件级别描述。在图2所示的示例性实施例中,电子设计平台200包括综合工具202、布局工具204、模拟工具206和验证工具208。电子设计平台200可以表示如上面图1中所述的电子设计平台102的示例性实施例。
综合工具202表示电子设计软件工具,当综合工具202由一个或多个计算设备、处理器、控制器或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的其他设备执行时,综合工具202将电子器件的一个或多个特性、参数或属性转换为一个或多个逻辑操作、一个或多个算法操作、一个或多个控制操作、和/或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的任何其他合适的操作,转换为模拟电路和/或数字电路方面的一个或多个高级软件级别描述。综合工具202可以利用模拟算法来模拟一个或多个逻辑操作、一个或多个算法操作、一个或多个控制操作和/或其他合适的操作以根据电子设计说明书中概述的电子器件的一个或多个特性、参数或属性来执行对一个或多个逻辑操作、一个或多个算法操作、一个或多个控制操作和/或其他合适的操作的验证。
布局工具204表示电子设计软件工具,当布局工具204由一个或多个计算设备、处理器、控制器或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的其他设备执行时,根据与扩散层、多晶硅层、金属层和/或层之间的互连相对应的几何形状来限定来自综合工具202的一个或多个逻辑操作、一个或多个算法操作、一个或多个控制操作和/或其他合适的操作。在示例性实施例中,布局工具204可以向电子优化平台(例如,电子优化平台104或如下面图3所述的电子优化平台300)提供几何形状、几何形状的位置和/或几何形状之间的互连的一个或多个高级软件级别描述以优化几何形状、几何形状的位置和/或几何形状之间的互连,其将在下面进一步详细描述。在另一示例性实施例中,可以根据来自与技术库相关联的预定义的标准单元库中的标准单元来限定一些模拟电路和/或数字电路的几何形状。标准单元表示一个或多个半导体器件以及它们的互连结构,一个或多个半导体器件和互连结构被配置和布置为提供逻辑功能,例如AND、OR、XOR、XNOR或NOT以提供一些实例,或提供存储功能,例如触发器或锁存器以提供一些实例。尽管最简单的标准单元是元件NAND、NOR、XOR或NOT布尔逻辑功能的直接表示,但是相关领域的技术人员将认识到,在不脱离本发明的精神和范围的情况下,更高复杂度的标准单元是可能的。根据与扩散层、多晶硅层、金属层和/或层之间的互连相对应的几何形状来限定预定义的标准单元库。此后,布局工具204在印刷电路板(PCB)和/或半导体衬底上为几何形状和/或几何形状之间的互连分配位置。在示例性实施例中,布局工具204利用描述模拟电路、数字电路、技术库、用于制造电子器件的半导体代工厂和/或用于制造电子器件的半导体技术节点的基于文本或基于图像的网表来分配几何形状、几何形状的位置和/或几何形状之间的互连。
模拟工具206表示电子设计软件工具,当模拟工具206由一个或多个计算设备、处理器、控制器或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的其他设备执行时,模拟工具206对几何形状、几何形状的位置和/或几何形状之间的互连进行模拟以复制几何形状,几何形状的位置和/或几何形状之间的互连的一个或多个特性、参数或属性。在示例性实施例中,模拟工具206可以在其模拟之前、期间和/或之后向电子优化平台(例如,电子优化平台104或如下面图3所述的电子优化平台300)提供对几何形状、几何形状的位置和/或几何形状之间的互连的一个或多个高级软件级别描述,以优化几何形状、几何形状的位置和/或几何形状之间的互连,如将在下面进一步详细描述的。在另一示例性实施例中,模拟工具206可以提供静态时序分析(STA)、电压降分析(也称为IREM分析)、时钟域交叉验证(CDC检查)、形式验证(也称为模型检查、等价性检查)或在不脱离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的任何其他合适的分析。在另一示例性实施例中,模拟工具206可以执行交流(AC)分析(例如,线性小信号频域分析)和/或直流(DC)分析(例如,非线性静态点计算或在扫描电压、电流时计算的一系列非线性工作点和/或执行STA、IREM分析的参数)或其他合适的分析。
验证工具208表示电子设计软件工具,当验证工具208由一个或多个计算设备、处理器、控制器或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的其他设备执行时,验证工具208验证由模拟工具206复制的几何形状,几何形状的位置和/或几何形状之间的互连的一个或多个特性、参数或属性满足电子设计规范。在示例性实施例中,验证工具208可以在其验证之前、期间和/或之后向电子优化平台(例如,电子优化平台104或如下面图3所述的电子优化平台300)提供几何形状、几何形状的位置和/或几何形状之间的互连的一个或多个高级软件级别描述,以优化几何形状、几何形状的位置和/或几何形状之间的互连,如将在下面进一步详细描述的。验证工具208还可以执行物理验证(也称为设计规则检查(DRC)),以检查由布局工具204所分配的几何形状、几何形状的位置和/或几何形状之间的互连是否满足一系列推荐参数,也称为如由用于制造电子器件的半导体代工厂和/或半导体技术节点所限定的设计规则。
示例性设计环境的示例性优化平台
图3示出根据本发明的示例性实施例的示例性设计环境的电子优化平台的框图。如图3所示,电子优化平台300表示一个或多个机器设计优化工具,当电子优化平台300由一个或多个计算设备、处理器、控制器或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的其他设备执行时,电子优化平台300可以优化电子器件的一个或多个高级软件级别描述的设计、模拟、分析和验证。在示例性实施例中,可以由如上面图2中所述的布局工具204、模拟工具206和/或验证工具208提供一个或多个高级软件级别描述。电子优化平台300从对应于一个或多个高级软件级别描述的一个或多个电子架构设计中识别一个或多个电子架构特征(例如,几何形状、几何形状的位置和/或几何形状之间的互连以提供一些实例)。在一些情况下,电子优化平台300可以使用机器学习过程通过多次迭代操纵一个或多个高级软件级别描述,直到一个或多个高级软件级别描述的一个或多个电子架构模型满足一个或多个电子设计目标。电子优化平台300将满足一个或多个电子设计目标的一个或多个电子架构模型替换至一个或多个高级软件级别描述,以优化一个或多个电子架构设计。在图3所示的示例性实施例中,电子优化平台300包括特征提取工具302、数据处理工具304、模型替换工具306、模型开发工具310和模型管理工具314。电子优化平台300可以代表如上述图1中所述的电子优化平台104的示例性实施例。在示例性实施例中,一个或多个计算设备、处理器、控制器或其他设备可以是一个或多个定制的集成电路(被称为一个或多个专用集成电路(ASIC)),用于执行特征提取工具302、数据处理工具304、模型替换工具306、模型开发工具310和模型管理工具314的一个或多个。在一些实施例中,当与用于通用目的的集成电路进行比较时,一个或多个ASIC可以加速特征提取工具302、数据处理工具304、模型替换工具306、模型开发工具310和/或模型管理工具314的计算时间。
特征提取工具302表示设计优化软件工具,当特征提取工具302由一个或多个计算设备、处理器、控制器或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的其他设备执行时,特征提取工具302从由布局工具204、模拟工具206和/或验证工具208提供的电子器件的高级软件级别描述中提取一个或多个布线特征,以向数据处理工具304提供一个或多个布线特征。在示例性实施例中,电子器件的高级软件级别描述表示由布局工具204、模拟工具206和/或验证工具208提供的几何形状、几何形状的位置和/或几何形状之间的互连。在另一示例性实施例中,高级软件级别描述可以表示:电子器件的文本表示或者电子器件的基于图像的表示(例如,计算机辅助设计(CAD)模型以提供实例)。电子器件的文本表示诸如是使用高级软件语言(诸如图形设计工具,例如C、system C、C++、LabVIEW和/或MATLAB);诸如SysML、SMDL和/或SSDL的通用系统设计语言;或任何其他合适的高级软件语言或者在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的高级软件格式)或者高级软件格式(诸如通用功率格式(CPF)、统一功率格式(UPF)或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的任何其他合适的高级软件格式)的一个或多个电子架构设计的网表或高级软件模型。在该示例性实施例中,特征提取工具302从由如上述图2中所述的布局工具204、模拟工具206和/或验证工具208提供的一个或多个高级软件级别描述中提取一个或多个布线特征,例如一个或多个高级软件级别描述中的多个网络节点或网络、一个或多个高级软件级别描述的模拟电路和/或数字电路的扇入或扇出或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的任何其他合适的几何形状,几何形状的位置和/或几何形状之间的互连的特性、参数或属性。
数据处理工具304表示设计优化软件工具,当数据处理工具304由一个或多个计算设备、处理器、控制器或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的其他设备执行时,数据处理工具304将由特征提取工具302提供的一个或多个布线特征转换为适合于由模型替换工具306操纵的一个或多个电子架构设计。该一个或多个电子架构设计表示描述了电子器件的电路的几何形状、几何形状的位置和/或几何形状之间的互连的一个或多个基于图像的表示和/或一个或多个基于数据的表示。一个或多个电子架构设计可以表示对应于一个或多个布线特征的一个或多个JPEG(联合图像专家组)图像、JPEG文件互换格式(JIFF)图像、可交换图像文件(Exif)图像、标签图像文件格式(TIFF)图像、图形互换格式(GIF)图像、Windows位图(BMP)图像便携式网络图形(PNG)图像,和/或对应于由特征提取工具302提供的一个或多个布线特征的一个或多个Gerber数据文件、AutoCAD绘图交换格式(DXF)数据文件、便携式文档格式(PDF)数据文件、电子设计互换格式(EDIF)数据文件、ODB++数据文件、一个或多个国际电子工业联接协会(IPC)数据文件(例如IPC-2511A、IPC-2511B或IPC-2581以提供一些实例)、一个或多个国际标准化组织(ISO)数据文件(例如,ISO 10303-210以提供实例)。
模型替换工具306表示设计优化软件工具,当模型替换工具306由一个或多个计算设备、处理器、控制器或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的其他设备执行时,模型替换工具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表示设计优化软件工具,当模型开发工具310由一个或多个计算设备、处理器、控制器或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的其他设备执行时,模型开发工具310开发与一个或多个电子架构特征相对应的一个或多个电子架构模型。具体地,在如图3中的信号流320所示的模型开发操作模式中,模型开发工具310从由数据处理工具304提供的一个或多个电子架构设计中识别一个或多个电子架构特征(例如,几何形状、几何形状的位置和/或几何形状之间的互连以提供一些实例)。模型开发工具310可以通过多次迭代操纵一个或多个电子架构特征,例如调整几何形状、调整几何形状的位置和/或调整几何形状之间的互连以开发针对一个或多个电子架构特征的一个或多个电子架构模型。例如,模型开发工具310可以增加和/或减小几何形状的长度、宽度和/或厚度,几何形状的位置以及几何形状之间的互连的长度、宽度和/或厚度。在一些情况下,可以使用存储在机器可读介质312中的用于其他电子器件的其他电子架构设计来预确定针对一个或多个电子架构特征的一个或多个电子架构模型。在这些情况下,模型开发工具310可以向机器可读介质308查询针对一个或多个电子架构特征的一个或多个电子架构模型。
在示例性实施例中,模型开发工具310利用机器学习过程来操纵几何形状、几何形状的位置和/或几何形状之间的互连以开发针对一个或多个电子架构特征的一个或多个电子架构模型。作为该机器学习过程的部分,模型开发工具310选择几何形状、几何形状的位置和/或几何形状的互连的第一实现,以从针对一个或多个电子架构特征的一个或多个电子架构模型中开发第一潜在电子架构模型。接下来,模型开发工具310模拟第一潜在电子架构模型以识别第一潜在电子架构模型的一个或多个特性、参数或属性。然后,模型开发工具310将第一潜在电子架构模型的一个或多个特性、参数或属性与一个或多个电子设计目标进行比较,以确定第一潜在电子架构模型的一个或多个特性、参数或属性与一个或多个电子设计目标之间的误差。此后,模型开发工具310将第一潜在电子架构模型的几何形状、几何形状的位置和/或几何形状之间的互连操纵为第二实现,以从针对一个或多个电子架构特征的一个或多个电子架构模型中开发第二潜在电子架构模型。例如,模型开发工具310可以增加和/或减小第一潜在电子架构模型的几何形状的长度、宽度和/或厚度,几何形状的位置,以及几何形状之间的互连的长度、宽度和/或厚度,以提供第二潜在电子架构模型。模型开发工具310模拟第二潜在电子架构模型,将第二潜在电子架构模型的一个或多个特性、参数或属性与一个或多个电子设计目标进行比较以确定误差,并且操纵第二潜在电子架构模型的几何形状、几何形状的位置和/或几何形状之间的互连,以从针对一个或多个电子架构特征的一个或多个电子架构模型中开发其他潜在电子架构模型。此后,模型开发工具310模拟一个或多个电子架构模型的几何形状、几何形状的位置和/或几何形状之间的互连,以识别一个或多个电子架构模型的一个或多个特性、参数或属性。在示例性实施例中,模型开发工具310可以提供静态时序分析(STA)、电压降分析(也称为IREM分析)、时钟域交叉验证(CDC检查)、形式验证(也称为模型检查、等价性检查)或在不脱离本发明的精神和范围的情况下对于相关领域的技术人员而言显而易见的任何其他合适的分析。在示例性实施例中,模型开发工具310可以执行交流(AC)分析(例如,线性小信号频域分析)和/或直流(DC)分析(例如,非线性静态点计算或在扫描电压、电流时计算的一系列非线性工作点和/或执行STA、IREM分析的参数)或其他合适的分析。此后,模型开发工具310将针对一个或多个电子架构特征的一个或多个电子架构模型及一个或多个电子架构模型的相应的一个或多个特性、参数或属性提供给模型管理工具314以进行存储。模型开发工具310迭代地重复操纵、模拟和/或比较,直到由该迭代重复产生的误差收敛,这表明已经满足一个或多个电子设计目标。
模型管理工具314表示设计优化软件工具,当模型管理工具314由一个或多个计算设备、处理器、控制器或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的其他设备执行时,模型管理工具314提供与满足一个或多个电子设计目标的一个或多个电子架构特征相对应的一个或多个电子架构模型。在操作期间,模型管理工具314从模型替换工具306接收针对与满足一个或多个电子设计目标的一个或多个电子架构特征相对应的一个或多个电子架构模型的查询。此后,模型管理工具314搜索机器可读介质316以寻求与一个或多个电子架构特征相对应的一个或多个电子架构模型,并且将一个或多个电子架构模型的相应的一个或多个特性、参数或属性与一个或多个电子设计目标进行比较。在示例性实施例中,机器可读介质316以表格形式(例如,查找表(LUT)以提供实例)排列一个或多个电子架构模型和/或其相应的一个或多个特性、参数或属性,该表格是由一个或多个电子架构特征和/或一个或多个特性、参数或属性进行索引的。在另一示例性实施例中,模型管理工具314将由模型开发工具310提供的一个或多个电子架构特征及其对应的一个或多个特性、参数或属性存储在机器可读介质316中。模型管理工具314从其一个或多个特性、参数或属性满足一个或多个电子设计目标的一个或多个电子架构模型中选择电子架构模型作为一个或多个电子架构模型。在一些情况下,机器可读介质316中的所选的潜在电子架构模型可由模型管理工具314识别为满足一个或多个电子设计目标,使得模型管理工具314针对与满足一个或多个电子设计目标的一个或多个电子架构特征相对应的一个或多个电子架构模型的任何后续查询,在不搜索的情况下,可以简单地向模型替换工具306提供所选的潜在电子架构模型。
在示例性实施例中,机器可读介质308、机器可读介质312和/或机器可读介质316可以与电子优化平台300一起位于集中位置中。在另一示例性实施例中,机器可读介质308、机器可读介质312和/或机器可读介质316可以远离电子优化平台300。在这些示例性实施例中,可以提供基于订阅的服务和/或许可来访问机器可读介质308、机器可读介质312和/或机器可读介质316。例如,可以提供基于订阅的服务和/或许可来访问存储在机器可读介质312中的一个或多个预确定的潜在电子架构模型。作为另一实例,可以提供基于订阅的服务和/或许可来访问存储在机器可读介质316中一个或多个电子架构模型和/或其对应的一个或多个特性、参数或属性。
图4示出根据本发明的示例性实施例的电子优化平台的示例性操作的图形说明。如图4所示,电子优化平台400表示一个或多个机器学习软件工具,当电子优化平台400由一个或多个计算设备、处理器、控制器或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言是显而易见的其他设备执行时,电子优化平台400可以优化电子器件的高级软件级别描述402的设计、模拟、分析和验证。如上所述,特征提取工具302从由电子设计平台102提供的电子器件的高级软件级别描述402中提取一个或多个布线特征,以向数据处理工具304提供一个或多个布线特征。在示例性实施例中,高级软件级别描述402表示电子器件的几何形状、几何形状的位置和/或几何形状之间的互连的基于文本的表示或基于图像的表示。数据处理工具304将一个或多个布线特征转换为适合于由模型替换工具306操纵的电子架构设计404。如图4所示,数据处理工具304可以使用一个或多个标准单元将高级软件级别描述402的一个或多个布线特征转换为与高级软件级别描述402相对应的电子架构设计404,该一个或多个标准单元来自表示几何形状、几何形状的位置和/或几何形状之间的互连的预定义标准单元库。在图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,则所有未来对于具有最小电压降的互连件410的查询,模型管理工具314可以简单地提供最小电压降的互连件414。
用于实现示例性设计环境的示例性计算机系统
图5示出根据本发明的示例性实施例的用于实现示例性设计环境的示例性计算机系统的框图。可以使用计算机系统500来实现示例性设计环境100、电子设计平台200和/或电子优化平台300。然而,在一些情况下,可以使用多于一个的计算机系统500来实现示例性设计环境100、电子设计平台200和/或电子优化平台300。在阅读了本说明书之后,对于相关领域的技术人员而言如何利用其他计算机系统和/或计算机架构来实现实施例将变得显而易见。
计算机系统500包括一个或多个处理器504(也称为中央处理单元或CPU),以执行如上述图2中所述的综合工具202、布局工具204、模拟工具206和/或验证工具208和/或如上述图3和图4中所述的特征提取工具302、数据处理工具304、模型替换工具306、模型开发工具310和模型管理工具314。一个或多个处理器504可以连接至通信基础设施或总线506。在示例性实施例中,一个或多个处理器504中的一个或多个可以实现为图形处理单元(GPU)。GPU代表旨在快速处理电子器件上的数学密集型应用的专用电子电路。GPU可以具有对于大块数据(例如计算机图形应用、图像和视频通用的数学密集型数据)的并行处理是高效的高度并行的结构。
计算机系统500还包括通过用户输入/输出接口502与通信基础设施506通信的用户输入/输出设备503,例如监视器、键盘、指示设备等。
计算机系统500还包括主或初级存储器508(例如,随机存取存储器(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可以是软盘驱动器、磁带驱动器、光盘驱动器、光存储设备、磁带备份设备和/或任何其他存储设备/驱动器。可移动存储驱动器514可以与可移动存储单元518进行交互。可移动存储单元518包括具有存储在其上的计算机软件(控制逻辑)和/或数据的计算机可用或可读存储设备。可移动存储单元518可以是软盘、磁带、光盘、DVD、光存储盘和/任何其他计算机数据存储设备。可移动存储驱动器514以众所周知的方式从可移动存储单元518读取和/或写入可移动存储单元518。
根据示例性实施例,一个或多个辅助存储设备或存储器510可以包括用于允许由计算机系统500访问计算机程序和/或其他指令和/或数据的其他手段、工具或其他方法。例如,这样的手段、工具或其他方法可以包括可移动存储单元522和接口520。可移动存储单元522和接口520的实例可以包括程序盒和盒接口(例如,在视频游戏设备中所发现的)、可移除存储器芯片(例如,EPROM或PROM)及其相关联的插座、存储条以及USB端口、存储卡及其相关联的存储卡插槽和/或任何其他可移动存储单元及其相关联的接口。
计算机系统500还可以包括通信或网络接口524。通信或网络接口524使得计算机系统500能够与远程设备、远程网络、远程实体等的任何组合(单独地以及统称为参考数字528)进行通信和交互。例如,通信或网络接口524可以允许计算机系统500通过通信路径526与远程设备528进行通信,该通信路径526可以是有线和/或无线的,并且通信路径526可以包括LAN、WAN、因特网等的任何组合。控制逻辑和/或数据可以经由通信路径526传输至计算机系统500以及从计算机系统500进行传输。
在实施例中,包括具有存储在其上的控制逻辑(软件)的有形计算机可用或可读介质的有形设备或制造品在本文中也被称为计算机程序产品或程序存储设备。这包括但不限于计算机系统500、主存储器508、辅助存储器510和可移动存储单元518和522以及体现上述的任何组合的有形制造品。当这种控制逻辑由一个或多个数据处理设备(例如,计算机系统500)执行时,这种控制逻辑使得这种数据处理设备如本文所述那样进行操作。
基于本发明所包含的教导,对于相关领域的技术人员将显而易见的是,如何使用不同于如图5所示的数据处理设备、计算机系统和/或计算机架构来制造和使用本发明。具体地,实施例可以用与本文中所述的软件、硬件和/或操作系统实现不同的软件、硬件和/或操作系统实现来操作。
图6示出根据本发明的示例性实施例的示例性计算机系统的示例性处理器的框图。如上所述,当电子优化平台(例如,电子优化平台104以提供实例)由处理器600执行时,电子优化平台(例如,电子优化平台104以提供实例)可以优化由电子设计平台102执行的电子器件的设计、模拟、分析和验证。处理器600可以表示一个或多个处理器504的示例性实施例。
如图6所示,处理器600可以包括硬件、固件和/或软件的任何组合以执行电子优化平台。例如,使用图6中的“虚线”框示出的在处理器600上执行的特征提取602(例如,特征提取工具302以提供实例)和模型管理工具606(例如,模型管理工具314以提供实例)可以用软件实现。在该实例中,使用图6中的“实心”框示出的用于控制处理器600的操作的模式管理工具604、数据处理工具608(例如,数据处理工具304以提供实例)、模型开发工具610(例如,模型开发工具310以提供实例)以及模型替换工具612(例如,模型替换工具306以提供实例)可以用硬件和/或固件实现。在示例性实施例中,硬件可以表示处理器600内的一个或多个专用集成电路(ASIC)和/或固件,处理器600执行专用集成电路或固件以用于模式管理工具604、数据处理工具608、模型开发工具610和/或模型替换工具612的执行。当与用于通用目的的集成电路相比,一个或多个ASIC和/或固件可以加速模式管理工具604、数据处理工具608、模型开发工具610和模型替换工具612的计算时间。此外,一个或多个ASIC和/或固件为处理器600提供有益的可配置性。在示例性实施例中,可以使用基于订阅的服务和/或许可来提供不同的ASIC和/或固件。例如,可以由基于订阅的服务和/或许可的提供者提供不同的机器学习包,例如支路机器学习包、电压降机器学习包、拥塞机器学习包和/或时钟延迟机器学习包。在该实例中,基于订阅的服务和/或许可的订阅者可以购买与期望的机器学习包相对应的基于订阅的服务和/或许可,并且可以将与该期望的机器学习包相对应的一个或多个ASIC和/或固件安装到处理器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分析)、时钟域交叉验证(CDC检查)、形式验证(也称为模型检查、等价性检查)或在不脱离本发明的精神和范围的情况下对于相关领域的技术人员而言将是显而易见的任何其他合适的分析。在示例性实施例中,操作控制流程800可以执行交流(AC)分析(例如,线性小信号频域分析)和/或直流(DC)分析(例如,非线性静态点计算或在扫描电压、电流时计算的一系列非线性工作点和/或执行STA、IREM分析的参数)或其他合适的分析。该操作可以由一个或多个计算设备、处理器、控制器或在不背离本发明的精神和范围的情况下对于相关领域的技术人员而言将是显而易见的其他设备来执行,例如,执行一个或多个软件工具(例如,模型开发工具310以提供实例)的计算机系统500以提供实例。
结论
上面的详细描述公开了一种用于开发电子器件的电子架构设计的方法。该方法包括由计算机系统从电子架构设计识别电子架构特征,开发与满足电子设计目标的电子架构特征相对应的架构模型,以及在电子架构设计中用与满足的电子设计目标的电子架构特征相对应的架构模型来替换。
在一些实施例中,所述电子架构设计包括描述所述电子器件的电路的几何形状、所述几何形状的位置和/或所述几何形状之间的互连的基于图像或基于数据的表示。
在一些实施例中,所述电子架构特征包括以下中的至少一个:来自所述电子架构设计的几何形状;所述几何形状的位置;和所述几何形状的互连。
在一些实施例中,所述开发包括:使用机器学习过程通过多次迭代操纵所述电子架构特征以开发多个电子架构模型,所述多个电子架构模型包括所述电子架构模型。
在一些实施例中,所述机器学习过程包括:调整所述电子架构特征的长度、宽度和/或厚度,所述电子架构特征的位置,或所述电子架构特征的互连件的长度、宽度和/或厚度以开发所述电子架构模型;模拟所述电子架构模型以识别所述电子架构模型的特性、参数或属性;将所述特性,所述参数或所述属性与所述电子架构特征的所述电子设计目标进行比较,以从所述特性、所述参数或所述属性与所述电子架构特征的所述电子设计目标之间的多个误差中产生误差,以及迭代地重复所述调整、所述模拟和所述比较。
在一些实施例中,所述识别包括:根据几何形状、所述几何形状的位置和/或所述几何形状的互连件从所述电子架构设计中识别所述电子架构特征,以及其中,所述开发包括:通过多次迭代操纵所述几何形状、所述几何形状的位置和/或所述几何形状的互连件以开发所述电子架构模型。
在一些实施例中,操纵所述几何形状包括:调整所述几何形状的长度、宽度和/或厚度,所述几何形状的位置或所述几何形状的互连件的长度、宽度和/或厚度。
在一些实施例中,该方法还包括:由所述计算机系统转换所述电子器件的软件级别描述以提供所述电子架构设计。
上面的详细描述另外公开了一种用于优化电子器件的电子架构设计的计算机系统。所述计算机系统包括存储器和处理器。存储器存储一个或多个指令。所述处理器执行一个或多个指令,当一个或多个指令由处理器执行时,将处理器配置为:迭代地操纵电子架构设计的电子架构特征以开发多个架构模型,直到来自多个架构模型中的架构模型满足针对电子架构特征的电子设计目标,以及用满足电子设计目标的电子架构模型来替换在电子架构设计中的电子架构特征,以优化电子架构设计。
在一些实施例中,所述电子架构设计包括描述所述电子器件的电路的几何形状、所述几何形状的位置和/或所述几何形状之间的互连的基于图像或基于数据的表示。
在一些实施例中,所述电子架构特征包括以下中的至少一个:来自所述电子架构设计的几何形状;所述几何形状的位置;和所述几何形状的互连。
在一些实施例中,当所述一个或多个指令由所述处理器执行时,所述处理器被配置为:使用机器学习过程来迭代地操纵所述电子架构设计的所述电子架构特征,以开发所述多个电子架构模型。
在一些实施例中,所述机器学习过程被配置为:调整所述电子架构特征的长度、宽度和/或厚度,所述电子架构模型的位置或所述电子架构特征的互连件的长度、宽度和/或厚度,以开发所述电子架构模型;模拟所述电子架构模型以识别所述电子架构模型的特性、参数或属性;将所述特性、所述参数或所述属性与所述电子架构特征的所述电子设计目标进行比较,以从所述特性、所述参数或所述属性与所述电子架构特征的所述电子设计目标之间的多个误差中产生误差,以及迭代地调整、模拟和比较,直到所述多个误差收敛。
在一些实施例中,当所述一个或多个指令由所述处理器执行时,所述处理器还被配置为:根据几何形状、所述几何形状的位置和/或所述几何形状的互连件从所述电子架构设计中识别所述电子架构特征,以及迭代地操纵所述几何形状、所述几何形状的位置和/或所述几何形状的互连件,以开发所述多个电子架构模型。
在一些实施例中,当所述一个或多个指令由所述处理器执行时,所述处理器被配置为:迭代地调整所述几何形状的长度、宽度和/或厚度,所述几何形状的位置或所述几何形状的互连件的长度、宽度和/或厚度,以开发所述多个电子架构模型。
在一些实施例中,当所述一个或多个指令由所述处理器执行时,所述处理器被配置为:转换所述电子器件的软件级别描述以提供所述电子架构设计。上面的详细描述还公开了一种具有存储在其上的指令的非暂时性机器可读介质。当所述指令由计算机系统执行时,使计算机系统执行操作,所述操作包括:识别电子架构设计的电子架构特征;开发与电子架构设计的电子架构特征相对应的多个电子架构模型;模拟多个电子架构模型以提供多个特性、参数或属性;搜索多个电子架构模型以寻求来自多个电子架构模型中的电子架构模型,所述电子架构模型的来自多个特性、参数或属性中的特性、参数或属性满足针对电子架构特征的电子设计目标;以及用满足电子设计目标的电子架构模型来替换在电子架构设计中的电子架构特征,以优化电子架构设计。
在一些实施例中,所述开发包括:利用机器学习过程开发与所述电子架构设计的所述电子架构特征相对应的多个电子架构模型;以及其中,所述模拟包括:在所述机器学习过程期间模拟所述多个电子架构模型。
在一些实施例中,所述机器学习过程还包括:将所述多个特性、参数或属性与所述电子架构特征的所述电子设计目标进行比较,以在所述多个特性、参数或属性与所述电子架构特征的所述电子设计目标之间生成多个误差,其中,所述多个电子架构模型被迭代地开发、模拟和比较,直到所述多个误差收敛。
在一些实施例中,所述开发包括:调整所述电子架构特征的长度、宽度和/或厚度,所述电子架构特征的位置,或所述电子架构特征的互连件的长度、宽度和/或厚度,以开发所述多个电子架构模型。
上面的详细描述概述了若干实施例的特征,使得本领域人员可以更好地理解本发明的各方面。本领域普通技术人员应该理解,他们可以容易地使用本发明作为基础来设计或修改用于实施与本文所介绍实施例相同的目的和/或实现相同优势的其他工艺和结构。本领域技术人员也应该意识到,这种等同构造并不背离本发明的精神和范围,并且在不背离本发明的精神和范围的情况下,本文中他们可以对其做出多种变化、替换以及改变。
Claims (10)
1.一种用于开发电子器件的电子架构设计的方法,所述方法包括:
由计算机系统从所述电子架构设计中识别电子架构特征;
开发具有满足电子设计目标的所述电子架构特征的架构模型;以及
将所述电子架构模型替换至所述电子架构设计中,
其中,所述识别、所述开发和所述替换的至少一个是由计算机执行的。
2.根据权利要求1所述的方法,其中,所述电子架构设计包括描述所述电子器件的电路的几何形状、所述几何形状的位置和/或所述几何形状之间的互连的基于图像或基于数据的表示。
3.根据权利要求1所述的方法,其中,所述电子架构特征包括以下中的至少一个:
来自所述电子架构设计的几何形状;
所述几何形状的位置;和
所述几何形状的互连。
4.根据权利要求1所述的方法,其中,所述开发包括:
使用机器学习过程通过多次迭代操纵所述电子架构特征以开发多个电子架构模型,所述多个电子架构模型包括所述电子架构模型。
5.权利要求4所述的方法,其中,所述机器学习过程包括:
调整所述电子架构特征的长度、宽度和/或厚度,所述电子架构特征的位置,或所述电子架构特征的互连件的长度、宽度和/或厚度以开发所述电子架构模型;
模拟所述电子架构模型以识别所述电子架构模型的特性、参数或属性;
将所述特性,所述参数或所述属性与所述电子架构特征的所述电子设计目标进行比较,以从所述特性、所述参数或所述属性与所述电子架构特征的所述电子设计目标之间的多个误差中产生误差,以及
迭代地重复所述调整、所述模拟和所述比较。
6.一种用于优化电子器件的电子架构设计的计算机系统,所述计算机系统包括:
存储器,存储一个或多个指令;以及
处理器,与所述存储器通信,所述处理器被配置为执行所述一个或多个指令,当所述一个或多个指令由所述处理器执行时,所述处理器被配置为:
迭代地操纵所述电子架构设计的电子架构特征以开发多个电子架构模型,直到来自所述多个电子架构模型中的电子架构模型满足所述电子架构特征的所述电子设计目标,和
用满足所述电子设计目标的所述电子架构模型替换在所述电子架构设计中的所述电子架构特征,以优化所述电子架构设计。
7.根据权利要求6所述的计算机系统,其中,所述电子架构设计包括描述所述电子器件的电路的几何形状、所述几何形状的位置和/或所述几何形状之间的互连的基于图像或基于数据的表示。
8.根据权利要求6所述的计算机系统,其中,所述电子架构特征包括以下中的至少一个:
来自所述电子架构设计的几何形状;
所述几何形状的位置;和
所述几何形状的互连。
9.一种具有存储在其上的指令的非暂时性机器可读介质,当所述指令由计算机系统执行时,使所述计算机系统执行包括以下步骤的操作:
识别所述电子架构设计的电子架构特征;
开发与所述电子架构设计的所述电子架构特征相对应的多个电子架构模型;
模拟所述多个电子架构模型,以提供多个特性、参数或属性;
搜索所述多个电子架构模型以获得来自所述多个电子架构模型中的电子架构模型,所述电子架构模型的来自所述多个特性、参数或属性中的特性、参数或属性满足所述电子架构特征的电子设计目标,以及
用满足所述电子设计目标的所述电子架构模型替换在所述电子架构设计的所述电子架构特征,以优化所述电子架构设计。
10.根据权利要求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 (1)
Publication Number | Publication Date |
---|---|
CN108629066A true CN108629066A (zh) | 2018-10-09 |
Family
ID=63519398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711335011.5A Pending CN108629066A (zh) | 2017-03-15 | 2017-12-14 | 用于开发和优化电子器件的电子架构设计的方法和计算机系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10678973B2 (zh) |
KR (1) | KR102165943B1 (zh) |
CN (1) | CN108629066A (zh) |
TW (2) | TWI661327B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
Families Citing this family (14)
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 |
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 (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5092780A (en) * | 1986-10-14 | 1992-03-03 | Analogy, Inc. | System performance simulator |
CN1734458A (zh) * | 2004-08-13 | 2006-02-15 | 阿尔卡特公司 | 电子设备建模的方法和系统 |
CN103810316A (zh) * | 2012-11-06 | 2014-05-21 | 台湾积体电路制造股份有限公司 | 降低寄生失配的方法 |
CN103853870A (zh) * | 2012-12-03 | 2014-06-11 | 台湾积体电路制造股份有限公司 | 可识别的具有编码信息的ic图案 |
CN105354353A (zh) * | 2015-09-28 | 2016-02-24 | 武汉开目信息技术有限责任公司 | 一种基于mbd模型的加工特征识别和建模方法 |
US20160253445A1 (en) * | 2015-02-26 | 2016-09-01 | Autodesk, Inc. | Predictive multi-user client-server electronic circuit design system utilizing machine learning techniques |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US7363099B2 (en) | 2002-06-07 | 2008-04-22 | Cadence Design Systems, Inc. | Integrated circuit metrology |
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 |
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 |
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 | 株式会社 液晶先端技術開発センター | シミュレーション装置、シミュレーション方法、及び半導体装置の製造方法 |
US20090013292A1 (en) | 2007-07-03 | 2009-01-08 | Mentor Graphics Corporation | Context dependent timing analysis and prediction |
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 |
US8079008B2 (en) | 2008-03-31 | 2011-12-13 | Broadcom Corporation | High-speed low-leakage-power standard cell 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 |
US8887134B2 (en) * | 2012-11-06 | 2014-11-11 | Rockwell Automation Technologies, Inc. | Customized object design for industrial automation application |
SG2013048186A (en) * | 2013-06-20 | 2015-01-29 | Plunify Pte Ltd | System and method for designing an integrated circuit |
US9690898B2 (en) * | 2015-06-25 | 2017-06-27 | Globalfoundries Inc. | Generative learning for realistic and ground rule clean hot spot synthesis |
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 (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5092780A (en) * | 1986-10-14 | 1992-03-03 | Analogy, Inc. | System performance simulator |
US5092780B1 (en) * | 1986-10-14 | 1995-07-11 | Analogy Inc | System performance simulator |
CN1734458A (zh) * | 2004-08-13 | 2006-02-15 | 阿尔卡特公司 | 电子设备建模的方法和系统 |
CN103810316A (zh) * | 2012-11-06 | 2014-05-21 | 台湾积体电路制造股份有限公司 | 降低寄生失配的方法 |
CN103853870A (zh) * | 2012-12-03 | 2014-06-11 | 台湾积体电路制造股份有限公司 | 可识别的具有编码信息的ic图案 |
US20160253445A1 (en) * | 2015-02-26 | 2016-09-01 | Autodesk, Inc. | Predictive multi-user client-server electronic circuit design system utilizing machine learning techniques |
CN105354353A (zh) * | 2015-09-28 | 2016-02-24 | 武汉开目信息技术有限责任公司 | 一种基于mbd模型的加工特征识别和建模方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
Also Published As
Publication number | Publication date |
---|---|
US20180268096A1 (en) | 2018-09-20 |
TWI707241B (zh) | 2020-10-11 |
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 |
---|---|---|
CN108629066A (zh) | 用于开发和优化电子器件的电子架构设计的方法和计算机系统 | |
US11836641B2 (en) | Machine learning-based prediction of metrics at early-stage circuit design | |
US20240338510A1 (en) | Test pattern generation systems and methods | |
US11256845B2 (en) | Machine-learning driven prediction in integrated circuit design | |
US20140298281A1 (en) | Method of global design closure at top level and driving of downstream implementation flow | |
US9147026B2 (en) | Method and system of change evaluation of an electronic design for verification confirmation | |
US11238202B2 (en) | Verifying glitches in reset path using formal verification and simulation | |
US11042806B1 (en) | Deep learning for fixability prediction of power/ground via DRC violations | |
US7707528B1 (en) | System and method for performing verification based upon both rules and models | |
TW202001630A (zh) | 電腦系統以及分組及排序之方法 | |
CN114730352A (zh) | 用于集成电路设计延迟计算和验证的基于机器学习的方法和设备 | |
CN115204076A (zh) | 集成电路的逻辑优化方法、装置、电子设备及可读介质 | |
CN117669463A (zh) | 用于架构设计布局的计算机系统、方法及计算机网络 | |
US11022634B1 (en) | Rail block context generation for block-level rail voltage drop analysis | |
US20240020536A1 (en) | Processor architecture and model exploration system for deep learning | |
US10896283B1 (en) | Noise-based optimization for integrated circuit design | |
Liu et al. | Knowledge-based neural network model for FPGA logical architecture development | |
CN116611386A (zh) | 将局部穿线电阻变换成全局分布电阻 | |
US8316336B1 (en) | Method and mechanism for modeling interconnect structures for integrated circuits | |
US11100270B1 (en) | Pattern based die connector assignment using machine learning image recognition | |
CN115151910A (zh) | 针对参数故障的自动测试模式生成(atpg) | |
JP4080464B2 (ja) | 検証ベクタ生成方法およびこれを用いた電子回路の検証方法 | |
Veigas et al. | Open source VLSI design automation | |
US11080450B1 (en) | Calculating inductance based on a netlist | |
US20240232486A1 (en) | Using surrogate netlists for variation analysis of process variations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |