CN110199279B - 集成电路设计系统 - Google Patents
集成电路设计系统 Download PDFInfo
- Publication number
- CN110199279B CN110199279B CN201680092045.3A CN201680092045A CN110199279B CN 110199279 B CN110199279 B CN 110199279B CN 201680092045 A CN201680092045 A CN 201680092045A CN 110199279 B CN110199279 B CN 110199279B
- Authority
- CN
- China
- Prior art keywords
- component
- discrete circuit
- circuit components
- device design
- discrete
- 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.)
- Active
Links
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
-
- 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/04—Constraint-based CAD
-
- 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/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- 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
-
- 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/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/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
方法、系统和装置,包括在计算机存储介质上编码的计算机程序,用于对于定义分立电路组件的组件定义来对分立电路组件的物理尺寸进行参数化。可以选择组件定义以在器件设计中使用。当更改特定版本的分立电路组件定义的参数化时,也更改器件设计的版本级别,并且针对新版本级别物理地验证器件设计的电路布局。
Description
技术领域
本申请一般地涉及集成电路,更具体地,涉及一种集成电路设计系统。
背景技术
系统、器件和软件的设计者通常使用版本控制系统。版本控制系统以逻辑和有组织的方式管理对设计信息(诸如文档、代码等)的更改,这有助于修订提议以供审阅和最终接受或拒绝。版本控制系统使得能够容易地了解更改的影响、编辑这些更改以及更正。设计的特定系统越复杂,多个设计人员在系统上工作的可能性就越大。因此,版本控制系统有助于管理多开发人员项目。
发明内容
本说明书描述了涉及使用可编辑组件定义的集成电路设计的技术,每个组件定义定义特定的分立电路组件。
通常,本说明书中描述的主题的一个创新方面可以体现在一种包括以下动作的方法中:通过用户输入生成多个组件定义,其定义用于在电子电路中使用的分立电路组件并包括描述以下的组件元数据:由组件定义定义的分立电路组件的组件类型;几何参数化数据,定义电子电路的一个或多个层中的分立电路组件的物理实现的物理尺寸;以及由组件定义描述的分立电路组件的版本级别;其中,用于相同分立电路组件的组件定义的至少两个版本级别在由它们各自的几何参数化数据定义的物理尺寸上不同;以及在组件定义库中存储组件定义。本方面的其他实施例包括对应的系统、装置和计算机程序,被配置为执行在计算机存储器件上编程的方法动作。
本说明书中描述的主题的另一方面可以体现在一种系统中,其包括:数据处理装置,包括一个或多个处理器;以及与数据处理装置进行数据通信的计算机存储介质和编码指令,用于定义:设计模块,当由数据处理器件执行时,使数据处理器件执行包括以下操作的操作:通过用户输入生成多个组件定义,每个组件定义定义用于在电子电路中使用的组件并包括描述以下的组件元数据:由组件定义定义的组件的组件类型;几何参数化数据,定义电子电路的一个或多个层中的组件的物理实现的物理尺寸;以及由组件定义描述的组件的版本级别;其中,用于相同组件的组件定义的至少两个版本级别在由它们各自的几何参数化数据定义的物理尺寸上不同;以及开发模块,当由数据处理装置执行时,使数据处理装置执行包括以下操作的操作:通过用户输入生成器件设计,该器件设计包括描述以下的器件元数据:器件中包含的组件集合、以及对于每个组件的组件版本级别;以及网络列表,用于为每个组件描述器件中包括的该组件集合的电路连接;以及器件设计的版本级别,每个版本级别定义网络列表、组件集合和组件版本级别的唯一组合;基于器件中包括的组件的电路连接和组件集合,从器件设计生成电路布局,生成电路布局包括针对版本级别物理地验证电路布局。本方面的其他实施例包括对应的系统、装置和计算机程序,被配置为执行在计算机存储器件上编程的方法动作。
本说明书中描述的主题的另一方面可以体现在一种方法中,该方法包括以下动作:访问存储在数据存储中的器件设计,该器件设计包括描述以下的器件元数据:包括在器件中的组件集合,并且对于每个组件,该组件的版本级别,其中每个组件由组件定义定义,每个组件定义定义用于在电子电路中使用的组件并且包括描述由组件定义定义的组件的组件类型的组件元数据、定义电子电路的一个或多个层中的组件的物理实现的物理尺寸的几何参数化数据、由组件定义描述的组件的版本级别,其中用于相同组件的组件定义的至少两个版本级别在由它们各自的几何参数化数据定义的物理尺寸上不同;以及网络列表,用于为每个组件描述器件中包括的组件集合的电路连接;以及器件设计的版本级别,每个版本级别定义网络列表、组件集合和组件版本级别的唯一组合;通过更改定义组件的物理实现的物理尺寸的几何参数化数据,通过用户输入修改所选择的组件,以生成定义组件的物理实现的新物理尺寸的新的几何参数化数据,并基于更改的几何参数化数据生成组件的新版本级别;以及生成作为新组件定义的修改的组件元数据;以及为器件设计生成新版本级别,并针对新版本级别物理验证电路布局。本方面的其他实施例包括对应的系统、装置和计算机程序,被配置为执行在计算机存储器件上编程的方法动作。
可以实现本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。在更大的系统设计中,版本控制扩展到分立电路组件设计,使得能够快速评估和分析包含分立电路组件的器件设计。换句话说,虽然整体器件设计本身可能不会在所使用的分立组件的环境中更改,但是可以根据版本级别跟踪通过更改分立电路组件的物理参数对器件设计的影响。这使得能够基于包含针对特定组件类型的分离组件级别的更改的版本来生成电路布局,而不需要在没有可编辑组件定义的情况下需要针对每个分立组件实现的劳动密集型设计更改。下面描述的系统和方法解决了在组成组件的基础上实现版本控制的技术问题。这还简化了实现电路元件的器件的设计处理,所述电路元件非常小并且与介观尺度上的尺寸相关联(例如,具有几微米或更小的临界尺寸),其几何形状是设计因素。这种电路元件的例子包括磁通量子位、磁通耦合电感器,叉指式电容器,共面波导谐振器等。
此外,该系统和方法简化了器件设计的协作,因为文档的同步是自动的,并且不依赖于手动交换特殊设计的组件的文件。
在附图和以下描述中阐述了本说明书中描述的主题的一个或多个实施例的细节。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1是实现集成电路设计系统的示例环境的框图。
图2A和2B描绘了由组件定义定义的示例平面电容器。
图3是生成组件定义和使用组件定义的器件设计的示例处理的流程图。
各附图中相同的附图标记和名称指示相同的元件。
具体实施方式
版本控制对于其中组成系统组件容易理解和明确定义的良好建立的系统很有效。这种组成系统组件的示例包括先前定义的集成电路元件,例如MOSFET、电阻器等。然而,对于其中组成系统组件各自需要新设计的某些设计,版本控制系统不便于对包含该组成系统组件的器件进行适当的版本控制。这是因为虽然组成系统组件的每个底层设计更改本身可能影响器件的整体设计,但是没有在组成系统组件级别容易用于实现版本控制的能力。
集成电路设计系统有助于用于集成电路设计的版本控制,尤其是集成电路设计,其使用各自定义分立电路组件的可编辑组件定义。该系统允许设计者将电路元件的几何形状修改为单元(例如,电容器板区域、磁通量子位轨迹宽度等),并且电路元件的修改的几何形状应用于将电路元件合并作为组成元件的器件设计中的所有受影响的电路元件。
因此,除了描述器件设计中的元件的节点和连接的网表之外,该系统还合并了各个元件的尺寸几何形状的参数化。当针对版本更改元件的参数时,系统将不仅在连接中而且在几何形状中调整电路布局,并且所得到的掩模将基于几何上的移位来考虑对设计的整体空间影响。
以下更详细地描述这些特征和附加特征。
图1是其中实现集成电路设计系统110的示例环境100的框图。诸如局域网(LAN)、广域网(WAN)、因特网或其组合的计算机网络102将用户设备106与集成电路设计系统110连接。每个用户设备106是能够通过网络102请求和接收资源的电子设备,并且可以执行与设计系统110进行接口的应用,以允许用户使用由设计系统110提供的功能。示例用户设备106包括个人计算机、平板计算机等。
设计系统110的示例实现包括设计模块112和开发模块114。模块112和114仅是一个示例系统架构,并且也可以使用以不同于所描述的方式来分发下面描述的处理的其他架构。
设计模块112是使得能够创建、管理和修订描述分立电路组件的组件定义的程序元件。组件定义存储在组件定义库120中。如在本说明书中所使用的,组件是由组件定义定义的分立电路组件,并且可以用作器件中的设计元件单元。例如,磁通量子位、平面电容器和波导各自是由组件定义定义的分立电路组件。在下面更详细地描述组件和组件定义。
开发模块114是程序元件,其为一组开发者提供用于设计器件的工具集和用户界面。开发模块将器件设计存储在器件设计库130中。器件设计是从存储在组件定义库120中的组件定义、以及器件器件网络列表中选择的分立电路组件集合,该网络列表描述由器件设计描述的器件中包括的分立电路组件的集合的电路连接。
可以通过修改其组件定义来完成对器件设计中使用的分立电路组件的修改。例如,特定的分立电路组件可以是特殊形状的导线,其通常用于器件设计的许多部分,以及许多其他器件设计中。对组件的更改(例如,修复、增强)存储在组件定义中,使得更改自动传播到所有设计,这提高了从这些共享组件派生的设计的可靠性。
开发模块114还包括用于自动生成所有设计共同的特征和验证的软件工具。这种验证包括设计规则检查(DRC)、布局与示意图检查(layout versus schematic checking,LVS)、电气规则检查(ERC)、天线检查和其他适当的物理检查。
在操作中,用户向设计模块112提供输入以生成或修改组件定义。每个组件定义定义了用于在电子电路中使用的分立电路组件。在一个实现方式中,组件定义可以存储为各自包括描述组件的类型、几何形状和版本的组件元数据的文件。
具体地,由组件定义定义的分立电路组件的组件类型描述了组件是什么,例如电容器类型、栅极类型、波导类型等。这允许设计者通过使用设计模块112,按组件定义库120中的类型对组件定义进行分类和组织。
组件定义还包括定义分立电路组件的物理实现的物理尺寸的几何参数化数据。物理尺寸可以限于单个平面,或者可以包括用于分布在两个或更多个层上的电子电路的多个层。参考图2A和2B更详细地描述几何参数化数据的示例。
分立电路组件的版本级别描述了组件定义的设计版本级别。相同组件定义的每个不同版本级别可以描述在物理尺寸上不同的分立组件。例如,如图1所示,示出了两个组件定义集合122和124。第一集合122定义特定组件C1的四个不同版本。第一版本V1由标有C1_V1的顶部文档表示。同样地,第二集合124定义特定组件C2的三个不同版本。
尽管在以上示例中仅描述了组件类型、参数化数据和版本级别,但是其他属性也可以包括在组件定义中。这些属性的示例包括连接点,例如焊盘布局、材料规格(例如金属类型)、以及可以在设计分立电路组件时使用的任何其他适当属性。对特定组件定义中的任何这些属性的更改也可能导致组件定义的新版本。
用户还可以向开发模块114提供输入以定义器件设计。在一个实现方式中,器件设计可以存储为各自包括描述分立电路组件集合的器件元数据、描述其互连的网络列表和版本级别的文件。
该分立电路组件集合列出了从存储在组件定义库120中的组件定义选择的电路组件。该分立电路组件集合是包括在由器件设计描述的器件中的组件。器件设计还包括每个组件的版本级别。
网络列表是描述在器件中包括的分立电路组件集合的电路连接的列表。网络列表描述了器件设计的特定互连和节点。
器件设计的版本级别定义了网络列表、分立电路组件集合和分立电路组件的版本级别的唯一组合。例如,如图1所示,示出了两个器件设计集合132和134。第一集合132定义特定设计D1的四个不同版本。第一版本V1由标记为D1_V1的顶部文档表示。同样地,第二集合134定义特定设计D2的三个不同版本。
与组件定义一样,其他适当的设计属性也可以存储在器件设计中。
在操作中,开发模块114可以基于该器件中包括的分立电路组件的电路连接和分立电路组件集合,从器件设计来生成电路布局。如上所述,生成电路布局包括对版本级别物理地验证电路布局。电路布局定义了构成由器件设计定义的集成电路的组件的金属、氧化物或半导体层的对应图案。如果验证了集成电路布局,则所得到的数据可以以例如图形数据库系统II(GDSII)的工业标准格式存储,用于代工处理。代工厂处理数据以生成用于器件制造的光掩模(或其他代工处理元件)。
通过使用开发模块114,用户可以从器件设计库130中检出器件设计的当前最佳状态(主器件)或先前状态的快照,并修改设计。执行此操作时,将创建器件设计的新分支或版本。多个用户可以同时处理特定版本。
器件设计可以响应于修改器件中使用的电路组件的数量、位置和连接而更改。然而,器件设计也可以响应于特定电路组件定义的修改而更改。例如,用户可以通过更改定义分立电路组件的物理尺寸的几何参数化数据来修改器件设计中的分立电路组件的组件定义之一的组件元数据。这将导致生成新的几何参数化数据,该数据定义了分立电路组件的新物理尺寸和新版本级别。组件定义的更改可以本地应用于单个器件设计,或者可替代地,可以全局应用于包含受更改影响的分立电路组件的所有器件设计。对于每个受影响的器件设计,生成器件设计的新版本级别,并且开发模块可以物理地验证新版本级别的电路布局。
参考图2A和图2B描述对组件定义的修订,其描绘了由组件定义定义的平面电容器200和220的示例。图2A描绘了由板202和204定义的平面内电容器。电容器由导电迹线和非导电迹线定义。示例几何参数化数据可以是以下形式:
作为参考,在每个平面电极202和204的左下顶点中描绘原始点。由于设计者可以使用电容器200的定义,并且基于模拟或原型测试,可以确定在电极202和204之间需要导电垫以增强电容。得到的几何形状如图2B所示,并且对应的几何参数化数据可以是以下形式:
因此,通过简单地修改几何参数化数据,用户可以生成可以在单个或多个器件设计中使用的现有组件定义的新版本。
图3是使用组件定义生成组件定义和器件设计的示例过程300的流程图。过程300可以用在图1的设计系统100中,并且在一个或多个计算机中实现。
过程300生成组件定义,每个组件定义定义用于在电子电路中使用的组件,并且包括描述组件类型、几何参数化和版本号的组件元数据(302)。每个组件是分立电路组件。几何参数化数据定义了电子电路的一个或多个层中的分立电路组件的物理实现的物理尺寸。
过程300生成器件设计,该器件设计包括描述组件集合、每个组件的版本级别、网络列表和器件设计的版本级别的元数据(304)。从在组件定义库120中存储的组件定义中选择该分立电路组件集合。该器件设计包括每个组件的版本级别。网络列表描述了器件中包括的分立电路组件集合的电路连接。器件设计的版本级别定义了网络列表、分立电路组件集合和分立电路组件的版本级别的唯一组合。
过程300基于器件中包括的组件的电路连接和组件集合从器件设计生成电路布局(306)。该生成包括器件设计的验证。
过程300选择器件设计的组件之一(308)。例如,用户可以选择器件设计中使用的组件之一来更改组件的几何形状。
过程300修改所选择的组件的组件元数据并生成新组件定义(310)。例如,如图2中所示,用户可以通过修改几何参数化数据,在平面内电容器的电极之间添加导电垫。过程300可以为器件设计生成新的版本级别并且针对新版本级别物理地验证电路布局(312)。
本说明书中描述的主题和操作的实施例可以在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其结构等同物、或者其一个或更多的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即计算机程序指令的一个或多个模块,其编码在计算机存储介质上,用于由数据处理装置执行或控制数据处理装置的操作。
计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质也可以是或包括在一个或多个单独的物理组件或介质(例如,多个CD、盘或其他存储设备)中。
本说明书中描述的操作可以实现为由数据处理装置对在一个或多个计算机可读存储设备上存储或从其他源接收的数据执行的操作。
术语“数据处理装置”包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机、片上系统、或前述的多个或组合。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或其中一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础结构,例如web服务、分布式计算和网格计算基础结构。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适用于在计算环境中使用的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。可以部署计算机程序以在一个计算机上、或在位于一个站点上或分布在多个站点上并通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且装置也可以实现为专用逻辑电路。
作为示例,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合以从用于存储数据的一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备,所述大容量存储设备例如磁盘、磁光盘或光盘。但是,计算机不必然具有这样的设备。
适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移除磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,所述计算机具有显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器,用于向用户显示信息;以及键盘和指示设备(例如,鼠标或轨迹球),用户可通过该设备向计算机提供输入。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收的请求将网页发送到用户的用户设备上的web浏览器。
本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件,例如作为数据服务器;或者包括中间件组件,例如应用服务器;或者包括前端组件,例如,具有图形用户界面或Web浏览器的用户计算机,用户可通过该图形用户界面或浏览器与本说明书中描述的主题的实现进行交互;或者包括一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过数字数据通信的任何形式或介质(例如通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网(例如,因特网)和对等网络(例如,ad hoc对等网络)。
计算系统可包括用户和服务器。用户和服务器通常彼此远离,并且通常通过通信网络进行交互。用户和服务器的关系借助于在各个计算机上运行并且彼此具有用户-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到用户设备(例如,用于向与用户设备交互的用户显示数据和从与用户设备交互的用户接收用户输入的目的)。可以从服务器处的用户设备接收在用户设备处生成的数据(例如,用户交互的结果)。
虽然本说明书包含许多具体实现细节,但这些细节不应被解释为对任何特征或可要求保护的范围的限制,而是作为特定实施例特有的特征的描述。在本说明书中在单独实施例的中描述的某些特征也可以在单个实施例的组合中实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下可以从组合中去除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应当被理解为要求以所示的特定顺序或按顺序次序执行这样的操作,或者执行所有示出的操作,以实现期望的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多个软件产品。
因此,已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。在一些情况下,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。另外,附图中描绘的过程不必然需要所示的特定顺序或顺序次序来实现期望的结果。在某些实现方式中,多任务和并行处理可以是有利的。
Claims (10)
1.一种计算机实现的用于设计集成电路的方法,包括:
在组件定义库中存储基于用户输入生成的多个组件定义,组件定义定义用于在电子电路中使用的分立电路组件并包括组件元数据,所述组件元数据描述:
由组件定义定义的分立电路组件的组件类型;
几何参数化数据,其定义电子电路的一个或多个层中的分立电路组件的物理实现的物理尺寸;以及
由组件定义描述的分立电路组件的版本级别;
其中,用于相同的分立电路组件的组件定义的至少两个版本级别在由它们各自的几何参数化数据定义的物理尺寸上不同;
生成或访问器件设计,所述器件设计由用户输入定义并包括器件元数据,所述器件元数据描述:
从存储在组件定义库中的组件定义中选择的分立电路组件集合,所述分立电路组件集合包括在器件中,以及用于分立电路组件的组件的版本级别;
描述器件中包括的分立电路组件集合的电路连接的网络列表;以及
器件设计的版本级别,所述版本级别定义网络列表、分立电路组件集合和分立电路组件的版本级别的唯一组合;
响应于用户输入,通过更改定义分立电路组件的物理实现的物理尺寸的几何参数化数据,以生成定义分立电路组件的物理实现的新物理尺寸的新几何参数化数据,并基于更改的几何参数化数据生成用于分立电路组件的新版本级别,来修改器件设计中的分立电路组件的组件定义之一的组件元数据;
在组件定义中存储修改的组件元数据;
将修改的组件元数据应用到器件设计库中存储的合并了受所述修改影响的分立电路组件的所有器件设计;
基于所述器件中包括的分立电路组件的电路连接和分立电路组件集合,从器件设计生成电路布局,生成电路布局包括针对器件设计的版本级别验证电路布局;以及
存储所述电路布局以用于代工处理。
2.如权利要求1所述的方法,还包括:
响应于修改器件设计中的组件的分立电路组件定义之一的组件元数据,为器件设计生成新版本级别并针对新版本级别验证电路布局。
3.如权利要求1所述的方法,其中,对于一个或多个层中的层,所述参数化数据针对分立电路组件的每个电路元件定义元件几何形状。
4.如权利要求3所述的方法,其中,所述电路元件包括导电迹线和迹线之间的非导电间隙。
5.一种用于设计集成电路的系统,包括:
数据处理装置,其包括一个或多个处理器;以及
与数据处理装置进行数据通信的计算机存储介质和编码指令,所述编码指令用于定义:
设计模块,当由数据处理装置执行时,所述设计模块使数据处理装置执行操作,所述操作包括:
在组件定义库中存储基于用户输入生成的多个组件定义,每个组件定义定义用于在电子电路中使用的分立电路组件并包括组件元数据,所述组件元数据描述:
由组件定义定义的分立电路组件的组件类型;
几何参数化数据,其定义电子电路的一个或多个层中的分立电路组件的物理实现的物理尺寸;以及
由组件定义描述的分立电路组件的版本级别;
其中,用于相同分立电路组件的组件定义的至少两个版本级别在由它们各自的几何参数化数据定义的物理尺寸上不同;以及
开发模块,当由数据处理装置执行时,所述开发模块使数据处理装置执行操作,所述操作包括:
生成或访问器件设计,所述器件设计由用户输入定义并包括器件元数据,所述器件元数据描述:
从存储在组件定义库中的组件定义中选择的分立电路组件集合,所述分立电路组件集合包括在器件中,以及用于分立电路组件的组件的版本级别;
描述器件中包括的分立电路组件集合的电路连接的网络列表;以及
器件设计的版本级别,所述版本级别定义网络列表、分立电路组件集合和分立电路组件的版本级别的唯一组合;
响应于用户输入,通过更改定义分立电路组件的物理实现的物理尺寸的几何参数化数据,以生成定义分立电路组件的物理实现的新物理尺寸的新几何参数化数据,并基于更改的几何参数化数据生成用于分立电路组件的新版本级别,来修改器件设计中的分立电路组件的组件定义之一的组件元数据;以及
在组件定义中存储修改的组件元数据;以及
开发模块,其执行进一步的操作,所述进一步的操作包括:
将修改的组件元数据应用到器件设计库中存储的合并了受所述修改影响的分立电路组件的所有器件设计;
基于器件中包括的分立电路组件的电路连接和分立电路组件集合,从器件设计生成电路布局,所述生成电路布局包括针对器件设计的版本级别验证电路布局;以及
存储所述电路布局以用于代工处理。
6.如权利要求5所述的系统,其中:
开发模块执行进一步的操作,所述进一步的操作包括:
响应于对器件设计中的分立电路组件之一的选择以及生成新组件定义,为器件设计生成新版本级别并针对所述新版本级别物理地验证电路布局。
7.如权利要求5所述的系统,其中,对于一个或多个层中的每个层,所述参数化数据针对分立电路组件的每个电路元件定义元件几何形状。
8.如权利要求7所述的系统,其中,所述电路元件包括导电迹线和迹线之间的非导电间隙。
9.如权利要求7所述的系统,其中,对于一个或多个层中的每个层,参数化数据还定义组件的每个电路元件中的元件几何形状彼此的布置。
10.一种编码有计算机程序的计算机存储介质,所述程序包括指令,当由数据处理装置执行所述指令时,所述指令使得数据处理装置执行操作,所述操作包括:
在组件定义库中存储基于用户输入生成的多个组件定义,每个组件定义定义用于在电子电路中使用的分立电路组件并包括组件元数据,所述组件元数据描述:
由组件定义定义的分立电路组件的组件类型;
几何参数化数据,其定义电子电路的一个或多个层中的分立电路组件的物理实现的物理尺寸;以及
由组件定义描述的分立电路组件的版本级别;
其中,用于相同的分立电路组件的组件定义的至少两个版本级别在由它们各自的几何参数化数据定义的物理尺寸上不同;
生成或访问器件设计,所述器件设计由用户输入定义并包括器件元数据,所述器件元数据描述:
从存储在组件定义库中的组件定义中选择的分立电路组件集合,所述分立电路组件集合包括在器件中,以及用于分立电路组件的组件的版本级别;
描述器件中包括的分立电路组件集合的电路连接的网络列表;以及
器件设计的版本级别,所述版本级别定义网络列表、分立电路组件集合和分立电路组件的版本级别的唯一组合;
响应于用户输入,通过更改定义分立电路组件的物理实现的物理尺寸的几何参数化数据,以生成定义分立电路组件的物理实现的新物理尺寸的新几何参数化数据,并基于更改的几何参数化数据生成用于分立电路组件的新版本级别,来修改器件设计中的分立电路组件的组件定义之一的组件元数据;
在组件定义中存储修改的组件元数据;
将修改的组件元数据应用到器件设计库中存储的合并了受所述修改影响的分立电路组件的所有器件设计;
基于所述器件中包括的分立电路组件的电路连接和分立电路组件集合,从器件设计生成电路布局,生成电路布局包括针对器件设计的版本级别验证电路布局;以及
存储所述电路布局以用于代工处理。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2016/068491 WO2018118078A1 (en) | 2016-12-23 | 2016-12-23 | Integrated circuit design system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110199279A CN110199279A (zh) | 2019-09-03 |
CN110199279B true CN110199279B (zh) | 2023-08-04 |
Family
ID=57758855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680092045.3A Active CN110199279B (zh) | 2016-12-23 | 2016-12-23 | 集成电路设计系统 |
Country Status (5)
Country | Link |
---|---|
US (3) | US11062073B2 (zh) |
EP (2) | EP3542285B1 (zh) |
JP (1) | JP6768961B2 (zh) |
CN (1) | CN110199279B (zh) |
WO (1) | WO2018118078A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3542285B1 (en) * | 2016-12-23 | 2023-05-10 | Google LLC | Integrated circuit design system and method |
JP7249303B2 (ja) * | 2020-03-23 | 2023-03-30 | 株式会社東芝 | 演算装置及び演算方法 |
US12093782B2 (en) | 2020-07-29 | 2024-09-17 | International Business Machine Corporation | Translation of a quantum design across multiple applications |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6961918B2 (en) * | 2000-06-21 | 2005-11-01 | Garner Robert E | System for intellectual property reuse in integrated circuit design |
CN102067130A (zh) * | 2008-04-14 | 2011-05-18 | 西门子产品生命周期管理软件公司 | 用于修改实体模型中的几何关系的系统和方法 |
CN102169515A (zh) * | 2010-02-26 | 2011-08-31 | 国际商业机器公司 | 一种专用集成电路中时钟树延迟时间的估计方法和系统 |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5459673A (en) * | 1990-10-29 | 1995-10-17 | Ross Technology, Inc. | Method and apparatus for optimizing electronic circuits |
JPH07262254A (ja) * | 1994-03-18 | 1995-10-13 | Fujitsu Ltd | 半導体集積回路の設計支援装置 |
US5666288A (en) * | 1995-04-21 | 1997-09-09 | Motorola, Inc. | Method and apparatus for designing an integrated circuit |
US5619420A (en) * | 1995-05-04 | 1997-04-08 | Lsi Logic Corporation | Semiconductor cell having a variable transistor width |
JP3770724B2 (ja) * | 1998-02-09 | 2006-04-26 | 株式会社リコー | 半導体集積回路装置のマスクパターン検証装置 |
US7076415B1 (en) * | 1998-12-17 | 2006-07-11 | Cadence Design Systems, Inc. | System for mixed signal synthesis |
US6424959B1 (en) * | 1999-06-17 | 2002-07-23 | John R. Koza | Method and apparatus for automatic synthesis, placement and routing of complex structures |
US6813597B1 (en) * | 1999-06-18 | 2004-11-02 | Cadence Design Systems, Inc. | Mixed signal synthesis |
DE10025583A1 (de) * | 2000-05-24 | 2001-12-06 | Infineon Technologies Ag | Verfahren zur Optimierung integrierter Schaltungen, Vorrichtung zum Entwurf von Halbleitern und Programmobjekt zum Entwerfen integrierter Schaltungen |
JP2003036280A (ja) * | 2001-07-23 | 2003-02-07 | Hitachi Ltd | 設計用データライブラリ、半導体集積回路の設計方法、及び半導体集積回路の製造方法 |
TW548562B (en) * | 2002-01-16 | 2003-08-21 | Springsoft Inc | Method and system for drawing layout of process testing components |
US6715136B2 (en) * | 2002-02-14 | 2004-03-30 | Infineon Technologies Ag | Method for simulating an electrical circuit, computer program product, software application, and data carrier |
JP4087629B2 (ja) * | 2002-03-26 | 2008-05-21 | 株式会社ルネサステクノロジ | レイアウト設計方法及びデータライブラリの提供方法 |
US6842888B2 (en) * | 2002-04-23 | 2005-01-11 | Freescale Semiconductor, Inc. | Method and apparatus for hierarchically restructuring portions of a hierarchical database based on selected attributes |
US7441219B2 (en) * | 2003-06-24 | 2008-10-21 | National Semiconductor Corporation | Method for creating, modifying, and simulating electrical circuits over the internet |
US7844570B2 (en) * | 2004-07-09 | 2010-11-30 | Microsoft Corporation | Database generation systems and methods |
WO2007047509A2 (en) | 2005-10-14 | 2007-04-26 | Regents Of The University Of Minnesota | Differentiation of non-embryonic stem cells to cells having a pancreatic phenotype |
US7343570B2 (en) * | 2005-11-02 | 2008-03-11 | International Business Machines Corporation | Methods, systems, and media to improve manufacturability of semiconductor devices |
US7716612B1 (en) * | 2005-12-29 | 2010-05-11 | Tela Innovations, Inc. | Method and system for integrated circuit optimization by using an optimized standard-cell library |
JP2007293822A (ja) * | 2006-03-31 | 2007-11-08 | Nec Corp | Lsi設計システム、該システムに用いられるアンテナダメージ回避方法及び回避制御プログラム |
US7784013B2 (en) * | 2007-01-03 | 2010-08-24 | PDF Acquisition Corp | Method for the definition of a library of application-domain-specific logic cells |
US20080172638A1 (en) * | 2007-01-15 | 2008-07-17 | Gray Michael S | Method of optimizing hierarchical very large scale integration (vlsi) design by use of cluster-based logic cell cloning |
US8667443B2 (en) * | 2007-03-05 | 2014-03-04 | Tela Innovations, Inc. | Integrated circuit cell library for multiple patterning |
JP2008217651A (ja) | 2007-03-07 | 2008-09-18 | Fujitsu Ltd | 設計支援装置、設計支援方法、およびプログラム |
US7735036B2 (en) * | 2007-05-08 | 2010-06-08 | Cadence Design Systems, Inc. | System and method enabling circuit topology recognition with auto-interactive constraint application and smart checking |
EP2006784A1 (en) * | 2007-06-22 | 2008-12-24 | Interuniversitair Microelektronica Centrum vzw | Methods for characterization of electronic circuits under process variability effects |
US8024695B2 (en) * | 2008-02-05 | 2011-09-20 | Nangate A/S | Optimization of integrated circuit design and library |
US8015517B1 (en) * | 2008-06-06 | 2011-09-06 | Nangate A/S | Library sizing |
US8266571B2 (en) * | 2008-06-10 | 2012-09-11 | Oasis Tooling, Inc. | Methods and devices for independent evaluation of cell integrity, changes and origin in chip design for production workflow |
US7512911B1 (en) * | 2008-09-04 | 2009-03-31 | International Business Machines Corporation | Method for creating a parameterized cell library dual-layered rule system for rapid technology migration |
WO2010073610A1 (ja) * | 2008-12-24 | 2010-07-01 | パナソニック株式会社 | スタンダードセル・ライブラリ及び半導体集積回路 |
US8127263B2 (en) * | 2009-02-03 | 2012-02-28 | Texas Instruments Incorporated | Improving routability of integrated circuit design without impacting the design area |
US10691860B2 (en) * | 2009-02-24 | 2020-06-23 | Rambus Inc. | Secure logic locking and configuration with camouflaged programmable micro netlists |
US8510700B2 (en) * | 2009-02-24 | 2013-08-13 | Syphermedia International, Inc. | Method and apparatus for camouflaging a standard cell based integrated circuit with micro circuits and post processing |
US8843884B1 (en) * | 2009-11-23 | 2014-09-23 | Jason Adam Koerner | Interactive graphical construction of parametric components of typical cross section frameworks |
WO2012010934A1 (en) * | 2010-07-23 | 2012-01-26 | Freescale Semiconductor, Inc. | Method for optimising cell variant selection within a design process for an integrated circuit device |
US8584052B2 (en) * | 2010-12-22 | 2013-11-12 | Taiwan Semiconductor Manufacturing Company, Ltd. | Cell layout for multiple patterning technology |
US8898610B1 (en) * | 2011-06-03 | 2014-11-25 | Nangate Inc. | Creating cell libraries with a large number of cells |
US8726210B2 (en) * | 2012-03-09 | 2014-05-13 | International Business Machines Corporation | Optimizing timing critical paths by modulating systemic process variation |
US8901959B2 (en) * | 2012-03-09 | 2014-12-02 | International Business Machines Corporation | Hybrid IO cell for wirebond and C4 applications |
US8612915B1 (en) * | 2012-09-07 | 2013-12-17 | Freescale Semiconductor, Inc. | Reducing leakage in standard cells |
US8863058B2 (en) * | 2012-09-24 | 2014-10-14 | Atrenta, Inc. | Characterization based buffering and sizing for system performance optimization |
US8875071B2 (en) * | 2013-03-15 | 2014-10-28 | Lsi Corporation | Deployment of custom shift array macro cells in automated application specific integrated circuit design flow |
US10083269B2 (en) * | 2013-11-19 | 2018-09-25 | Arm Limited | Computer implemented system and method for generating a layout of a cell defining a circuit component |
US9965579B2 (en) * | 2014-04-17 | 2018-05-08 | Samsung Electronics Co., Ltd. | Method for designing and manufacturing an integrated circuit, system for carrying out the method, and system for verifying an integrated circuit |
US9092586B1 (en) | 2014-05-30 | 2015-07-28 | Cadence Design Systems, Inc. | Version management mechanism for fluid guard ring PCells |
US10002219B2 (en) * | 2015-03-25 | 2018-06-19 | Samsung Electronics Co., Ltd. | Method for placing parallel multiplier |
US9852254B2 (en) * | 2015-11-10 | 2017-12-26 | Arteris, Inc. | Automatic architecture placement guidance |
US11112784B2 (en) * | 2016-05-09 | 2021-09-07 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for communications in an industrial internet of things data collection environment with large data sets |
US10503849B2 (en) * | 2016-12-15 | 2019-12-10 | Taiwan Semiconductor Manufacturing Co., Ltd. | Circuit testing and manufacture using multiple timing libraries |
EP3542285B1 (en) * | 2016-12-23 | 2023-05-10 | Google LLC | Integrated circuit design system and method |
-
2016
- 2016-12-23 EP EP16823537.2A patent/EP3542285B1/en active Active
- 2016-12-23 JP JP2019534102A patent/JP6768961B2/ja active Active
- 2016-12-23 US US16/470,593 patent/US11062073B2/en active Active
- 2016-12-23 CN CN201680092045.3A patent/CN110199279B/zh active Active
- 2016-12-23 EP EP22175554.9A patent/EP4068142A1/en active Pending
- 2016-12-23 WO PCT/US2016/068491 patent/WO2018118078A1/en unknown
-
2021
- 2021-06-07 US US17/340,825 patent/US11720733B2/en active Active
-
2023
- 2023-06-26 US US18/341,495 patent/US20240126970A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6961918B2 (en) * | 2000-06-21 | 2005-11-01 | Garner Robert E | System for intellectual property reuse in integrated circuit design |
CN102067130A (zh) * | 2008-04-14 | 2011-05-18 | 西门子产品生命周期管理软件公司 | 用于修改实体模型中的几何关系的系统和方法 |
CN102169515A (zh) * | 2010-02-26 | 2011-08-31 | 国际商业机器公司 | 一种专用集成电路中时钟树延迟时间的估计方法和系统 |
Non-Patent Citations (1)
Title |
---|
Developing a design system to help reduce design cycle time;Jing Li 等;《2013 IEEE 10th International Conference on ASIC》;20140508;摘要,第3、5节,附图5 * |
Also Published As
Publication number | Publication date |
---|---|
JP2020502692A (ja) | 2020-01-23 |
JP6768961B2 (ja) | 2020-10-14 |
EP4068142A1 (en) | 2022-10-05 |
EP3542285B1 (en) | 2023-05-10 |
EP3542285A1 (en) | 2019-09-25 |
WO2018118078A1 (en) | 2018-06-28 |
US11062073B2 (en) | 2021-07-13 |
US20190370430A1 (en) | 2019-12-05 |
US20210294955A1 (en) | 2021-09-23 |
US20240126970A1 (en) | 2024-04-18 |
CN110199279A (zh) | 2019-09-03 |
US11720733B2 (en) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11720733B2 (en) | Integrated circuit design system and method | |
US11176295B1 (en) | Matched net and device analysis based on parasitics | |
CN105426567B (zh) | 增量式布局分析 | |
CN101542488A (zh) | 电子设计自动化中的属性 | |
US11042806B1 (en) | Deep learning for fixability prediction of power/ground via DRC violations | |
US20200401750A1 (en) | Verifying glitches in reset path using formal verification and simulation | |
US20140337810A1 (en) | Modular platform for integrated circuit design analysis and verification | |
US8595677B1 (en) | Method and system for performing voltage-based fast electrical analysis and simulation of an electronic design | |
US9122834B1 (en) | Method of using continuous parameter value updates to realize rapid Pcell evaluation | |
US8677300B2 (en) | Canonical signature generation for layout design data | |
US9262574B2 (en) | Voltage-related analysis of layout design data | |
CN103810316A (zh) | 降低寄生失配的方法 | |
Milz | Reliable error estimates for optimal control of linear elliptic PDEs with random inputs | |
JP6968245B2 (ja) | 集積回路の設計システムおよび方法 | |
US20130318487A1 (en) | Programmable Circuit Characteristics Analysis | |
Sohofi et al. | System‐level assertions: approach for electronic system‐level verification | |
US12073156B2 (en) | Propagating physical design information through logical design hierarchy of an electronic circuit | |
Lienig et al. | Methodologies for Physical Design: Models, Styles, Tasks, and Flows | |
US10789409B2 (en) | Parasitic extraction using topological shape descriptors | |
US11080450B1 (en) | Calculating inductance based on a netlist | |
US20230016865A1 (en) | Diagnosis of inconsistent constraints in a power intent for an integrated circuit design | |
US11972192B2 (en) | Superseding design rule check (DRC) rules in a DRC-correct interactive router | |
US20230252208A1 (en) | Transforming a logical netlist into a hierarchical parasitic netlist | |
JP2007233454A (ja) | ノイズライブラリの作成方法、ノイズライブラリの作成プログラム、およびノイズライブラリの作成装置 | |
Van Staden | A Physical Design verification framework for superconducting electronics |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |