CN101542488A - 电子设计自动化中的属性 - Google Patents

电子设计自动化中的属性 Download PDF

Info

Publication number
CN101542488A
CN101542488A CNA2007800437929A CN200780043792A CN101542488A CN 101542488 A CN101542488 A CN 101542488A CN A2007800437929 A CNA2007800437929 A CN A2007800437929A CN 200780043792 A CN200780043792 A CN 200780043792A CN 101542488 A CN101542488 A CN 101542488A
Authority
CN
China
Prior art keywords
design
attribute
value
electric
information
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
Application number
CNA2007800437929A
Other languages
English (en)
Inventor
F·G·皮库斯
E·科恩
P·A·布鲁克斯
G·S·迈伦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mentor Worldwide LLC
Mentor Graphics Corp
Original Assignee
Mentor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mentor Corp filed Critical Mentor Corp
Publication of CN101542488A publication Critical patent/CN101542488A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

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

电子设计自动化中的属性
相关申请
本申请要求于2006年10月9日提交的、发明人为Fedor Pikus、名称为“Properties In Electronic Design Automation”的美国临时专利申请No.60/850,716的优先权,通过参考将其整体结合于此。
技术领域
本发明涉及在电子设计自动化中属性的使用。本发明的各种实现可以用于在自动化电子设计工具中的过程之间交换一个或者多个属性。
背景技术
各种微型器件(诸如,集成电路)已经变得复杂到无法人工设计这些器件。例如,即使是简单的微处理器,也具有上百万的晶体管,这些晶体管进行协作以形成微处理器的组件。因此产生了电子设计自动化工具,用于辅助电路设计者在制造电路之前对电路设计进行分析。这些电子设计自动化工具通常将执行一个或者多个电子设计自动化(EDA)过程,以便验证电路设计满足特定的需求、标识出设计中的问题、修改电路设计从而改进其可制造性、或者其某些结合。例如,某些电子设计自动化工具可以提供一个或者多个过程,用于仿真从电路设计到电路制造的操作,以便验证该设计提供期望的功能性。另外,备选地或者附加地,其他电子设计自动化工具提供一个或者多个过程,用于确认电路设计与期望的电路原理图相匹配,以标识不满足优选的设计惯例的电路设计的部分、标识设计的缺陷或者其他不足,或者修改电路设计以便解决任何这些问题。电子设计自动化工具的示例包括:从俄勒冈州Wilsonville的MentorGraphics公司可获得的Calibre软件工具集。
随着电子设计自动化工具持续发展,对于这些工具的需求越来越复杂。例如,除了检测各种设计缺陷以外,现在还期望多种电子设计自动化工具可以标识设计中那些很可能在制造过程期间被错误形成的对象、确定这些对象对制造产品成品率的综合影响,和/或标识将使设计对象在制造期间更为可靠地制造的设计改变(例如,“可制造设计”(DFM))。为了满足这些期望,电子设计自动化工具所执行的过程可能需要比前几代电子设计自动化工具执行更多的计算。例如,设计规则检查过程可以确认:在物理布局设计中用于形成单独线路的多边形以最小规定距离被隔开。然而,另外,设计规则检查过程还可以确定多边形可能形成具有错误桥接故障的线路的可能性。该确定例如需要计算多边形之间的距离、多边形彼此靠近的长度、以及在其靠近部分处多边形的厚度。
即使对于由电子设计自动化工具执行的单个过程,也需要数百万次的计算,因而一直在持续寻求改进电子设计自动化工具的速度和性能。另外,还在持续寻求电子设计自动化工具的附加功能性,以便改进其对于电路设计者和制造者的可用性。
发明内容
本发明的一个方面涉及更为有效地处理电子设计自动化的数据的技术。如下文中将详细讨论的,实现这些技术的工具和方法两者的实施方式特别适用于分析微器件设计数据,诸如集成电路设计数据。
根据本发明的各种实现,一个或者多个属性可以与微器件设计中的设计对象相关联。设计对象可以是微器件的物理布局设计中的任何数据。例如,设计对象可以是布局设计中的几何元素,诸如:多边形、多边形边、一组边或者多边形的一个或者多个顶点。设计对象还可以是布局设计中的几何元素的集合,诸如:一组多边形、层次设计中的单元、层次设计中特定类型的每个单元、或者甚至是设计层中全部几何元素的集合。此外,设计对象可以是其他类型的电路设计中的任何数据项,包括非几何项,诸如,网、器件、或者用于集成电路的逻辑电路设计中的连接管脚的实例、或者层次电路设计中的单元布置。
对于本发明的某些示例,在由电子设计自动化工具执行设计过程期间,可以静态地指派一个或者多个属性。备选地或者附加地,在由电子设计自动化工具执行设计过程期间,可以动态地生成一个或者多个属性。属性可以具有任何期望的数据值。例如,可以为属性指派常量值或者矢量值。备选地,可以为属性指派变量值。例如,可以通过包括一个或者多个变量的等式或者其他类型的脚本来定义属性。由此可以根据例如设计中的几何数据来动态地得出属性值。
属性可以是简单属性,其中属性值的定义不依赖于任何其他属性值。备选地,属性可以是复合属性,其中属性值可以结合一个或者多个其他先前确定的属性值。此外,属性可以是备选属性。对于备选属性,该属性将在第一组条件下具有一个值定义,而在第二组条件下具有另一值定义。
属性还可以具有多个值。例如,属性可以具有x坐标值、y坐标值以及z坐标值。此外,属性可以具有多个不同类型的值。例如,属性可以具有数字值和字符串值两者。由此,与层次布局电路设计中的单元相关联的属性可以具有数字值(例如可以是单元中器件的器件数)和字符串值(例如可以是标识单元的库源的模型名称)。当然,具有多个不同类型值的属性可以具有值定义类型的任意结合,包括上述值定义类型(例如,一个或者多个常量值定义、一个或者多个矢量值定义、一个或者多个动态值定义、一个或者多个简单值定义、一个或者多个复合值定义、一个或者多个字符串值定义等)的任意结合。属性甚至可以具有多个备选值定义,其中所述备选值定义中的一个或者多个是不同类型。
有利的是,本发明的各种实现可以允许第一电子设计自动化过程生成一个或者多个属性值。继而,可以将所生成的属性值传递至其他电子设计自动化过程。例如,设计规则检查(DRC)过程可以生成一个或者多个属性值,用于物理布局设计中多个几何元素中的每一个。继而,设计规则检查过程可以将这些属性值传递至第二电子设计自动化过程,诸如光学邻近修正(OPC)过程。通过使用由设计规则检查过程提供的属性值,光学邻近修正过程可以避免重新计算属性值。当第二电子设计自动化过程自身不易计算属性值时,或者当第二电子设计自动化过程不能像第一电子设计自动化过程那样快速或者有效地计算属性值时,使用所述属性值是特别有益的。
类似地,可以由电子设计自动化过程的第一部分生成属性值,并且随后将其提供至相同电子设计过程的第二部分。例如,“可制造设计”(DFM)过程的一部分可以在第一操作期间针对物理布局设计中的多个几何元素中的每一个生成一组属性值。可制造设计过程的第一部分继而将所计算的属性提供至该过程后续的第二部分。当电子设计自动化过程的第二部分自身不易计算属性值时,或者当电子设计自动化过程的第二部分不能像电子设计自动化过程的第一部分那样快速或者有效地计算属性值时,使用所述属性值是特别有益的。
通过考虑下文的详细描述,本发明的这些以及其他特征和方面将变得易见。
附图说明
图1示出了可以用于实现本发明的各种实施方式的计算系统的示例;
图2示出了可以用于实现本发明各种实施方式的多核处理器单元的示例;
图3示意性示出了根据本发明各种实施方式的可以使用关联属性的自动设计自动化软件工具集的示例;
图4示出了根据本发明各种实施方式的与一个或者多个属性相关联的微电路布局设计中的几何元素;
图5示出了可以由本发明的各种实施方式使用的一种类型的阵列的示例;
图6示出了EDA过程可以用来生成属性值并将其提供给其他EDA过程的方法的流程图;以及
图7示出了显示EDA过程的第一部分可以用来生成属性值并将其提供给EDA过程的第二部分的方法的流程图。
具体实施方式
示例性操作环境
根据本发明的实施方式,各种电子设计自动化过程的执行可以使用计算机可执行软件指令来实现,所述计算机可执行软件指令由一个或者多个可编程计算设备来执行。因为可以使用软件指令来执行本发明的这些实施方式,所以首先描述其上可以使用本发明的各种实施方式的通用可编程计算机系统的组件和操作。此外,由于某些电子设计自动化过程的复杂性以及多个电路设计的较大尺寸,将各种电子设计自动化工具配置为:在能够同步运行多个处理线程的计算系统上进行操作。由此,将参考图1来描述具有主机或者主计算机以及一个或者多个远程或者从属计算机的计算机网络的组件和操作。然而,这些操作环境仅仅是适合的操作环境的一个示例,并非旨在对本发明的使用或功能的范围构成任何限制。
在图1中,计算机网络101包括主计算机103。在所示出示例中,主计算机103是多处理器计算机,其包括多个输入和输出设备105以及存储器107。输入和输出设备105可以包括:用于从用户接收输入数据或者向用户提供输出数据的任何设备。输入设备例如可以包括:键盘、麦克风、扫描仪或者用于接收来自用户的输入的指示设备。而输出设备可以包括:显示器、扬声器、打印机或者触觉反馈设备。这些设备及其连接在现有技术中是公知的,因此将不在这里进行详细描述。
存储器107可以类似地利用主计算机103可访问的任何计算机可读介质的结合来实现。计算机可读介质可以例如可以包括:微电路存储器设备,诸如读写存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或者闪存微电路设备、CD-ROM盘、数字视频盘(DVD)或者其他光学存储设备。计算机可读介质还可以包括磁性盒式磁带、磁带、磁盘或者其他磁性存储设备、打孔介质、全息存储设备或者可以用于存储期望信息的任何其他介质。
如在下文中详细描述,主计算机103运行用于执行根据本发明各种示例的一个或者多个操作的软件应用。由此,存储器107存储软件指令109A,当执行该指令时,将运行用于执行一个或者多个操作的软件应用。存储器107还存储由软件应用使用的数据109B。在示出的实施方式中,数据109B包括软件应用用来执行操作的过程数据,其中至少某些可以是并行的。
主计算机103还包括多个处理器单元111和接口设备113。处理器单元111可以是可以被编程以便执行软件指令109A的任何类型的处理器设备,然而传统上是微处理器设备。例如,一个或者多个处理器单元111可以是商业通用可编程处理器,诸如
Figure A20078004379200171
或者XeonTM微处理器、AMD公司的AthlonTM微处理器或者Motorola公司的68K/
Figure A20078004379200172
微处理器。备选地或者附加地,一个或者多个处理器单元111可以是定制制造的处理器,诸如被设计为最优化地执行数学操作的专用类型的微处理器。接口设备113、处理器单元111、存储器107以及输入/输出设备105经由总线115彼此连接在一起。
对于本发明的某些实现,主计算设备103可以使用具有不止一个处理器核的一个或者多个处理单元111。由此,图2示出了可以由本发明的各种实施方式使用的多核处理器单元111的示例。如图中可见,处理器单元111包括多个处理器核201。每个处理器核201包括计算引擎203和存储器高速缓存205。如本领域普通技术人员已知的,计算引擎包括用于执行各种计算功能的逻辑设备,其中计算功能诸如获取软件指令以及继而执行在所获取指令中规定的动作。这些动作例如可以包括:对数字进行加、减、乘和比较,执行逻辑操作(诸如,与、或、非和异或),以及取回数据。每个计算引擎203继而可以使用其相应的存储器高速缓存205来快速存储并取回用于执行的数据和/或指令。
每个处理器核201连接至互连207。互连207的特定构造可以根据处理器单元201的架构而有所变化。对于某些处理器核201(诸如由Sony公司、东芝公司和IBM公司生产的Cell微处理器),互连207可以实现为互连总线。然而对于其他处理器单元201(诸如,从加利福尼亚州Sunnyvale的AMD公司可获得的OpteronTM和AthlonTM双核处理器),互连207可以实现为系统请求接口设备。在任何情况下,处理器核201通过互连207来与输入/输出接口209和存储器控制器211进行通信。输入/输出接口209在处理器单元201以及总线115之间提供通信接口。同样,存储器控制器211控制处理器单元201和系统存储器107之间的信息交互。对于本发明的某些实现,处理器单元201可以包括其他组件,诸如可以由处理器核201共享访问的高级高速缓冲存储器。
尽管图2示出了可以由本发明的某些实施方式使用的处理器单元201的一个示例,然而应该理解,这一示出仅仅是代表性的,并不旨在进行限制。例如,本发明的某些实施方式可以使用具有一个或者多个Cell处理器的主计算机103。Cell处理器使用多个输入/输出接口209和多个存储器控制器211。另外,Cell处理器具有九个不同类型的不同处理器核201。更具体地,其具有六个或者更多协同处理器单元(SPE)和一个主处理器单元(PPE)。每个协同处理器具有矢量类型的计算引擎203(其具有428×428位寄存器)、四个单精度浮点计算单元、四个整数计算单元、以及存储指令和数据两者的556KB本地存储器。继而,主处理器单元控制由协作处理器单元执行的任务。因为其配置,Cell处理器可以执行某些数学操作,诸如以实质上高于许多传统处理器的速度来执行快速傅立叶变化(FFT)的计算。
应该理解,对于某些实现,多核处理器单元111可以代替多个独立的处理器单元111来使用。例如,与使用六个单独处理器单元111不同,本发明的备选实现可以使用具有六个核的单一处理器单元111、两个各自具有三个核的多核处理器单元、具有四个核的多核处理器单元111以及具有两个单独单核的处理器单元111等。
现在返回图1,接口设备113允许主计算机103与从计算机117A、117B、117C...117x通过通信接口进行通信。通信接口可以是任何适合的接口,包括例如传统有线网络连接或者光传输有线网络连接。通信接口还可以是无线连接,诸如无线光连接、射频连接、红外连接、或者甚至是声学连接。接口设备113根据一个或者多个通信协议,将来自主计算机103和每个从计算机117的数据和控制信号转换成为网络消息,所述通信协议诸如传输控制协议(TCP)、用户数据报协议(UDP)以及互联网协议(IP)。这些以及其他传统通信协议在现有技术中是公知的,由此在此不再详述。
每个从计算机117可以包括:存储器119、处理器单元121、接口设备123,以及可选地包括由系统总线127连接在一起的一个或者多个输入/输出设备125。与主计算机103类似,用于从计算机117的可选输入/输出设备125可以包括任何传统输入或者输出设备,诸如键盘、指示设备、麦克风、显示器、扬声器以及打印机。同样,处理器单元121可以是任何类型的传统或者定制生产的可编程存储器设备。例如,一个或者多个处理器单元121可以是商业通用可编程微处理器,诸如,
Figure A20078004379200191
或者XeonTM微处理器、AMD公司的AthlonTM微处理器或者Motorola公司的68K/微处理器。备选地,一个或者多个处理器单元121可以是定制生产的处理器,诸如设计用于执行专用类型数学操作的微处理器。另外,一个或者多个处理器单元121可以具有一个或者多个核,如上文参考图2所述。例如,对于本发明的某些实现,一个或者多个处理器单元121可以是Cell处理器。而存储器119可以使用上述计算机可读介质的任何结合来实现。类似于接口设备113,接口设备123允许从计算机117通过通信接口与主计算机103进行通信。
在示出的示例中,主计算机103是具有多个处理器单元111的多处理器单元,而每个从计算机117具有单个处理器单元121。然而,应该理解,本发明的备选实现可以使用具有单个处理器单元111的主计算机。此外,如上文所述,根据期望的使用,一个或者多个从计算机117可以具有多个处理器单元121。另外,尽管针对主计算机103和从计算机两者仅示出了单个接口设备113或者123,应该注意,在本发明的备选实施方式中,计算机103、一个或者多个从计算机117或者二者的某些结合可以使用两个或者更多不同接口设备113或者123,以用于通过多个通信接口进行通信。
对于本发明的各种示例,主计算机103可以连接至一个或者多个外部数据存储设备。这些外部数据存储设备可以使用主计算机103可以访问的计算机可读介质的任何结合来实现。计算机可读介质可以包括例如微电路存储器设备,诸如读写存储器(RAM)、只读存储器(ROM)、电可擦除和可编程只读存储器(EEPROM)或者闪存微电路设备、CD-ROM盘、数字视频盘(DVD)或者其他光学存储设备。计算机可读介质还可以包括磁性盒式磁带、磁带、磁盘或者其他磁性存储设备、打孔介质、全息存储设备或者可以用于存储期望信息的任何其他介质。根据本发明的某些实现,备选地或者附加地,一个或者多个从计算机117可以连接至一个或者多个外部数据存储设备。通常,这些外部数据存储设备将包括还连接至主计算机103的数据存储设备,但是其也可以不同于主计算机103可访问的任何数据存储设备。
还应该理解,在图1和图2中示出的计算机网络的描述仅仅是示意性的,并不旨在对本发明的备选实施方式的使用或者功能的范围进行限制。
电子设计自动化
如前所述,本发明的各种实施方式均涉及电子设计自动化。特别地,本发明的各种实施方式可以用于改进电子设计自动化软件工具的操作,该工具用于标识、验证和/或修改制造微器件(诸如,微电路)的设计数据。在此使用的术语“设计”以及“设计数据”旨在涵盖描述诸如集成电路器件或者微电子机械系统(MEMS)器件的全体微器件的数据。然而,该术语还旨在于涵盖描述全体微器件的一个或者多个组件(诸如,一个层次的集成电路器件、或者甚至一个层次的集成电路器件的一部分)的较小数据集。另外,术语“设计”和“设计数据”还旨在涵盖描述不止一个微器件的数据,诸如用以创建用于在单个晶片上同时形成多个微器件的掩模或者刻线的数据。应该注意,除非特别指出,在此使用的术语“设计”旨在于涵盖任何类型的设计,包括物理布局设计以及逻辑设计。
设计和制造微电路器件包括“设计流”过程期间的多个步骤。这些步骤高度依赖于微电路的类型、其复杂性、设计团队以及将要根据设计制造该微电路的制造商或者制造者。然而,对于多数设计流来说,许多步骤是共同的。首先,通常利用硬件设计语言(HDL)在逻辑上建模设计规范。一旦已经创建了逻辑设计,则对该设计执行各种逻辑分析过程以便验证其正确性。更具体地,通过在设计流的各个阶段运行软件仿真器和/或硬件模拟器,软件“工具”和硬件“工具”验证该逻辑设计将提供期望的功能性,并且修正错误。例如,设计者可以使用一个或者多个功能性逻辑验证过程来验证:针对给定的输入,逻辑设计中的器件将以期望的方式执行,并且提供适当的输出。
除了验证逻辑设计中的器件将提供期望的功能性以外,某些设计者可以使用设计逻辑验证过程来验证该逻辑设计满足已规定的设计需求。例如,设计者可以创建规则,诸如:设计中的每个晶体管门必须具有通过不多于三个其他器件的接地电学路径;或者连接到指定电源的每个晶体管还必须连接到相应的地节点,并且不连接到任何其他地节点。继而,设计逻辑验证过程将确定逻辑设计是否满足规定的规则,并且标识出不满足之处。
在认为逻辑设计满意之后,通过合成软件将其转换为物理设计数据。此物理设计数据或者“布局”设计数据例如可以表示将被写入到掩模上的几何元素,该掩模用于在制造商处的照相平版印刷术工艺中制造成期望的微电路器件。对于传统掩模或者刻线写入工具,几何元素通常是各种形状的多边形。由此,布局设计数据通常包括描述设计中多边形特征的多边形数据。物理设计信息准确地实现设计规范以及用于器件适当操作的逻辑设计是重要的。由此,在合成过程期间创建物理设计数据之后,在有时称作“布局对原理图”(LVS)过程的过程中将物理设计数据与原始逻辑设计原理图进行比较。
一旦验证了逻辑设计的正确性,并且在布局设计中创建了对应于逻辑设计的几何数据,则可以对几何数据进行分析。例如,因为使用物理设计数据来创建在制造商处使用的掩模,所以必须确认该数据满足制造商的需求。每个制造商规定符合其过程、设备和技术的自身的物理设计参数。由此,设计流可以包括确认该设计数据符合所规定参数的过程。在此过程期间,将电路设计的物理布局与通常称作“设计规则检查”(DRC)过程的过程进行比较。除了由制造商规定的规则以外,设计规则检查过程还针对其他设计规则(诸如,从测试芯片、行业一般知识、先前制造经验获得的那些规则)来检查电路设计的物理布局。
对于现代电子设计自动化设计流,设计者还可以使用一个或者多个“可制造设计”(DFM)软件工具。如前所述,设计规则检查过程尝试对例如表示在制造过程期间几乎肯定被错误形成的结构的元素进行标识。然而,“可制造设计”工具提供的过程尝试对设计中表示很可能在制造过程期间被错误形成的结构的元素进行标识。“可制造设计”过程还可以确定:所标识元素的错误形成对根据该电路设计而制造的器件的成品率产生何种影响,和/或降低所标识的元素在制造过程期间被错误形成的可能性的修改。例如,“可制造设计”(DFM)软件工具可以表示由单通孔(single via)连接的布线,基于每个个体单通孔在制造过程期间被错误形成的概率来确定根据该设计来制造电路的成品率影响,并且继而标识可以形成冗余通孔来补充单通孔的区域。
应该注意,除了“可制造设计”以外,在电子设计自动化产业中还可以使用各种备选术语。由此,在此所使用的术语“可制造设计”或者“制造性设计”旨在涵盖在设计中对表示在制造过程期间可能被错误形成的结构的元素进行标识的任何电子设计自动化过程。由此,“可制造设计”(DFM)软件工具例如包括“平板印刷友好的设计”(LFD)工具,该工具辅助设计者进行权衡决策,以创建较为鲁棒、并且对平板印刷过程窗口较不敏感的电路设计。所述工具还可以包括“针对成品率的设计”(DFY)电子设计自动化工具,“成品率辅助”电子设计自动化工具以及“芯片清洁”以及“设计清洁”电子设计自动化工具。
在设计者使用一个或者多个几何分析过程验证了电路设计的物理布局满足条件后,设计者接着执行一个或者多个仿真过程来对制造过程的操作进行仿真,以便确定如何通过该特定制造过程来实际地实现设计。仿真分析过程也可以另外修改设计,以便解决由仿真标识出的任何问题。例如,在平板印刷过程期间,某些设计流可以使用一个或者多个过程来对电路设计物理布局所形成的图像进行仿真,并继而修改布局设计,以便在平板印刷过程期间改进将要生成的图像分辨率。
这些分辨率增强技术(RET)可以包括,例如,使用光学邻近修正(OPC)或者增加亚分辨率辅助特征(SRAF)来修改物理分辨率。其他仿真分析过程例如可以包括:相移掩模(PSM)仿真分析过程、蚀刻仿真分析过程以及平面化仿真分析过程。蚀刻仿真分析过程对化学蚀刻期间的材料移除进行仿真,而平面化仿真过程对在化学机械蚀刻过程期间电路表面的抛光进行仿真。这些仿真分析过程例如可以标识蚀刻或者抛光过程没有给出足够平坦的表面的区域。这些仿真分析过程继而可以修改物理布局设计(例如,在这些区域中包括更多的几何元素)以便增加几何元素的密度。
一旦完成了物理布局设计,则可以设置设计中的几何元素的格式,以供掩模或者刻线书写工具使用。掩模和刻线通常使用将空白刻线或者掩模衬底暴露于电子束或者激光束(或者暴露于电子束或者激光束的阵列)的工具来制作,但是多数掩模书写工具仅能够“写”特定类型的多边形(诸如,直角三角形、矩形或者其他梯形)。此外,多边形的大小受到对工具可用的最大光束(或者光束阵列)大小的物理限制。由此,通常将物理布局设计数据中的较大几何元素“断裂”为可以由掩模或者刻线书写工具书写的较小的、较为基础的多边形。
应该理解,各种设计流可以按照任何期望的顺序来重复一个或者多个过程。由此,对于某些设计流,可以与仿真分析过程和/或逻辑分析过程相交错地执行几何分析过程。例如,一旦使用分辨率增强技术对电路设计的物理布局进行了修改,则可以对修改后的布局执行设计规则检查过程或者可制造设计过程。此外,备选地,这些过程可以重复,直到获得期望程度的设计分辨率。类似地,在光学邻近修正过程、相移掩模仿真分析过程、蚀刻仿真分析过程或者平面化仿真分析过程之后,可以使用设计规则检查过程和/或可制造设计过程。在授予McSherry等人的2001年5月8日公开的美国专利No.6,230,299、授予McSherry等人的2001年6月19日公开的美国专利No.6,249,903、授予Eisenhofer等人的2002年1月15日公开的美国专利No.6,339,836、授予Bozkus等人的2002年5月28日公开的美国专利No.6,397,372以及授予Anderson等人的2002年7月23日公开的美国专利No.6,425,113中,描述了使用上述逻辑分析过程、几何分析过程或者仿真分析过程中一个或多个的电子设计工具,在此通过引用并入上述每个专利的全部内容。
用于对电路布局进行仿真、验证或者修改的软件工具
为了有助于理解本发明的各种实施方式,将概括地描述一种用于自动设计自动化的此类软件工具,该软件工具涉及对集成电路的设计进行分析和修改。如前所述,术语“设计”以及“设计数据”旨在涵盖描述诸如集成电路器件或者微电子机械系统(MEMS)器件的全体微器件的数据。然而,该术语还旨在于涵盖描述整个微器件的一个或者多个组件(诸如,一个层次的集成电路器件、或者甚至一个层次的集成电路器件的一部分)的较小数据集。另外,术语“设计”和“设计数据”还旨在涵盖描述不止一个微器件的数据,诸如用以创建用于在单个晶片上同时形成多个微器件的掩模或者刻线的数据。应该注意,除非特别指出,在此使用的术语“设计”旨在于涵盖任何类型的设计,包括物理布局设计以及逻辑设计。
如图3中所示,分析工具301(可以通过各种软件应用来实现)包括数据导入模块303以及层次数据库305。分析工具301还包括布局对原理图(LVS)验证模块307、设计规则检查(DRC)模块309、可制造设计(DFM)模块311、光学邻近修正(OPC)模块313以及光学近似规则检查(ORC)模块315。分析工具301可以进一步包括用于执行期望的其他功能的其他模块317,诸如相移掩模(PSM)模块(未示出)、蚀刻仿真分析模块(未示出)和/或平面化仿真分析模块(未示出)。工具301还具有数据导出模块319。此类分析工具的一个示例是,从俄勒冈州Wilsonville的Mentor Graphics公司可获得的Calibre软件应用集。
首先,工具301接收描述集成电路物理布局设计的数据321。布局设计数据321可以是任何期望的格式,例如,图形数据系统II(GDSII)数据格式、或者由半导体器件和材料国际组织(SEMI)提出的开放图系统交换标准(OASIS)数据格式。用于数据321的其他格式可以包括:名称为Open Access的开放源格式、Synopsys公司的Milkyway、Mentor Graphics公司的EDDM。布局数据321包括用于制造集成电路器件的一个或者多个部分的几何元素。例如,初始集成电路布局数据321可以包括:第一组多边形,用于创建继而用以形成晶体管的绝缘区的照相平版印刷术掩模;第二组多边形,用于创建继而用以形成晶体管的接触电极的照相平版印刷术掩模;以及第三组多边形,用于创建继而用以形成连接电极的互连线路的照相平版印刷术掩模。初始的集成电路布局数据321可以由数据导入模块303来转换为可以由工具301的其余组件更为有效地处理的格式。
一旦数据导入模块303将原始集成电路布局数据321转换为适当的格式,便将布局数据321存储在层次数据库305中,以供模块305-317执行各种操作时使用。接着,布局对原理图模块307在布局对原理图过程中检查布局设计数据321,以便验证其匹配于所期望集成电路的原始设计规范。如果标识出在布局设计数据321与集成电路逻辑设计之间的差异,则可以对布局设计数据321进行修订,以便解决这些差异中的一个或者多个。由此,由布局对原理图模块307执行的布局对原理图过程可以得到具有修订的新版本的布局设计数据。根据本发明工具301的各种实现,布局数据321可以由用户进行手工修订,由布局对原理图模块307自动修订,或者其某些结合。
接着,设计规则检查模块309确认经验证的布局数据321符合已定义的几何设计规则。如果布局数据321的部分不符合,或者违反了设计规则,则可以修改布局数据321以确保这些部分中的一个或者多个符合设计规则。由此,由设计规则检查模块309执行的设计规则检查过程也可以得到具有各种修订的新版本的布局设计数据。另外,对于本发明工具301的各种实现,布局数据321可以由用户手工修订,由布局对原理图模块307自动修订,或者其某些结合。
继而,由可制造设计模块311来处理经修改的布局数据321。如前所述,“可制造设计”过程尝试在设计中标识如下元素,这些元素表示很可能在制造过程期间被错误形成的结构。“可制造设计”过程还可以确定:所标识结构的错误形成对根据该电路设计而制造的器件的成品率产生何种影响,和/或将降低所标识结构在制造过程期间被错误形成的可能性的修改。例如,“可制造设计”(DGM)软件工具可以标识由单通孔连接的线路、基于每个个体单通孔在制造过程期间被错误形成的概率确定成品率影响,并且继而标识可以形成冗余的通孔来补充单通孔的区域。
继而,将经过处理的布局数据321传送至光学邻近修正模块313,其针对否则将出现在平板印刷图案化期间的制造失真来修正布局数据321。例如,光学近似修正模块313可以针对图像失真、光学近似效应、光阻动力效应以及蚀刻载荷失真进行修正。继而,由光学邻近修正模块313修改的布局数据321被提供至光学过程规则检查模块315。
光学过程规则检查模块315(更常见地,称为光学规则检查模块或者ORC模块)确保由光学邻近修正模块313进行的改变是实际可制造的,这对于布局验证来说是“面向下游(downstream-looking)”的步骤。这符合由LVS模块307执行的LVS的“面向上游”步骤以及由DRC模块309执行的DRC过程的自一致性检查,其为验证步骤添加了对称性。由此,由可制造设计过程311、光学邻近修正模块313以及光学过程规则检查模块315所执行的每个过程可以得到具有各种修订的新版本的布局设计数据。
如前所述,可以使用其他模块317来根据需要执行布局数据321的备选或者附加的操作。例如,工具301的某些实现例如可以使用相移掩模模块。如前所述,利用相移掩模(PSM)分析(分辨率增强技术(RET)技术的另一方法),可以对布局设计中的几何元素进行修改,从而使其在刻线上创建的图案将在图像中引入对比增强干扰带。备选地或者附加地,工具301还可以使用例如蚀刻仿真分析过程或者平面化仿真分析过程。由这些附加模块317中的每个模块执行的一个或者多个过程也可能导致创建包括经修改的新版本的布局数据321。
在对初始布局数据321执行全部期望的操作之后,数据导出模块319将经过处理的布局数据321转换为制造集成电路布局数据323,该数据可以用来形成一个或者多个掩模或者刻线,以便制造集成电路(即,数据导出模块319将经处理的布局数据321转换为在照相平版印刷术制造工艺中使用的格式)。掩模和刻线通常是使用将空白的刻线或者掩模衬底暴露至电子束或者激光束(或者暴露于电子束或者激光束的阵列)的工具来制作的,但是多数掩模书写工具能够仅“书写”特定类型的多边形(诸如,直角三角形、矩形或者其他梯形)。此外,多边形的大小受到对工具可用的最大光束(或者光束阵列)大小的物理限制。
由此,数据导出模块319可以将布局设计中的较大几何元素、或者非直角三角形、非矩形或者非梯形的几何元素(通常在布局设计中,大部分几何元素均如此)“断裂”为可以由掩模或者刻线书写工具书写的较小的、较为基础的多边形。当然,备选地或者可替换地,数据导出模块319可以将经处理的布局数据321转换为任何期望类型的数据,诸如在合成处理(例如,用于创建电路库中的条目)中使用的数据、在设置和布线过程中使用的数据、在计算寄生效应中使用的数据等。此外,工具301可以存储包含不同修改的一个或者多个版本的布局321,从而使设计者可以撤销不期望的修改。例如,层次数据库305可以存储在模块307-317之间的处理流程的任何步骤期间创建的备选版本的布局数据321。
数据组织
新集成电路的设计可以包括将数百万个晶体管、电阻、电容或者其他电子结构结合到逻辑电路、存储器电路、可编程现场阵列以及其他电路器件中。为了允许计算机更容易地创建和分析这些大数据结构(以及允许人类用户更好地理解这些数据结构),通常将其以层次性方式组织成为通常称作“单元(cell)”的较小数据结构。由此,对于微处理器或者闪存设计,可以将构成用于存储单比特的存储器电路的全部晶体管分类成为单个“位存储器”单元。由此,不必单独枚举每个晶体管,可以将构成单比特(single-bit)存储器电路的一组晶体管整体上称为单个单元并且作为单个单元来操作。类似地,描述较大的16位存储器寄存器电路的设计数据可以被分类为单个单元。这种较高层级的“寄存器单元”继而可以包括十六比特存储器单元,以及描述其他各种电路(诸如用于与每个位存储器单元双向传送数据的输入/输出电路)的设计数据。类似地,描述128kB存储器阵列的设计数据继而可以被精确地描述为仅64,000个寄存器单元的结合,以及描述其自身各种电路(诸如用于与每个寄存器单元双向传送数据的输入/输出电路)的设计数据。
通过将微电路设计数据分类为层次单元,可以更快速有效地处理大数据结构。例如,通常电路设计者将对设计进行分析,以便确保在设计中描述的每个电路特征符合规定的设计规则。例如上述示例,设计规则检查过程可以分析单个比特单元中的特征,而不是分析整个128kB存储器阵列中的每个特征。如果单元是相同的,则检查结果适用于全部单比特单元。一旦确认了单比特单元的一个实例符合设计规则,则设计规则检查过程可以简单地通过分析其他各种电路(其本身可以由一个或者多个层次单元构成)的特征来完成对寄存器单元的分析。继而,这一检查的结果将适用于全部的寄存器单元。一旦确认了寄存器单元的一个实例符合设计规则,则设计规则检查软件应用可以简单地通过分析存储器阵列中其他各种电路的特征,来完成对整个128kB存储器阵列的分析。由此,可以将对大数据结构的分析压缩成为对构成该数据结构的相对较少的单元的分析。
利用本发明的各种示例,布局设计数据可以包括两种不同类型的数据:“标示层(drawn layer)”设计数据和“导出层(derived layer)”设计数据。绘制层数据描述将用来形成材料层中的结构以生成集成电路的几何元素。绘制层数据通常包括用于形成金属层、扩散层以及多晶硅层中结构的多边形。导出层继而将包括构成绘制层数据以及其他导出层数据的组合的特征。由此,利用晶体管门,可以从多晶硅材料层中的多边形与扩散材料层中的多边形的交中获取描述门的导出层设计数据。
例如,由设计规则检查模块309执行的设计规则检查过程通常执行两种类型的操作:“检测”操作,其确认设计数据值与规定的参数是否相符;以及“导出”操作,其创建导出层数据。由此,晶体管门设计数据可以由以下导出操作来创建:
门=扩散材料层中的多边形AND多晶硅材料层中多边形此操作的结果将是一“层”数据,其标识了扩散层多边形与多晶硅层多边形的全部交。另外,通过以下导出操作来标识通过在扩散层中掺杂n型材料而形成的p型晶体管门:
p型门=n型阱AND门
继而,此操作的结果是另一“层”数据,其标识扩散层中的多边形已经掺杂了n型材料情况下的全部晶体管门(即,扩散层多边形与多晶硅层多边形的交)。
继而,由设计规则检查模块309执行的检查操作将针对数据设计值来定义参数或者参数范围。例如,用户可能希望确保在另一布线的微米范围内没有金属布线。这种类型的分析可以由以下检查操作来执行:
外部金属<1
这一操作的结果将在金属层设计数据中标识与金属层设计数据中的另一多边形的距离小于一微米的每个多边形。
另外,尽管上述操作中使用绘制层数据,但是同样可以对导出层数据执行检查操作。例如,如果用户希望确认没有晶体管位于另一门的一微米范围内,则设计规则检查过程可以包括以下检查操作:
外部门<1
此操作的结果将标识表示位于与另一门之间的距离小于一微米的门的全部门设计数据。然而,应该理解,直到已经执行了从绘制层设计数据标识门的导出操作之后,才能执行这一检查操作。
属性
本发明的各种实现涉及用于电子设计自动化的软件工具,该软件工具可以创建和/或使用相关联的属性。如将在下文中更详细讨论的那样,对于本发明的某些实现,可以生成一个或者多个属性,并将其与微器件设计中任何类型的设计对象相关联。例如,如果设计是用于平板制造集成电路或者其他微器件的物理布局,则一个或者多个属性可以与设计中任何期望的几何元素相关联。现在参考图4,该图示出了布局设计的部分。该设计包括多个多边形401-407,这些多边形将用于在材料层(诸如,金属层)中形成电路结构。例如,多边形401-405可以用来形成集成电路的布线线路。利用本发明的各种示例,一个或者多个属性可以与多边形相关联(诸如,多边形401-407中的每个),或者与多边形的组成部分(诸如,多边形的顶点)相关联。此外,一个或者多个属性还可以与多边形的边相关联,诸如多边形401的边409。此外,一个或者多个属性还可以与一对多边形边相关联,诸如多边形405的边411和413。对于本发明的各种示例,每个属性可以在设计中表示为一个新的数据“层”。
当属性与布局设计中的设计对象相关联时,其值可以从与该设计对象相关的几何数据中导出。例如,如果属性与几何元素相关联,诸如多边形,则其可以具有从多边形面积、多边形周长、多边形的顶点数量等导出的值。类似地,如果属性与边相关联,则属性值可以从边的长度或者角度来导出。另外,如果属性与一对边相关联,则属性值可以从两个边之间的分隔距离、边的总长度、边之间的长度差以及由边所包围的面积等来导出。
然而,从下文叙述中易见,应该理解,可以由任何期望的函数来定义属性值。例如,可以将属性定义为常量值。由此,属性x的值可以由以下函数来定义:
x=0.5
通过这一定义,属性值将始终是0.5。
还可以使用可变函数来定义属性值。利用可变函数,属性值例如可以基于设计中的特定数据而变化。例如,属性x可以由简单函数来定义:
X=面积(金属1)×0.5+(周长(金属1))2
利用这一函数,针对名为“金属1”的设计层中的每个多边形生成属性值(即,用于生成属性x的输入是设计中名称为“金属1”的数据层)。对于设计层中的每个多边形,计算多边形面积并且乘以0.5。另外,确定多边形的周长,继而求平方。继而,将多边形面积与0.5的乘积同多边形周长的平方相加,以便生成与该多边形相关联的属性X的值。
由此,在附图4中,如果第一多边形401的周长是68,而第一多边形的面积是64,则对于第一多边形的属性x1的值是:
X1=(64×0.5)+(68)2=4656
类似地,如果第二多边形403的周长是60,而第二多边形的面积是66,则对于第二多边形的属性x2的值是:
X2=(60×0.5)+(66)2=4386
另外,如果第三多边形405的周长是60,而第三多边形的面积是84,则对于第三多边形的属性x3的值是:
X3=(60×0.5)+(84)2=7086
以及,如果第四多边形407的周长是34,而第四多边形的面积是70,则对于第四多边形的属性x4的值是:
X4=(34×0.5)+(70)2=4917
除了上述的“简单”函数以外,还可以由复合函数来定义属性,该复合函数结合了先前生成的属性值。例如,可以由上述简单函数来定义第一属性x:
X=面积(金属1)×0.5+(周长(金属1))2
可以使用如下函数来定义第二属性Y,该函数结合了第一属性X的值:
Y=属性(金属1,X)+1
由此,多边形的属性Y的值是针对该多边形计算的属性x的值加上1。
除了由简单函数和复合函数进行定义以外,可以这样定义属性,使得在某些条件下不生成属性值。例如,可以这样来定义与多边形相关联的属性,使得:如果该多边形的面积小于阈值,则不生成该属性的值。例如,在仅针对具有期望特征的设计对象而生成属性值时,这一特性是有用的。如果设计对象不具有所需的特征,则不生成针对该设计对象的属性值,并且在使用所生成属性值的后续计算中可以将其忽略。
更一般地,可以由选择性函数来定义属性值,诸如以下函数:
如果面积(金属1)<0.5,则x=1
如果面积(金属1)≥1,则
x=面积(金属1)×0.5+(周长(金属1))2
利用这些选择性函数,对数据层“金属1”中的每个多边形进行分析。如果多边形的面积小于0.5,则对于多边形的属性x的值是1。否则,对于多边形的属性值是多边形面积乘以0.5再加上多边形周长的平方。
属性可以具有多个值。例如,属性可以具有x坐标值、y坐标值以及z坐标值。此外,属性可以具有多个不同类型的值。例如属性可以具有数字值和字符串型值。由此,与单元相关联的属性可以具有数字值(例如可以是单元中器件数)和字符串型值(例如可以是表示该单元的库源的模型名称)。当然,具有多个不同类型值的属性可以包括值类型的结合,包括上述值的类型的任何结合(例如,一个或者多个常量值、一个或者多个矢量值、一个或者多个动态值、一个或者多个备选值、一个或者多个简单值、一个或者多个复合值、一个或者多个备选址、一个或者多个字符串型值,等等)。
此外,可以动态改变属性的值的数目。例如,在执行电子设计自动化过程之前,属性K可以具有值“a”和“b”(即,属性值K=a,b)。而电子设计自动化过程继而可以将属性改变为包括第三个值“c”(即,属性值K=a,b,c)。当然,备选地或者附加地,电子设计自动化过程还可以将属性值K改变为一个或者多个完全不同的值(例如,属性值K=d,e,f)。此外,对于本发明的某些实现,在一个时间点处的属性值可以依赖于先前时间的属性值。例如,在时间t2处的属性值Q可以从时间t1处的属性值Q来导出。当然,除了常量值以及基于简单、复合、或者选择性可变函数生成的值以外,可以根据任何期望的定义来规定属性值。例如,除了单个或者选择性数学函数以外,属性值甚至可以是常量值的数组、可变函数或者其某些组合。然而,应该理解,通过使用上述脚本描述语言,在电子设计自动化过程期间可以动态生成属性值。
换言之,通过使用脚本描述语言来规定属性值定义,在电子设计自动化过程间,可以在分析设计时基于所述定义来生成实际的属性值。如果设计中的数据有所变化,则将自动重新计算属性值,而无需来自设计者的进一步输入。由此,使用脚本描述语言允许设计者或者其他用户根据需要开发属性并确定其值。还可以提供灵活性,以便允许第三方来开发新的分析技术和方法,并且继而指定脚本,这些脚本允许电子设计自动化工具的用户使用由第三方开发的脚本来生成供那些新技术和方法使用的属性值。
如上文所指出,属性可以与设计中任何期望类型的设计对象相关联。由此,除布局设计中的单个几何元素(诸如,多边形、边或者、边对)以外,属性还可以与布局设计中的一个或者多个设计对象的群组相关联。例如,属性可以与布局设计中的层次单元或者多边形的群组(其自身可以整体考虑为单个设计对象)相关联。属性还可以与一个或者多个设计对象的整体分类相关联。例如,属性可以与设计层中的一类设计对象的每次出现相关联,诸如与设计中的每个单元或者设计中出现的一类几何元素的每个实例相关联。具体地,属性还可以与设计中单元的特定布置相关联。除了布局设计中的设计对象以外,属性还可以与其他类型设计(诸如,逻辑设计)中的设计对象相关联。由此,属性可以与逻辑设计中的任何期望的对象(诸如,网、器件、连接管脚的实例甚至设计中单元的布置)相关联。
还应该理解,对于本发明的各种实施方式,与一个设计对象相关联的属性还可以与其他设计对象相关联。此外,可以使用任何期望的设计对象(包括不同于与属性相关联的设计对象的设计对象)的几何数据或者逻辑数据来计算属性值。对于本发明的某些实现,甚至可以使用来自多个设计数据层的一个或者多个设计对象的几何数据或者逻辑数据来计算属性值。例如,设计者可以指定名称为“配对”的设计层(其包括布局设计中的任何指定边的对)以及另一名称为“边”的设计层(其包括布局设计中的指定边)。继而,设计者可以针对边的层中的每个边来定义属性z:
Z=面积(金属1)/长度(边)+EW(对)
其中,“面积”是与边相关的一个或者多个多边形的面积,“长度”是边的长度,而“EW”是在涉及边的边对之间的宽度。由此,边的属性值z是基于与该边相关的某些其他多边形的面积。
对于本发明的某些实现,可以使用各种算法来定义使哪些设计对象(诸如,几何元素)彼此相关,以便在适当的定义中使用。例如,上文中属性z的定义可以使用如下关系算法:如果多边形接触了与属性相关联的边,则在属性值确定中包括该多边形,并且如果一个边是与属性相关联的边、并且第二边通过多边形连接至第一边(即,与由空白空间隔开不同,两个边均是相同多边形的部分),则在属性值确定中包括该边的配对。
当然,可以使用任何期望的算法来确定哪些设计对象将彼此相关以用于确定属性的值。用于物理布局设计的其他可能的关系算法例如可以使如下几何元素相关:重叠的全部几何元素,相交的全部几何元素,彼此接触或者以其他方式联系的全部几何元素,或者在另一几何元素的限定邻近范围内的全部几何元素。对于又一关系算法,如果一个几何元素接触多个几何元素,则该算法可以确定将该接触几何元素视为错误,或者使所有接触的形状相关。其他关系算法可以使用裁剪(clip),其中,例如如果第一几何元素与第二几何元素相交,则在确定属性值时,仅使用第二几何元素位于第一几何元素内部的部分,等等。
类似地,可以使用各种关系算法来使逻辑设计中的设计对象彼此相关,以便在属性定义中使用。例如,属性定义可以使如下设计对象相关:属于相同逻辑器件的全部设计对象,共享公共网的全部设计对象,或者共享引用标识符的全部设计对象,例如,属性所关联的设计对象。当然,可以使用其他相关性标准来使设计中的设计对象彼此相关,以便在属性定义中使用。
此外,通过定义第二属性值使其与第一属性值进行协作,与任何设计对象或者设计对象群组相关联的属性值可以与任何其他设计对象或者设计对象群组相关联。例如,第一多边形的属性可以是该多边形的面积。继而,可以将接触或者联系该第一多边形的第二多边形的属性定义为第一多边形的面积。以此方式,与第一多边形相关联的属性值可以与第二多边形相关联。由此,与几何元素相关联的属性还可以同与该几何元素协作的单元相关联。类似地,与几何元素相关联的属性可以与相邻的几何元素相关联。另外,几何元素的属性可以与设计中的整个数据层相关联。
对于本发明的各种实现,与设计对象属性值相关联的属性值可以同与该属性值相关联的设计对象的描述相分离。即,对于本发明的各种实现,属性的值并不简单地是该属性所关联的设计对象的特性,而是可以将其本身视作独特的设计对象。根据本发明的某些实现,例如,各种设计对象的属性值可以存储在阵列中。图5示出了可以由本发明的各种实现使用的阵列类型的一个示例。从该图中可见,阵列501包括列列表标识符503。还可以包括具有属性G的属性值505的列、具有属性H的属性值505的列、以及具有属性I的属性值505的列。
每个标识符503标识与属性G、H和I中的每个属性相关联的设计对象的出现。通过示出的示例,设计对象例如可以是层次物理布局设计中的单元类型。继而,属性G的定义可以是单元布置的坐标值,而属性H的定义可以从其获取单元的库以及设计中单元的计数二者。属性I的定义可以是单元中描述的结构在制造过程期间被错误形成的百分比。由此,从阵列501中可以确定,例如单元“设计对象8”在设计中定位在x、y坐标值(40,8)处,其最初从库8中获得,并且是该单元在设计中的第八次出现。另外,此单元的属性I的值表示:制造时的故障率是.000009%。
尽管在图5中示出了表型阵列以便理解,应该意识到,在此使用的术语“阵列”旨在涵盖行为类似于逻辑阵列的任何类型的数据结构。由此,备选地或者附加地,本发明的各种实现可以使用例如Calibre数表(在从俄勒冈的Wilsonville的Mentor Graphics公司可获得的Calibre软件工具集一起使用)的结构,或者使用标准模板库(STL)双端队列。还应该理解,尽管图5示出了针对每个设计对象的属性值的单个集合,本发明的各种实现可以允许与属性值的单个集合相关联的多个标识。这一设置是有益的,例如,用于在一个或者多个设计对象具有相关联属性的相同值时降低存储器的使用。另外,应该理解,本发明的各种实现可以利用更新的属性值来覆盖或者替换存储器中的先前属性值,从而更新属性值,以节约存储器使用。
从一个EDA过程向另一EDA过程传送属性值
对根据本发明各种实现的属性的一个使用是将在一个电子设计自动化过程中确定的信息传送至另一电子设计自动化过程,所述传送以可以由第二电子设计自动化过程易于使用的格式进行。例如,可以定义属性,并将其用于从仿真分析过程(诸如,光学邻近修正过程、蚀刻仿真分析过程或者平面化仿真分析过程)向几何分析过程(诸如,设计规则检查过程、可制造设计过程或者光学规则检查过程)或者逻辑分析过程(诸如,布局对原理图过程、电学规则检查过程或者设计逻辑验证过程)传送信息。类似地,可以使用属性来从几何分析过程向仿真分析过程或者逻辑分析过程传送信息,或者从逻辑分析过程向仿真分析过程或者几何分析过程传送信息。
可以从一个EDA过程向另一EDA过程传送各种信息。例如,在操作期间,一个EDA过程可以确定与布局设计中的设计对象的成品率相关的信息,并且将该信息作为与设计对象相关联的属性值而提供。成品率信息例如可以包括设计对象未被正确制造且由此不能根据规范来执行的可能性。
例如,返回参考图4,两个相邻的平行布线被错误地制造并且“桥接”在一起的可能性可以取决于线路的宽度、线路之间的距离、以及线路相邻的长度。如上文详细讨论的那样,属性z的值可以考虑与边411相关的一个或者多个多边形的面积、边411的长度、以及边409和411之间的宽度。由此,可以使用该属性的值(或者涉及这些特征的具有类似定义的属性)来确定在制造过程期间线路409和411彼此桥接在一起的可能性。由此,可以容易地计算属性z的值的EDA过程(诸如设计规则检查过程)可以针对线路409或者411来确定属性z的值。其他EDA过程(诸如DFM过程)则可以使用该属性值,以例如确定在制造期间线路409和411将桥接在一起的可能性。
可以在一个EDA过程期间生成、并继而提供给其他EDA过程的又一信息是故障预测。故障预测例如可以将成品率信息映射至特定的设计特征。例如,如果通孔具有低的成品率,并且如果其故障将导致所制造电路中的器件为“开路(stuck open)”,则故障预测信息可以将通孔的低成品率与连接到该器件的网为开路的可能性联系在一起。可以在一个EDA过程期间生成、并作为属性信息提供给另一EDA过程的另一信息包括测试提示,其建议测试图案以便强调所制造电路中的潜在故障。例如,测试提示可以建议将对故障预测信息所标识的潜在故障进行测试的测试图案。其还可以包括可靠性信息,其对应于在使用所制造器件期间可能出现的延迟故障,诸如源于热压的接触故障。另外,可以作为属性信息从EDA过程传递至另一EDA过程的又一信息包括可靠性和工艺性(manufacturability)标度。这些标度例如可以是针对特定故障机制的特定定性特性,诸如,过程窗口的变化或者光阻剂脱落的概率。
另外,平面性信息可以从一个或者EDA过程(诸如,平面化仿真分析过程)传输至另一EDA过程。这类信息例如可以包括使用平面性模型而生成的信息,所述平面性模型对芯片上基于材料硬度分布(氧化物比其他所有物质都更硬,铜较软,而多晶硅居中)的抛光之后的、到预定厚度的化学机械抛光过程进行仿真。此外,可以由一个EDA过程确定热耗散信息,并且继而将其以属性值的形式提供给另一EDA过程。
图6示出了由EDA过程使用以生成属性并将其提供给另一EDA过程的方法流程图。在步骤601中,第一EDA过程接收设计数据。接着,在步骤603中,第一EDA过程分析设计数据,并且在步骤605中基于属性定义而根据设计数据生成一个或者多个属性值。继而,在步骤607中,第一EDA过程将属性值存储在存储器存储介质中,以供第二EDA过程使用。对于本发明的各种实现,存储器存储介质可以是任何类型的存储介质,诸如处理器寄存器、RAM、磁性存储器存储盘、光存储盘或者其他形式,等等。在步骤609中,第二EDA过程获取存储的属性值,以便在其自身执行中使用。对于本发明的某些实现,可以立刻将所生成的属性值提供给第二EDA过程。利用这一设置,属性值仅暂时地存储在存储器中,诸如存储在过程寄存器中。然而,对于本发明的其他实现,可以将属性值存储在较为长期的存储介质中,并且在已经生成属性值的一段时间之后,启动第二EDA过程。
从一个OPC过程向DFM过程或者LVS过程传送属性值
为了更详细地示出EDA过程之间的属性交换示例,将讨论使用属性将信息从OPC过程传送至DFM过程或者向LVS过程。光学邻近修正(OPC)是电子设计自动化工具经常提供的一类过程。随着微电路已经演变为包括越来越小的特征,现在许多电路设计包括这样的特征,该特征小于在平板印刷过程期间用来创建那些特征的光波长。然而,这类子波长成像通常在平版印刷过程期间产生失真。为了解决这些失真,使用如上所述的修正算法来修改电路设计的物理布局。这一过程通常称作光学邻近修正(OPC)。由此,在此使用的术语“光学邻近修正”包括修改电路设计的物理布局,以便在平版印刷过程期间改进布局的复制准确性。然而,此外,在此使用的术语“光学邻近修正”还包括修改布局设计,以便改善平版印刷过程的鲁棒性,例如改善印刷隔离特征和/或突然相邻转变处的特征。
在光学邻近修正期间,将物理布局的多边形边划分成为小片段。继而移动这些片段,并且可以在关键的位置处向物理布局添加小多边形。继而,对平版印刷过程进行仿真,以便确定通过修改或者“修正”布局而创建的图像是否比由对布局图像的先前修改所创建的图像更好。继而,迭代地重复这一过程,直到仿真和确认工具生成将在实际平版印刷过程期间产生满意的图像分辨率的修改布局为止。
通常,光学邻近修正技术被分类为基于规则的或者基于模型的。对于基于规则的光学邻近修正,可以基于特定的规则来生成布局修改。例如,可以向布局中的每个凸(即,指向外部)90°角自动添加小的衬线。基于模型的光学邻近修正通常比基于规则的光学邻近修正复杂得多。对于基于模型的光学邻近修正,使用从测试布局获得的平版印刷过程数据来创建平版印刷图案化行为的数学模型。仿真和确认工具继而使用适当的模型来计算平版印刷过程期间由经修正的布局所创建的图像。继而,迭代地操作经过修正的布局特征,直到布局的图像(使用模型计算的)足够接近期望的布局图像为止。由此,某些基于模型的光学邻近修正可以要求通过计算针对边和角的预先仿真结果的加权和来对多个平版印刷过程影响进行仿真。在由加利福尼亚大学伯克利的Nick Cobb(博士论文)的“Fast OpticalProcess And Proximity Correction Algorithms for Integrated CircuitManufacturing”(1998年)一文中,描述了光学邻近修正算法的一个示例。
本领域普通技术人员将会理解,执行基于规则的光学邻近修正过程比执行设计规则检查在计算上更为敏感,而执行基于模型的光学邻近修正甚至更大。此外,光学邻近修正过程所需的计算比设计规则检查过程中通常使用的计算更为复杂。例如,获取仿真的平版印刷图像可以包括将平版印刷光源建模为设置在不同角度的多个独立的相干光源。对于每个此类相干光源,通过计算快速傅立叶变换(FFT)获得仿真的图像,以便对平版印刷过程中使用的透镜操作进行建模。继而,对这些仿真图像进行求和,以获取由平版印刷过程生成的图像。
由此,OPC过程将使用与DFM或者LVS过程不同的数据“分辨率”。例如在分析表示晶体管门的简单矩形多边形时,OPC过程可以将矩形多边形转换成为可能具有约数百万条边的轮廓的多边形。由此,OPC过程通常将执行大量并行操作,这些操作:(1)将设计中相对较大的多边形划分为更大数量(例如,上百万)的相对较小的多边形;以及(2)可能需要忽略所分析数据的层次结构。因此,由OPC过程生成的信息通常与DFM或者LVS过程不兼容,DFM或者LVS过程的每一个通常对原始设计中相对较大的多边形执行计算,并且执行这些计算时显著受益于使用设计中的层次设置。
例如,对于表示晶体管门的矩形多边形,OPC过程将生成高度轮廓化的多边形,其表示在平版印刷制造过程中出现衍射之后的门形状的实际细节。另一方面,LVS过程仅需要门的整体宽度和长度来描述器件的特征。由此,LVS过程可以使用对OPC过程所计算的轮廓化门形状的宽度求平均的公式,并且LVS继而使用此平均值来描述器件的特征。然而,为了计算这一平均宽度值,LVS过程通常必须从OPC过程获取详细的轮廓信息,这是不期望的。利用本发明的各种示例,这些平均宽度值可以容易地由OPC来计算,并且结果作为属性值附加至原始的门多边形。继而,将描述轮廓信息的这些属性值(由OPC过程有效地计算)传送至LVS过程。接着,则可将LVS过程配置为使用接收的属性值来标识器件。以此方式,每个过程可以以其最优模式进行操作,以处理设计数据。
本领域普通技术人员将会理解,通过属性将信息从OPC过程传送至DFM过程是类似的,但是可以更为一般,其在于:在DFM过程中可以分析大范围的信息。例如,DFM过程可能希望基于线路的“缩进”(pullback)值(由于制造过程中的衍射而使线路收缩或者延伸的量)来执行线路的故障概率计算。通常,DFM无法容易地计算这类值。然而,利用本发明的各种示例,OPC过程可以计算线路的缩进值,并且继而将该值作为属性值附加至对其执行OPC分析的简单布局多边形。继而,DFM过程随后可以使用该缩进值来改进DFM过程结果的精度,而无需相应的计算增加。
除了缩进信息以外,OPC过程可以将其他类型的轮廓信息确定为一个或者多个属性值,并且将该属性值传递至LVS或者DFM过程。例如,OPC过程可以生成描述以下内容的属性值:门变化、联系稳定性、互连变化、桥接等。继而,通过向LVS或者DFM过程提供这些属性值,LVS或者DFM过程则可以在其自身操作期间使用这些值,而不必重新计算该信息。
使用属性将信息从一个电子设计自动化过程传送至另一电子设计自动化过程的又一示例涉及变化带的确定。在2005年11月10日公开的、发明人为Juan Andres Torres Robles、名为“Integrated CircuitLayout Design Methodology With Process Variation Bands”的美国专利公开No.20050251771中描述了过程变化带,在此通过引用并入该公开的全部内容。可以由OPC过程来计算过程变化带。过程变化带表示由布局设计中的多边形产生的可能形状变化的范围,其可以由制造过程期间的不同过程状态所创建的衍射而导致。继而,可以将过程变化带的结果附加至相应多边形,以便随后在DFM过程中使用。例如,多边形可以具有相关联的属性值,其可以包括已计算的几何值(例如,带偏离0.1)以及计算那些几何值时的参数(例如,带偏离0.1是针对1%的散焦而计算的)。
继而,DFM过程可以以任何期望的方式来使用由OPC过程提供的这一属性信息。例如,DFM可以使用原始布局设计中的简单多边形来启动对桥接故障的检查。在DFM过程确定存在故障可能性的情况下,DFM过程可以检查作为关联属性值而提供的过程变化带值,以便更准确地计算是否会出现故障(或者,出现故障的可能性)。另外,备选地或者附加地,DFM过程确定落入相邻线路上的两个相邻“标记”区域之间的故障区域。使用从OPC过程作为属性值传递的过程变化信息,继而,DFM过程可以确定过程变化索引,该过程变化索引表示过程变化带区域与故障区域的重叠(例如,作为简单的比率)。基于这一过程变化索引,DFM过程可以确定在相关联桥接区域出现故障的可能性。通过对线路中每个标记的过程变化索引值(其自身可以记录为属性值)进行合计,DFM值可以标识设计中最有可能导致故障的线路,或者标识最有可能导致线路故障的标记区域,等等。
如上所述,已经针对在连续电子设计自动化过程中的OPC过程期间所生成的属性值的使用,描述了本发明的各种示例。然而应该理解,属性值的使用并不局限于在OPC过程期间生成的那些。例如,本发明的其他实现可以使用在其他的连续电子设计自动化过程中由任何光学相关电子设计自动化过程中生成的属性值。例如,在连续电子设计自动化过程中,本发明的某些实现可以类似地用于光学邻近规则检查(ORC)过程或者相移掩模(PSM)过程期间生成的属性值。
DFM过程和LVS之间的属性值传送
此外,根据本发明的各种示例,可以使用属性将信息从DFM过程传送至LVS过程。LVS过程通常从器件中作为器件标识源的基础多边形开始,对器件进行标识为或者特征化,继而分析设计中的每个接触多边形或者重叠多边形,以便确定器件的范围。因此,LVS处理通常不考虑作为器件标识分析部分却与器件分离的多边形。然而,为了准确地在设计中描述器件的特征,LVS需要使用这样的几何特征的测量,即,正常情况下,LVS过程并不认为这些几何特征与器件相关。
例如,为了表征使用应变硅的器件(诸如,晶体管)的操作,LVS过程可以确定由应变硅施加至晶体管门的应力的量。为了进行该确定,LVS过程应该知道应变硅材料与相邻但分离的器件(例如,线路)中形成的任何孔之间的距离。然而,因为LVS过程不能测量关于相邻器件的特性,其不能准确地描述应变硅器件的特征。然而,利用本发明的各种示例,DFM过程可以测量应变硅器件与相邻线路中的孔之间的距离。DFM过程继而可以将这些测量记录为与表示应变硅器件的门的多边形相关联的属性值。LVS过程随后可以使用这些属性来描述应变硅器件操作的特征,而无需对相邻器件执行任何分析。由此,对于LVS过程来说,具有器件边界外部的某些相关信息是有用的,并且根据本发明的各种实现,可以由其他过程使用属性值来将这种外部信息提供给LVS过程。
此外,可以将属性值从LVS过程传递至DFM过程。例如,LVS过程可以在设计中标识表示高电流MOS晶体管的门的多边形,继而记录用于这些多边形的属性值,其中这些属性值将这些多边形标识为高电流MOS晶体管的门(例如,作为具有将其标识为高电流MOS的门的电流载荷数值的属性,或者作为具有“高电流MOS”字符串值的属性,等等)。继而,可以将这些属性值传递回DFM过程。DFM过程继而可以使用滤波器来标识高电流MOS结构,并且对滤波器所标识的结构执行任何期望的操作。
此外,可以使用属性将信息从一类设计中的设计对象传送至另一类设计中的另一设计对象。例如,LVS过程可以确定设计中的设计对象的可操作特征,诸如晶体管的电容。继而,LVS过程可以将这些操作特征存储为与数据结构相关联的属性值,并且将这些属性值提供给例如逻辑设计过程中的相应数据结构。类似地,DFM过程可以使用PEX(寄生析出)过程来计算例如电容,继而可以将该电容用作布局设计或者原理图设计中的属性。
EDA过程内的属性传送
可以根据本发明的各种实现应用的属性的另一用途是将信息以易于电子设计自动化过程的第二部分使用的格式从电子设计自动化过程的一个部分传送至电子设计自动化过程的第二部分。另外,可以使用属性值在单个EDA过程中传送各种信息,诸如成品率信息、故障预测信息以及测试提示。其还可以包括可靠性信息、可靠性以及可制造性标度、平面化信息以及热耗散信息。
图7示出了显示EDA过程的第一部分用来生成属性值并将其提供给EDA过程第二部分的方法的流程图。在步骤701中,EDA过程的第一部分接收设计数据。接着,在步骤703中,EDA过程的第一部分分析设计数据,并在步骤705中基于属性定义来根据设计数据生成一个或者多个属性值。在步骤707中,EDA过程的第一部分将属性值存储在存储器存储介质中,以供EDA过程的第二部分使用。对于本发明的各种实现,存储器存储介质可以是任何类型的存储介质,诸如处理器寄存器、RAM、磁性存储器存储盘、光存储盘或者其他形式,等等。在步骤709中,EDA过程的第二部分获取存储的属性值,以便在其自身执行中使用。对于本发明的某些实现,可以将所生成的属性值立刻提供至EDA过程的第二部分。利用这一设置,属性值仅暂时地存储在存储器中,诸如存储在过程寄存器中。然而,对于本发明的其他实现,可以将属性值存储在较为长期的存储介质中,并且在已经生成属性值一段时间之后,启动EDA过程的第二部分。
DFM过程内的属性传送
另外,为了更详细地示出在单个EDA过程内交换属性的一个示例,将讨论使用属性在DFM过程内传送信息。DFM的不同功能可以使用不同级别的数据“分辨率”。DFM过程可以提供用于整个电路的较高水平的制造成品率计算,其将具有不同的数据分辨率,该数据分辨率不同于针对几何元素特定组合的详细信息的故障概率。由此,DFM过程将计算个体几何元素的故障信息,并且将此故障信息作为属性值附加至较高级别设计对象(例如,网或者单元),以便在设计者希望执行更宽泛的成品率概率分析时使用。
此外,DFM过程可以计算增强,诸如双倍的通孔以避免通孔形成故障。例如,通过将通孔翻倍,可以在相对于原始通孔的四个可能位置(例如,上,下、左、右)之一的位置处放置第二通孔。DFM过程可以计算全部可能的选项,确定针对每个选项(例如,电容变化)的特征,并且将所确定的特征作为属性值保存。继而可以使用属性来生成各种选项结合,以便确定符合期望规范的最优选项选择。属性值还可以用来根据过程参数来确定每个元件的潜在损耗,以及确定过程改进将在多大程度上导致成品率改进。
结论
尽管针对包括执行本发明的当前优选模式的特定示例来描述了本发明,本领域技术任何应该理解,上述系统和技术的各种变化和改变均落入如所附权利要求书中阐明的本发明的精神和范围之中。例如,尽管上文使用的特定术语涉及电子设计自动化过程,应该理解,可以使用电子设计自动化过程的任何期望组合来实现本发明的各种示例。
由此,除了与“可制造设计”过程一起使用以外,本发明的各种示例可以与“产品设计”(DFY)电子设计自动化过程、“产品辅助”电子设计自动化过程、“平板印刷友好设计”(LFD)电子设计自动化过程一起使用,包括“裁剪清洁”以及“设计清洁”电子设计自动化过程等。同样,除了使用“设计规则检查”电子设计自动化过程以外,本发明的各种实现可以与“物理验证”电子设计自动化过程使用。另外,除了与OPC或者ORC电子设计自动化过程使用以外,本发明的各种实现可以由任何类型的分辨率增强电子设计自动化过程使用。

