CN108416077A - 用于通过考虑后段制程来设计集成电路的方法和计算系统 - Google Patents
用于通过考虑后段制程来设计集成电路的方法和计算系统 Download PDFInfo
- Publication number
- CN108416077A CN108416077A CN201810018185.7A CN201810018185A CN108416077A CN 108416077 A CN108416077 A CN 108416077A CN 201810018185 A CN201810018185 A CN 201810018185A CN 108416077 A CN108416077 A CN 108416077A
- Authority
- CN
- China
- Prior art keywords
- clock
- clock delay
- operations
- integrated circuit
- computer implemented
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 101
- 238000013461 design Methods 0.000 title claims abstract description 80
- 230000008569 process Effects 0.000 title description 18
- 239000000284 extract Substances 0.000 claims abstract description 18
- 230000003071 parasitic effect Effects 0.000 claims description 97
- 230000003111 delayed effect Effects 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 11
- 230000024241 parasitism Effects 0.000 claims description 5
- 230000001934 delay Effects 0.000 claims description 4
- 238000003860 storage Methods 0.000 description 30
- 230000015572 biosynthetic process Effects 0.000 description 28
- 238000003786 synthesis reaction Methods 0.000 description 25
- 239000004065 semiconductor Substances 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000005457 optimization Methods 0.000 description 10
- 230000006399 behavior Effects 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000008447 perception Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000005137 deposition process Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 238000001259 photo etching Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000003566 sealing material Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
- 238000012795 verification 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/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
-
- 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/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- 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
- G06F30/3947—Routing global
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
提供了设计集成电路的计算机实现的方法和计算系统。一种根据本发明构思的设计集成电路的计算机实现的方法可以由处理器执行并且可以包括:针对限定所述集成电路的标准单元执行布置和路由(P&R)操作;从所述P&R操作的结果提取特征值;通过基于所提取的特征值确定分别对应于多个组的多个代表性特征值来产生物理感知批注文件;以及基于所产生的物理感知批注文件执行物理感知合成操作以从所述集成电路的输入数据产生网表。
Description
相关申请的交叉引用
本申请要求2017年2月10日在韩国知识产权局提交的韩国专利申请号10-2017-0018764的优先权,所述申请的内容通过引用整体并入本文。
技术领域
本发明构思的实施例涉及集成电路,并且更具体地,涉及用于设计集成电路的计算机实施的方法和计算系统。
背景技术
可以基于标准单元来设计集成电路。确切地,可以根据限定集成电路的数据来布置标准单元,并且可以路由选择经布置的标准单元以产生集成电路的布局。随着半导体的制造工艺变得微细化,可以减小标准单元中的图案的大小和标准单元本身的大小。在这方面,路由拥塞和金属电阻可能会增加,因此在集成电路设计中与BEOL(Back-End-Of-Line,后段制程)有关的影响的重要性正在增加。
发明内容
本发明构思的一些实施例可以提供用于通过考虑后段制程(BEOL)来设计集成电路的计算机实现的方法和计算系统。
根据本发明构思的一些实施例,可以提供设计包括逻辑模块的集成电路的计算机实现的方法。方法可以由处理器执行。所述方法可以包括:针对限定集成电路的标准单元执行布置和路由(placement and routing,P&R)操作;从P&R操作的结果提取特征值;通过基于所提取的特征值确定分别对应于多组逻辑模块的多个代表性特征值来产生物理感知批注文件;以及基于所产生的物理感知批注文件执行物理感知合成操作以从集成电路的输入数据产生网表。
根据本发明构思的一些实施例,可以提供设计集成电路的计算机实现的方法。方法可以由处理器执行。所述可以包括:针对限定集成电路的多个标准单元执行第一布置和路由(P&R)操作;从第一P&R操作的结果提取时钟延迟信息和寄生分量信息中的至少一个;基于所提取的时钟延迟信息和寄生分量信息中的至少一个,执行物理感知合成操作以从集成电路的输入数据产生网表;以及根据所产生的网表,针对限定集成电路的多个标准单元执行第二P&R操作。
根据本发明构思的一些实施例,可以提供设计集成电路的计算机实现的方法。方法可以由处理器执行。所述方法可以包括:基于集成电路的网表执行第一P&R操作;以及从第一P&R操作的结果提取时钟延迟信息;以及基于网表和时钟延迟信息执行第二P&R操作,其中第二P&R操作的执行包括基于所提取的时钟延迟信息,布置限定集成电路的多个标准单元。
根据本发明构思的一些实施例,可以提供设计集成电路的计算机实现的方法。方法可以由处理器执行。所述方法可以包括:执行第一P&R操作以布置限定集成电路的第一多个标准单元;从第一P&R操作的结果提取时钟延迟信息;以及执行第二P&R操作以基于时钟延迟信息布置限定集成电路的第二多个标准单元。
附图说明
鉴于详细描述和附图,将更清楚地理解本发明构思。
图1是示出根据本发明构思的一些实施例的制造半导体器件的方法的操作的流程图。
图2是概念性地示出根据本发明构思的一些实施例的设计集成电路的方法的操作的框图。
图3是概念性地示出根据本发明构思的一些实施例的设计集成电路的方法的操作的框图。
图4是概念性地示出根据本发明构思的一些实施例的时钟延迟批注的框图。
图5A至图5C是概念性地示出根据本发明构思的一些实施例的时钟延迟批注的框图。
图6是根据本发明构思的一些实施例的最小时钟延迟和最大时钟延迟的表格。
图7A是示出根据本发明构思的一些实施例的图3的设计方法的操作的流程图。
图7B是示出根据本发明构思的一些实施例的图3的设计方法的操作的流程图。
图8是根据本发明构思的一些实施例的最小时钟延迟和最大时钟延迟的表格。
图9是示出根据本发明构思的一些实施例的图7A的合成操作的操作的流程图。
图10是概念性地示出根据本发明构思的一些实施例的设计集成电路的方法的操作的框图。
图11是示出根据本发明构思的一些实施例的图10的设计方法的操作的流程图。
图12是示出根据本发明构思的一些实施例的产生寄生缩放因子表的方法的操作的流程图。
图13A是根据本发明构思的一些实施例的寄生电阻缩放因子表,并且图13B是根据本发明构思的一些实施例的寄生电容缩放因子表。
图14是示出根据本发明构思的一些实施例的图11的合成操作的操作的流程图。
图15是概念性地示出根据本发明构思的一些实施例的设计集成电路的方法的操作的框图。
图16是示出根据本发明构思的一些实施例的用于设计集成电路的计算系统的框图。
图17是示出根据本发明构思的一些实施例的存储在图16的工作存储器中的程序的框图。
图18是示出根据本发明构思的一些实施例的用于设计集成电路的计算系统的框图。
图19是示出根据本发明构思的一些实施例的设计集成电路的方法的操作的流程图。
图20是示出根据本发明构思的一些实施例的设计集成电路的方法的操作的流程图。
图21是示出根据本发明构思的一些实施例的非暂时性计算机可读存储介质的框图。
具体实施方式
图1是示出根据本发明构思的一些实施例的制造半导体器件的方法的流程图。
参考图1,制造半导体器件的方法可以分为设计集成电路的过程和集成电路的制造过程。集成电路的设计可以包括用于设计集成电路布局的操作S110和S130,并且可以使用用于设计集成电路的工具来执行。用于设计集成电路的工具可以是包括由处理器执行的多个指令的程序。因此,设计集成电路的方法可以被称为用于设计集成电路的计算机实现方法。集成电路的制造过程可以包括操作S150和S170,并且当基于布局数据制造包括集成电路的半导体器件时,可以在半导体处理模块中执行。
在操作S110中,可以执行物理感知合成操作。例如,处理器可以使用合成工具来执行操作S110。例如,合成工具可以包括可编程代码,所述可编程代码在由处理器执行时,可以执行物理感知合成操作。可编程代码可以存储在非易失性存储器设备中。如本文所使用的“合成”可以指产生网表的操作,由此将集成电路的输入数据转换成由逻辑门组成的硬件形式,并且所述操作可以被称为“逻辑合成”。输入数据可以是相对于集成电路行为的抽象形式,例如由寄存器传送级(Register Transfer Level,RTL)限定的数据。可以使用标准单元库从RTL代码产生网表,并且网表可以是门级网表。
集成电路可以包括多个时钟路径和多个数据路径。在合成操作中,可以根据理想时钟信号产生时钟路径,并且可以使用全局路由来产生数据路径。在布置和路由(P&R)操作中,可以根据延迟的时钟信号产生时钟路径,并且可以使用细节路由来产生数据路径。在此方面,在合成操作中产生的时钟路径与P&R操作中产生的时钟路径之间可能存在非相关性,并且在合成操作中产生的数据路径与P&R操作中产生的数据路径之间可能存在非相关性。
在操作S110中,可以使用从先前P&R操作的结果提取的特征值来执行物理感知合成操作,以便考虑到后段制程(BEOL)的效果。因此,可以减少在合成操作中产生的时钟路径与在P&R操作中产生的时钟路径之间的差异,并且可以减少在合成操作中产生的数据路径与在P&R操作中产生的数据路径之间的差异。在一些实施例中,所提取的特征值和RTL代码可以作为输入文件提供给合成工具,并且门级网表可以作为输出文件从合成工具输出。然而,本发明的概念不限于此,并且在一些实施例中,代表性特征值和/或物理感知批注文件可以作为输入文件输入到合成工具。
在一些实施例中,所提取的特征值可以包括时钟延迟信息。时钟延迟信息可以包括在多个时钟路径中的每一个上的时钟延迟,并且可以使用时钟延迟信息来执行操作S110。物理感知合成操作可以被称为时钟树合成(Clock Tree Synthesis,CTS)-感知合成操作。因此,即使在操作S110中不执行CTS,也可以相对于BEOL优化在操作S110中产生的时钟路径。
在一些实施例中,所提取的特征值可以包括寄生分量信息。寄生分量信息可以包括用于多个数据路径(即,多个物理信号网络)中的每一个的寄生电阻或寄生电容,并且可以使用寄生分量信息来执行细节路由感知合成。因此,即使在操作S110中不执行细节路由,也可以将操作S110中产生的数据路径优化为BEOL。
在操作S130中,可以执行P&R操作。例如,处理器可以使用P&R工具来执行操作S130。例如,P&R工具可以包括可编程代码,所述可编程代码在由处理器执行时,可以执行物理感知P&R操作。可编程代码可以存储在非易失性存储器设备中。在P&R操作中,可以根据网表来布置限定集成电路的标准单元,并且然后,包括在所布置的标准单元中的网络可以被路由以便产生集成电路的布局数据。根据一些实施例,网表可以作为输入文件提供给P&R工具,并且布局数据和特征值可以作为输出文件从P&R工具输出。然而,本发明的概念不限于此,并且在一些实施例中,代表性特征值和/或物理感知批注文件可以作为输出文件从P&R工具输出。
在一些实施例中,由于P&R操作可以提取特征值,并且所提取的特征值可以被提供给合成工具。例如,所提取的特征值可以作为时钟延迟批注文件和/或寄生分量批注文件输出,并且可以被提供给合成工具。因此,可以在当前的合成操作中使用从先前P&R操作的结果提取的特征值,并且可以在下一个合成操作中使用从当前P&R操作的结果提取的特征值。
在合成操作中,由于可以执行层级优化(诸如架构优化和逻辑优化),因此可以轻易改变网表,但是由于可能不执行CTS和细节路由,因此可能难以精确地预测定时,使得可能难以获得最佳的合成结果。否则,在P&R操作中,由于只有单元尺寸设置、阈值电压交换、缓冲器插入等可以是可能的,因此改变网表可能受到限制,但是由于可以执行CTS和细节路由,因此可以比合成操作更精确地预测定时。
可以使用从先前P&R操作的结果提取的特征值来执行物理感知合成。因此,物理感知合成可以具有精确的物理信息,使得与在常规合成操作的情况下相比,可以更精确地预测时间。因此,可以获得更优化的合成结果,即更优化的网表。因此,在随后的P&R操作中,可以容易地执行定时关闭以便改善设计结果质量(Quality of Result,QoR)并且减小周转时间(Turn Around Time,TAT)。
在操作S150中,可以基于布局数据产生掩模。具体地,可以首先基于布局数据执行光学邻近校正(Optical Proximity Correction,OPC)过程。如本文所使用的,OPC可以指一个过程,在所述过程中考虑到由于光学邻近效应而引起的误差来改变布局。然后,可以根据由于OPC性能而改变的布局来产生掩模。可以使用反映OPC的布局(例如,向其施加OPC的图形数据系统(Graphic Data System,GDS)II)来产生掩模。
在操作S170中,可以使用掩模来制造其中体现集成电路的半导体器件。具体地,可以使用多个掩模在半导体衬底(诸如晶片)上执行各种半导体处理,以制造包括集成电路的半导体器件。例如,使用掩模的处理可以包括使用光刻处理的图案化处理。可以使用图案化处理在半导体衬底或材料层上形成期望的图案。半导体处理可以包括沉积处理、蚀刻处理、离子处理和/或清洁处理中的一个或多个。此外,半导体处理可以包括封装过程,在其中半导体器件可以安装在印刷电路板(printed circuit board,PCB)上并且用密封材料来密封;和/或可以包括测试过程,在其中测试半导体器件或封装。
图2是概念性地示出根据本发明构思的一些实施例的设计集成电路的方法的操作的框图。例如,图2示出了根据比较性实施例的设计集成电路S10的方法、以及根据本发明构思的一些实施例的设计集成电路S20的方法。
参考图2,根据所述根据比较性实施例的设计集成电路S10的方法,可以执行第i个合成操作S101,并且然后可以执行第i个P&R操作S102。接下来,可以执行第i+1个合成操作S103,并且然后可以执行第i+1个P&R操作S104(这里,i是任意自然数)。如上所述,合成操作和P&R操作可以被配置为一个集合或一个模块,并且它可以被称为硅虚拟原型制作(Silicon Virtual Prototyping,SVP)。可以重复执行SVP以便反映RTL代码和平面布置图的改变。在第i+1个合成操作S103中可以不使用第i个P&R操作S102的结果,并且没有数据可以从第i个P&R操作S102传送到第i+1个合成操作S103。
根据所述根据本发明构思的一些实施例的设计集成电路S20的方法,可以执行第i个合成操作S210,并且然后可以执行第i个P&R操作S220。接下来,可以执行第i+1个合成操作S230,并且然后可以执行第i+1个P&R操作S240(这里再次,i是任意自然数)。在第i+1个合成操作S230中可以使用第i个P&R操作S220的结果,并且诸如特征值、代表性特征值、或物理感知批注文件的数据可以从第i个P&R操作S220传送到第i+1个合成操作S230。
图3是概念性地示出根据本发明构思的一些实施例的设计集成电路的方法的操作的框图。
参考图3,在P&R操作S310中,可以提取时钟路径上的时钟延迟信息,并且可以将所提取的时钟延迟信息提供给合成工具作为输入文件以便在随后的合成操作中使用。例如,P&R操作S310可以是图2的第i个P&R操作S220。具体地,在P&R操作S310中,可以提取电路的所有触发器的时钟引脚上的时钟延迟信息。此外,在P&R操作S310中,可以基于所提取的时钟延迟信息来产生时钟延迟表格。
在物理感知合成操作S320中,可以使用时钟延迟信息从RTL代码产生门级网表。例如,物理感知合成操作S320可以是图2的第i+1个合成操作S230。物理感知合成操作S320可以是识别BEOL CTS的合成操作。可以使用从先前P&R操作S310提取的时钟延迟信息来执行合成操作,并且因此,网表反映CTS结果。在一些实施例中,使用时钟延迟信息的方法可以是时钟延迟批注。将参考图4至图5C描述包括时钟延迟批注的实施例。
在合成操作中,可能未实际执行CTS,并且可以使用理想时钟信号来执行合成和数据路径优化。当不考虑在BEOL中发生的时钟延迟之间的差异时,即使在合成操作期间在路径中未发生定时违规,在P&R操作期间在路径中也可能发生定时违规。在本发明构思的一些实施例中,可以使用在P&R操作S310中提取的时钟延迟信息来执行合成操作,并且因此可以更精确地执行合成操作中的数据路径优化以便产生更优化的网表。然后,可以根据更优化的网表执行P&R操作,并且因此,可以减小定时关闭所需的时间,并且可以改善P&R结果。
在一些实施例中,集成电路中包括的时钟路径可以被分组成多个组,并且在合成操作中,可以将相同的时钟延迟施加到相同组中包括的时钟路径。例如,集成电路中包括的逻辑模块可以根据模块层级被分组成多个组。可以将相同的时钟延迟施加到相同组中包括的逻辑模块,并且可以将不同的时钟延迟施加到不同组中包括的逻辑模块。将参考图8来描述对其的描述。
图4是概念性地示出根据本发明构思的一些实施例的时钟延迟批注的框图。
参考图4,可以执行多个SVP,例如可以执行第i个SVP 41并且然后可以执行第i+1个SVP 42。第i个SVP 41可以包括第i个合成操作和第i个P&R操作。可以在第i个合成操作中输出限定集成电路411的网表,并且可以在第i个P&R操作中输出集成电路412的布局数据和时钟延迟批注文件。第i+1个SVP 42可以包括第i+1个合成操作和第i+1个P&R操作。可以在第i+1个合成操作中输出限定集成电路421的网表,并且可以在第i+1个P&R操作中输出集成电路422的布局数据和时钟延迟批注文件。
集成电路411可以包括第一触发器FF1和第二触发器FF2。第一触发器FF1可以包括第一时钟引脚CP1,并且从时钟端子CT到第一时钟引脚CP1的路径可以被限定为第一时钟路径。第二触发器FF2可以包括第二时钟引脚CP2,并且从时钟端子CT到第二时钟引脚CP2的路径可以被限定为第二时钟路径。从第一触发器FF1的输出端子到第二触发器FF2的输入端子的路径可以被限定为数据路径。
在第i个合成操作中,可以使用理想时钟信号来预测定时。例如,可以基于第一时钟路径和第二时钟路径上的0ns的延迟(即,没有延迟)来预测定时。因此,由于第i个合成操作,根据定时约束的需求时间(RT)(例如,3ns)与到达时间(AT)(例如,3ns)之间的差异(即松弛)可以是0ns,并且可以预测可能不发生定时违规。
可以在单元布置完成之后,基于单元位置信息和网络连接信息来执行CTS。因此,由于在第i个合成操作之前不能执行实际的单元布置,因此在时钟网络是理想的假设下可以执行合成和数据路径优化。如上所述,当基于理想时钟网络执行合成时,可能不发生在第一触发器FF1与第二触发器FF2之间的时钟扭斜。
然而,在第i个P&R操作中,可能发生时钟传播延迟,并且可能发生在第一触发器FF1与第二触发器FF2之间的时钟扭斜。因为第一时钟延迟CL1和第二时钟延迟CL2可能未被调整成同时且理想地切换第一触发器FF1和第二触发器FF2,所以可能发生在第一触发器FF1与第二触发器FF2之间的时钟扭斜,并且也可以将用于校正处理变化的片上变化(On-Chip Variation,OCV)余量施加到第i个P&R操作。
例如,可以在第一时钟路径中发生第一时钟延迟CL1(例如,1.1ns),并且可以在第二时钟路径中发生第二时钟延迟CL2(例如,0.9ns)。在此方面,由于第i个P&R操作,松弛(即,RT-AT)可以具有负值(例如,-0.2ns),并且可能发生定时违规。可以从第i个P&R操作的结果中提取第一时钟引脚CP1上的第一时钟延迟CL1和第二时钟引脚CP2上的第二时钟延迟CL2。
在第i+1个合成操作中,可以使用从第i个P&R操作的结果提取的第一时钟延迟CL1和第二时钟延迟CL2,而不是使用理想的时钟信号来预测定时。换言之,可以将第一时钟延迟CL1施加到第一时钟路径,并且可以将第二时钟延迟CL2施加到第二时钟路径。此外,可以将第一时钟延迟CL1与第二时钟延迟CL2之间的差异(即,CL1-CL2=0.2ns)施加到数据路径,并且可以执行数据路径优化。因此,由于第i+1个合成操作,松弛可以为0ns(即,不松弛),并且由于第i+1个合成,可以输出更优化的网表。在第i+1次P&R操作中,即使当发生时钟传播延迟时,第一时钟延迟CL1和第二时钟延迟CL2可以已经被施加到第i+1个合成,并且因此,由于第i+1个P&R操作,松弛可以为0ns。
图5A至图5C图是概念性地示出根据本发明构思的一些实施例的时钟延迟时间批注的框图。
参考图5A,集成电路51可以包括第一触发器FF1至第三触发器FF3。第一触发器FF1可以包括第一时钟引脚CP1,并且从时钟端子CT到第一时钟引脚CP1的路径可以被限定为第一时钟路径511。第二触发器FF2可以包括第二时钟引脚CP2,并且从时钟端子CT到第二时钟引脚CP2的路径可以被限定为第二时钟路径512。第三触发器FF3可以包括第三时钟引脚CP3,并且从时钟端子CT到第三时钟引脚CP3的路径可以被限定为第三时钟路径513。从第一触发器FF1的输出端子到第二触发器FF2的输入端子的路径可以被限定为第一数据路径514,并且从第二触发器FF2的输出端子到第三触发器FF3的输入端子的路径可以被限定为第二数据路径515。
参考图5B,集成电路52可以在时钟端子CT与第一触发器FF1之间以及时钟端子CT与第二触发器FF2之间分别包括由虚线示出的第一定时路径。这里,第一触发器FF1可以作为启动触发器操作,并且第二触发器FF2可以作为捕捉触发器操作。在第一定时路径的最坏情况下,相对于第一时钟引脚CP1的第一时钟延迟可以具有最大值(即,将晚时钟信号施加到第一时钟引脚CP1),并且相对于第二时钟引脚CP2的第二时钟延迟可以具有最小值(即,将早时钟信号施加到第二时钟引脚CP2)。因此,对于第一定时路径的物理感知合成,可能需要第一时钟延迟的最大值和第二时钟延迟的最小值。
参考图5C,集成电路53可以在时钟端子CT与第二触发器FF2之间以及时钟端子CT与第三触发器FF3之间包括由粗线示出的第二定时路径。这里,第二触发器FF2可以作为启动触发器操作,并且第三触发器FF3可以作为捕捉触发器操作。在第二定时路径的最坏情况下,第二时钟引脚CP2上的第二时钟延迟可以具有最大值(即,将后时钟施加到第二时钟引脚CP2),并且第三时钟引脚CP3上的第三时钟延迟可以具有最小值(即,将早时钟施加到第三时钟引脚CP3)。因此,对于第二定时路径的物理感知合成,可能需要第二时钟延迟的最大值和第三时钟延迟的最小值。
如上所述,根据定时路径的配置,第二触发器FF2可以如图5B所述的作为捕捉触发器操作,或者可以如图5C所述的作为启动触发器操作。可以分别从P&R操作的结果中提取第二时钟引脚CP2上的第二时钟延迟的最大值和最小值。然而,本发明的概念不限于第二触发器FF2,并且也可以施加到第一触发器FF1和第三触发器FF3。
图6是根据本发明构思的一些实施例的最小时钟延迟和最大时钟延迟的表格。
参考图5A、图5B、图5C和图6,可以从P&R操作的结果中提取第一时钟延迟表格61,并且可以通过使用时钟延迟批注在下一个合成操作中使用所述表格61。可以提取第一时钟引脚CP1上的第一最大时钟延迟(CL1_max)和第一最小时钟延迟(CL1_min)。此外,可以提取第二时钟引脚CP2上的第二最大时钟延迟(CL2_max)和第二最小时钟延迟(CL2_min)。此外,可以提取第三时钟引脚CP3上的第三最大时钟延迟(CL3_max)和第三最小时钟延迟(CL3_min)。例如,在下一个合成操作中,如果第二触发器FF2作为捕捉触发器操作(即,在第一定时路径的情况下),则可以施加第二最小时钟延迟(CL2_min);并且如果第二触发器FF2作为启动触发器操作(即,在第二定时路径的情况下),则可以施加第二最大时钟延迟(CL2_max)。
图7A是示出根据本发明构思的一些实施例的图3的设计方法的操作的流程图。
参考图7A,在第i个P&R操作71中,可以实现P&R 711,可以从P&R的结果中提取时钟延迟712,并且然后可以从其输出时钟延迟表格713。P&R的实现711可以包括从布置操作到后路由优化操作的操作。可以在后路由优化操作中执行时钟延迟712的提取。在一些实施例中,例如,可以产生时钟延迟表格713,以便包括如参考图6所述的针对每个时钟引脚的时钟延迟。在一些实施例中,例如,可以产生时钟延迟表格713,以便包括如参考图8所述的针对每组的时钟延迟。例如,代表性时钟延迟可以对应于每组中包括的时钟延迟的平均值。
在第i+1个合成操作72中,可以接收时钟延迟批注文件721,可以使用时钟延迟批注文件721来编译722RTL代码,并且然后可以输出网表。因此,在不实际执行CTS的第i+1个合成操作72中,可以获得CTS感知网表。时钟延迟批注文件721可以对应于在第i个P&R操作71中输出的时钟延迟表格713。
在第i+1个P&R操作73中,可以执行芯片规划731,可以接收时钟延迟批注文件732,并且然后可以使用时钟延迟批注文件732根据网表来布置733标准单元。因此,在执行CTS之前的布置操作733中,可以获得CTS感知布置结果。时钟延迟批注文件732可以对应于在第i个P&R操作71中输出的时钟延迟表格713。然后,可以移除时钟延迟批注文件734,并且可以顺序执行CTS 735、后CTS优化736、路由737和后路由优化738。
可替代地,根据本发明构思的一些实施例,可以提取时钟延迟以便在第i个P&R操作中产生时钟延迟批注文件,在第i+1个合成操作中可以不使用时钟延迟批注,并且然后在第i+1个P&R操作中可以使用时钟延迟批注文件来执行布置或布置优化。
图7B是示出根据本发明构思的一些实施例的图3的设计方法的操作的流程图。
图7B的一些操作可以与相对于图7A描述的操作相似或相同,并且图7A的描述也可以施加到图7B的实施例。参考图7B,可以执行第i个P&R操作71,并且然后可以执行第i+1个P&R操作73。在第i个P&R操作71与第i+1个P&R操作73之间,可以不执行第i+1个合成操作。因此,第i个P&R操作71中的第一网表输入和第i+1个P&R操作73中的第二网表输入可以相同,并且从第i个P&R操作71中提取的时钟延迟可以不施加到第二网表。在第i+1个P&R操作73中,可以执行芯片规划731,可以接收时钟延迟批注文件732,并且可以使用时钟延迟批注文件732根据网表来布置733标准单元。因此,在执行CTS之前的布置操作733中,可以获得CTS感知布置结果。时钟延迟批注文件732可以对应于在第i个P&R操作71中输出的时钟延迟表格713。
图8是根据本发明构思的一些实施例的最小时钟延迟和最大时钟延迟的表格。
参考图8,可以从P&R操作的结果产生第二时钟延迟表格81,并且可以通过使用时钟延迟批注在随后的合成操作中使用所述表格81。例如,可以从图6的第一时钟延迟表格61产生第二时钟延迟表格81。第i+1个合成操作(例如,图2的S230)中的实例名称可以不同于第i个合成操作(例如,图2的S210)和第i个P&R操作(例如,图2的S220)中的实例名称。在此方面,当根据实例名称产生时钟延迟表格时,在第i+1个合成操作中改变其名称的实例内,在第i个P&R操作中提取的时钟延迟信息可能不施加到时钟路径。
可以根据从P&R操作中提取的时钟延迟来计算各自对应于多个组的多个代表性时钟延迟,并且因此,可以产生第二时钟延迟表格81。在一些实施例中,代表性时钟延迟可以对应于组中包括的时钟路径的时钟延迟的平均值。例如,对应于第一逻辑模块组LMG1的代表性时钟延迟可以对应于第一最大时钟延迟CL_M1_max和第二最小时钟延迟CL_M1_min。
根据一些实施例,集成电路中包括的逻辑模块可以根据模块层级被分组成多个逻辑模块组。换言之,逻辑模块可以具有彼此不同的模块深度。例如,具有1级模块深度的逻辑模块可以被分组为第一逻辑模块组LMG1,具有2级模块深度的逻辑模块可以被分组为第二逻辑模块组LMG2,并且具有3级模块深度的逻辑模块可以被分组为第三逻辑模块组LMG3。施加到合成操作的时钟延迟可以在每个逻辑模块组中不同,并且以下将提供对其的详细描述。
参考时钟延迟REF可以包括最大参考时钟延迟CL_max和最小参考时钟延迟CL_min。最大参考时钟延迟CL_max可以被确定为相对于集成电路中包括的所有时钟引脚的最大时钟延迟的平均值,并且最小参考时钟延迟CL_min可以被确定为相对于集成电路中包括的所有时钟引脚的最小时钟延迟的平均值。例如,最大参考时钟延迟CL_max可以是图6的第一最大时钟延迟CL1_max至第三最大时钟延迟CL3_max的平均值,并且最小参考时钟延迟CL_min可以是图6的第一最小时钟延迟CL1_min至第三最小时钟延迟CL3_min的平均值。
相对于第一逻辑模块组LMG1,可以确定第一最大时钟延迟CL_M1_max和第一最小时钟延迟CL_M1_min。第一最大时钟延迟CL_M1_max可以被确定为第一逻辑模块组LMG1中包括的逻辑模块上的最大时钟延迟的平均值,并且第一最小时钟延迟CL_M1_min可以被确定为第一逻辑模块组LMG1中包括的逻辑模块上的最小时钟延迟的平均值。以此方式,可以相对于第二逻辑模块组LMG2确定第二最大时钟延迟CL_M2_max和第二最小时钟延迟CL_M2_min,并且可以相对于第三逻辑模块组LMG3确定第三最大时钟延迟CL_M3_max和第三最小时钟延迟CL_M3_min。
在一些实施例中,在合成操作中,可以首先将参考时钟延迟REF施加到所有逻辑模块中包括的时钟引脚。然后,可以进一步将对应于每组的代表性时钟延迟施加到每组中的逻辑模块中包括的时钟引脚。在此方面,由于将参考时钟延迟REF施加到第一逻辑模块组LMG1至第三逻辑模块组LMG3中未包括的逻辑模块,因此即使当实例名称改变时,也可以无异常地执行物理感知合成。
例如,相对于第一逻辑模块组LMG1中包括的逻辑模块,可以向其施加最大参考时钟延迟CL_max与第一最大时钟延迟CL_M1_max之间的差异、或最小参考时钟延迟CL_min与第一最小时钟延迟CL_M1_min之间的差异。类似地,相对于第二逻辑模块组LMG2中包括的逻辑模块,可以向其施加最大参考时钟延迟CL_max与第二最大时钟延迟CL_M2_max之间的差异、或最小参考时钟延迟CL_min与第二最小时钟延迟CL_M2_min之间的差异。此外,相对于第三逻辑模块组LMG3中包括的逻辑模块,可以向其施加最大参考时钟延迟CL_max与第三最大时钟延迟CL_M3_max之间的差异、或最小参考时钟延迟CL_min与第三最小时钟延迟CL_M3_min之间的差异。
在一些实施例中,相对于第一逻辑模块组LMG1中包括的逻辑模块,可以向其施加第一最大时钟延迟CL_M1_max或第一最小时钟延迟CL_M1_min。可替代地,相对于第二逻辑模块组LMG2中包括的逻辑模块,可以向其施加第二最大时钟延迟CL_M2_max或第二最小时钟延迟CL_M2_min。可替代地,相对于第三逻辑模块组LMG3中包括的逻辑模块,可以向其施加第三最大时钟延迟CL_M3_max或第三最小时钟延迟CL_M3_min。如果所有逻辑模块的模块深度的范围为1至3,则所有逻辑模块可以被分组为第一逻辑模块组LMG1至第三逻辑模块组LMG3之一,并且因此可以不向其施加参考时钟延迟REF。
图9是示出根据本发明构思的一些实施例的图7A的合成操作的操作的流程图。
参考图9,除了以下所述的差异之外,第i+1个合成操作72'可以与图7A的第i+1个合成操作72相似或相同。例如,在第i+1个合成操作72'中,可以接收时钟延迟批注文件721,可以使用时钟延迟批注文件721来第一次编译RTL代码722',并且可以对第一次编译的结果进行第二次编译723。这里,可以执行第二次编译723以便优化定时,并且第二次编译723可以被称为增量编译。在一些实施例中,第二次编译723可以使用时钟延迟批注文件721来进行编译。然而,本发明构思不限于此。在一些实施例中,第二次编译723可以不使用时钟延迟批注文件721而进行编译。
图10是概念性地示出根据本发明构思的一些实施例的设计集成电路的方法的操作的框图。
参考图10,在P&R操作S410中,可以提取数据路径上的寄生分量信息,并且可以将所提取的寄生分量信息作为输入文件提供给合成工具,以便在下一个合成操作中利用它。例如,P&R操作S410可以是图2的S220。具体地,在P&R操作S410中,可以提取所有信号网络上的寄生分量信息。例如,寄生信息可以包括寄生电阻信息或寄生电容信息。此外,在P&R操作S410中,可以使用所提取的寄生分量信息来产生寄生缩放因子。
在物理感知合成操作S420中,可以使用寄生分量信息从RTL代码产生门级网表。例如,物理感知合成操作S420可以是图2的S230。根据本实施例的物理感知合成操作可以是识别BEOL的细节路由的合成操作。可以使用在P&R操作S410中提取的寄生分量信息来执行合成操作,并且因此,可以产生反映细节路由结果的网表。在一些实施例中,寄生分量批注可以用作寄生分量信息。
在合成操作中,可能未实际执行细节路由。相反,可以执行全局路由,并且可以根据全局路由的结果预测信号网络的寄生分量。在此方面,物理网络没有实际退出,并且因此可能难以测量邻近网络之间的耦合电容的影响。另外,在合成操作中,可以根据拥塞或定时约束来执行相对于信号网络的层分配。这里,可能难以根据层级考虑通路电阻。当不考虑物理网络的这种耦合电容或通路电阻时,所预测的寄生分量和所预测的网络延迟可能是不正确的。
可以从P&R操作S410中提取的寄生分量信息产生寄生缩放因子,并且在物理感知合成操作S420中,寄生缩放因子可以施加到基于全局路由结果预测的信号网络的寄生分量。因此,在物理感知合成操作S420中,可以更精确地预测寄生分量和网络延迟。
在一些实施例中,集成电路中包括的信号网络可以被分组成多个组,并且在合成操作中,可以将相同的寄生缩放因子施加到多个组中的组中包括的信号网络。例如,可以根据网络长度将集成电路中包括的信号网络分组成多个组,可以将相同的寄生缩放因子施加到多个组中的组中包括的信号网络,并且然后可以将不同的寄生缩放因子施加到另一组中包括的信号网络。将参考图13A和图13B来描述对其的描述。
图11是示出根据本发明构思的一些实施例的图10的设计方法的操作的流程图。
参考图11,在第i个P&R操作111中,可以实现P&R 1111,可以从P&R的结果提取寄生分量1112,并且因此可以输出寄生分量表1113。例如,寄生分量表1113可以包括寄生电阻表和寄生电容表。P&R的实现1111可以包括从布置操作到后路由优化操作的操作。可以在后路由优化操作中执行寄生分量的提取1112。在一些实施例中,可以产生寄生分量表1113以包括每个信号网络的寄生分量。在一些实施例中,可以产生寄生分量表1113以包括每个组的代表性寄生缩放因子。例如,代表性寄生缩放因子可以对应于每组中包括的寄生缩放因子的平均值。
在第i+1个合成操作112中,可以接收寄生分量批注文件1121,可以使用寄生分量批注文件1121来编译RTL代码1122,并且然后可以输出网表。在这方面,在不实际执行细节路由的第i+1个合成操作112中,可以获得细节路由感知网表。寄生分量批注文件1121可以对应于在第i个P&R操作111中输出的寄生分量表1113。
图12是示出根据本发明构思的一些实施例的产生寄生缩放因子表的方法的操作的流程图。
参考图11和图12,寄生缩放因子表可以对应于寄生分量表1113,并且可以在第i个P&R操作111中产生。然而,本发明构思不限于此。寄生缩放因子表可以在第i个P&R操作111之后产生。寄生缩放因子表可以包括例如图13A的寄生电阻缩放因子表和图13B的寄生电容缩放因子表。例如,在第i个P&R操作111中,可以如参照图7A的第i+1个P&R操作73所描述的顺序地执行芯片规划、布置、CTS、后CTS优化、路由和后路由优化。
作为后CTS优化操作121的结果,可以输出全局路由网络122,并且可以从全局路由网络122估计第一寄生电阻和第一寄生电容。此外,作为路由操作123的结果,可以输出细节路由网络124,并且可以从细节路由网络124中提取第二寄生电阻和第二寄生电容。
然后,可以执行寄生分量比较操作125。详细地说,可将所估计的第一寄生电阻与所提取的第二寄生电阻进行比较,并将所估计的第一寄生电容与所提取的第二寄生电容进行比较。作为寄生分量比较操作125的结果,可以输出寄生缩放因子126,并且可以从输出的寄生缩放因子126产生寄生缩放表。
在一些实施例中,可以根据各种标准将信号网络分组成多个组。例如,可以根据扇出引脚的数量、网络的长度、网络与宏单元之间的直接连接状态、网络与输入/输出(I/O)之间的直接连接状态等来将信号网络分组成多个组。在一些实施例中,可以从输出的寄生缩放因子产生关于多个组中的每一个的寄生缩放表。
图13A是根据本发明构思的一些实施例的寄生电阻缩放因子表。
参考图13A,可以根据扇出(FO)引脚的数量和网络的长度来产生寄生电阻缩放因子表131。这里,网络的长度可以对应于信号网络的长度的上限。因此,施加到具有等于或小于第一长度L1的长度的信号网络的寄生电阻缩放因子可以根据FO引脚的数量而不同。
例如,如果FO引脚的数量为1,并且网络长度等于或小于信号网络的第一长度L1(例如,1μm),则可以将缩放因子R11(例如,1.34)施加到信号网络,并且因此,可以在第i+1个合成操作中使用缩放因子R11来执行物理感知合成。例如,如果FO引脚的数量为3,并且网络长度处于信号网络的第一长度L1与第二长度L2的范围内(例如,2μm),则可以将缩放因子R32(例如,1.21)施加到信号网络,并且因此,可以在第i+1个合成操作中使用缩放因子R32来执行物理感知合成。
图13B是根据本发明构思的一些实施例的寄生电容缩放因子表。
参考图13B,可以根据FO引脚的数量和网络的长度来产生寄生电容缩放因子表132。这里,网络的长度可以对应于信号网络的长度的上限。因此,施加到具有等于或小于第一长度L1的长度的信号网络的寄生电容缩放因子可以根据FO引脚的数量而不同。
例如,如果FO引脚的数量为1,并且网络的长度等于或小于信号网络的第一长度L1,则可以将缩放因子C11(例如,1.34)施加到信号网络,并且因此,可以在第i+1个合成操作中使用缩放因子C11来执行物理感知合成。例如,如果FO引脚的数量为2,并且网络长度处于信号网络的第一长度L1与第二长度L2的范围内,则可以将缩放因子C22(例如,1.41)施加到信号网络,并且因此,可以在第i+1个合成操作中使用缩放因子C22来执行物理感知合成。作为物理感知合成的结果而产生的网表可以是反映细节路由结果的网表,并且可以被称为细节路由感知网表。
图14是示出根据本发明构思的一些实施例的图11的合成操作的操作的流程图。
参考图14,除了以下差异之外,第i+1个合成操作112'可以与图11的第i+1个合成操作112相似或相同。例如,在第i+1个合成操作112'中,可以接收寄生分量批注文件1121,并且可以使用寄生分量批注文件1121来第一编译RTL代码1222'。然后,寄生分量批注文件1121可以被移除1223,并且第一编译的结果可以被第二编译1124。这里,可以执行第二编译以优化定时,并且第二编译可以被称为增量编译。然而,本发明构思不限于此,并且在一些实施例中,第二编译1124可以包括使用寄生分量批注文件的编译。
图15是概念性地示出根据本发明构思的一些实施例的设计集成电路的方法的操作的框图。
参考图15,设计集成电路的方法可以对应于图3和图10的设计方法中的一种或多种。在这方面,参考图3和图10的描述也可以施加到图15的实施例,并且可以省略其相应描述。在P&R操作S510中,可以提取关于时钟路径的时钟延迟信息和关于数据路径的寄生分量信息。可以将所提取的时钟延迟信息和所提取的寄生分量信息作为输入文件提供给合成工具,以便在随后的合成操作中使用。
在物理感知合成操作S520中,可以使用时钟延迟信息和寄生分量信息从RTL代码产生门级网表。在实际合成操作中可能不执行CTS。然而,可以使用在P&R操作S510中提取的时钟延迟信息来执行合成操作,并且因此可以产生反映CTS的网表。此外,虽然可以在实际合成操作中执行全局路由,但是可以使用在P&R操作S510中提取的寄生分量信息来执行合成操作,并且因此可以产生反映细节路由的网表。
图16是示出根据本发明构思的一些实施例的用于设计集成电路的计算系统的框图。
参考图16,用于设计集成电路的计算系统(以下称为“集成电路设计系统”)160可以包括处理器161、工作存储器163、I/O设备165、存储设备167、和总线169。集成电路设计系统160可以执行例如包括图1的操作S110和S130的集成电路设计操作。集成电路设计系统160可以被体现为集成器件,并且因此可以被称为集成电路设计器件。集成电路设计系统160可以被提供为用于设计半导体器件的集成电路的专用器件,但也可以是用于驱动各种仿真工具或设计工具的计算机。
处理器161可以被配置来执行用于实现用于设计集成电路的各种操作中的至少一个的指令。处理器161可以通过总线169与工作存储器163、I/O设备165、和存储设备167进行通信。处理器161可以驱动加载在工作存储器163中的合成模块163a和P&R模块163b,并且因此可以执行集成电路设计操作。
工作存储器163可以存储合成模块163a和P&R模块163b。合成模块163a和P&R模块163b可以从存储设备167加载到工作存储器163。工作存储器163可以是诸如静态随机存取存储器(static random access memory,SRAM)或动态随机存取存储器(dynamic randomaccess memory,DRAM)的易失性存储器、或诸如相变随机存取存储器(phase changerandom access memory,PRAM)的非易失性存储器、磁随机存取存储器(magnetic randomaccess memory,MRAM)、电阻随机存取存储器(resistive random access memory,ReRAM)、铁电随机存取存储器(ferroelectric random access memory,FRAM)、或NOR闪速存储器。
合成模块163a可以是例如包括根据图1的操作S110用于实现物理感知合成操作的多个指令的程序。P&R模块163b可以是例如包括根据图1中的操作S130用于执行P&R操作的多个指令的程序。
I/O设备165可以控制从用户接口设备的用户输入和输出。例如,I/O设备165可以包括诸如键盘、鼠标、和触摸板的输入设备,并且可以向其输入限定集成电路的输入数据。例如,I/O设备165可以包括诸如显示器和扬声器的输出设备,并且可以显示布置结果、布线结果、定时分析结果等。
存储设备167可以存储与合成模块163a和P&R模块163b相关的各种数据。存储设备167可以包括诸如多媒体卡(multi-media card,MMC)、eMMC、SD、或微型SD的存储卡、固态驱动器、和硬盘驱动器。
图17是示出根据本发明构思的一些实施例的存储在图16的工作存储器中的程序的框图。
参考图16和图17,存储在工作存储器163中的程序可以包括多个规程PRC。这里,规程可能意味着一系列用于实现特定任务的指令。所述规程可以被称为函数、例程、子例程、子程序等。例如,规程PRC可以包括合成器SYN、布置器PLC、和路由器RT。此外,合成器SYN可以包括编译器CMP。本文所提供的描述是,合成器SYN、布置器PLC、和/或路由器RT执行操作意味着图16的处理器161可以运行合成器SYN、布置器PLC、和/或路由器RT的程序代码以便执行这样的操作。
存储设备167可以包括单元库数据库(DB)167a和布局DB 167b。单元库DB 167a可以存储关于产生集成电路的布局所需的标准单元的信息,并且可以被称为标准单元库DB。布局DB 167b可以存储关于由规程PRC产生的布局的信息,确切地说,关于布局的物理信息。此外,存储设备167还可以包括用于存储在集成电路的制造工艺中使用的规则和材料的技术文件DB,并且技术文件DB可以存储例如层定义、设备定义、设计工具等。
合成器SYN可以基于从先前的P&R操作的结果提取的特征值(即,物理感知信息)来从RTL代码D10产生网表。详细地,编译器CMP可以根据所提取的特征值来接收物理感知批注文件,并且可以使用物理感知批注文件来编译RTL代码D10以产生网表。
布置器PLC可以基于网表布置标准单元,并且详细地,布置器PLC可以访问单元库DB 167a以执行布置操作。在一些实施例中,布置器PLC可以使用物理感知批注文件来布置标准单元,并且因此可以提高布置性能。路由器RT可以相对于由布置器PLC布置的标准单元执行路由,从而产生布局数据。
图18是示出根据本发明构思的一些实施例的用于设计集成电路的计算系统的框图。
参考图18,集成电路设计系统180可以包括用户设备181、集成电路设计平台182、和存储设备183。集成电路设计系统180可以执行例如包括图1的操作S110和S130的集成电路设计操作。用户设备181、集成电路设计平台182、和存储设备183中的至少一个可以是独立设备,并且用户设备181、集成电路设计平台182、和存储设备183可以通过有线/无线通信或网络连接。在一些实施例中,用户设备181、集成电路设计平台182、和存储设备183中的至少一个可以彼此分开定位。
用户设备181可以包括处理器181a和用户接口(UI)181b。根据通过UI 181b接收的用户输入,处理器181a可以驱动集成电路设计平台182。集成电路设计平台182可以是用于设计集成电路的一组计算机可读指令,并且可以包括合成模块182a和P&R模块182b。存储设备183可以包括单元库DB 183a和布局DB 183b。单元库DB 183a可以存储关于产生集成电路的布局所需的单元的信息,并且布局DB 183b可以存储关于由P&R模块182b产生的布局的信息,确切地,可以存储关于布局的物理信息。
图19是示出根据本发明构思的一些实施例的设计集成电路的方法的操作的流程图。
参考图19,设计集成电路的方法可以是通过考虑BEOL来设计集成电路的计算机实现的方法。例如,设计集成电路的计算机实现的方法可以包括可以在图16的集成电路设计系统160中以时间序列方式执行的操作S610至S650。因此,操作S610至S650可以由处理器(例如,图16的处理器161)执行。参考图1至图18提供的描述可以施加到图19的实施例,并且因此可以省略重复的描述。
在操作S610中,可以从限定集成电路的标准单元的P&R操作的结果提取特征值。在一些实施例中,特征值可以包括时钟延迟信息和寄生分量信息中的至少一个。在一些实施例中,可以从P&R操作的结果提取多个时钟引脚中的每一个上的时钟延迟信息作为特征值。例如,时钟延迟信息可以包括每个时钟引脚上的最大时钟延迟和最小时钟延迟。
在一些实施例中,可以从P&R操作的结果提取至少包括多个信号网络中的每一个的寄生电阻和寄生电容的寄生信息作为特征值。详细地,可以基于P&R操作的全局路由结果来估计第一寄生分量,并且可以从P&R操作的细节路由结果提取第二寄生分量。可以将第一寄生分量和第二寄生分量相互比较以产生寄生缩放因子。
在操作S630中,可以基于所提取的特征值来确定分别对应于多个组的多个代表性特征值,并且因此可以产生物理感知批注文件。在一些实施例中,集成电路中包括的逻辑模块可以被分组成多个组,可以将每个组的时钟延迟平均值确定为对应于每个组的代表性特征值。
在一些实施例中,多个信号网络可以被分组成多个组,可以基于所产生的寄生缩放因子来确定对应于每个组的代表性寄生缩放因子。例如,可以基于FO引脚的数量、网络的长度、网络与IO单元之间的直接连接状态、和网络与宏单元之间的直接连接状态中的至少一个来将多个信号网络分组成多个组。
在操作S650中,基于所产生的物理感知批注文件,可以执行物理感知合成操作以从集成电路的输入数据产生网表。在一些实施例中,对应于所有时钟延迟的平均值的参考时钟延迟可被施加到集成电路中包括的多个时钟引脚,并且对应于每个组的代表性特征值可以进一步施加到每个组的逻辑模块中包括的时钟引脚。
图20是示出根据本发明构思的一些实施例的设计集成电路的方法的操作的流程图。
参考图20,设计集成电路的方法可以是由计算机执行的考虑BEOL的设计集成电路的方法。例如,设计集成电路的方法可以包括可以在图16的集成电路设计系统160中以时间序列方式执行的操作S710和S720。因此,操作S710和S720可以由处理器(例如,图16的处理器161)执行。参考图1至图19的描述还可以施加到图20的实施例,并且因此可以省略重复的描述。
在操作S710中,可以使用集成电路的网表来执行第一P&R,并且可以从第一P&R操作的结果提取时钟延迟信息。例如,第一P&R可以对应于图7B的第i个P&R操作71。
在操作S720中,可以使用集成电路的网表和所提取的时钟延迟信息来执行第二P&R。例如,第二P&R可以对应于图7B的第i+1个P&R操作73。在一些实施例中,第二P&R可以包括使用所提取的时钟延迟信息布置限定集成电路的多个标准单元的操作。
在操作S710和操作S720之间可能不执行合成操作。因此,在操作S710中使用的网表和在操作S720中使用的网表可以是相同的。在这方面,从操作S710中提取的时钟延迟信息可能不适用于在操作S720中使用的网表。
图21是示出根据本发明构思的一些实施例的非暂时性计算机可读存储介质的框图。
参考图21,存储介质1000可以包括单元库1100、合成程序1200、P&R程序1300、和布局数据1400。存储介质1000可以是非暂时性计算机可读存储介质,并且可以包括可以由计算机读取、同时向计算机提供指令和/或数据的任意存储介质。例如,非暂时性计算机可读存储介质1000可以包括诸如盘、磁带、CD-ROM、DVD-ROM、CD-R、CD-RW、DVD-R和DVD-RW的磁性介质或光学介质;诸如RAM、ROM和闪速存储器的易失性或非易失性存储器;通过USB接口可访问的非易失性存储器;以及微机电系统(microelectromechanical systems,MEMS)。非暂时性计算机可读存储介质可以插入到计算机中,可以集成在计算机中,并且可以通过诸如网络和/或无线链路的通信介质耦合到计算机。
单元库1100可以是标准单元库,并且可以包括关于作为用于配置集成电路的单元的标准单元的信息。在一些实施例中,关于标准单元的信息可以包括产生布局所需的布局信息。在一些实施例中,关于标准单元的信息可以包括布局验证或仿真所需的定时信息。布局数据1400可以包括关于在P&R操作中产生的布局的物理信息。例如,布局数据1400可以包括配置信号网络的导电图案的宽度值和空间值。
根据本发明构思的示例性实施例,合成程序1200可以包括多个指令,所述多个指令用于使用从先前的P&R操作的结果提取的特征值、代表性特征值或物理感知批注文件来执行物理感知合成操作以从关于集成电路的RTL代码产生网表。合成程序1200可以用于例如执行图1的操作S110、图2的第i个合成操作S210和第i+1个合成操作S230、图3的物理感知合成操作S320、图7A的第i+1合成操作72、图9的第i+1合成操作72'、图10的物理感知合成操作S420、图11的第i+1合成操作112、图14的第i+1合成操作112'、图15的物理感知合成操作S520、或图19的操作S650。
根据示例性实施例,P&R程序1300可以包括多个指令,所述多个指令用于使用标准单元库执行产生集成电路的布局的方法。P&R程序1300可以用于执行例如图1的操作S130、图2的第i+1个合成操作S230和第i+1个P&R操作S240、图3的P&R操作S310、图7A的第i个P&R操作71和第i+1个P&R操作73、图7B的第i个P&R操作71和第i+1个P&R操作73、图10的P&R操作S410、图11的第i+1合成操作112、图15的P&R操作S510、图19的操作S610和S630或图20的操作S710和S720。
虽然已参考本发明构思的实施例展示并描述了本发明构思,但是将理解,在不脱离以下权利要求书的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。
Claims (20)
1.一种设计包括逻辑模块的集成电路的计算机实现的方法,所述方法由处理器执行并且包括:
针对限定所述集成电路的标准单元执行布置和路由P&R操作;
从所述P&R操作的结果提取特征值;
通过基于所提取的特征值确定分别对应于多组所述逻辑模块的多个代表性特征值来产生物理感知批注文件;以及
基于所产生的物理感知批注文件执行物理感知合成操作以从所述集成电路的输入数据产生网表。
2.根据权利要求1所述的计算机实现的方法,其中从所述P&R操作的结果提取所述特征值包括从所述P&R操作的结果提取关于多个时钟引脚中的时钟引脚的时钟延迟信息作为所述特征值。
3.根据权利要求2所述的计算机实现的方法,其中所述时钟延迟信息包括关于所述多个时钟引脚中的时钟引脚的最大时钟延迟和最小时钟延迟。
4.根据权利要求2所述的计算机实现的方法,其中所述物理感知批注文件的产生包括:
将所述集成电路中包括的所述逻辑模块分组成多个组;以及
将分别对应于所述多个组的时钟延迟平均值确定为分别对应于所述多个组的所述多个代表性特征值。
5.根据权利要求4所述的计算机实现的方法,其中所述物理感知合成操作的执行包括:
将对应于所有时钟延迟的平均值的参考时钟延迟施加到所述集成电路中包括的所述多个时钟引脚;以及
将对应于所述多个组中的组的代表性特征值进一步施加到所述多个组中的每一个的逻辑模块中包括的时钟引脚。
6.根据权利要求2所述的计算机实现的方法,其中针对限定所述集成电路的所述标准单元的所述P&R操作的执行是基于所述网表和所述时钟延迟信息的。
7.根据权利要求6所述的计算机实现的方法,其中所述P&R操作的执行包括:
基于所述网表和所述时钟延迟信息布置所述标准单元;
在布置所述标准单元之后,移除所述时钟延迟信息;
在移除所述时钟延迟信息之后,关于所述布置的结果执行时钟树合成操作;以及
关于所述时钟树合成操作的结果执行路由操作。
8.根据权利要求1所述的计算机实现的方法,其中在所述特征值的提取中,从所述P&R操作的结果提取关于多个信号网络中的每一个的寄生分量信息作为所述特征值,所述寄生分量信息包括关于寄生电阻和寄生电容中的至少一个的信息。
9.根据权利要求8所述的计算机实现的方法,其中所述特征值的提取包括:
从所述P&R操作的全局路由的结果估计第一寄生分量;
从所述P&R操作的细节路由的结果提取第二寄生分量;以及
通过将所述第一寄生分量与所述第二寄生分量进行比较来产生寄生缩放因子。
10.根据权利要求9所述的计算机实现的方法,其中所述物理感知批注文件的产生包括:
将所述多个信号网络分组成所述多个组;以及
基于所产生的寄生缩放因子确定分别对应于所述多个组的代表性寄生缩放因子。
11.根据权利要求10所述的计算机实现的方法,其中将所述多个信号网络分组成所述多个组是基于以下各项中的至少一项:扇出引脚的数量、网络的长度、网络与输入/输出I/O单元之间的直接连接状态、以及网络与宏单元之间的直接连接状态。
12.一种设计集成电路的计算机实现的方法,所述方法由处理器执行并且包括:
针对限定所述集成电路的多个标准单元执行第一布置和路由P&R操作;
从所述第一P&R操作的结果提取时钟延迟信息和寄生分量信息中的至少一个;
基于所提取的时钟延迟信息和寄生分量信息中的至少一个,执行物理感知合成操作以从所述集成电路的输入数据产生网表;以及
根据所产生的网表,针对限定所述集成电路的所述多个标准单元执行第二P&R操作。
13.根据权利要求12所述的计算机实现的方法,其中所提取的时钟延迟信息和寄生分量信息中的至少一个包括所提取的时钟延迟信息,所述方法还包括:
通过基于所提取的时钟延迟信息确定分别对应于多个组的多个代表性时钟延迟来产生时钟延迟批注文件,
其中在所述物理感知合成操作的执行中,使用所述时钟延迟批注文件来执行所述物理感知合成操作。
14.根据权利要求12所述的计算机实现的方法,其中所提取的时钟延迟信息和寄生分量信息中的至少一个包括所提取的寄生分量信息,所述方法还包括:
通过基于所提取的寄生分量信息确定分别对应于所述集成电路中包括的多组逻辑模块的多个代表性寄生缩放因子来产生寄生分量批注文件,
其中在所述物理感知合成操作的所述执行中,使用所述寄生分量批注文件来执行所述物理感知合成操作。
15.根据权利要求12所述的计算机实现的方法,
其中所述第一P&R操作的执行是基于所述集成电路的第一网表,
其中所述提取包括从所述第一P&R操作的结果提取所述时钟延迟信息,
其中通过所述物理感知合成操作的执行而产生的所述网表是第二网表,并且
其中所述第二P&R操作的执行包括基于所提取的时钟延迟信息布置限定所述集成电路的所述多个标准单元。
16.一种设计集成电路的计算机实现的方法,所述方法由处理器执行并且包括:
执行第一布置和路由P&R操作以布置限定所述集成电路的第一多个标准单元;
从所述第一P&R操作的结果提取时钟延迟信息;以及
执行第二P&R操作以基于所述时钟延迟信息布置限定所述集成电路的第二多个标准单元。
17.根据权利要求16所述的计算机实现的方法,
其中所述第一P&R操作是基于所述集成电路的第一网表,
其中所述方法还包括基于所述时钟延迟信息执行物理感知合成操作以产生第二网表,并且
其中所述第二P&R操作是基于所述第二网表。
18.根据权利要求16所述的计算机实现的方法,其中所述第一P&R操作和所述第二P&R操作各自基于所述集成电路的第一网表。
19.根据权利要求16所述的计算机实现的方法,
其中所述第一P&R操作包括执行第一布置操作、执行第一后路由优化操作、以及从所述第一后路由优化操作中提取所述时钟延迟信息。
20.根据权利要求19所述的计算机实现的方法,其中所述第二P&R操作包括:
基于从所述第一后路由优化操作中提取的所述时钟延迟信息,执行第二布置操作;
执行时钟树合成操作;以及
执行第二后路由优化操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170018764A KR102718979B1 (ko) | 2017-02-10 | Beol을 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템 | |
KR10-2017-0018764 | 2017-02-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108416077A true CN108416077A (zh) | 2018-08-17 |
CN108416077B CN108416077B (zh) | 2023-10-31 |
Family
ID=63104561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810018185.7A Active CN108416077B (zh) | 2017-02-10 | 2018-01-09 | 用于通过考虑后段制程来设计集成电路的方法和计算系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10928442B2 (zh) |
CN (1) | CN108416077B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666732A (zh) * | 2019-03-07 | 2020-09-15 | 瑞昱半导体股份有限公司 | 集成电路布局设计方法 |
CN112115667A (zh) * | 2020-08-05 | 2020-12-22 | 深圳市紫光同创电子有限公司 | Fpga布局方法、装置、电子设备和计算机可读介质 |
CN113536717A (zh) * | 2021-07-14 | 2021-10-22 | 北京华大九天科技股份有限公司 | 一种基于增量编译的电路仿真方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11646305B2 (en) | 2019-10-02 | 2023-05-09 | Samsung Electronics Co., Ltd. | Semiconductor devices and methods of manufacturing the same |
US11275883B2 (en) * | 2020-02-12 | 2022-03-15 | Siemens Industry Software Inc. | Machine learning-based classification in parasitic extraction automation for circuit design and verification |
US11681842B2 (en) * | 2020-12-08 | 2023-06-20 | Synopsys, Inc. | Latency offset in pre-clock tree synthesis modeling |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6438735B1 (en) * | 1999-05-17 | 2002-08-20 | Synplicity, Inc. | Methods and apparatuses for designing integrated circuits |
US20020113633A1 (en) * | 1999-10-21 | 2002-08-22 | Masleid Robert Paul | Method and apparatus for process independent clock signal distribution |
CN1495649A (zh) * | 2002-09-10 | 2004-05-12 | ���µ�����ҵ��ʽ���� | 用于在寄存器传送级对集成电路的性能进行估算的系统 |
US7207020B1 (en) * | 2004-02-09 | 2007-04-17 | Altera Corporation | Method and apparatus for utilizing long-path and short-path timing constraints in an electronic-design-automation tool |
US20100083205A1 (en) * | 2008-09-26 | 2010-04-01 | Koki Ono | Timing analyzing system for clock delay |
CN102169515A (zh) * | 2010-02-26 | 2011-08-31 | 国际商业机器公司 | 一种专用集成电路中时钟树延迟时间的估计方法和系统 |
US20120284680A1 (en) * | 2011-05-05 | 2012-11-08 | Advanced Micro Devices, Inc. | Method and apparatus for designing an integrated circuit |
CN103207930A (zh) * | 2012-01-16 | 2013-07-17 | 三星电子株式会社 | 包括无抽头标准单元的片上系统及其设计方法和设计系统 |
US20140019922A1 (en) * | 2012-07-13 | 2014-01-16 | International Business Machines Corporation | Optimization method and device for netlist used in logic circuit design for semiconductor integrated circuit |
US8782591B1 (en) * | 2012-12-31 | 2014-07-15 | Cadence Design Systems, Inc. | Physically aware logic synthesis of integrated circuit designs |
US20140282325A1 (en) * | 2013-03-12 | 2014-09-18 | Taiwan Semiconductor Manufacturing Company, Ltd. | Methods for Layout Verification for Polysilicon Cell Edge Structures in FinFET Standard Cells using Filters |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6026219A (en) * | 1995-05-12 | 2000-02-15 | Synopsys, Inc. | Behavioral synthesis links to logic synthesis |
US6530073B2 (en) * | 2001-04-30 | 2003-03-04 | Lsi Logic Corporation | RTL annotation tool for layout induced netlist changes |
US6973632B1 (en) | 2002-06-11 | 2005-12-06 | Synplicity, Inc. | Method and apparatus to estimate delay for logic circuit optimization |
US20040153278A1 (en) | 2003-01-27 | 2004-08-05 | Pengfei Zhang | Signal flow driven circuit physical synthesis technique |
US7137093B2 (en) * | 2003-08-08 | 2006-11-14 | Cadence Design Systems, Inc. | Post-placement timing optimization of IC layout |
US7257782B2 (en) * | 2004-10-22 | 2007-08-14 | Synopsys, Inc. | Method and apparatus for reducing power consumption in an integrated circuit chip |
JP2006146345A (ja) * | 2004-11-16 | 2006-06-08 | Matsushita Electric Ind Co Ltd | 半導体集積回路の設計方法及びその設計装置 |
US7752588B2 (en) * | 2005-06-29 | 2010-07-06 | Subhasis Bose | Timing driven force directed placement flow |
EP1907957A4 (en) * | 2005-06-29 | 2013-03-20 | Otrsotech Ltd Liability Company | INVESTMENT METHODS AND SYSTEMS |
US7996797B1 (en) | 2006-08-16 | 2011-08-09 | Altera Corporation | Method and apparatus for performing multiple stage physical synthesis |
US8127260B1 (en) | 2006-11-22 | 2012-02-28 | Cadence Design Systems, Inc. | Physical layout estimator |
US7546567B2 (en) * | 2007-01-10 | 2009-06-09 | Synopsys, Inc. | Method and apparatus for generating a variation-tolerant clock-tree for an integrated circuit chip |
US7761832B2 (en) | 2007-11-16 | 2010-07-20 | International Business Machines Corporation | Method for incremental, timing-driven, physical-synthesis optimization under a linear delay model |
US7853915B2 (en) | 2008-06-24 | 2010-12-14 | Synopsys, Inc. | Interconnect-driven physical synthesis using persistent virtual routing |
US8261218B1 (en) * | 2008-08-01 | 2012-09-04 | Altera Corporation | Systems and methods for determining beneficial clock-path connection delays |
US20100153896A1 (en) * | 2008-12-12 | 2010-06-17 | Lsi Corporation | Real-time critical path margin violation detector, a method of monitoring a path and an ic incorporating the detector or method |
JP5444985B2 (ja) * | 2009-09-16 | 2014-03-19 | 日本電気株式会社 | 情報処理装置 |
US8091057B1 (en) * | 2009-10-23 | 2012-01-03 | Xilinx, Inc. | Synthesis, place, and route responsive to reasons for critical paths not meeting performance objective |
US8196081B1 (en) * | 2010-03-31 | 2012-06-05 | Xilinx, Inc. | Incremental placement and routing |
US8539413B1 (en) * | 2010-04-27 | 2013-09-17 | Applied Micro Circuits Corporation | Frequency optimization using useful skew timing |
US8719743B1 (en) * | 2011-04-29 | 2014-05-06 | Cadence Design Systems, Inc. | Method and system for implementing clock tree prototyping |
CN102799698B (zh) * | 2011-05-26 | 2014-07-23 | 国际商业机器公司 | 一种用于专用集成电路的时钟树规划的方法和系统 |
CN102955869B (zh) * | 2011-08-30 | 2015-04-08 | 国际商业机器公司 | 评估时钟偏移的方法和装置 |
US8875075B2 (en) | 2012-06-20 | 2014-10-28 | Synopsys, Inc. | Generating pattern-based estimated RC data with analysis of route information |
US8843872B1 (en) * | 2013-03-15 | 2014-09-23 | Synopsys, Inc. | Automatic clock tree synthesis exceptions generation |
US8887117B1 (en) * | 2013-10-07 | 2014-11-11 | Taiwan Semiconductor Manufacturing Company Ltd. | Register clustering for clock network topology generation |
US9607122B2 (en) * | 2014-01-30 | 2017-03-28 | Mentor Graphics Corporation | Timing driven clock tree synthesis |
US9443047B2 (en) | 2014-05-28 | 2016-09-13 | International Business Machines Corporation | Physical aware technology mapping in synthesis |
JP2016110408A (ja) | 2014-12-05 | 2016-06-20 | 株式会社ソシオネクスト | 設計装置、設計プログラム、および設計方法 |
US9483597B1 (en) * | 2015-03-24 | 2016-11-01 | Xilinx, Inc. | Opportunistic candidate path selection during physical optimization of a circuit design for an IC |
US9773083B1 (en) * | 2016-03-14 | 2017-09-26 | Xilinx, Inc. | Post-placement and pre-routing processing of critical paths in a circuit design |
US10338633B2 (en) * | 2016-06-13 | 2019-07-02 | Drexel University | Slew-driven clock tree synthesis |
-
2017
- 2017-12-14 US US15/842,184 patent/US10928442B2/en active Active
-
2018
- 2018-01-09 CN CN201810018185.7A patent/CN108416077B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6438735B1 (en) * | 1999-05-17 | 2002-08-20 | Synplicity, Inc. | Methods and apparatuses for designing integrated circuits |
US20020113633A1 (en) * | 1999-10-21 | 2002-08-22 | Masleid Robert Paul | Method and apparatus for process independent clock signal distribution |
CN1495649A (zh) * | 2002-09-10 | 2004-05-12 | ���µ�����ҵ��ʽ���� | 用于在寄存器传送级对集成电路的性能进行估算的系统 |
US7207020B1 (en) * | 2004-02-09 | 2007-04-17 | Altera Corporation | Method and apparatus for utilizing long-path and short-path timing constraints in an electronic-design-automation tool |
US20100083205A1 (en) * | 2008-09-26 | 2010-04-01 | Koki Ono | Timing analyzing system for clock delay |
CN102169515A (zh) * | 2010-02-26 | 2011-08-31 | 国际商业机器公司 | 一种专用集成电路中时钟树延迟时间的估计方法和系统 |
US20120284680A1 (en) * | 2011-05-05 | 2012-11-08 | Advanced Micro Devices, Inc. | Method and apparatus for designing an integrated circuit |
CN103207930A (zh) * | 2012-01-16 | 2013-07-17 | 三星电子株式会社 | 包括无抽头标准单元的片上系统及其设计方法和设计系统 |
US20140019922A1 (en) * | 2012-07-13 | 2014-01-16 | International Business Machines Corporation | Optimization method and device for netlist used in logic circuit design for semiconductor integrated circuit |
US8782591B1 (en) * | 2012-12-31 | 2014-07-15 | Cadence Design Systems, Inc. | Physically aware logic synthesis of integrated circuit designs |
US20140282325A1 (en) * | 2013-03-12 | 2014-09-18 | Taiwan Semiconductor Manufacturing Company, Ltd. | Methods for Layout Verification for Polysilicon Cell Edge Structures in FinFET Standard Cells using Filters |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666732A (zh) * | 2019-03-07 | 2020-09-15 | 瑞昱半导体股份有限公司 | 集成电路布局设计方法 |
CN111666732B (zh) * | 2019-03-07 | 2023-09-26 | 瑞昱半导体股份有限公司 | 集成电路布局设计方法 |
CN112115667A (zh) * | 2020-08-05 | 2020-12-22 | 深圳市紫光同创电子有限公司 | Fpga布局方法、装置、电子设备和计算机可读介质 |
CN113536717A (zh) * | 2021-07-14 | 2021-10-22 | 北京华大九天科技股份有限公司 | 一种基于增量编译的电路仿真方法 |
CN113536717B (zh) * | 2021-07-14 | 2022-05-24 | 北京华大九天科技股份有限公司 | 一种基于增量编译的电路仿真方法 |
Also Published As
Publication number | Publication date |
---|---|
US10928442B2 (en) | 2021-02-23 |
KR20180092692A (ko) | 2018-08-20 |
US20180231604A1 (en) | 2018-08-16 |
CN108416077B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108416077A (zh) | 用于通过考虑后段制程来设计集成电路的方法和计算系统 | |
US11475195B2 (en) | Computer-implemented method and computing system for designing integrated circuit by considering timing delay | |
US8336002B2 (en) | IC design flow enhancement with CMP simulation | |
CN110546635B (zh) | 使用与单元级布局相关的应力效应的单元放置和布线 | |
US8458640B2 (en) | Routing using a dynamic grid | |
US9122833B2 (en) | Method of designing fin field effect transistor (FinFET)-based circuit and system for implementing the same | |
CN105631087B (zh) | 用于集成电路布局生成的方法、器件和计算机程序产品 | |
US11205032B2 (en) | Integrated circuit design method, system and computer program product | |
CN102741848B (zh) | 用所定义模式改善预布线和后布线网相关性 | |
US11171089B2 (en) | Line space, routing and patterning methodology | |
TW202018548A (zh) | 製造積體電路的方法以及用於設計積體電路的計算系統 | |
JP2010079896A (ja) | 集積回路設計中の製造の影響の高速シミュレーションを行なうための装置、方法及びコンピュータ・プログラム | |
CN104933214B (zh) | 集成电路设计方法和装置 | |
CN103605817A (zh) | 布局修改方法及系统 | |
US10192019B2 (en) | Separation and minimum wire length constrained maze routing method and system | |
US20200057835A1 (en) | Capacity model for global routing | |
US20170344692A1 (en) | Computer-implemented method of designing an integrated circuit | |
US20180365364A1 (en) | Computer-implemented method and computing system for designing integrated circuit by considering process variations of wire | |
US8595677B1 (en) | Method and system for performing voltage-based fast electrical analysis and simulation of an electronic design | |
US10445457B1 (en) | Methods, systems, and articles of manufacture for implementing a physical design of an electronic design with DFM and design specification awareness | |
JP2015166981A (ja) | レイアウト検証方法、検証装置、及び検証プログラム | |
US8132141B2 (en) | Method and apparatus for generating a centerline connectivity representation | |
US9785736B2 (en) | Connectivity-aware layout data reduction for design verification | |
US20180018410A1 (en) | Integrated circuit design method and associated non-transitory computer-readable medium | |
KR102718979B1 (ko) | Beol을 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템 |
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 |