CN113919275A - 用于优化集成电路的布局的方法 - Google Patents

用于优化集成电路的布局的方法 Download PDF

Info

Publication number
CN113919275A
CN113919275A CN202010996475.6A CN202010996475A CN113919275A CN 113919275 A CN113919275 A CN 113919275A CN 202010996475 A CN202010996475 A CN 202010996475A CN 113919275 A CN113919275 A CN 113919275A
Authority
CN
China
Prior art keywords
macros
macro
layout
integrated circuit
channel
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
CN202010996475.6A
Other languages
English (en)
Inventor
庄易霖
谭诗文
刘松
林士尧
方文源
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.)
Taiji Telecom Nanjing Co ltd
TSMC Nanjing Co Ltd
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Original Assignee
Taiji Telecom Nanjing Co ltd
Taiwan Semiconductor Manufacturing Co TSMC Ltd
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 Taiji Telecom Nanjing Co ltd, Taiwan Semiconductor Manufacturing Co TSMC Ltd filed Critical Taiji Telecom Nanjing Co ltd
Priority to CN202010996475.6A priority Critical patent/CN113919275A/zh
Priority to US17/071,862 priority patent/US11443096B2/en
Priority to TW110102714A priority patent/TWI793508B/zh
Publication of CN113919275A publication Critical patent/CN113919275A/zh
Priority to US17/875,139 priority patent/US11893334B2/en
Priority to US17/883,246 priority patent/US11853675B2/en
Priority to US18/526,337 priority patent/US20240104285A1/en
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
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/373Design optimisation
    • 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/392Floor-planning or layout, e.g. partitioning or placement
    • 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/394Routing

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)
  • Architecture (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本公开涉及用于优化集成电路的布局的方法。本公开中提供了一种方法。该方法包括几个操作:生成具有用于集成电路的多个宏的布局;根据***在引脚之间的通道区域来调整宏;将宏用通道区域的通道宽度分开;以及根据宏与多个寄存器之间的相关性来调整布局中的宏。

Description

用于优化集成电路的布局的方法
技术领域
本公开涉及用于优化集成电路的布局(floor plan)的方法。
背景技术
在电子电路设计过程中,可以使用一个或多个电子设计自动化(EDA)工具来设计、优化和验证半导体器件设计,例如半导体芯片中的电路设计。物理设计中的第一个并且也是最重要的任务是布局规划(floorplanning),其确定存储器宏位置以优化高级电路模块位置。然而,目前大多数布局规划工作仍然严重依赖人工工作,并且需要智能自动化。在布局规划之后,设计将经历放置和布线主要阶段。在放置期间,放置器工具可以基于给定电路设计来产生放置布图,该给定电路设计可以由电路设计人员开发,并且可以包括例如电路设计信息,例如电气图、电路设计的高级电气描述、网表(netlist)等。放置布图包括指示半导体器件的各种电路元件的物理位置的信息。在完成器件的放置后,可以执行布线。在布线期间,可以形成导线或互连以连接放置布图的各种电路元件。在布线之后,检查所得电子器件设计以符合各种设计规则、设计规范等。
发明内容
根据本公开的一个实施例,提供了一种用于优化集成电路的布局的方法,包括:生成具有用于集成电路的多个宏的布局;根据***在多个引脚之间的通道区域来调整所述多个宏;将所述多个宏用所述通道区域的通道宽度分开;以及根据所述多个宏和多个寄存器之间的相关性来调整所述布局中的所述多个宏。
根据本公开的另一实施例,提供了一种用于优化集成电路的布局的方法,包括:布置在第一方向延伸的多个通道;根据多个宏的多个权重,将所述多个宏的第一部分布置为比所述多个宏的第二部分更靠近集成电路的核心区域的质心;以及将所述多个宏布置在所述多个通道的相反侧,其中,所述多个宏具有耦合到所述多个通道的多个引脚,所述多个通道***在所述多个宏之间。
根据本公开的又一实施例,提供了一种用于优化集成电路的布局的***,包括:一个或多个处理单元;以及存储器单元,被配置为存储指令,所述指令在由所述一个或多个处理单元中的至少一个处理单元执行时,执行包括以下各项的操作:根据多个宏的多个权重,将所述多个宏放置在布局中的区域的质心周围;将所述多个宏的多个引脚调整为彼此面对;预测***在所述多个宏之间的多个通道中的每个通道的通道宽度;根据所述多个通道中的每个通道的通道宽度来调整所述多个宏;检测所述多个宏与多个寄存器之间的相关性;以及根据所述相关性来调整所述多个宏。
附图说明
在结合附图阅读下面的具体实施方式时,可以从下面的具体实施方式中最佳地理解本公开的各方面。注意,根据行业的标准做法,各种特征不是按比例绘制的。事实上,为了讨论的清楚起见,各种特征的尺寸可能被任意增大或减小。
图1是根据本公开的一些实施例的设计集成电路的布图的方法的流程图。
图2是根据一些实施例的集成电路的布局的一部分的示意图。
图3A是根据一些实施例的图1的方法的对准阶段中的示例的流程图。
图3B是根据一些实施例的与图3A相对应的组框(group box)的示意图。
图4A是根据一些实施例的图1的方法的定向优化阶段中的示例的流程图。
图4B至图4E是根据一些实施例的与图4A的定向优化阶段相对应的示例的示意图。
图5是根据一些实施例的图1的方法的通道资源检测阶段中的示例的详细流程图。
图6A至图6E是根据一些实施例的与图5的通道资源检测阶段相对应的示例的示意图。
图7是根据一些实施例的图1的方法的数据流宏调整阶段中的示例的流程图。
图8A至图8E是根据一些实施例的与图7的数据流宏调整阶段相对应的示例的示意图。
图9A是根据一些实施例的集成电路的布局的一部分的示意图。
图9B是根据一些实施例的集成电路的布局的一部分的示意图。
图10是根据本公开的一些实施例的用于设计集成电路布图设计的***的框图。
图11是根据一些实施例的集成电路制造***以及相关联的集成电路制造流程的框图。
具体实施方式
下面的公开内容提供了用于实现所提供的主题的不同特征的许多不同的实施例或示例。下文描述了组件和布置的具体示例以简化本公开。当然,这些仅是示例而不意图是限制性的。例如,在下面的描述中,在第二特征上方或之上形成第一特征可以包括以直接接触的方式形成第一特征和第二特征的实施例,并且还可以包括可以在第一特征和第二特征之间形成附加特征,使得第一特征和第二特征可以不直接接触的实施例。此外,本公开可以在各个示例中重复参考数字和/或字母。该重复是出于简单和清楚的目的,并且其本身不指示所讨论的各种实施例和/或配置之间的关系。
本说明书中使用的术语通常具有它们在本领域中和在使用每个术语的特定上下文中的普通含义。在本说明书中对示例(包括本文所讨论的任何术语的示例)的使用仅是说明性的,并且绝不限制本公开或任何示例性术语的范围和含义。同样,本公开不限于本说明书中给出的各种实施例。
如本文所使用的,术语“包括”、“拥有”、“具有”、“包含”、“涉及”等应当被理解为开放式的,即,意味着包括但不限于。
在整个说明书中对“一个实施例”、“实施例”或“一些实施例”的引用意味着结合(一个或多个)实施例描述的特定特征、结构、实现方式或特性包括在本公开的至少一个实施例中。因此,在整个说明书中的各个地方使用短语“在一个实施例中”或“在实施例中”或“在一些实施例中”不一定全部指同一实施例。此外,在一个或多个实施例中,可以用任何合适的方式来组合特定特征、结构、实现方式或特性。
此外,本文中可能使用了空间相关术语(例如,“下方”、“之下”、“低于”、“之上”、“上部”等),以易于描述图中所示的一个要素或特征相对于另外(一个或多个)要素或(一个或多个)特征的关系。这些空间相关术语意在涵盖器件在使用或工作中除了图中所示朝向之外的不同朝向。装置可能以其他方式定向(旋转90度或处于其他朝向),并且本文中所用的空间相关描述符同样可以被相应地解释。如本文所使用的,术语“和/或”包括一个或多个相关联列出的项目的任何和所有组合。
如本文所用,“大约”、“约”、“大概”或“基本上”应当通常指给定值或范围的任何近似值,其中,该近似值取决于所涉及的各种领域而变化,并且其范围应当与本领域技术人员所理解的最广泛解释相一致,以便涵盖所有这类修改和相似结构。在一些实施例中,这应当通常意味着在给定值或范围的百分之二十以内、优选地百分之十以内、或更优选地百分之五以内。本文给出的数值是近似的,意味着在没有明确说明时可以推断出术语“大约”、“约”、“大概”或“基本上”,或者意味着其他近似值。
电子设计自动化(EDA)软件工具提供了与集成电路(IC)的设计、仿真、分析、验证和制造有关的各种功能。计算速度和能力以及存储器容量的进步减少了完成这类功能所需的时间。同时,增加的设计复杂性(器件的数量以及器件之间的互连)和更快的设计周期,使得IC设计人员更加依赖EDA软件工具来生产能够在满足上市时间目标的同时正确执行的IC布图。然而,当前EDA工具在支持实际实施方面存在严重不足。例如,需要设置许多参数才能获得可行的布局选项。EDA工具不支持(1)细粒度模块规划、(2)宏引脚定向、(3)通道空间优化、(4)细粒度数据流放置。在各个实施例中,本公开提供了一种用于以减少的人工来生成布局的***和方法。
现在参考图1。图1是根据本公开的一些实施例的设计集成电路的布图的方法100的流程图。应该理解,可以在图1所示的过程之前、期间和之后提供附加操作/阶段,并且对于方法100的附加实施例,下面描述的一些操作/阶段可以被替换或消除。方法100包括阶段101-111。
在一些实施例中,设计流程旨在实现从高级规范到物理布图(该物理布图针对例如功能、时序和能力进行了验证)的集成电路芯片设计。设计流程利用***中的一个或多个电子器件设计工具来执行流程中的一个或多个阶段。在一些实施例中,电子器件设计工具至少部分地被实现为软件工具,该软件工具在由一个或多个计算设备、处理器等执行时可以被用来设计和生成一个或多个电子器件布图,包括用于电子器件电路(该电子器件电路可以包括例如集成电路)的放置布图和相关联布线。在一些实施例中,电子器件设计工具被包括在同一装置中或由同一装置来实现,例如,同一计算***或设备。在其他实施例中,电子器件设计工具被包括在分离的装置中或由分离的装置来实现,例如,分离的和位于远程的计算***或设备。
参考图1,在IC设计规划阶段101处,电路设计人员提供集成电路的高级设计。在一些实施例中,基于高级设计通过逻辑综合来生成门级(gate-level)网表,并且门级网表中的门被映射到标准单元库中的可用单元。本文所使用的术语“网表”是指基于图形的表示,例如,电路的示意图、或电路的基于文本的表示、或两者。在电子设计中,网表是对电子电路的连接性的描述。单个网表实际上是几个相关列表的集合。在最简单的形式中,网表包括电路中的电子组件的端子(“引脚”)的列表以及将端子互连的电导体的列表。网(net)是将两个或多个组件端子互连的导体。
在自动输入/输出(I/O)放置阶段102处,***根据一些设计参数自动放置集成电路的I/O区域。在一些实施例中,I/O区域在集成电路的核心区域与外部电路之间提供电接口。在一些实施例中,I/O区域通常被称为I/O环,因为它包括横向连接在一起以形成总体连续的矩形(该矩形围绕核心区域的周长)的I/O电路宏(或单元或模块)。I/O宏横向连接被用于有效地将I/O和核心电源以及接地电源分配给I/O宏,从而最小化噪声并且最大化静电放电(ESD)保护。I/O宏包括用于较高电源电压外部信号和较低电源电压核心信号的接口电路。I/O宏通常连接到接合焊盘,该接合焊盘进而连接到IC封装上的外部引脚、引线或焊料凸起。在各种实施例中,许多I/O单元库已经标准化并且广泛用于许多不同的IC设计中。
在模块规划阶段103处,将门级网表划分为核心区域中的功能块,并且创建集成电路的设计布图中的功能块的布局。
在宏放置阶段104处,将块中的逻辑门和寄存器的映射单元放置在设计布图中的特定位置处。在一些实施例中,各种逻辑、存储器、或处理器单元宏被包括在集成电路的核心区域中。
在一些实施例中,在模块规划阶段103和宏放置阶段104之后,确定宏的位置,并且优化多个对象(例如,布线元件)。***还被配置为优化可布线性因子以生成多个布局。具体地,在一些实施例中,***自动创建具有特定特征(例如,半周长线长度(HPWL)、浪费区域等)的布局的列表,并且提供布局的成本排序以供进一步选择。在各种实施例中,布局是在考虑模块时序的情况下生成的,并且包括在数据场(data farm)中。
在一些方法中,布局的准备严重依赖手工作业,并且因此花费大量时间。此外,布局设计有时会受到设计人员的技能和理解的限制。相反,利用本公开的各种实施例的配置,自动生成了多个布局,并且通过几个因素对该多个布局进行分类。因此,提供了用于选择和优化的灵活性。
再次参考图1,在对准阶段105处,***自动将宏与相邻宏对准。在一些实施例中,经对准的宏为附近的通道提供更好的可布线性。
在定向优化阶段106处,生成布置在同一行中的宏的引脚的链图。引脚的一部分根据链图和附近通道的位置被进一步翻转。在一些实施例中,宏的引脚面对***在宏之间的通道。
在通道资源检测阶段107处,估计通道所需的路径,并且计算通道的足够宽度。在一些实施例中,利用路径跟踪算法来实现机器学习单元。根据布局指南和通道资源检测的结果,对通道和通道附近的宏进行调整。
在宏合法化阶段108处,实现大量宏合法化以供复杂布局形状满足技术指南规则。在一些实施例中,在宏合法化阶段108之后,布局不违反任何指南。
在数据流宏调整阶段109处,根据宏与耦合的寄存器之间的相关性来重新布置宏。在一些实施例中,宏被布置为更靠近与之耦合的寄存器(与未耦合到该相应寄存器的宏相比)。
在放置和布线阶段110处,例如,执行生成放置布图。在一些实施例中,放置布图包括标准单元,这些标准单元对应于或以其他方式实现由合成工具产生的一个或多个逻辑运算、一个或多个算术运算,一个或多个控制操作等。标准单元可以包括或被提供为几何形状(例如,图6A所示的单元STD1-STD3)。此外,在放置布图上执行布线。例如,放置布图上的布线是通过在放置布图中的标准单元、宏、或几何形状之间生成互连(或布线)来实现的。在布线之后,产生集成电路布图,该集成电路布图包括例如放置布图和由布线提供的互连。
在验证和签核(signoff)阶段111处,检查集成电路布图以确保与门级网表相对应,并且确保没有例如针对制造的电气问题和光刻问题。可以执行增量固定,以在流片(tape-out)之前实现设计的最终签核。
图1中的方法100的流程图是为了说明的目的而给出的。方法100的各种实现方式都在本公开的预期范围内。例如,在其他实施例中,对准阶段105还在定向优化阶段106和宏合法化阶段108之后实现。
现在参考图2。图2是根据一些实施例的集成电路的布局200的一部分的示意图。在一些实施例中,图2对应于图1的宏放置阶段104。换句话说,通过图1的阶段101-104生成布局200。如图2示意性所示,布局200包括成组形成的宏211-219。在一些实施例中,示出了逻辑边界220,并且在逻辑边界220内放置了一个或多个寄存器(未示出)。质心(centroid)230位于逻辑边界中。在一些实施例中,质心230指示布局200的一部分集成电路的核心区域的中心。
为了说明,宏211-215被布置在左下角。宏216-217被布置在右下角。宏218-219被布置在右上角。如图2所示,宏211和214比宏212-213和215被放置得更靠近质心230。宏216比宏217被放置得更靠近质心230。宏218比宏219被放置得更靠近质心230。
在一些实施例中,根据宏211-219的权重来放置宏211-219。具体地,在宏放置阶段104中,该方法包括基于对宏211-219的权重的比较来将宏211-219放置在布局200中。宏211-219的每个权重对应于宏211-219之一的连接关系。在一些实施例中,例如通过如下所示的等式(1)来计算权重:
权重=(Fanout_icg+Fanin_icg)×c1+(Fanout_reg+Fanin_reg)×(stageM2R+stageR2M)×c2 (1)Fanout_icg指示用于将一个或多个信号从宏传递到一个或多个单元(即,一个或多个门单元)的扇出点(fan-out point)的数量。Fanin_icg指示用于将一个或多个信号从一个或多个单元传递到宏的扇入点(fan-in point)的数量。Fanout_reg指示用于将一个或多个信号从宏传递到一个或多个寄存器的扇出点的数量。Fanin_reg指示用于将一个或多个信号从一个或多个寄存器传递到宏的扇入点的数量。StageM2R指示从宏到耦合的一个或多个寄存器的阶段的数量。StageR2M指示从耦合的一个或多个寄存器到宏的阶段的数量。系数c1-c2是根据本公开的集成电路或实现方式的设计而确定的。
例如,宏耦合到4个单元以接收信号,并且将信号输出到5个单元。Fanin_icg等于4,并且Fanout_icg等于5。宏耦合到1个寄存器(即,第一寄存器)以接收信号,并且将信号输出到1个寄存器(即,第二寄存器)。Fanin_reg等于1,并且Fanout_reg等于1。此外,宏直接耦合到第一寄存器,中间没有耦合任何元件,并且stageR2M等于1。宏通过1个元件耦合到第二寄存器,并且stageM2R等于2。系数c1和c2分别等于1.3和1.0。因此,宏的权重等于17.7。
基于以上讨论,在宏放置阶段104中,该方法包括比较宏的权重。例如,在一些实施例中,宏211和214的权重大于宏212-213和215的权重。宏216的权重大于宏217的权重。宏218的权重大于宏219的权重。因此,如图2示意性所示,与具有较小权重的宏(即,宏212-213、215、217和219)相比,组中的具有较大权重的那些宏(即,宏211、214、216和218)被布置得更靠近质心230。
图2的配置是为了说明的目的而给出的。各种实现方式都在本公开的预期范围内。例如,在一些实施例中,系数c1-c2不同于1.3和1.0。
现在参考图3A。图3A是根据一些实施例的图1的方法100的对准阶段105中的示例的流程图。如图3A所示,布局310包括几个宏。
为了说明,在对准阶段105中,方法100包括操作301-302。在操作301中,针对布局310中的宏限定了组框321a-321c。换句话说,布局310中的宏被组织为组框321a-321c。如图3A所示,在一些实施例中,组框321a和321b在y方向延伸,并且组框321c在x方向延伸。
布局310还包括通道322a-322b。为了说明,通道322a-322b在y方向延伸,并且通道322b***在组框321a-321b之间。
在一些实施例中,根据通道322a-322b来限定组框321a-321c。例如,首先从通道322a开始,找到第一个宏。然后,执行基于第一个宏而在约3-5微米的范围内搜索宏,直到该范围内没有宏为止。因此,如图3A所示,6个宏被组织在组框321a中,8个宏被组织在组框321b中,并且8个宏被组织在组框321c中。
在操作302中,执行对准组框321a-321c中的宏以最小化组框321a-321c的高度和/或宽度。例如,移动组框321a-321b中的宏以最小化组框321a-321b的宽度。移动组框321c中的宏以最小化组框321c的高度。在一些实施例中,对于两个组框321b-321c中都包括的宏,在对准组框321c之前,执行对准组框321b。在各种实施例中,在对准组框321c之后,执行对准组框321b。
现在参考图3B。图3B是根据一些实施例的与图3A相对应的组框321a的示意图。为了说明,组框321a具有高度group_box_height_321a和宽度group_box_width_321a,并且组框321a具有四个边界B1-B4。边界B1-B2在y方向延伸,并且边界B3-B4在x方向延伸。与图3A相比,组框321a不是具有六个宏,而是包括宏323a-323d。
在一些实施例中,在对准阶段105处,移动组框321a中的宏323a-323d,并且宏323a-323d的移动范围在第一空间和第二空间之间。在一些实施例中,宏的移动ΔMacro在如下所示的等式(2)中表示:
-left_ava_space(i,j)≤ΔMacro(i,j)≤c3×right_ava_space(i,j) (2)在宏向左移动时,移动ΔMacro为负数。第一空间left_ava_space(i,j)对应于组框i(即,组框321a)中的宏j(即,宏323a-323d中的一个)与左边界B1或另一个相邻宏之间的空间。第二空间right_ava_space(i,j)对应于宏j与右边界B2或另一个相邻宏之间的空间。系数c3是给定数,并且与宏和边界B1-B4之间的空间相关联。例如,在一些实施例中,宏323a将被向右移动。因为宏323a与边界B2之间的空间以及宏323b与边界B2之间的空间足够,所以在宏323a的移动ΔMacro是第二空间right_ava_space(宏323a-323b之间的空间)时,宏323b仍然有向右移动的空间。因此,系数c3被设置为1。在各个实施例中,因为宏与边界之间的空间不足,所以系数c3约为0.5。
例如,如图3B示意性所示,空间left_ava_space_323c指示边界B1与宏323c之间的空间。空间right_ava_space_323c指示宏323c-323d之间的空间。在一些实施例中,宏323c向左移动以与边界B1对准,并且宏323d相应地向左移动。因此边界B2向左移动并且宽度group_box_width_321a被最小化。在一些实施例中,在对准阶段105处,通过整数线性编程(ILP,integer linear programming)工具来估计调整宏的位置的不同方式,并且选择一种方式以使宏323a-323d的总移动最小。换句话说,根据宏323a-323d的估计最小总移动来调整宏323a-323d。
在一些实施例中,宏在组框321c中的移动范围在第三空间与第四空间之间。在一些实施例中,宏的移动ΔMacro在如下所示的等式(3)中表示:
-bottom_ava_space≤ΔMacro≤c4×top_ava_space (3)在宏向下移动时,移动ΔMacro为负数。第三空间bottom_ava_space对应于组框(即,组框321c)中的宏与底部边界B4或另一个宏之间的空间。第四空间top_ava_space对应于宏与顶部边界B3或另一个宏之间的空间。系数c4的配置类似于系数c3的配置。因此,这里省略了重复的描述。
图3A至图3B的配置是为了说明的目的而给出的。各种实现方式都在本公开的预期范围内。例如,在一些实施例中,搜索范围随本公开的实现方式而变化。
现在参考图4A。图4A是根据一些实施例的图1的方法100的定向优化阶段106中的示例的流程图。为了说明,方法100还包括在定向优化阶段106处的操作401-404。为了易于理解,结合图4B至图4E讨论操作401-404。图4B至图4E是根据一些实施例的与图4A的定向优化阶段106相对应的示例的示意图。
在操作401中,如图4B所示,宏被布置为两行。宏的每个引脚都被初始化为相同的方向,例如行方向。
在操作402中,如图4C所示,为行ROW1中的宏m1-m6生成第一链图,并且为行ROW1之下的行ROW2中的宏m1-m7生成第二链图。在一些实施例中,为行中的每个宏建立邻接列表。例如,行ROW1中的宏m1的邻接列表被指定为[m2,m3,m4,m5,m6],并且行ROW1中的宏m6的邻接列表被指定为[无]。行ROW2中的宏m1的邻接列表被指定为[m2,m3,m4,m5,m6,m7],并且行ROW2中的宏m7的邻接列表被指定为[无]。
在操作403中,执行搜索链图并且翻转行中的相应宏以改变相应宏的引脚的定向。在一些实施例中,执行深度优先搜索(DFS)。例如,对于行ROW1中的宏,响应于搜索第一链图,宏m2、m4和m6被翻转,并且宏m2、m4和m6的引脚分别面对宏m1、m3和m5的引脚,如图4D所示。换句话说,宏m1-m2的引脚彼此面对,依此类推。
此外,当宏的数量是奇数并且宏中的一个宏与布局的边界相邻时,该宏的引脚的定向被布置为与布局的边界相反。为了说明,如图4D所示,第二链图中的宏的数量是奇数7。行ROW2中的宏m7与布局400的边界相邻,并且因此,行ROW2中的宏m7的引脚的定向被布置为与布局400的边界相反。
在操作404中,执行对宏基台(abutment)的调整。如图4E所示,具有面对面的引脚的两个相邻宏(例如行ROW1中的宏m1-m2)由通道区域410的通道宽度分开,通道区域410被***在宏m1-m2之间。换句话说,宏m1-m2布置在通道区域410的相反侧,其中,宏m1-m2和通道区域410在同一方向延伸。以另一种方式进一步解释,图4E所示的宏的引脚根据***在宏之间的通道区域410而被调整。
在一些实施例中,通道区域410包括通道结构,并且行ROW1中的宏m1-m2的引脚被耦合到通道区域410中的通道结构。行ROW1中的宏m1-m6、行ROW2中的宏m1-m7、和通道区域410的配置类似于宏m1-m2和***在宏m1-m2之间的通道的配置。因此,这里省略了重复的描述。
在一些方法中,未优化布局中的宏的引脚的定向,并且因此引起通道布线的复杂性和芯片面积的浪费。相反,利用本公开的配置,宏的引脚的定向被彼此对准并且根据用于通道布线的通道区域而被放置。因此,与一些方法相比,提供了更好的芯片面积效率。
图4A至图4E的配置是为了说明的目的而给出的。各种实现方式都在本公开的预期范围内。例如,在一些实施例中,在布局400中布置有不止两行的宏,并且宏的引脚被相应地调整。
现在参考图5。图5是根据一些实施例的图1的方法100的通道资源检测阶段107中的示例的详细流程图。为了说明,在通道资源检测阶段107处,方法100包括操作510-560。在一些实施例中,操作510-560由具有通道统计信息生成单元的通道资源警报***来执行。通道资源警报***被配置为通过实现机器学习和深度学习来估计集成电路中用于通道布线的空间或资源。为了易于理解,参考图6A至图6E讨论了操作510-560。图6A至图6E是根据一些实施例的与图5的通道资源检测阶段107相对应的示例的示意图。为了易于理解,图6A至图6E中的相同元件用相同附图标记来指定。
在操作510中,划分若干标准单元。例如,如图6A所示,标准单元STD1-STD3和宏被包括在布局600中。在一些实施例中,本文所描述的标准单元STD1-STD3是指预定义电路单元或电路元件,该预定义电路单元或电路元件作为许多不同类型电路单元的单元库的一部分而被提供给集成电路设计人员。例如,标准单元是反相器、NAND门、NOR门、触发器(flipflop)、或其他类似逻辑电路。每个标准单元都具有边界,该边界基本由形成矩形的四个边组成。如本文所使用的,标准单元是指具有预定义布图的单元,其与其他标准单元结合使用以实现集成电路的期望功能。在一些实施例中,标准单元具有固定的有源和门级几何形状。
在操作520中,收集布局600的通道配置。如图6A示意性所示,在放置在标准单元STD1-STD2的左侧并且标准单元STD3之上的8个宏之间,***布置通道区域CH。在一些实施例中,通道区域CH被称为用于布线的预测通道。通道区域CH具有宽度W1,如图6A所示。
在一些实施例中,收集布局600中的宏之间的所有通道的配置,并且在通道资源检测阶段107处进一步调整所有宏。本公开不限于图5至图6E。
在操作530中,基于宽度W1来确定布线资源。当宽度W1适合于进一步布线时,然后执行宏合法化阶段108的后续操作。相反,如果宽度W1不够宽,则执行操作540。在一些实施例中,确定操作包括基于宽度W1来检查预测的布线结果,并且布线拥塞(即,热点)的数量指示布线资源是否足够。
在操作540中,预测用于布线的一个或多个通道。如图5所示,操作540包括操作541-544。在一些实施例中,在操作530之后执行操作541,并且在操作544之后执行操作550。
在操作541中,如图6B中所示,收集起点SP1-SP2和终点EP1-EP2。为了简洁起见,在图6B中省略了标准单元STD1-STD2和其他宏。在一些实施例中,起点SP1-SP2被分别确定为宏611-612的引脚上的参考点。发现标准单元STD3是宏611-612沿着通道区域CH的最接近的标准单元。因此,确定端点EP1-EP2在标准单元STD3的边缘上。
在操作542中,为布局600中的每个宏生成一个预测通道路径。在一些实施例中,机器学习单元采用具有增强学习(即,深度Q学习)的路径跟踪算法,来确定起点和终点之间的最短路径。为了说明,如图6B所示,通道路径P1从起点SP1延伸到终点EP1,并且是宏611在起点SP1和终点EP1之间的最短路径。通道路径P2从起点SP2延伸到终点EP2,并且是宏612在起点SP2和终点EP2之间的最短路径。换句话说,最短路径延伸的方向是宏的预测通道延伸的方向。为了简洁起见,在图6B中省略了其他宏的预测通道路径。
在操作543中,根据预测路径来估计针对一个宏而预测要***在通道区域CH中的缓冲器的数量N_buffer。在一些实施例中,以宏611为示例,如图6C所示,沿着预测路径布置缓冲器621。每个缓冲器621的面积A_buffer根据本公开的实现方式而变化。因此,如果缓冲器621的总面积大于通道区域CH的面积,则确定通道区域CH的通道宽度要被扩大为具有预测通道宽度。在一些实施例中,基于如下所示的等式(4)来计算预测通道宽度PW:
Figure BDA0002692678390000141
高度Hchannel是与宏相对应的通道区域CH的高度,如图6C所示。例如,对于宏611,高度Hchannel等于H1,并且对于宏612,高度Hcahnnel等于H2。为了简洁起见,在图6C中省略了其他宏的通道宽度的预测。
在一些实施例中,每个缓冲器通常是驱动器电路,其被构造为提供一个或多个信号(即,位线信号、字线信号、或电源信号等)以驱动一个或多个宏。因此,具有较大驱动能力的缓冲器比具有较小驱动能力的缓冲器占据更大的面积。
在操作544中,根据相应预测通道宽度来调整每个宏。为了说明,如图6D所示,在一些实施例中,不同位置处的宏被分开不同的预测通道宽度PW1-PW4。
在操作550中,根据预测通道宽度来确定新通道宽度。例如,如图6E所示,针对所有宏确定通道宽度W2。在一些实施例中,选择预测通道宽度中的最大预测通道宽度作为最终通道宽度W2。在各种实施例中,根据预测通道宽度和其他因素来确定和/或调整通道宽度W2,例如,检测布局中的功率开关(即,头部(header)或脚部(footer))。
在操作560中,如图6E所示,通过向右移动宏来将通道区域CH调整为具有通道宽度W2。在一些实施例中,操作560被称为通道合法化。在一些实施例中,在通道合法化之后对宏执行宏对准操作。
在一些方法中,在没有用于预测足够的通道宽度的通道资源检测阶段107的情况下,在仿真时的拥塞热点的总数约为24069.46,并且R2R(寄存器到寄存器)和M2M(宏到宏)的时序路径分别约为1.937GHz和1.565GHZ。相反,利用本公开的配置,拥塞热点的总数减少约51.9%(约11573.29)。R2R的时序路径增加约0.8%(约1.953GHZ),并且M2M的时序路径增加约3.9%(约1.626GHZ)。
图5至图6E的配置是为了说明的目的而给出的。各种实现方式都在本公开的预期范围内。例如,在一些实施例中,根据通道预测,新通道宽度W2小于通道宽度W1,并且宏向左移动。例如,在一些实施例中,原始宽度为约10微米。在通道预测之后,具有布局中的头部的宽度变为约9.3微米,而不具有头部的宽度变为5.3微米。因此,与没有通道预测的一些方法相比,利用本公开的配置,获得了较小的宽度并且提供了更好的芯片面积效率。
现在参考图7。图7是根据一些实施例的图1的方法100的数据流宏调整阶段109中的示例的流程图。为了说明,数据流宏调整阶段109处的方法包括操作710-740。为了易于理解,参考图8A至图8E讨论操作710-740。图8A至图8E是根据一些实施例的与图7的数据流宏调整阶段109相对应的示例的示意图。为了易于理解,图8A至图8E中的相同元件用相同附图标记来指定。
在操作710中,检测图8A中的宏A-F与寄存器R1-R2之间的相关性。如图8A所示,寄存器R1耦合到宏A-B和E-F或与宏A-B和E-F相连,并且寄存器R2耦合到宏C-D或与宏C-D相连。
在一些实施例中,例如图8B示出了宏A-F与寄存器R1-R2之间的相关性。如图8B示意性所示,宏A以及其他宏B和E-F耦合到寄存器R1。因此,在与宏A相对应的列中,值1在与宏B和E-F相对应的行中,而值0在与宏C-D相对应的行中。在与宏B相对应的列中,值1在与宏E-F相对应的行中,而值0在与宏C-D相对应的行中。在与宏E相对应的列中,值1在与宏F相对应的行中。宏C-D耦合至寄存器R2。因此,在与宏C相对应的列中,值1在与宏D相对应的行中,而值0在与宏E-F相对应的行中。在与宏D相对应的列中,值0在与宏E-F相对应的行中。
在操作720中,根据检测到的相关性对宏A-F进行排序。如图8C所示,宏A-B和E-F被分组,并且宏C-D被分组。
在操作730中,响应于排序,生成宏A-F的序列。例如,在一些实施例中,宏A-B和E-F被布置为顺序A-B-E-F。宏C-D被布置为顺序C-D。
在操作740中,如图8D所示,基于序列重新布置宏A-F。在一些实施例中,重新布置从宏C-D的序列开始,如图8D所示。在各种实施例中,重新布置从宏A-B和E-F的序列开始。换句话说,根据宏A-F和寄存器R1-R2之间的相关性来调整宏。
在一些实施例中,如图8E所示,基于宏A-F与寄存器R1-R2之间的相关性,宏A-B和E-F与寄存器R1被放置在区域810中,并且宏C-D与寄存器R2被放置在另一区域820中。
在一些方法中,很难提出最佳详细宏分组以减少布线拥塞。例如,未通过数据流宏调整的布局具有总数约32249.5个热点。利用本公开的配置,热点的总数减少约25%(24305.17)。在另一示例中,在一些方法中,热点的总数为约35701.29。相反,通过应用数据流宏调整,热点的总数减少约33%(23753.37)。因此,利用本公开的配置实现了减少布线拥塞。
图7至图8E的配置是为了说明的目的而给出的。各种实现方式都在本公开的预期范围内。例如,在一些实施例中,宏A-F被分组而不生成任何序列。因此,宏A-F是基于分组来布置的,并且顺序与图8E中的顺序不同。具体地,宏A-B被放置在最上面的行中。在另一实施例中,图8E中的宏A和E被交换。在又一实施例中,寄存器R1-R2被放置在宏A-F的相反两侧。在又一实施例中,基于图7所示的操作,调整多于两个的寄存器以及多于六个的宏。
现在参考图9A。图9A是根据一些实施例的集成电路的布局900的一部分的示意图。在一些实施例中,在图1的数据流宏调整阶段109之后,在隔离宏放置阶段处生成布局900。
为了说明,如图9A所示,布局900包括类型1的宏、类型2的宏和类型3的宏。在一些实施例中,类型1和类型2的宏基于一些准则被选择,并且然后与其他宏隔离地被布置。例如,在一些实施例中,所选宏在它们自己的层级中具有宏到宏的连接路径。每个所选宏的宽度和高度小于约30微米。用于分组的所选宏的数量小于或等于10。所选宏的质心被放置在距布局900中最接近边界一定距离处。例如,如图9A所示,在一些实施例中,类型1的宏的质心与类型3的宏的边界相距大于约50微米。
在一些实施例中,每个类型1的宏(矩形块)与类型2的宏、类型3的宏、和/或其他元素相距一个间隔。在一些实施例中,该间隔为约2微米。该间隔是为了说明的目的而给出的。其他值也在本公开的范围内。换句话说,相对于每个类型1的宏,没有其他宏被放置在约2微米的范围内。
在一些方法中,宏受到附近的宏和/或布线组件的影响,并且因此速度未被优化。利用图9A的配置,与一些方法相比,隔离宏的布线后速度提高了132MHz。
现在参考图9B。图9B是根据一些实施例的集成电路的布局900的一部分的示意图。为了说明,布局900还包括用虚线圈出的宏920-929。宏920-922与宏923-925的距离为W。宏926-928与宏929的距离为W。宏923-925与宏926-928的距离为S。在一些实施例中,距离W被称为***在宏之间的通道的宽度,并且间隔S的最小值由技术节点(即,制造限制或设计规则)确定。
在一些实施例中,宏920-929是L形堆叠或放置的。为了说明,替代将宏926-928放置在宏920-922之下并且将宏929放置在宏923-925之下,宏923和926被放置在同一行中,宏924和927被放置在同一行中,并且宏925和928-929被放置在同一行中。换句话说,宏926-929被布置得更靠近质心910。在一些实施例中,质心910相对于图2的质心230被配置。
在一些方法中,宏例如是矩形堆叠的,而不是L形放置的。因此,一些宏远离质心处的耦合寄存器。利用图9B的配置,与一些方法相比,实现了宏与寄存器之间较小程度的距离差异。
图9A至图9B的配置是为了说明的目的而给出的。各种实现方式都在本公开的预期范围内。例如,在一些实施例中,在隔离宏放置阶段处,一种类型的所选宏还被放置远离相同类型的未选宏。
在一些实施例中,利用图1至图9B的配置,设计实现周期时间缩短了约170倍。布局的规则违反的数量减少约52%。利用本公开的通道资源调整,通过将总溢出值减少52%解决了布线困难。
现在参考图10。图10是根据本公开的一些实施例的用于设计集成电路布图设计的电子设计自动化(EDA)***1000的框图。EDA***1000被配置为实现图1所公开的并且结合图2至图9B进一步解释的方法100的一个或多个操作。在一些实施例中,EDA***1000包括APR***。
在一些实施例中,EDA***1000是通用计算设备,包括硬件处理器1002和非暂态计算机可读存储介质1004。除其他之外,存储介质1004被编码有(即,存储有)计算机程序代码(指令)1006(即,一组可执行指令)。硬件处理器1002执行指令1006(至少部分地)表示实现例如方法100的一部分或全部的EDA工具。
处理器1002经由总线1008电耦合至计算机可读存储介质1004。处理器1002还经由总线1008电耦合至I/O接口1010和制造工具1016。网络接口1012还经由总线1008电连接到处理器1002。网络接口1012连接到网络1014,使得处理器1002和计算机可读存储介质1004能够经由网络1014连接到外部元件。处理器1002被配置为执行编码在计算机可读存储介质1004中的计算机程序代码1006,以使得EDA***1000可用于执行所提到的过程和/或方法的一部分或全部。在一个或多个实施例中,处理器1002是中央处理单元(CPU)、多处理器、分布式处理***、专用集成电路(ASIC)、和/或合适的处理单元。
在一个或多个实施例中,计算机可读存储介质1004是电的、磁的、光的、电磁的、红外的、和/或半导体***(或装置或设备)。例如,计算机可读存储介质1004包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘、和/或光盘。在使用光盘的一个或多个实施例中,计算机可读存储介质1004包括光盘只读存储器(CD-ROM)、读/写光盘(CD-R/W)、和/或数字视频光盘(DVD)。
在一个或多个实施例中,存储介质1004存储计算机程序代码1006,该计算机程序代码1006被配置为使得EDA***1000(其中这种执行(至少部分地)表示EDA工具)可用于执行所提及的过程和/或方法的一部分或全部。在一个或多个实施例中,存储介质1004还存储有助于执行所提及的过程和/或方法的一部分或全部的信息。在一个或多个实施例中,存储介质1004存储标准单元的IC布图1020,包括本文所公开的这类标准单元,例如包括上面参考图2至图9B所讨论的布局200、310、400、600、900和区域810-820中的单元。
EDA***1000包括I/O接口1010。I/O接口1010耦合到外部电路。在一个或多个实施例中,I/O接口1010包括键盘、小键盘、鼠标、轨迹球、触控板、触摸屏和/或光标方向键,以用于将信息和命令传达给处理器1002。
EDA***1000还包括耦合到处理器1002的网络接口1012。网络接口1012允许EDA***1000与一个或多个其他计算机***连接到的网络1014进行通信。网络接口1012包括无线网络接口,例如蓝牙、WIFI、WIMAX、GPRS或WCDMA;或有线网络接口,例如ETHERNET、USB或IEEE-1064。在一个或多个实施例中,在两个或多个***1000中实现所提及的过程和/或方法的一部分或全部。
EDA***1000还包括耦合到处理器1002的制造工具1016。制造工具1016被配置为根据由处理器1002处理的设计文件(例如,上面参考图2至图9B所讨论的布局200、310、400、600、900和区域810-820)来制造集成电路。
EDA***1000被配置为通过I/O接口1010来接收信息。通过I/O接口1010接收到的信息包括指令、数据、设计规则、标准单元的库、和/或用于由处理器1002处理的其他参数中的一个或多个。经由总线1008将信息传送到处理器1002。EDA***1000被配置为通过I/O接口1010接收与UI有关的信息。该信息作为设计规范1022存储在计算机可读介质1004中。
在一些实施例中,所提及的过程和/或方法的一部分或全部被实现为用于由处理器执行的独立软件应用。在一些实施例中,所提及的过程和/或方法的一部分或全部被实现为附加软件应用的一部分的软件应用。在一些实施例中,所提及的过程和/或方法的一部分或全部被实现为软件应用的插件。在一些实施例中,所提及的过程和/或方法中的至少一个被实现为EDA工具的一部分的软件应用。在一些实施例中,所提及的过程和/或方法的一部分或全部被实现为EDA***1000使用的软件应用。在一些实施例中,使用合适的布图生成工具来生成包括标准单元的布图。
在一些实施例中,过程被实现为存储在非暂态计算机可读记录介质中的程序的功能。非暂态计算机可读记录介质的示例包括但不限于外部/可移动和/或内部/内置存储装置或存储器单元,例如,诸如DVD之类的光盘、诸如硬盘之类的磁盘、诸如ROM、RAM、存储卡等之类的半导体存储器中的一个或多个。
图11是根据一些实施例的IC制造***1100以及相关联的IC制造流程的框图。在一些实施例中,基于布图,使用IC制造***1100来制造(A)一个或多个半导体掩模或(B)半导体集成电路的层中的至少一个组件中的至少一个。
在图11中,IC制造***1100包括在与制造IC器件1160有关的设计、开发、和制造周期和/或服务中彼此相互作用的实体,例如设计室1120、掩模室1130、和IC制造商/制造者(“fab”)1150。IC制造***1100中的实体通过通信网络连接。在一些实施例中,通信网络是单个网络。在一些实施例中,通信网络是各种不同的网络,例如内联网和互联网。通信网络包括有线和/或无线通信信道。每个实体与一个或多个其他实体进行交互,并且向一个或多个其他实体提供服务和/或从一个或多个其他实体接收服务。在一些实施例中,设计室1120、掩模室1130和IC fab 1150中的两个或更多个由单个实体拥有。在一些实施例中,设计室1120、掩模室1130和IC fab 1150中的两个或更多个在公共设施中共存,并且使用公共资源。
设计室(或设计团队)1120生成IC设计布图1122。IC设计布图1122包括各种几何图案,例如用于IC器件1160的IC布图设计,例如上面参考图2至图9B所讨论的布局200、310、400、600、900和区域810-820。几何图案对应于构成要制造的IC器件1160的各种组件的金属、氧化物或半导体层的图案。各个层组合以形成各种IC功能。例如,IC设计布图1122的一部分包括要在半导体衬底(例如硅晶圆)和设置在半导体衬底上的各种材料层中形成的各种IC特征,例如有源区域、栅极电极、源极和漏极、层间互连的导电分段或通孔。设计室1120实现适当的设计过程以形成IC设计布图1122。设计过程包括逻辑设计、物理设计、或布图和布线中的一个或多个。IC设计布图1122被呈现在具有几何图案信息的一个或多个数据文件中。例如,IC设计布图1122可以用GDSII文件格式或DFII文件格式表达。
掩模室1130包括数据准备1132和掩模制造1144。掩模室1130使用IC设计布图1122来制造一个或多个掩模1145,以用于根据IC设计布图1122来制造IC器件1160的各个层。掩模室1130执行掩模数据准备1132,其中IC设计布图1122被转换为代表性数据文件(“RDF”)。掩模数据准备1132提供RDF以用于掩模制造1144。掩模制造1144包括掩模写入器。掩模写入器将RDF转换为衬底上的图像,例如掩模(掩模版(reticle))1145或半导体晶圆1153。IC设计布图1122由掩模数据准备1132处理,以符合掩模写入器的特定特性和/或IC fab 1150的要求。在图11中,数据准备1132和掩模制造1144被示为单独的元件。在一些实施例中,数据准备1132和掩模制造1144可以被统称为掩模数据准备。
在一些实施例中,数据准备1132包括光学邻近校正(OPC),其使用光刻增强技术来补偿图像误差,例如可能由于衍射、干涉、其他处理效果等引起的那些图像误差。OPC调整IC设计布图1122。在一些实施例中,数据准备1132包括其他分辨率增强技术(RET),例如离轴照明、子分辨率辅助特征、相移掩模、其他合适的技术等、或其组合。在一些实施例中,还使用反光刻技术(ILT),其将OPC视为反成像问题。
在一些实施例中,数据准备1132包括掩模规则检查器(MRC),该MRC使用一组掩模创建规则来检查已经在OPC中进行过处理的IC设计布图1122,该组掩模创建规则包括某些几何和/或连接性限制以确保足够的余量,以考虑半导体制造工艺等中的可变性等。在一些实施例中,MRC修改IC设计布图1122以补偿掩模制造1144期间的限制,其可以撤消由OPC执行的修改的一部分以满足掩模创建规则。
在一些实施例中,数据准备1132包括光刻工艺检查(LPC),其仿真将由IC fab1150实现以制造IC器件1160的处理。LPC基于IC设计布图1122来仿真该处理以创建仿真制造器件,例如IC器件1160。LPC仿真中的处理参数可以包括与IC制造周期的各种工艺相关联的参数、与用于制造IC的工具相关联的参数、和/或制造工艺的其他方面。LPC考虑了各种因素,例如,投影对比度、焦距深度(“DOF”)、掩模误差增强因素(“MEEF”)、其他合适的因素等、或其组合。在一些实施例中,在通过LPC创建了仿真制造器件之后,如果仿真器件在形状上不够接近以满足设计规则,则重复OPC和/或MRC以进一步完善IC设计布图1122。
应当理解,为了清楚起见,已经简化了对数据准备1132的以上描述。在一些实施例中,数据准备1132包括诸如逻辑操作(LOP)之类的附加特征,以根据制造规则来修改IC设计布图1122。另外,可以用各种不同的顺序来执行在数据准备1132期间应用于IC设计布图1122的处理。
在数据准备1132之后以及在掩模制造1144期间,基于修改的IC设计布图1122来制造掩模1145或掩模组1145。在一些实施例中,掩模制造1144包括基于IC设计布图1122执行一个或多个光刻曝光。在一些实施例中,使用电子束(e-beam)或多个电子束的机制基于修改的IC设计布图1122来在掩模(光掩模或掩模版)1145上形成图案。掩模1145可以用各种技术形成。在一些实施例中,使用二元技术来形成掩模1145。在一些实施例中,掩模图案包括不透明区域和透明区域。用于曝光已经涂覆在晶圆上的图像敏感材料层(例如,光致抗蚀剂)的辐射束(例如紫外线(UV)束)被不透明区域阻挡并且透射穿过透明区域。在一个示例中,掩模1145的二元掩模版本包括透明衬底(例如,熔融石英)和涂覆在二元掩模的不透明区域中的不透明材料(例如,铬)。在另一示例中,使用相移技术来形成掩模1145。在掩模1145的相移掩模(PSM)版本中,形成在相移掩模上的图案中的各种特征被配置为具有适当的相差以增强分辨率和成像质量。在各种示例中,相移掩模可以是衰减PSM或调整PSM。由掩模制造1144生成的(一个或多个)掩模被用于各种工艺。例如,这类(一个或多个)掩模被用于离子注入工艺中以在半导体晶圆1153中形成各种掺杂区域,被用于蚀刻工艺中以在半导体晶圆1153中形成各种蚀刻区域,和/或被用于其他合适的工艺中。
IC fab 1150包括晶圆制造1152。IC fab 1150是IC制造企业,其包括用于制造各种不同的IC产品的一个或多个制造设施。在一些实施例中,IC Fab 1150是半导体铸造厂。例如,可以有一个制造工厂用于多个IC产品的前段制造(前段制程(FEOL)制造),而第二制造工厂可以为IC产品的互连和封装提供后段制造(后段制程(BEOL)制造),并且第三制造工厂可以为铸造业务提供其他服务。
IC fab 1150使用由掩模室1130制造的(一个或多个)掩模1145来制造IC器件1160。因此,IC fab 1150至少间接地使用IC设计布图1122来制造IC器件1160。在一些实施例中,由IC fab 1150使用(一个或多个)掩模1145来制造半导体晶圆1153以形成IC器件1160。在一些实施例中,IC制造包括至少间接基于IC设计布图1122执行一个或多个光刻曝光。半导体晶圆1153包括在其上形成有材料层的硅衬底或其他合适衬底。半导体晶圆1153还包括(在后续制造步骤中形成的)各种掺杂区域、电介质特征、多层互连等中的一个或多个。
如上所述,本公开中提供了一种用于生成布局的方法。通过使用该方法,以最佳方式自动调整和放置布局中的宏,并且因此实现更好的布线安排和更快的时序路径。
在一些实施例中,提供了一种方法。该方法包括以下操作:生成具有用于集成电路的多个宏的布局;根据***在引脚之间的通道区域来调整宏;将宏用通道区域的通道宽度分开;以及根据宏与多个寄存器之间的相关性来调整布局中的宏。在一些实施例中,该方法还包括:将宏组织成在第一方向延伸的多个第一组框和在第二方向延伸的多个第二组框;以及根据第一组框中的宏的最小总移动来对准第一组框中的宏。在一些实施例中,该方法还包括:移动第二组框中的宏。宏的移动范围在第一空间和第二空间之间。第一空间对应于宏中的一个宏与第二组框中的每一者的左边界或宏中的另一个宏之间的空间,第二空间对应于宏中的一个宏与第二组框中的每一者的右边界或宏中的另一个宏之间的空间。在一些实施例中,调整宏包括:生成宏的链图,以及响应于搜索链图,翻转宏中的相应宏以改变相应宏的引脚的定向,其中,宏中的一个宏的引脚和宏中的相应宏之一的引脚彼此面对。在一些实施例中,其中,当宏的数量是奇数并且宏的第一宏与布局的边界相邻时,第一宏的引脚的定向被布置为与布局的边界相反。在一些实施例中,该方法还包括:划分多个标准单元;根据针对每个宏的预测通道路径来估计多个缓冲器的数量,其中,所述预测通道路径在标准单元之一与宏中的相应的一个宏之间;基于多个缓冲器的数量和每个缓冲器的面积,计算宏中的相应的一个宏的预测通道宽度;以及根据宏的预测通道宽度来确定通道宽度。在一些实施例中,该方法还包括:确定宏的相应的一个宏上的起点和标准单元上的相应终点;以及生成从宏中的相应的一个宏上的起点延伸到标准单元上的相应终点的预测通道路径,其中,预测通道路径在宏中的相应的一个宏上的起点与标准单元上的相应终点之间具有距离最短。在一些实施例中,其中,调整布局中的宏包括:检测宏与寄存器之间的相关性;以及响应于检测,生成宏的与寄存器中之一相对应的序列。在一些实施例中,该方法还包括:基于对宏的多个权重的比较,将宏放置在布局中,其中,宏中的一个宏的权重对应于宏中的该一个宏的连接关系。在一些实施例中,其中,宏中的该一个宏的连接关系与多个扇入点的数量、多个扇出点的数量、以及宏中的该一个宏和与之相耦合的寄存器之间的级的数量相关联。在一些实施例中,该方法还包括:将宏的第一部分的质心放置在与布局中的最接近边界相距一个距离处,其中,宏的第一部分中的每个宏与宏的第二部分相距一个间隔;其中,距离大于约50微米,并且间隔大于约2微米。
还公开了一种方法,包括以下步骤:布置在第一方向延伸的多个通道;根据多个宏的多个权重,将宏的第一部分布置为比宏的第二部分更靠近集成电路的核心区域的质心;以及将宏放置在通道的相反侧。宏具有耦合到通道的多个引脚,该通道***在宏之间。在一些实施例中,宏的第一部分的权重大于宏的第二部分的权重。在一些实施例中,该方法包括:布置耦合到宏的多个寄存器。基于宏与寄存器之间的相关性,将寄存器的第一寄存器和宏的第三部分放置在第一区域中,并且将寄存器的第二寄存器和宏的第四部分放置在与第一区域不同的第二区域中。在一些实施例中,该方法还包括:布置与宏相邻的多个标准单元。每个通道具有通道宽度,并且通道宽度与标准单元之一和宏之一之间的最短通道路径相关联。
还公开了一种***,包括:一个或多个处理单元;存储器单元,被配置为存储指令,该指令在由一个或多个处理单元中的至少一个处理单元执行时执行包括以下各项的操作:根据宏的多个权重,将多个宏放置在布局中的区域的质心周围;将宏的多个引脚调整为彼此面对;预测***在宏之间的多个通道中的每个通道的通道宽度;根据每个通道的通道宽度来调整宏;检测宏与多个寄存器之间的相关性;以及根据相关性来调整宏。在一些实施例中,其中,操作还包括:为宏定义多个组框;以及将宏与组框的多个边界对准。在一些实施例中,其中,操作还包括:比较宏的权重,其中,每个权重与多个扇入点的数量、多个扇出点的数量、以及宏中的一个宏和与之相耦合的寄存器之间的级的数量相关联。在一些实施例中,其中,操作还包括:根据相关性来对宏进行排序;以及响应于排序,生成宏的序列。在一些实施例中,其中,操作还包括:检测布局中的功率开关单元;以及响应于检测,调整通道宽度。
以上概述了若干实施例的特征,使得本领域技术人员可以更好地理解本公开的各方面。本领域技术人员应当理解,他们可以容易地使用本公开作为设计或修改其他工艺和结构以实现本文介绍的实施例的相同目的和/或实现本文介绍的实施例的相同优点的基础。本领域技术人员还应该认识到,这样的等同构造不脱离本公开的精神和范围,并且他们可以在不脱离本公开的精神和范围的情况下在本文中进行各种改变、替换和变更。
示例1.一种用于优化集成电路的布局的方法,包括:生成具有用于集成电路的多个宏的布局;根据***在多个引脚之间的通道区域来调整所述多个宏;将所述多个宏用所述通道区域的通道宽度分开;以及根据所述多个宏和多个寄存器之间的相关性来调整所述布局中的所述多个宏。
示例2.根据示例1所述的方法,还包括:将所述多个宏组织成在第一方向延伸的多个第一组框和在第二方向延伸的多个第二组框;以及根据所述多个第一组框中的宏的最小总移动来对准所述多个第一组框中的宏。
示例3.根据示例2所述的方法,还包括:移动所述多个第二组框中的宏,其中,所述宏的移动范围在第一空间和第二空间之间,其中,所述第一空间对应于所述宏中的一个宏与所述多个第二组框中每一者的左边界或所述宏中的另一个宏之间的空间,并且所述第二空间对应于所述宏中的一个宏与所述多个第二组框中每一者的右边界或所述宏中的另一个宏之间的空间。
示例4.根据示例1所述的方法,其中,调整所述多个宏包括:生成所述多个宏的链图;以及响应于搜索所述链图,翻转所述多个宏中的相应宏以改变所述相应宏的所述多个引脚的定向,其中,所述多个宏之一的引脚和所述多个宏中的所述相应宏之一的引脚彼此面对。
示例5.根据示例1所述的方法,其中,当所述多个宏的数量为奇数并且所述多个宏中的第一宏与所述布局的边界相邻时,所述第一宏的引脚的定向被布置为与所述布局的边界相反。
示例6.根据示例1所述的方法,还包括:划分多个标准单元;根据针对所述多个宏中的每个宏的预测通道路径来估计多个缓冲器的数量,其中,所述预测通道路径在所述多个标准单元之一与所述多个宏中的相应的一个宏之间;基于所述多个缓冲器的数量和所述多个缓冲器中的每个缓冲器的面积,计算所述多个宏中的所述相应的一个宏的预测通道宽度;以及根据所述多个宏的预测通道宽度来确定所述通道宽度。
示例7.根据示例6所述的方法,还包括:确定所述多个宏中的相应的一个宏上的起点和所述多个标准单元上的相应终点;以及生成从所述多个宏中的所述相应的一个宏上的起点延伸到所述多个标准单元上的相应终点的预测通道路径,其中,所述预测通道路径在所述多个宏中的所述相应的一个宏上的起点与所述多个标准单元上的相应终点之间具有最短距离。
示例8.根据示例1所述的方法,其中,调整所述布局中的所述多个宏包括:检测所述多个宏与所述多个寄存器之间的相关性;以及响应于所述检测,生成所述多个宏的与所述多个寄存器之一相对应的序列。
示例9.根据示例1所述的方法,还包括:基于对所述多个宏的多个权重的比较,将所述多个宏放置在所述布局中,其中,所述多个宏中的一个宏的权重对应于所述多个宏中的该一个宏的连接关系。
示例10.根据示例9所述的方法,其中,所述多个宏中的该一个宏的连接关系与多个扇入点的数量、多个扇出点的数量、以及所述多个宏中的该一个宏和与之相耦合的所述多个寄存器之间的级的数量相关联。
示例11.根据示例1所述的方法,还包括:将所述多个宏的第一部分的质心放置在与所述布局中的最接近边界相距一个距离处,其中,所述多个宏的第一部分中的每个宏与所述多个宏的第二部分相距一个间隔;其中,所述距离大于50微米,并且所述间隔大于2微米。
示例12.一种用于优化集成电路的布局的方法,包括:布置在第一方向延伸的多个通道;根据多个宏的多个权重,将所述多个宏的第一部分布置为比所述多个宏的第二部分更靠近集成电路的核心区域的质心;以及将所述多个宏布置在所述多个通道的相反侧,其中,所述多个宏具有耦合到所述多个通道的多个引脚,所述多个通道***在所述多个宏之间。
示例13.根据示例12所述的方法,其中,所述多个宏的所述第一部分的多个权重大于所述多个宏的所述第二部分的多个权重。
示例14.根据示例12所述的方法,还包括:布置耦合到所述多个宏的多个寄存器;其中,基于所述多个宏与所述多个寄存器之间的相关性,将所述多个寄存器中的第一寄存器和所述多个宏的第三部分放置在第一区域中,并且将所述多个寄存器中的第二寄存器和所述多个宏的第四部分放置在与所述第一区域不同的第二区域中。
示例15.根据示例12所述的方法,还包括:布置与所述多个宏相邻的多个标准单元;其中,所述多个通道中的每个通道具有通道宽度,并且所述通道宽度与所述多个标准单元之一与所述多个宏之一之间的最短通道路径相关联。
示例16.一种用于优化集成电路的布局的***,包括:一个或多个处理单元;以及存储器单元,被配置为存储指令,所述指令在由所述一个或多个处理单元中的至少一个处理单元执行时,执行包括以下各项的操作:根据多个宏的多个权重,将所述多个宏放置在布局中的区域的质心周围;将所述多个宏的多个引脚调整为彼此面对;预测***在所述多个宏之间的多个通道中的每个通道的通道宽度;根据所述多个通道中的每个通道的通道宽度来调整所述多个宏;检测所述多个宏与多个寄存器之间的相关性;以及根据所述相关性来调整所述多个宏。
示例17.根据示例16所述的***,其中,所述操作还包括:为所述多个宏定义多个组框;以及将所述多个宏与所述多个组框的多个边界对准。
示例18.根据示例16所述的***,其中,所述操作还包括:比较所述多个宏的多个权重,其中,所述多个权重中的每个权重与多个扇入点的数量、多个扇出点的数量、以及所述多个宏中的一个宏和与之相耦合的所述多个寄存器之间的级的数量相关联。
示例19.根据示例16所述的***,其中,所述操作还包括:根据所述相关性来对所述多个宏进行排序;以及响应于排序,生成所述多个宏的序列。
示例20.根据示例16所述的***,其中,所述操作还包括:检测所述布局中的功率开关单元;以及响应于检测,调整所述通道宽度。

Claims (10)

1.一种用于优化集成电路的布局的方法,包括:
生成具有用于集成电路的多个宏的布局;
根据***在多个引脚之间的通道区域来调整所述多个宏;
将所述多个宏用所述通道区域的通道宽度分开;以及
根据所述多个宏和多个寄存器之间的相关性来调整所述布局中的所述多个宏。
2.根据权利要求1所述的方法,还包括:
将所述多个宏组织成在第一方向延伸的多个第一组框和在第二方向延伸的多个第二组框;以及
根据所述多个第一组框中的宏的最小总移动来对准所述多个第一组框中的宏。
3.根据权利要求2所述的方法,还包括:
移动所述多个第二组框中的宏,其中,所述宏的移动范围在第一空间和第二空间之间,
其中,所述第一空间对应于所述宏中的一个宏与所述多个第二组框中每一者的左边界或所述宏中的另一个宏之间的空间,并且
所述第二空间对应于所述宏中的一个宏与所述多个第二组框中每一者的右边界或所述宏中的另一个宏之间的空间。
4.根据权利要求1所述的方法,其中,调整所述多个宏包括:
生成所述多个宏的链图;以及
响应于搜索所述链图,翻转所述多个宏中的相应宏以改变所述相应宏的所述多个引脚的定向,其中,所述多个宏之一的引脚和所述多个宏中的所述相应宏之一的引脚彼此面对。
5.根据权利要求1所述的方法,其中,当所述多个宏的数量为奇数并且所述多个宏中的第一宏与所述布局的边界相邻时,所述第一宏的引脚的定向被布置为与所述布局的边界相反。
6.根据权利要求1所述的方法,还包括:
划分多个标准单元;
根据针对所述多个宏中的每个宏的预测通道路径来估计多个缓冲器的数量,其中,所述预测通道路径在所述多个标准单元之一与所述多个宏中的相应的一个宏之间;
基于所述多个缓冲器的数量和所述多个缓冲器中的每个缓冲器的面积,计算所述多个宏中的所述相应的一个宏的预测通道宽度;以及
根据所述多个宏的预测通道宽度来确定所述通道宽度。
7.根据权利要求6所述的方法,还包括:
确定所述多个宏中的相应的一个宏上的起点和所述多个标准单元上的相应终点;以及
生成从所述多个宏中的所述相应的一个宏上的起点延伸到所述多个标准单元上的相应终点的预测通道路径,
其中,所述预测通道路径在所述多个宏中的所述相应的一个宏上的起点与所述多个标准单元上的相应终点之间具有最短距离。
8.根据权利要求1所述的方法,其中,调整所述布局中的所述多个宏包括:
检测所述多个宏与所述多个寄存器之间的相关性;以及
响应于所述检测,生成所述多个宏的与所述多个寄存器之一相对应的序列。
9.一种用于优化集成电路的布局的方法,包括:
布置在第一方向延伸的多个通道;
根据多个宏的多个权重,将所述多个宏的第一部分布置为比所述多个宏的第二部分更靠近集成电路的核心区域的质心;以及
将所述多个宏布置在所述多个通道的相反侧,其中,所述多个宏具有耦合到所述多个通道的多个引脚,所述多个通道***在所述多个宏之间。
10.一种用于优化集成电路的布局的***,包括:
一个或多个处理单元;以及
存储器单元,被配置为存储指令,所述指令在由所述一个或多个处理单元中的至少一个处理单元执行时,执行包括以下各项的操作:
根据多个宏的多个权重,将所述多个宏放置在布局中的区域的质心周围;
将所述多个宏的多个引脚调整为彼此面对;
预测***在所述多个宏之间的多个通道中的每个通道的通道宽度;
根据所述多个通道中的每个通道的通道宽度来调整所述多个宏;
检测所述多个宏与多个寄存器之间的相关性;以及
根据所述相关性来调整所述多个宏。
CN202010996475.6A 2020-09-21 2020-09-21 用于优化集成电路的布局的方法 Pending CN113919275A (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN202010996475.6A CN113919275A (zh) 2020-09-21 2020-09-21 用于优化集成电路的布局的方法
US17/071,862 US11443096B2 (en) 2020-09-21 2020-10-15 Method for optimizing floor plan for an integrated circuit
TW110102714A TWI793508B (zh) 2020-09-21 2021-01-25 優化積體電路佈局的方法及系統
US17/875,139 US11893334B2 (en) 2020-09-21 2022-07-27 Method for optimizing floor plan for an integrated circuit
US17/883,246 US11853675B2 (en) 2020-09-21 2022-08-08 Method for optimizing floor plan for an integrated circuit
US18/526,337 US20240104285A1 (en) 2020-09-21 2023-12-01 Method for optimizing floor plan for an integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010996475.6A CN113919275A (zh) 2020-09-21 2020-09-21 用于优化集成电路的布局的方法

Publications (1)

Publication Number Publication Date
CN113919275A true CN113919275A (zh) 2022-01-11

Family

ID=79232452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010996475.6A Pending CN113919275A (zh) 2020-09-21 2020-09-21 用于优化集成电路的布局的方法

Country Status (3)

Country Link
US (4) US11443096B2 (zh)
CN (1) CN113919275A (zh)
TW (1) TWI793508B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116595938A (zh) * 2023-07-14 2023-08-15 上海韬润半导体有限公司 一种流水线寄存器的布局方法、***和集成电路
CN117077616A (zh) * 2023-10-17 2023-11-17 苏州异格技术有限公司 一种基于结构导向的电路生成方法、装置、设备及介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113919275A (zh) 2020-09-21 2022-01-11 台积电(南京)有限公司 用于优化集成电路的布局的方法
US11741284B2 (en) * 2021-09-28 2023-08-29 GBT Technologies, Inc. Systems and methods of automatic generation of integrated circuit IP blocks
CN114492290B (zh) * 2022-04-06 2022-07-01 飞腾信息技术有限公司 芯片的电源开关规划方法、装置、设备及存储介质
KR102454202B1 (ko) * 2022-05-04 2022-10-17 주식회사 애자일소다 파티셔닝을 이용한 심층 강화학습 기반의 집적회로 설계 시스템 및 방법

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484292A (en) * 1981-06-12 1984-11-20 International Business Machines Corporation High speed machine for the physical design of very large scale integrated circuits
JP2543155B2 (ja) * 1988-04-21 1996-10-16 松下電器産業株式会社 ブロック形状最適化方法
JPH0561940A (ja) * 1991-09-05 1993-03-12 Nec Corp ブロツクの配置処理方式
JPH08212185A (ja) * 1995-01-31 1996-08-20 Mitsubishi Electric Corp マイクロコンピュータ
JPH09153084A (ja) * 1995-09-26 1997-06-10 Matsushita Electric Ind Co Ltd Lsi自動設計方法
US6075934A (en) 1997-05-01 2000-06-13 Motorola, Inc. Method for optimizing contact pin placement in an integrated circuit
US6057169A (en) * 1998-04-17 2000-05-02 Lsi Logic Corporation Method for I/O device layout during integrated circuit design
JP3380465B2 (ja) * 1998-06-29 2003-02-24 松下電器産業株式会社 半導体装置
JP3097668B2 (ja) * 1998-07-16 2000-10-10 日本電気株式会社 配線性を考慮した機能ブロックの配置方向の決定方法を含む集積回路レイアウト設計の方法と装置
AU4484100A (en) * 1999-04-27 2000-11-10 Magma Design Automation, Inc. Method for performing sizing-driven placement
JP2001298089A (ja) * 2000-04-14 2001-10-26 Matsushita Electric Ind Co Ltd 半導体集積回路の設計方法
JP4887552B2 (ja) * 2000-07-04 2012-02-29 富士通セミコンダクター株式会社 Lsiチップのレイアウト設計方法
US6829730B2 (en) * 2001-04-27 2004-12-07 Logicvision, Inc. Method of designing circuit having multiple test access ports, circuit produced thereby and method of using same
JP2003242190A (ja) * 2002-02-21 2003-08-29 Hitachi Ltd 半導体集積回路のフロアプラン方法
JP4156274B2 (ja) * 2002-05-29 2008-09-24 富士通株式会社 対話型フロアプランナ装置
JP3842228B2 (ja) * 2003-02-27 2006-11-08 Necエレクトロニクス株式会社 半導体集積回路装置と設計自動化装置及び方法並びにプログラム
JP4620942B2 (ja) * 2003-08-21 2011-01-26 川崎マイクロエレクトロニクス株式会社 半導体集積回路のレイアウト方法、そのレイアウト構造、およびフォトマスク
US7165232B2 (en) * 2003-12-11 2007-01-16 Faraday Technology Corp. I/O circuit placement method and semiconductor device
JP4311736B2 (ja) 2004-07-23 2009-08-12 財団法人北九州産業学術推進機構 対話型フロアプランナ装置及びプログラム
US7752588B2 (en) 2005-06-29 2010-07-06 Subhasis Bose Timing driven force directed placement flow
US20070157146A1 (en) 2006-01-03 2007-07-05 Mediatek Inc. Method of packing-based macro placement and semiconductor chip using the same
US20070245281A1 (en) * 2006-04-14 2007-10-18 Riepe Michael A Placement-Driven Physical-Hierarchy Generation
US20070245280A1 (en) * 2006-04-14 2007-10-18 Magma Design Automation, Inc. System and method for placement of soft macros
US7872283B2 (en) * 2006-11-09 2011-01-18 Panasonic Corporation Semiconductor integrated circuit and multi-chip module
US7966595B1 (en) 2007-08-13 2011-06-21 Cadence Design Systems, Inc. Method and system for approximate placement in electronic designs
WO2009084092A1 (ja) * 2007-12-27 2009-07-09 Fujitsu Limited マクロ用レイアウト検証装置及び検証方法
US7937682B2 (en) 2008-01-31 2011-05-03 Synopsys, Inc. Method and apparatus for automatic orientation optimization
JP5373304B2 (ja) 2008-03-28 2013-12-18 株式会社日立情報通信エンジニアリング 半導体集積回路配置プログラム及び方法
US8099702B2 (en) 2008-07-30 2012-01-17 Synopsys, Inc. Method and apparatus for proximate placement of sequential cells
US8028265B2 (en) * 2008-07-31 2011-09-27 International Business Machines Corporation System and method for improved placement in custom VLSI circuit design with schematic-driven placement
US8028266B2 (en) * 2008-07-31 2011-09-27 International Business Machines Corporation System and method for automated placement in custom VLSI circuit design with schematic-driven placement
US8037442B2 (en) * 2008-11-26 2011-10-11 Synopsys, Inc. Method and apparatus for scaling I/O-cell placement during die-size optimization
US8549447B2 (en) * 2010-04-24 2013-10-01 Robert Eisenstadt Integrated circuits with multiple I/O regions
US8549457B1 (en) * 2011-08-26 2013-10-01 Cadence Design Systems, Inc. Method and system for implementing core placement
TWI480654B (zh) * 2012-10-05 2015-04-11 Au Optronics Corp 液晶顯示面板
US8629548B1 (en) 2012-10-11 2014-01-14 Easic Corporation Clock network fishbone architecture for a structured ASIC manufactured on a 28 NM CMOS process lithographic node
US9047433B2 (en) * 2013-02-27 2015-06-02 Taiwan Semiconductor Manufacturing Company, Ltd. Cell and macro placement on fin grid
US9929095B2 (en) * 2014-11-06 2018-03-27 Qualcomm Incorporated IO power bus mesh structure design
US9710590B2 (en) 2014-12-31 2017-07-18 Arteris, Inc. Estimation of chip floorplan activity distribution
US9436796B2 (en) 2015-02-11 2016-09-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and apparatus for determining common node logical connectivity
EP3333735B1 (en) * 2016-12-12 2021-07-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and computer program for determining a placement of at least one circuit for a reconfigurable logic device
US10811375B2 (en) * 2018-11-12 2020-10-20 Arm Limited System, method and apparatus for a single input/output cell layout
TWI718486B (zh) 2019-02-27 2021-02-11 瑞昱半導體股份有限公司 積體電路佈局設計方法
US10977410B2 (en) 2019-04-16 2021-04-13 Fungible, Inc. IC routing for silicon circuits with smaller geometries
TWI707337B (zh) * 2019-11-04 2020-10-11 凌巨科技股份有限公司 具一對多級輸出設計之陣列上閘極驅動電路
CN113919275A (zh) 2020-09-21 2022-01-11 台积电(南京)有限公司 用于优化集成电路的布局的方法
US12014982B2 (en) * 2021-08-31 2024-06-18 Taiwan Semiconductor Manufacturing Company, Ltd. Integrated circuit device and method
CN115329713B (zh) * 2022-10-13 2023-02-03 飞腾信息技术有限公司 一种布局模块、生成布线文件以及布线的方法、装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116595938A (zh) * 2023-07-14 2023-08-15 上海韬润半导体有限公司 一种流水线寄存器的布局方法、***和集成电路
CN116595938B (zh) * 2023-07-14 2023-09-15 上海韬润半导体有限公司 一种流水线寄存器的布局方法、***和集成电路
CN117077616A (zh) * 2023-10-17 2023-11-17 苏州异格技术有限公司 一种基于结构导向的电路生成方法、装置、设备及介质
CN117077616B (zh) * 2023-10-17 2024-01-26 苏州异格技术有限公司 一种基于结构导向的电路生成方法、装置、设备及介质

Also Published As

Publication number Publication date
US20220366118A1 (en) 2022-11-17
US11853675B2 (en) 2023-12-26
US11893334B2 (en) 2024-02-06
TW202213159A (zh) 2022-04-01
US20240104285A1 (en) 2024-03-28
TWI793508B (zh) 2023-02-21
US11443096B2 (en) 2022-09-13
US20220092248A1 (en) 2022-03-24
US20220382950A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
TWI793508B (zh) 優化積體電路佈局的方法及系統
US11768991B2 (en) Pin access hybrid cell height design
CN110783307A (zh) 包含电源结构的集成电路
TWI771617B (zh) 積體電路、積體電路形成方法及設計系統
KR102131143B1 (ko) 병합된 필러 구조 및 이 구조의 레이아웃 다이어그램을 생성하는 방법
CN111128998A (zh) 集成电路布局方法
US11984441B2 (en) Integrated circuit with backside power rail and backside interconnect
US20240153939A1 (en) Power switch for backside power distribution
US12009356B2 (en) Integrated circuit and method of forming the same
US20230260970A1 (en) Die to die interface circuit
US12001773B2 (en) Automated system and method for circuit design
US20230237234A1 (en) Integrated circuit design method, system and computer program product
CN115114883A (zh) 设计集成电路的方法及***
US20230394216A1 (en) Integrated circuit device and manufacturing method of the same
US20240258298A1 (en) Integrated circuit with backside power rail and backside interconnect
US20240086609A1 (en) Integrated circuit design method, system and computer program product
US20230222278A1 (en) Method for generating routing structure of semiconductor device
US11923034B2 (en) Header circuit placement in memory device
US20230244845A1 (en) Method, non-transitory computer-readable medium, and apparatus for arranging electrical components within a semiconductor device
US20220328409A1 (en) Targeted power grid structure and method
KR20230115861A (ko) 동일한 기능을 갖는 좁은 폭 셀 및 더 넓은 폭 셀을 갖는 집적 회로를 구현하는 방법
CN116344545A (zh) 集成电路及形成单元布局结构的方法

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