Claims (87)

1.一种分析电路设计的方法,包括:
将电路设计接收到电子设计自动化过程中;
使用所述电路设计来执行所述电子设计自动化过程;以及
在所述电子设计自动化过程的执行期间,确定与所述电路设计中的设计对象相关联的属性值;以及
将所述属性值存储在存储器存储介质中。
2.根据权利要求1所述的方法,其中所述设计对象选自:多边形边、多边形的一个或者多个顶点、布局电路设计中的几何元素集合、布局电路设计中的层次单元的布置、以及逻辑电路设计中的项。
3.根据权利要求2所述的方法,其中所述设计对象是布局设计中的几何元素集合,其选自:一组多边形边、一组多边形、所述布局电路设计中的层次单元、所述布局设计中指定类型的每个层次单元、以及所述布局设计层中的全部几何元素的集合。
4.根据权利要求2所述的方法,其中所述设计对象是逻辑电路设计中的项,其选自:网、器件和实例管脚。
5.根据权利要求1所述的方法,其中所述属性值与该属性所关联的设计对象的描述相分离。
6.根据权利要求1所述的方法,其中所述属性具有常量值。
7.根据权利要求1所述的方法,其中所述属性具有包括可变函数的值定义。
8.根据权利要求7所述的方法,其中所述可变函数结合了所述电路设计中的几何数据。
9.根据权利要求7所述的方法,其中所述可变函数以程序脚本来描述。
10.根据权利要求1所述的方法,其中所述属性具有包括矢量的值。
11.根据权利要求1所述的方法,其中所述属性具有包括值阵列的值。
12.根据权利要求1所述的方法,其中所述属性具有结合第二属性的复合值。
13.根据权利要求1所述的方法,其中所述属性具有选择性值定义,该选择性值定义在第一组条件集下定义所述属性的第一值,而在不同于所述第一组条件的第二组条件下定义所述属性的第二值。
14.根据权利要求1所述的方法,其中所述属性具有包括字符串的值。
15.根据权利要求1所述的方法,其中所述属性具有两个或者更多的并列值。
16.根据权利要求15所述的方法,其中所述两个或者更多并列属性值是不同类型的。
17.根据权利要求15所述的方法,其中所述两个或者更多并列属性值是坐标值。
18.根据权利要求1所述的方法,进一步包括:
在所述电子设计自动化过程的执行期间,将所述属性与所述电路设计中的第二设计对象相关联。
19.根据权利要求1所述的方法,进一步包括:
在所述电子设计自动化过程的执行期间,
添加所述属性的至少一个值定义;以及
确定所述属性的每个值定义的值。
20.根据权利要求1所述的方法,进一步包括:
在所述电子设计自动化过程的执行期间,确定第二属性的值,其中所述第二属性与所述电路设计中的不同设计对象相关联。
21.根据权利要求1所述的方法,进一步包括:
在所述电子设计自动化过程的执行期间,利用所述属性的新确定的值来替换所述属性的先前确定的值。
22.根据权利要求21所述的方法,进一步包括:从所述属性的先前确定的值导出所述属性的新确定的值。
23.根据权利要求21所述的方法,进一步包括:
将所述属性的新确定的值存储在存储所述属性的先前确定的值的存储器存储介质中。
24.一种分析电路设计的方法,包括:
将电路设计接收到电子设计自动化过程中;
使用所述电路设计来执行所述电子设计自动化过程;
在所述电子设计自动化过程的执行期间,确定属性的值,所述属性:
与所述电路设计中的第一设计对象相关联;以及
具有从不同于所述第一设计对象的至少一个第二设计对象的特征导出的值;以及
将所述属性的值存储在存储器存储介质中。
25.根据权利要求24所述的方法,其中所述第一设计对象选自:多边形边、多边形的一个或者多个顶点、布局电路设计中的几何元素的集合、布局电路设计中层次单元的布置、以及逻辑电路设计中的项。
26.根据权利要求25所述的方法,其中所述第一设计对象是布局设计中的几何元素的集合,其选自:一组多边形边、一组多边形、网、所述布局电路设计中层次单元、所述布局设计中指定类型的每个层次单元、以及所述布局设计层中的全部几何元素的集合。
27.根据权利要求25所述的方法,其中所述第一设计对象是逻辑电路设计中的项,其选自:网、器件和实例管脚。
28.根据权利要求24所述的方法,其中所述第二设计对象选自:多边形边、多边形的一个或者多个顶点、多边形、布局电路设计中的几何元素的集合、布局电路设计中层次单元的布置、以及逻辑电路设计中的项。
29.根据权利要求28所述的方法,其中所述第二设计对象是布局设计中的几何元素的集合,其选自:一组多边形边、一组多边形、网、所述布局电路设计中层次单元、所述布局设计中指定类型的每个层次单元、以及所述布局设计层中的全部几何元素的集合。
30.根据权利要求28所述的方法,其中所述第二设计对象是逻辑电路设计中的项,其选自:网、器件和实例管脚。
31.根据权利要求24所述的方法,其中所述特征是所述至少一个第二设计对象的特性。
32.根据权利要求24所述的方法,其中所述特征是与所述至少一个第二设计对象相关联的第二属性的值。
33.根据权利要求24所述的方法,所述至少一个第二设计对象选自:同与所述属性相关联的设计对象接触的几何元素、同与所述属性相关联的设计对象相交的几何元素、处于与所述属性相关联的设计对象的指定邻近区域内的几何元素、处于与所述属性相关联的设计对象的指定邻近区域内或者处于其他相关设计对象的指定邻近区域内的几何元素、同与所述属性相关联的设计对象重叠的几何元素、由与所述属性相关联的设计对象所裁剪的几何元素的部分、与所述设计对象属于相同器件的逻辑电路设计中的项、与所述设计对象共享网的逻辑电路设计中的项、以及与所述设计对象共享引用标识符的逻辑电路设计中的项。
34.根据权利要求24所述的方法,其中所述属性具有包括可变函数的值定义。
35.根据权利要求34所述的方法,其中所述可变函数以程序脚本来描述。
36.根据权利要求24所述的方法,其中所述属性具有选择性值定义,其在第一组条件下确定第一值,并在不同于所述第一组条件的第二组条件下确定第二值,使所述第一值和所述第二值的至少一个从所述至少一个第二设计对象的所述特征导出。
37.根据权利要求24所述的方法,其中所述属性具有两个或者更多并列的值定义,使得所述值定义中的至少一个使用所述至少一个第二设计对象的所述特征。
38.根据权利要求37所述的方法,其中所述特征是所述至少一个第二设计对象的特性。
39.根据权利要求37所述的方法,其中所述特征是与所述至少一个第二设计对象相关联的第二属性的值。
40.根据权利要求24所述的方法,进一步包括:
在所述电子设计自动化过程的执行期间,添加所述属性的至少一个值定义,所述值定义使用所述至少一个第二设计对象的所述特征;以及
确定所述属性的每个值定义的值。
41.根据权利要求24所述的方法,其中所述特征是所述至少一个第二设计对象的特性。
42.根据权利要求21所述的方法,其中所述特征是与所述至少一个第二设计对象相关联的第二属性的值。
43.一种分析电路设计的方法,包括:
将电路设计接收到电子设计自动化过程中;
使用所述电路设计来执行所述电子设计自动化过程;
在所述电子设计自动化过程的执行期间,确定属性的值,所述属性:
与所述电路设计中的第一设计对象相关联;以及
具有从与所述属性相关联的所述设计对象相分离的几何元素导出的值。
44.一种分析电路设计的方法,包括:
在第一电子设计自动化过程处接收电路设计;
使用所述电路设计来执行所述第一电子设计自动化过程;以及
在所述第一电子设计自动化过程的执行期间,确定与所述电路设计中的设计对象相关联的属性值;以及
将所述属性值存储在存储器存储介质中,以供第二电子设计自动化过程使用。
45.根据权利要求44所述的方法,其中所述属性值被输出至存储器存储介质,以供所述第二电子设计自动化过程随后使用。
46.根据权利要求44所述的方法,其中所述属性值被直接输出至所述第二电子设计自动化过程。
47.根据权利要求44所述的方法,进一步包括:使用所述属性值来执行所述第二电子设计自动化过程。
48.根据权利要求47所述的方法,进一步包括:基于使用所述属性值执行所述第二电子设计自动化过程的结果,来制造电路。
49.根据权利要求44所述的方法,进一步包括:
在所述第一电子设计自动化过程的执行期间,确定与所述电路设计中的第二设计对象相关联的第二属性的至少一个值;
将具有第一属性值的所述第二属性值输出至所述第二电子设计自动化过程。
50.根据权利要求44所述的方法,其中:
所述第一电子设计自动化过程是仿真分析过程;以及
所述第二电子设计自动化过程是几何分析过程或者逻辑分析过程。
51.根据权利要求50所述的方法,其中所述仿真分析过程选自:光学邻近修正过程、蚀刻仿真分析过程以及平面化仿真分析过程。
52.根据权利要求51所述的方法,其中
所述仿真分析过程是光学邻近修正过程;以及
进一步包括:确定所述属性值,以描述由所述光学邻近修正过程导出的信息,所述信息选自:轮廓信息、缩进信息、箍缩信息、桥接信息、门变化信息、联系稳定性信息以及互连变化信息。
53.根据权利要求51所述的方法,其中
所述仿真分析过程是光学邻近修正过程;以及
进一步包括:确定所述属性值作为过程变化带的描述,其中所述过程变化带由与所述属性相关联的所述设计对象相关的所述光学邻近修正过程导出。
54.根据权利要求50所述的方法,其中所述第二电子设计自动化过程是逻辑分析过程,其选自:布局对原理图过程、电学规则检查过程、以及设计逻辑验证过程。
55.根据权利要求50所述的方法,其中:
所述第二电子设计自动化过程是布局对原理图过程;以及
所述至少一个属性值涉及与所述属性相关联的设计对象所表示的电子器件的操作特性。
56.根据权利要求50所述的方法,其中所述第二电子设计自动化过程是几何分析过程,其选自:可制造设计过程以及设计规则检查过程。
57.根据权利要求44所述的方法,其中:
所述第一电子设计自动化过程是逻辑分析过程;以及
所述第二电子设计自动化过程是仿真分析过程或者几何分析过程。
58.根据权利要求57所述的方法,其中:
所述第一电子设计自动化过程是逻辑分析过程,其选自:布局对原理图过程、电学规则检查过程以及设计逻辑验证过程。
59.根据权利要求58所述的方法,其中:
所述第一电子设计自动化过程是布局对原理图过程;以及
所述至少一个属性值涉及与所述属性相关联的设计对象所表示的电子器件的操作特性。
60.根据权利要求57所述的方法,其中所述第二电子设计自动化过程是仿真分析过程,其选自:光学邻近修正过程、蚀刻仿真分析过程以及平面化仿真分析过程。
61.根据权利要求60所述的方法,其中
所述仿真分析过程是光学邻近修正过程;以及
进一步包括:确定所述属性值,以描述由所述光学邻近修正过程导出的信息,所述信息选自:轮廓信息、缩进信息、箍缩信息、桥接信息、门变化信息、联系稳定性信息以及互连变化信息。
62.根据权利要求60所述的方法,其中
所述仿真分析过程是光学邻近修正过程;以及
进一步包括:确定属性值以描述过程变化带,所述过程变化带由与所述属性所关联的设计对象相关的所述光学邻近修正过程导出。
63.根据权利要求57所述的方法,其中所述第二电子设计自动化过程是几何分析过程,其选自:可制造设计过程以及设计规则检查过程。
64.根据权利要求44所述的方法,其中:
所述第一电子设计自动化过程是几何分析过程;以及
所述第二电子设计自动化过程是仿真分析过程或者逻辑分析过程。
65.根据权利要求64所述的方法,其中所述第一电子设计自动化过程是几何分析过程,其选自:可制造设计过程以及设计规则检查过程。
66.根据权利要求64所述的方法,其中所述第二电子设计自动化过程是仿真分析过程,其选自:光学邻近修正过程、蚀刻仿真分析过程以及平面化仿真分析过程。
67.根据权利要求66所述的方法,其中
所述仿真分析过程是光学邻近修正过程;以及
进一步包括:确定所述属性值以描述由所述光学邻近修正过程导出的信息,所述信息选自:轮廓信息、缩进信息、箍缩信息、桥接信息、门变化信息、联系稳定性信息以及互连变化信息。
68.根据权利要求66所述的方法,其中
所述仿真分析过程是光学邻近修正过程;以及
进一步包括:确定属性值以描述过程变化带,所述过程变化带由与所述属性所关联的设计对象相关的所述光学邻近修正过程导出。
69.根据权利要求64所述的方法,其中所述第二电子设计自动化过程是逻辑分析过程,其选自:布局对原理图过程、电学规则检查过程以及设计逻辑验证过程。
70.根据权利要求64所述的方法,其中:
所述第二电子设计自动化过程是布局对原理图过程;以及
所述至少一个属性值涉及与所述属性相关联的设计对象所表示的电子器件的操作特性。
71.一种分析电路设计的方法,包括:
在电子设计自动化过程处接收电路设计;
执行所述电子设计自动化过程的第一部分;以及
在所述电子设计自动化过程的所述第一部分的执行期间,确定与所述电路设计中的设计对象相关联的属性值;以及
将所述属性值存储在存储器存储介质中,以供所述电子设计自动化过程的第二部分使用。
72.根据权利要求71所述的方法,进一步包括:使用所述属性值来执行所述电子设计自动化过程的所述第二部分。
73.根据权利要求72所述的方法,进一步包括:基于使用所述属性值执行所述电子设计自动化过程的所述第二部分的结果,来制造电路。
74.根据权利要求71所述的方法,其中所述电子设计自动化过程选自:几何分析过程、仿真分析过程以及逻辑分析过程。
75.根据权利要求74所述的方法,其中所述电子设计自动化过程是几何分析过程,其选自:可制造设计过程以及设计规则检查过程。
76.根据权利要求74所述的方法,其中所述电子设计自动化过程是仿真分析过程,其选自:光学邻近修正过程、蚀刻仿真分析过程以及平面化仿真分析过程。
77.根据权利要求76所述的方法,其中
所述仿真分析过程是光学邻近修正过程,以及
进一步包括:确定属性值以描述由所述光学邻近修正过程导出的信息,所述信息选自:轮廓信息、缩进信息、箍缩信息、桥接信息、门变化信息、联系稳定性信息以及互连变化信息。
78.根据权利要求76所述的方法,其中
所述仿真分析过程是光学邻近修正过程,以及
进一步包括:确定属性值以描述过程变化带,所述过程变化带由与所述属性所关联的设计对象相关的所述光学邻近修正过程导出。
79.根据权利要求74所述的方法,其中所述电子设计自动化过程是逻辑分析过程。
80.根据权利要求79所述的方法,其中
所述逻辑分析过程选自:布局对原理图过程、电学规则检查过程、以及设计逻辑验证过程。
81.根据权利要求79所述的方法,其中
所述逻辑分析过程是布局对原理图过程,以及
所述属性值涉及由所述属性所关联的所述设计对象所表示的电子器件的操作特性。
82.一种数据结构,包括:
描述设计对象的数据,所述设计对象选自:多边形边、布局设计中的几何元素集合、以及逻辑电路设计中的项;以及
定义与所述设计对象相关联的属性值的数据。
83.根据权利要求82所述的数据结构,其中所述设计对象是布局设计中的几何元素集合,其选自:一组多边形边、一组多边形、网、所述布局设计中层次单元、所述布局设计中指定类型的每个层次单元、以及所述布局设计层中的全部几何元素的集合。
84.根据权利要求82所述的数据结构,其中描述所述设计对象的所述数据以及定义与所述设计对象相关联的至少一个属性值的所述数据被设置在表中。
85.根据权利要求82所述的数据结构,其中所述数据定义所述属性的多个并列的值。
86.根据权利要求85所述的数据结构,其中所述属性的多个并列的值存储在阵列中。
87.根据权利要求82所述的数据结构,进一步包括:与所述属性相关联的引用计数数据,所述引用计数数据将所述属性与除所述第一设计对象之外的至少一个第二设计对象相关联。
CNA2007800437929A 2006-10-09 2007-10-09 电子设计自动化中的属性 Pending CN101542488A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US85071606P 2006-10-09 2006-10-09
US60/850,716 2006-10-09

Publications (1)

Publication Number Publication Date
CN101542488A true CN101542488A (zh) 2009-09-23

Family

ID=39124584

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007800437929A Pending CN101542488A (zh) 2006-10-09 2007-10-09 电子设计自动化中的属性

Country Status (5)

Country Link
US (4) US20080168410A1 (zh)
EP (1) EP2080130A1 (zh)
JP (1) JP2010506336A (zh)
CN (1) CN101542488A (zh)
WO (1) WO2008045900A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103034742A (zh) * 2011-09-30 2013-04-10 北京华大九天软件有限公司 一种快捷生成器件的方法
CN104616557A (zh) * 2015-01-30 2015-05-13 南车株洲电力机车有限公司 一种轨道车辆模拟电路生成方法、系统及控制方法、系统
CN106777441A (zh) * 2015-11-24 2017-05-31 龙芯中科技术有限公司 时序约束管理方法及装置
CN108140059A (zh) * 2015-05-19 2018-06-08 明导公司 用于基于布局的检查的分析过程参数的可视化
CN113589642A (zh) * 2021-07-05 2021-11-02 广东省大湾区集成电路与系统应用研究院 集成电路开路缺陷预测的方法、装置、计算机设备及介质
CN116661856A (zh) * 2023-08-01 2023-08-29 上海合见工业软件集团有限公司 Eda软件的数据拼接系统

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7530038B2 (en) * 2005-10-07 2009-05-05 International Business Machines Corporation Method and placement tool for designing the layout of an electronic circuit
TW200811684A (en) * 2006-02-17 2008-03-01 Mentor Graphics Corp Gate modeling for semiconductor fabrication process effects
US20070283306A1 (en) * 2006-05-30 2007-12-06 Matthias Koefferlein Layout cells, layout cell arrangement, method of generating a layout cell, method of generating a layout cell arrangement, computer program products
US20080168410A1 (en) * 2006-10-09 2008-07-10 Mentor Graphics Corporation Properties In Electronic Design Automation
JP4380729B2 (ja) * 2007-05-24 2009-12-09 ソニー株式会社 パターン設計方法、パターン設計プログラムおよびパターン設計装置
NL1036189A1 (nl) * 2007-12-05 2009-06-08 Brion Tech Inc Methods and System for Lithography Process Window Simulation.
US20100023905A1 (en) * 2008-02-20 2010-01-28 Pikus Fedor G Critical Area Deterministic Sampling
US7793238B1 (en) * 2008-03-24 2010-09-07 Xilinx, Inc. Method and apparatus for improving a circuit layout using a hierarchical layout description
US8136068B2 (en) * 2008-09-30 2012-03-13 Cadence Design Systems, Inc. Methods, systems, and computer program products for implementing compact manufacturing models in electronic design automation
US8893061B2 (en) * 2009-01-30 2014-11-18 Synopsys, Inc. Incremental concurrent processing for efficient computation of high-volume layout data
NL2004392A (en) * 2009-04-15 2010-10-18 Asml Netherlands Bv Lithographic apparatus, control system, multi-core processor, and a method to start tasks on a multi-core processor.
US20110145772A1 (en) * 2009-05-14 2011-06-16 Pikus Fedor G Modular Platform For Integrated Circuit Design Analysis And Verification
US8549448B2 (en) * 2009-07-09 2013-10-01 Synopsys, Inc. Delay optimization during circuit design at layout level
US8838544B2 (en) * 2009-09-23 2014-09-16 International Business Machines Corporation Fast history based compression in a pipelined architecture
US8316330B2 (en) * 2009-12-09 2012-11-20 Anupam Bakshi System and method for circuit design automation
US20110289472A1 (en) * 2010-05-19 2011-11-24 International Business Machines Corporation Layout quality evaluation
CN102625605A (zh) * 2011-01-27 2012-08-01 鸿富锦精密工业(深圳)有限公司 电子装置及其使用的弹开机构
US8745550B2 (en) * 2012-07-09 2014-06-03 Taiwan Semiconductor Manufacturing Company, Ltd. Fracture aware OPC
CN103728552B (zh) * 2012-10-12 2016-06-22 苏州捷泰科信息技术有限公司 芯片管脚连接关系检测方法及系统
US9134254B2 (en) * 2013-01-07 2015-09-15 Kla-Tencor Corp. Determining a position of inspection system output in design data space
US9026970B2 (en) * 2013-03-07 2015-05-05 Freescale Semiconductor, Inc. Prioritized design for manufacturing virtualization with design rule checking filtering
US20140330786A1 (en) * 2013-05-02 2014-11-06 Global Foundries, Inc. Computer-implemented methods and systems for revision control of integrated circuit layout recipe files
US10185799B2 (en) 2014-04-22 2019-01-22 Mentor Graphics Corporation Verification of photonic integrated circuits
US10444734B2 (en) 2014-08-22 2019-10-15 Mentor Graphics Corporation Manufacture of non-rectilinear features
US10771982B2 (en) * 2018-10-24 2020-09-08 Mentor Graphics Corporation Resource utilization of heterogeneous compute units in electronic design automation
CN111259616B (zh) * 2020-01-10 2023-06-30 芯峰光电技术(深圳)有限公司 一种集成电路布局数据的处理方法
US11574103B2 (en) * 2020-01-31 2023-02-07 International Business Machines Corporation Addressing layout retargeting shortfalls

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822218A (en) * 1996-08-27 1998-10-13 Clemson University Systems, methods and computer program products for prediction of defect-related failures in integrated circuits
US6684376B1 (en) * 1997-01-27 2004-01-27 Unisys Corporation Method and apparatus for selecting components within a circuit design database
US7107571B2 (en) * 1997-09-17 2006-09-12 Synopsys, Inc. Visual analysis and verification system using advanced tools
US7093229B2 (en) * 1997-09-17 2006-08-15 Synopsys, Inc. System and method for providing defect printability analysis of photolithographic masks with job-based automation
US6249903B1 (en) 1998-03-31 2001-06-19 Mcsherry Michael C. Method and apparatus for generating and maintaining electrical modeling data for a deep sub-micron integrated circuit design
US6230299B1 (en) 1998-03-31 2001-05-08 Mentor Graphics Corporation Method and apparatus for extracting and storing connectivity and geometrical data for a deep sub-micron integrated circuit design
US6057169A (en) * 1998-04-17 2000-05-02 Lsi Logic Corporation Method for I/O device layout during integrated circuit design
US6473885B1 (en) 1998-07-17 2002-10-29 Mentor Graphics Corporation Digital circuit layout techniques using circuit decomposition and pin swapping
US6339836B1 (en) 1998-08-24 2002-01-15 Mentor Graphics Corporation Automated design partitioning
US6397372B1 (en) 1999-01-19 2002-05-28 Zeki Bozkus Cell based parallel verification of an integrated circuit design
US7412676B2 (en) 2000-06-13 2008-08-12 Nicolas B Cobb Integrated OPC verification tool
US6425113B1 (en) 2000-06-13 2002-07-23 Leigh C. Anderson Integrated verification and manufacturability tool
WO2001097096A1 (en) * 2000-06-13 2001-12-20 Mentor Graphics Corporation Integrated verification and manufacturability tool
AU2002210300A1 (en) 2000-10-18 2002-04-29 Chipworks Design analysis workstation for analyzing integrated circuits
US6920624B2 (en) 2002-01-17 2005-07-19 Seagate Technology, Llc Methodology of creating an object database from a Gerber file
US7178114B2 (en) * 2002-05-31 2007-02-13 Springsoft, Inc. Scripted, hierarchical template-based IC physical layout system
WO2003104921A2 (en) 2002-06-07 2003-12-18 Praesagus, Inc. Characterization adn reduction of variation for integrated circuits
US6912705B2 (en) 2002-06-27 2005-06-28 Sun Microsystems, Inc. Method and apparatus for performing operation on physical design data
US6983440B1 (en) * 2003-01-14 2006-01-03 Cadence Design Systems, Inc. Shape abstraction mechanism
GB0301993D0 (en) * 2003-01-29 2003-02-26 Univ Edinburgh System and method for rapid prototyping of asic systems
US20070055892A1 (en) * 2003-09-26 2007-03-08 Mentor Graphics Corp. Concealment of information in electronic design automation
US7353468B2 (en) * 2003-09-26 2008-04-01 Ferguson John G Secure exchange of information in electronic design automation
US7155689B2 (en) * 2003-10-07 2006-12-26 Magma Design Automation, Inc. Design-manufacturing interface via a unified model
GB0327959D0 (en) 2003-12-03 2004-01-07 Symgenis Ltd System and method for architecture verification
EP1747520B1 (en) 2004-05-07 2018-10-24 Mentor Graphics Corporation Integrated circuit layout design methodology with process variation bands
US7281222B1 (en) * 2004-06-02 2007-10-09 Advanced Micro Devices, Inc. System and method for automatic generation of optical proximity correction (OPC) rule sets
US7536664B2 (en) * 2004-08-12 2009-05-19 International Business Machines Corporation Physical design system and method
US7716611B2 (en) * 2004-11-13 2010-05-11 Mentor Graphics Corporation Logic injection
US7506277B1 (en) * 2005-07-28 2009-03-17 Cadence Design Systems, Inc. Method and mechanism for implementing DFM aware cells for an electronic design
US7570796B2 (en) 2005-11-18 2009-08-04 Kla-Tencor Technologies Corp. Methods and systems for utilizing design data in combination with inspection data
US7802222B2 (en) * 2006-09-25 2010-09-21 Cadence Design Systems, Inc. Generalized constraint collection management method
US20080168410A1 (en) * 2006-10-09 2008-07-10 Mentor Graphics Corporation Properties In Electronic Design Automation
US7562324B2 (en) 2006-11-09 2009-07-14 Chang Gung University Method of designing a synchronous circuit of VLSI for clock skew scheduling and optimization

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103034742A (zh) * 2011-09-30 2013-04-10 北京华大九天软件有限公司 一种快捷生成器件的方法
CN103034742B (zh) * 2011-09-30 2015-11-25 北京华大九天软件有限公司 一种快捷生成器件的方法
CN104616557A (zh) * 2015-01-30 2015-05-13 南车株洲电力机车有限公司 一种轨道车辆模拟电路生成方法、系统及控制方法、系统
CN108140059A (zh) * 2015-05-19 2018-06-08 明导公司 用于基于布局的检查的分析过程参数的可视化
CN108140059B (zh) * 2015-05-19 2022-04-15 西门子工业软件有限公司 用于基于布局的检查的分析过程参数的可视化
CN106777441A (zh) * 2015-11-24 2017-05-31 龙芯中科技术有限公司 时序约束管理方法及装置
CN106777441B (zh) * 2015-11-24 2020-04-21 龙芯中科技术有限公司 时序约束管理方法及装置
CN113589642A (zh) * 2021-07-05 2021-11-02 广东省大湾区集成电路与系统应用研究院 集成电路开路缺陷预测的方法、装置、计算机设备及介质
CN113589642B (zh) * 2021-07-05 2024-02-27 广东省大湾区集成电路与系统应用研究院 集成电路开路缺陷预测的方法、装置、计算机设备及介质
CN116661856A (zh) * 2023-08-01 2023-08-29 上海合见工业软件集团有限公司 Eda软件的数据拼接系统
CN116661856B (zh) * 2023-08-01 2023-10-20 上海合见工业软件集团有限公司 Eda软件的数据拼接系统

Also Published As

Publication number Publication date
US20080168410A1 (en) 2008-07-10
JP2010506336A (ja) 2010-02-25
EP2080130A1 (en) 2009-07-22
US20080141193A1 (en) 2008-06-12
US10643015B2 (en) 2020-05-05
US20080115096A1 (en) 2008-05-15
US20080115097A1 (en) 2008-05-15
WO2008045900A1 (en) 2008-04-17

Similar Documents

Publication Publication Date Title
CN101542488A (zh) 电子设计自动化中的属性
US8516399B2 (en) Collaborative environment for physical verification of microdevice designs
CN101669121B (zh) 增量式布局分析
US20100185994A1 (en) Topological Pattern Matching
US8612919B2 (en) Model-based design verification
US8572533B2 (en) Waiving density violations
US20140337810A1 (en) Modular platform for integrated circuit design analysis and verification
US20100257496A1 (en) Design-Rule-Check Waiver
US20130198703A1 (en) Virtual Flat Traversal Of A Hierarchical Circuit Design
US20120011480A1 (en) Logic-Driven Layout Verification
US10089432B2 (en) Rule-check waiver
US20110145770A1 (en) Device Annotation
US9262574B2 (en) Voltage-related analysis of layout design data
US20130198712A1 (en) Canonical Signature Generation For Layout Design Data
US20130263074A1 (en) Analog Rule Check Waiver
US20100229133A1 (en) Property-Based Classification In Electronic Design Automation
US20120198394A1 (en) Method For Improving Circuit Design Robustness
US20100023897A1 (en) Property-Based Classification In Electronic Design Automation
US9183330B2 (en) Estimation of power and thermal profiles
US20110265054A1 (en) Design-Rule-Check Waiver
US20110119544A1 (en) User Guided Short Correction And Schematic Fix Visualization
US20120054703A1 (en) Virtual Flat Traversal Of A Hierarchical Circuit Design
US20120192134A1 (en) User Guided Short Correction And Schematic Fix Visualization
Salem Electrical Design for Manufacturability Solutions: Fast Systematic Variation Analysis and Design Enhancement Techniques

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20090923