CN101739492A - 用于在管芯尺寸优化期间缩放i/o单元布置的方法和设备 - Google Patents
用于在管芯尺寸优化期间缩放i/o单元布置的方法和设备 Download PDFInfo
- Publication number
- CN101739492A CN101739492A CN200910207521A CN200910207521A CN101739492A CN 101739492 A CN101739492 A CN 101739492A CN 200910207521 A CN200910207521 A CN 200910207521A CN 200910207521 A CN200910207521 A CN 200910207521A CN 101739492 A CN101739492 A CN 101739492A
- Authority
- CN
- China
- Prior art keywords
- unit
- size
- die
- arrangements
- cells
- 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
Images
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
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/01—Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
- H01L2224/02—Bonding areas; Manufacturing methods related thereto
- H01L2224/04—Structure, shape, material or disposition of the bonding areas prior to the connecting process
- H01L2224/06—Structure, shape, material or disposition of the bonding areas prior to the connecting process of a plurality of bonding areas
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明的一个实施例提供一种在管芯尺寸优化期间缩放I/O单元布置的系统。在操作期间,该系统通过接收用于管芯的初始管芯尺寸和用于一组I/O单元的初始I/O单元布置来启动。该系统也接收用于管芯的目标管芯尺寸。该系统然后确定在初始管芯尺寸与目标管芯尺寸之间的管芯尺寸改变。接着,该系统标识在初始I/O单元布置中的一组I/O单元之间的可用空间。该系统随后基于标识的可用空间和管芯尺寸改变来缩放初始I/O单元布置以获得配合目标管芯尺寸的新I/O单元布置。
Description
技术领域
本公开内容主要地涉及用于设计和制造集成电路(IC)的技术。具体而言,本发明涉及一种用于在管芯尺寸改变时修改IC管芯中的输入/输出(下文称为“I/O”)单元布置的方法和设备。
背景技术
半导体集成电路(IC)技术的显著改进目前使得有可能将数以亿计的晶体管集成到单个半导体IC芯片上。已经主要通过近来已经实现超深亚微米特征尺寸的半导体制造技术中的对应改进来实现集成密度的这些改进。在相反的方面上,朝着不断减少特征尺寸方向的持续努力导致了IC制造成本的显著增加。
一种用以减轻越来越多的IC制作成本的方式是使用最小可行管芯尺寸来实现设计规格。例如,一些芯片布局工具可以自动分析IC设计约束并且标识用于流片的最小可布线管芯尺寸。取而代之,设计者可以人工探索最小可行管芯尺寸。
在探索IC设计的最小可行管芯尺寸的同时,设计者需要用以在维持I/O单元的原边、相对顺序和对准的情况下将所有原有I/O焊盘(pad)和其它I/O单元重新配合到不同的收缩或者扩展管芯边界中的工具。常规上,通过在某些设计约束之下根据原有I/O布置进行新的基于逐个单元的布置过程来实现这一点。然而,这一“重新布置”技术具有诸多限制,比如原有设计约束并不适合于改变的管芯尺寸、不能操纵I/O区域内的宏单元、不能操纵多个I/O环以及不能操纵直线形I/O单元。
因此,需要的是一种在管芯尺寸优化期间无上述问题的I/O单元重新布置技术。
发明内容
本发明的一些实施例提供一种在管芯尺寸优化期间缩放I/O单元布置的系统。在操作期间,该系统通过接收用于管芯的初始管芯尺寸和用于一组I/O单元的初始I/O单元布置来启动。该系统也接收用于管芯的目标管芯尺寸。该系统然后确定在初始管芯尺寸与目标管芯尺寸之间的管芯尺寸改变。接着,该系统标识在初始I/O单元布置中的一组I/O单元之间的可用空间。该系统随后基于标识的可用空间和管芯尺寸改变来缩放初始I/O单元布置以获得配合目标管芯尺寸的新I/O单元布置。
在一种变化中,该系统通过确定管芯的宽度改变和高度改变来确定在初始管芯尺寸与目标管芯尺寸之间的管芯尺寸改变。
在一种变化中,该系统通过独立标识用于管芯的各边的一行I/O单元中的可用空间来标识一组I/O单元之间的可用空间。
在一种变化中,该系统通过以下操作来标识一行I/O单元中的可用空间:(1)标识一行I/O单元中的各对相邻I/O单元之间的可用空间;(2)通过将一行I/O单元中的可用空间求和来计算管芯的该边上的总可用空间。
在一种变化中,该系统通过从成对相邻I/O单元之间的距离减去最小空间要求来标识各对相邻I/O单元之间的可用空间。
在一种变化中,该系统通过独立缩放管芯的各边上的I/O单元布置来缩放初始I/O单元布置。
在一种变化中,该系统通过先基于在沿着管芯的一边的方向上的管芯尺寸改变的符号确定缩放模式(收缩/扩展)来缩放管芯的该边上的初始I/O单元布置。该系统然后将一行I/O单元中的成对相邻I/O单元之间的各空间缩放与对应可用空间成比例的量。另外,用于一行I/O单元的缩放的总的量基本上等于管芯尺寸改变。
在一种变化中,该系统通过先基于在沿着管芯的一边的方向上的管芯尺寸改变的符号确定缩放模式(收缩/扩展)来缩放管芯的该边上的初始I/O单元布置。该系统然后将一行I/O单元中的成对相邻I/O单元之间的各空间缩放相等的量。另外,用于一行I/O单元的缩放的总的量基本上等于管芯尺寸改变。
在一种变化中,该系统通过先基于在沿着管芯的一边的方向上的管芯尺寸改变的符号确定缩放模式(收缩/扩展)来缩放管芯的该边上的初始I/O单元布置。如果管芯尺寸改变为负并且具有比管芯的该边上的总可用空间更大的值,则系统然后通过将所有可用空间减少至零来缩放在一行I/O单元中的成对相邻I/O单元之间的空间。
在一种变化中,如果初始I/O单元布置是多环I/O单元布置,则系统可以独立缩放多环I/O单元布置的各环,这忽略多个I/O单元环之间的对准。取而代之,该系统可以协同缩放多环I/O单元布置中的多个I/O单元环以维持多个I/O单元环之间的对准。
在对这一实施例的一种变化中,一组I/O单元可以包括:I/O焊盘;包括多个I/O管脚的I/O单元;宏单元;布置阻断;以及填充物单元。
附图说明
图1图示了在设计和制作集成电路时的各种步骤。
图2A图示了具有给定管芯尺寸和双环I/O单元布置的IC芯片。
图2B图示了包括双环I/O单元结构和宏单元的I/O单元布置。
图3图示了根据本发明一个实施例的与一行I/O单元关联的示例距离和可用空间。
图4A图示了根据本发明一个实施例的用于为包括两边对准I/O环的示例I/O单元布置标识共用空间的过程。
图4B图示了根据本发明一个实施例的用于为包括两个交错I/O环的示例I/O单元布置标识共用空间的过程。
图5呈现了对根据本发明一个实施例的缩放I/O单元布置以为管芯尺寸改变而进行调节的过程进行图示的流程图。
图6图示了根据本发明一个实施例的在管芯的拐角中由于缩放管芯的两个邻边所致的潜在冲突状况。
图7呈现了对根据本发明一个实施例的在使用缩放技术以改变I/O单元布置以为管芯尺寸改变而进行调节的同时进行管芯尺寸探索的过程进行图示的流程图。
图8图示了根据本发明一个实施例的在管芯尺寸优化期间缩放I/O单元布置的设备。
具体实施方式
呈现以下描述以使本领域技术人员能够实现和利用本发明,并且在特定应用及其要求的背景下提供该描述。本领域技术人员将容易清楚对公开的实施例的各种修改,并且这里限定的一般原理可以适用于其它实施例和应用而不脱离本发明的精神实质和范围。因此,本发明不限于所示实施例而是将被赋予以与权利要求一致的最广范围。
在本具体实施方式中描述的数据结构和代码通常存储于计算机可读存储介质上,该介质可以是能够存储用于由计算机系统使用的代码和/或数据的任何设备或者介质。这包括但不限于易失性存储器、非易失性存储器、磁和光存储设备(比如盘驱动、磁带、CD(压缩盘)、DVD(数字通用盘或者数字视频盘)或者现在已知或者以后开发的能够存储计算机可读介质的其它介质。
集成电路设计流程
图1图示了在设计和制作集成电路时的各种步骤。该过程从使用电子设计自动化(EDA)软件设计处理(阶段110)来实现的产品构想(阶段100)的生成开始。当设计定稿时可以流片(tap-out)(阶段140)它。在流片之后,完成制作处理(阶段150)并且进行封装和组装处理(阶段160),这些处理最终产生成品芯片(阶段170)。
EDA软件设计处理(阶段110)又包括下文描述的阶段112-130。注意本设计流程描述仅用于示例目的。本描述并不意味着限制本发明。例如,实际集成电路设计可能要求设计者以与这里描述的序列不同的序列进行设计阶段。以下讨论提供设计处理中的进一步细节。
系统设计(阶段112):设计者描述将要实施的功能。他们也可以进行如果-怎么样(what-if)的规划以精化功能并且检验成本。硬件-软件架构划分可以出现在这一阶段。可以在这一阶段使用的来自SYNOPSYS公司的示例EDA软件产品包括MODELSYSTEM和产品。
逻辑设计和功能验证(阶段114):在这一阶段,编写用于系统中的模块的VHDL或者Verilog代码,并且检验该设计的功能准确性。具体而言,检验该设计以保证它产生正确输出。可以在这一阶段使用的来自SYNOPSYS公司的示例EDA软件产品包括 和产品。
合成和测试设计(阶段116):这里,将VHDL/Verilog转译成网表。可以针对目标技术优化网表。此外,可以设计和实施测试以检验成品芯片。可以在这一阶段使用的来自SYNOPSYS公司的示例EDA软件产品包括DESIGNPHYSICALTESTPOWERFPGA和产品。
分辨率增强和光刻规则检验(LRC)(阶段128):这一阶段涉及到对版图的几何形状操控以提高设计的可制造性并且涉及到光刻可印刷性检验。可以在这一阶段使用的来自SYNOPSYS公司的示例EDA软件产品包括和产品。
可以在一个或者多个上述步骤期间利用本发明的实施例。具体而言,可以在设计规划步骤120和物理实施步骤122期间利用本发明的一个实施例。
概述
为了减少IC制作成本,IC设计者在IC设计的芯片布局阶段以及布置和布线阶段期间在设计约束之下例行探索最小可行管芯尺寸。下文也将这一最小管芯尺寸探索过程称为管芯尺寸优化过程。在管芯尺寸优化过程开始时,各IC设计具有将要变化的初始管芯尺寸(即高度×宽度)以及需要在优化期间维持的整体结构的I/O单元布置。这一整体结构可以包括多个I/O单元布置性质,这些性质可以包括但不限于:所有I/O单元的原边(在管芯中)、I/O单元的相对顺序、在I/O单元之间的对准以及I/O单元的多环结构。在管芯尺寸优化期间,管芯尺寸优化工具修改I/O单元布置以配合新管芯尺寸而又维持I/O单元布置的整体结构。
本发明的一个实施例提供一种用于在管芯尺寸改变时确定新I/O单元布置的技术。具体而言,本技术基于管芯尺寸改变的量、在原I/O单元之间的可用空间以及具体缩放函数,来进行对原I/O单元之间空间的一维(1D)缩放而不是一次一个单元地重新布置I/O单元。在本发明的一个实施例中,将I/O单元布置分割成一次一边(例如一行I/O单元)单独进行缩放的四边。在I/O单元缩放之后,获得新I/O单元布置,该新布置以与原I/O单元布置配合原管芯尺寸相同的方式配合新管芯尺寸。因而,这一I/O单元缩放技术(下文称为“缩放技术”)可以自动维持原I/O单元的边和相对顺序以及用于多I/O环设计的I/O环结构。另外,本技术有助于操纵对于常规I/O单元布置技术而言有难度的宏单元和其它复杂成形的I/O单元。在一些实施例中,缩放技术也遵守最小I/O单元间隔要求和其它I/O单元布置约束。
I/O单元布置
图2A图示了具有给定管芯尺寸和双环I/O单元布置的IC芯片200。
如图2A中所示,IC芯片200的管芯尺寸由X维度上的宽度W和Y维度上的高度H限定。沿着IC芯片200的芯片边界204配合I/O单元布置202。具体而言,I/O单元布置202在IC芯片200的所有四边上包括两行I/O单元,由此形成双环结构。
注意各I/O单元由定界框(即单元边界)和在IC芯片200内的具体位置限定,例如矩形单元206和208。然而,定界框的形状不限于矩形而是可以具有更复杂的几何形状。结合图2B更具体地讨论这样的I/O单元。注意I/O单元如单元206被广义地限定并且不限于I/O焊盘或者与I/O有关的对象。在本发明的一些实施例中,I/O单元布置中的I/O单元可以包括但不限于:用于跨越芯片边界耦合信号的I/O焊盘;包含多个I/O管脚的I/O单元;通常具有更大尺寸、复杂几何形状并且常常与复杂功能关联的宏单元;在芯片边界内限定禁止区域的布置阻断;以及填充物单元。另外,尽管图2A将所有I/O单元图示为相互分离,但是在其它实施例中,一些I/O单元可以与邻近单元部分地重叠。
注意尽管图2A中的I/O单元布置202包括两个环,但是在其它实施例中,I/O单元布置可以包括更少或者更多数目的I/O单元环。在一些实施例中,管芯的各边具有与相同管芯的另一边不同的一行或者多行I/O单元。也注意尽管图2A图示了I/O单元数目相同的两行I/O单元,但是其它多环布置可以在各环中具有不同数目的I/O单元。因此,I/O单元布置202仅用于示例目的,而本技术可以应用于具有任意配置的I/O单元布置的芯片版图。
图2B图示了包括双环I/O单元结构和宏单元212的I/O单元布置210。如图2B中所示,宏单元212具有比其它I/O单元明显更大的六边形定界框并且占据跨越两个I/O环的区域。
缩放I/O单元布置
本发明的实施例使用缩放技术以改变现有I/O单元布置中的对象之间的空间,从而新I/O单元布置以与原I/O单元布置配合原管芯尺寸相同的方式配合新管芯尺寸。
在一个实施例中,这一缩放操作一次缩放I/O区域的一边。对于各边,缩放操作是在一个维度上造成改变的1D操作。在一个实施例中,这样的缩放改变在与管芯的被缩放的边平行的维度上出现。参照图2A,注意对于沿着IC芯片200的左边或者右边(即Y维度)布置的I/O单元,根据管芯尺寸的高度H的改变在Y维度上发生缩放,而关联I/O单元的X坐标根据新管芯尺寸的X坐标的改变简单地移位相同的量。另一方面,对于沿着IC芯片200的底边或者顶边布置的I/O单元,根据管芯尺寸的宽度W的改变在X维度上发生缩放,而关联I/O单元的Y坐标根据新管芯尺寸的Y坐标的改变简单地移位相同的量。虽然缩放操作改变I/O单元之间的空间,但是在一些实施例中,I/O单元的尺寸和形状是固定的。
另外,缩放操作考虑一组I/O单元布置约束。这样的约束可以包括但不限于:在相邻I/O单元之间的最小间隔约束、在I/O单元之间的相对位置约束、在I/O单元与芯片边界之间的相对位置约束以及要求单元边界或者管脚在希望的网格上这一约束。
在本发明的一个实施例中,在I/O单元布置的各边上的缩放涉及到收缩或者扩展位于这一边上的I/O单元之间的空间。将两个相邻单元之间的距离定义为两个相邻I/O单元边界之间的距离。还将可用空间定义为两个相邻I/O单元之间可用于在缩放操作期间改变的空间。
图3图示了根据本发明一个实施例的与一行I/O单元关联的示例距离和可用空间。具体而言,I/O单元布置的一边包括四个相邻I/O单元302、304、306和308。这一I/O单元布置受制于该布置的各边上的成对相邻I/O单元之间的最小间隔为2微米这一设计约束。如图3中所示,在I/O单元302与I/O单元304之间的距离为5微米,在I/O单元304与I/O单元306之间的距离为2微米,而在I/O单元306与I/O单元308之间的距离为3微米。因此,在I/O单元302与304之间的可用空间为5-2=3微米,在单元304与306之间的可用空间为2-2=0微米,而在单元306与308之间的可用空间为3-2=1微米。
注意零可用空间表明不能进一步减少对应成对I/O单元之间的距离。这一约束仅影响使管芯尺寸收缩的缩放操作。换而言之,在缩放操作期间仅能收缩非零可用空间。
注意对于I/O单元布置的各边,可以将总可用空间定义为成对相邻I/O单元之间的单个可用空间之和。例如,在I/O单元302与308之间的总可用空间等于3+0+1=4微米。
在本发明的一个实施例中,缩放I/O单元布置的各边涉及到基于在这一边上的标识可用空间、在这一边上的总可用空间以及沿着这一边的管芯尺寸改变来收缩或者扩展I/O单元之间的空间。具体而言,对于给定边,如果目标管芯尺寸小于原管芯尺寸,则缩放操作为收缩操作。如果目标管芯尺寸大于沿着这一边的原管芯尺寸,则缩放操作为扩展操作。虽然I/O单元布置的对边总是具有同类缩放操作,但是I/O单元布置的邻边可以具有不同类型的缩放操作。然而在所有情况下,在原管芯尺寸与目标管芯尺寸之间的管芯尺寸差异确定在缩放操作期间的收缩或者扩展的总的量。
具体而言,当给定目标管芯尺寸时,可以基于目标管芯尺寸的宽度和高度与原管芯尺寸的宽度和高度之差来确定收缩或者扩展的总的量。在本发明的一个实施例中,将I/O单元布置的给定边上的各可用空间收缩/扩展具体的量,使得在这一边上的所有可用空间之间的收缩/扩展的总的量基本上等于沿着这一边的目标管芯尺寸与原管芯尺寸之差。
在图2A的例子中,如果目标管芯尺寸的宽度(W)比原管芯尺寸的宽度小200微米,则缩放操作为收缩操作,并且芯片的底边和顶边上的I/O单元的可用空间的收缩的量基本上等于200微米。然而,如果在I/O单元布置的底边或者顶边上的总可用空间少于200微米,则最大收缩的量因此基本上等于针对该边计算的总可用空间而不是200微米。
在缩放操作期间,不同缩放函数可以用来缩放个体可用空间。在一个实施例中,系统通过将各可用空间收缩/扩展与该可用空间成比例的量来缩放一组可用空间。在另一实施例中,系统通过将各可用空间收缩/扩展相等的量来缩放一组可用空间。在又一实施例中,系统通过根据非线性比例关系收缩/扩展各可用空间来缩放一组可用空间。在这一实施例中,尽管缩放函数形式可以不同,但是缩放函数保证更大可用空间比更小可用空间接收更大改变。在各上述实施例中,用于在I/O单元布置的各边上的I/O单元的缩放的总的量基本上等于在该维度上的管芯尺寸的改变。
在本发明的一个实施例中,如果在原I/O单元布置的一边上的总可用空间少于在该维度上的目标管芯尺寸的管芯尺寸减少,则系统将该边上的所有可用空间缩放成零。通过将所有可用空间缩放成零,缩放操作在维持I/O单元布置约束的同时实现最小可能管芯尺寸。这一实施例获得针对在一个或者两个维度上的管芯尺寸的最小界限,该最小界限可以用来在管芯尺寸探索期间局限搜索范围。
注意上述用于缩放单行I/O单元的技术可容易地应用于缩放多环I/O单元布置,比如图2A和2B中所示布置。具体而言,对于多环I/O单元布置,缩放操作也一次对多环I/O单元布置的一边进行操作。对于各边,缩放操作仍然是在与缩放单环I/O单元布置相同的方向上改变空间的1D操作。基于预定设计约束,系统可以在维持原布置中的环之间I/O单元对准的缩放操作或者忽略原布置中的环之间I/O单元对准的另一缩放操作之间选择。结合图4A和图4B更具体地描述这两个选项。
在本发明的一个实施例中,为了维持不同环之间的单元对准,将I/O单元布置的一边上的所有环一起缩放。具体而言,在缩放之前,系统标识多环结构内的“共用空间”,其中共用空间是所有环共享的空间。
图4A图示了根据本发明一个实施例的用于为包括两边对准I/O环402和404的示例I/O单元布置400标识共用空间的过程。在图4A中,标识的空间是:环402中的406、408和410以及环404中的412、414和416。在环402与环404之间的共用空间是空间412、414和416,因为它们也分别由环404中的对应空间406、408和410共享。
另外,图4B图示了根据本发明一个实施例的用于为包括两个交错I/O环422和424的示例I/O单元布置420标识共用空间的过程。在本例中,共用空间是空间426-432,因为它们是两个环422和424共享的空间。注意一般可以通过对单元之间的所有空间进行AND运算来发现多个环共享的共用空间。
一旦标识共用空间,可以通过根据针对缩放单行I/O单元布置描述的相同过程缩放一组共用空间来对多环结构的所有环进行缩放操作。在本发明的一个实施例中,将这些共用空间视为在单环场景中描述的“距离”,并且随后从共用空间标识可用空间。
在一个替代实施例中,当忽略原I/O单元布置中的环之间的单元对准时,系统单独缩放多环结构中的各环,因此单行缩放技术适用于多环结构中的各环。例如在图4A中,系统基于一组空间406-410来缩放环402并且基于一组空间412-416来单独缩放环404。因而,可能改变环402与404之间的原对准。
注意两种多环缩放技术将I/O单元保持于它们的原I/O环中并且维持I/O单元的相对顺序和边。
注意上述缩放技术有效地解决在重新布置可以跨越多个环延伸的宏单元(比如图2B中的单元212)时涉及到的复杂性。这是因为缩放操作可以将复杂宏单元在各环中的部分作为规则单元来单独处理而不是将整个宏单元作为整体来对待。
用于缩放I/O单元布置的过程
图5呈现了对根据本发明一个实施例的缩放I/O单元布置以为管芯尺寸改变进行调节的过程进行图示的流程图。
在操作期间,系统接收初始IC设计,该IC设计包括初始管芯尺寸(即管芯的原宽度和高度)以及用于一组I/O单元的初始I/O单元布置(步骤502)。注意一组I/O单元可以包括但不限于I/O焊盘、包含多个I/O管脚的I/O单元、宏单元、布置阻断、填充物单元和其它类型的I/O单元。另外,系统接收目标管芯尺寸(即管芯的目标宽度和高度)(步骤502)。系统随后确定从初始管芯尺寸到目标管芯尺寸的宽度改变和高度改变(步骤504)。
系统然后将初始I/O单元布置分割成不同I/O布置区域(步骤506)。具体而言,系统根据芯片边界的四边将I/O单元布置分割成四边。
接着,系统标识I/O单元布置的各边内的所有I/O单元(步骤508)。对于各标识的I/O单元,系统记录单元的位置(即X和Y坐标)和单元的几何形状。
注意有时也可以将I/O单元布置的一边上标识的一个或者多个I/O单元标识为在I/O单元布置的另一边内。I/O单元布置的两个邻边“共享”的这样的I/O单元通常位于拐角(即拐角单元)中或者两边交会的管芯拐角附近。在本发明的一个实施例中,这样的I/O单元仅与两边之一一起缩放,而不是与I/O单元布置的两边一起缩放。具体而言,当将I/O单元标识为由两边共享时,系统然后确定这一I/O单元与两边中的哪一边更紧密地关联(例如基于与对应芯片边界的距离t0)。接着,I/O单元仅与I/O单元与之更紧密有关的边一起缩放。另外,相同单元变成对该单元与之关联紧密性较少的另一边进行的缩放操作的约束。结合图6描述一个涉及到这样的单元的例子。
基于记录的单元信息,系统然后标识I/O单元布置的各边内的可用空间并且还获得用于I/O单元布置的各边的总的可用空间(步骤510)。
接着,系统一次一边地基于标识的可用空间、总的可用空间和管芯尺寸改变来确定对可用空间的改变(即收缩或者扩展)(步骤512)。对于各边,缩放操作是在与该边平行的方向上的1D缩放。具体而言,系统根据预定缩放关系(比如以可用空间的量为依据的线性比例缩放或者针对所有可用空间的等量缩放)来改变可用空间。在一些实施例中,由于缩放所致的对所有可用空间的改变的总的量基本上等于在该维度上的管芯尺寸的改变。然而,如果总的可用空间少于对应管芯尺寸的改变并且缩放是收缩操作,则系统将所有可用空间缩放成零,并且缩放操作在这一边上实现最小可能管芯尺寸。
在确定对可用空间的改变之后,系统然后根据确定的改变来计算和记录一组I/O单元的新坐标,由此获得更新的I/O单元布置(步骤514)。
注意尽管可以独立修改I/O单元布置的各边,但是在管芯的拐角中的邻边之间的干扰可能在缩放操作涉及到收缩可用空间时出现。图6图示了根据本发明一个实施例的在管芯的拐角中由于缩放管芯的两个邻边所致的潜在冲突状况。具体而言,当独立缩放边604上的空间602(在I/O单元610与固定拐角单元614之间)并且减少边608上的空间606(在I/O单元612与固定拐角单元614之间)时,边604上的I/O单元610可能变得与边608上的I/O单元612重叠或者变得与之太近。在本发明的一个实施例中,系统可以在缩放操作期间检测这样的冲突。通常,当两个拐角I/O单元之间的距离(例如单元610与612之间的距离616)少于设计规则指定的最小空间时可以检测到冲突。一旦检测到冲突,可以采取补救行动,这可以涉及将一边或者两边的空间改变进行倒退直至去除重复状况并且满足最小空间规则。注意系统也可以在缩放之前将优先级值分配给各边并且随后使用优先级值以确定缩放顺序以及如果冲突出现的倒退顺序。
在倒退以解决冲突之后,系统可以随后确定在管芯的拐角附近的一个或者多个最小空间。例如,在倒退之后的在I/O单元610与612之间的距离616确定空间602的最小空间。系统然后将这些空间设置为在后续缩放操作中不能缩放的“退回的空间”并且以这一方式避免重复相同类型的冲突。
在本发明的一个实施例中,在缩放过程期间,系统首先可以采取前摄(proactive)步骤以防止出现冲突。注意上述冲突状况通常涉及到两边共享的拐角单元,比如I/O单元612。因此,在已经缩放两边中的第一边(比如边608)之后,系统接着针对两边中接着将要缩放的第二边重新标识I/O单元。如果在缩放第二边之前标识一个或者多个共享单元并且系统确定共享单元没有与第二边的其它标识I/O单元一起缩放(例如I/O单元612对于边604而言就是这样的单元),则标识一个潜在冲突。随后,这些标识的共享单元如I/O单元612变成对缩放第二边如边604的约束(即,最小空间规则适用于该边)。因而,可以避免冲突,比如在I/O单元610与612之间的冲突。
将I/O缩放与管芯尺寸探索集成
图7呈现了对根据本发明一个实施例的在使用缩放技术以改变I/O单元布置以为管芯尺寸改变进行调节的同时进行管芯尺寸探索的过程进行图示的流程图。
在操作期间,系统通过接收用于探索的设计、初始管芯尺寸以及初始最小和最大管芯尺寸(步骤702)来启动。系统然后使用上述I/O单元缩放技术以确定新的最小管芯尺寸并且随后利用用于探索的新的最小管芯尺寸更新初始最小管芯尺寸(步骤704)。在一些实施例中,步骤704可以是可选的。
接着,系统确定该设计在当前管芯尺寸之下是否可布线(步骤706)。
如果是这样(即如果有可能进一步减少管芯尺寸),则系统将管芯尺寸减少预定的量(步骤708),并且随后修改管芯边界而且使用上述I/O缩放技术以改变I/O单元布置以配合于新芯片边界中(步骤710)。
如果系统确定该设计在当前管芯尺寸之下不可布线,则系统然后将管芯尺寸增加预定的量以增加布线区域(步骤712)并且随后修改芯片边界而且使用上述I/O缩放技术以改变I/O单元布置以配合于新芯片边界中(步骤710)。
对于上述两种场景,在完成步骤710时,系统确定是否已经获得最小可行(可布线)管芯尺寸(步骤714)。如果是这样,则管芯尺寸探索终止。否则,系统返回到步骤706并且重复。
图8图示了根据本发明一个实施例的在管芯尺寸优化期间缩放I/O单元布置的设备。
设备802可以包括经由有线或者无线通信信道来相互通信的机构。具体而言,设备802可以包括接收机构804、确定机构806、标识机构808和缩放机构810。机构可以使用一个或者多个集成电路来实现或者实现为通用处理器的模块。设备802可以是计算机系统的部分。
在一些实施例中,接收机构804可以被配置成接收用于管芯的初始管芯尺寸和用于一组I/O单元的初始I/O单元布置并且还接收用于管芯的目标管芯尺寸;确定机构806可以被配置成确定在初始管芯尺寸与目标管芯尺寸之间的管芯尺寸改变;标识机构808可以被配置成标识在初始I/O单元布置中的一组I/O单元之间的可用空间;并且缩放机构810可以被配置成基于标识的可用空间和管芯尺寸改变来缩放初始I/O单元布置,由此获得配合目标管芯尺寸的新I/O单元布置。
仅出于示例和描述的目的已经呈现对本发明实施例的前文描述。本意并非让它们穷举本发明或者使本发明限于公开的形式。因而,本领域技术人员将清楚许多修改和变化。此外,本意并非让上述公开内容限制本发明。本发明的范围由所附权利要求限定。
Claims (23)
1.一种用于在管芯尺寸优化期间缩放I/O单元布置的方法,所述方法包括:
接收用于管芯的初始管芯尺寸和用于一组I/O单元的初始I/O单元布置;
接收用于所述管芯的目标管芯尺寸;
确定在所述初始管芯尺寸与所述目标管芯尺寸之间的管芯尺寸改变;
标识在所述初始I/O单元布置中的所述一组I/O单元之间的可用空间;并且
基于所述标识的可用空间和所述管芯尺寸改变来缩放所述初始I/O单元布置,由此获得配合所述目标管芯尺寸的新I/O单元布置。
2.根据权利要求1所述的方法,其中确定在所述初始管芯尺寸与所述目标管芯尺寸之间的管芯尺寸改变包括确定所述管芯的宽度改变和高度改变。
3.根据权利要求1所述的方法,其中标识在所述初始I/O单元布置中的所述一组I/O单元之间的可用空间包括独立标识用于所述管芯的各边的一行I/O单元中的可用空间。
4.根据权利要求3所述的方法,其中标识所述管芯的一边上的所述一行I/O单元中的所述可用空间包括:
标识所述一行I/O单元中的各对相邻I/O单元之间的可用空间;并且
通过将所述一行I/O单元中的所述可用空间求和来计算所述管芯的所述边上的总的可用空间。
5.根据权利要求4所述的方法,其中标识各对相邻I/O单元之间的可用空间包括从所述成对相邻I/O单元之间的距离减去最小空间要求。
6.根据权利要求4所述的方法,其中缩放所述初始I/O单元布置包括独立缩放所述管芯的各边上的所述I/O单元布置。
7.根据权利要求6所述的方法,其中缩放所述管芯的一边上的所述初始I/O单元布置包括:
基于在沿着所述管芯的所述边的方向上的所述管芯尺寸改变的符号来确定缩放模式(收缩/扩展);并且
将所述一行I/O单元中的成对相邻I/O单元之间的每一个空间缩放与对应可用空间成比例的量;
其中用于所述一行I/O单元的缩放的总的量基本上等于所述管芯尺寸改变。
8.根据权利要求6所述的方法,其中缩放所述管芯的一边上的所述初始I/O单元布置包括:
基于在沿着所述管芯的所述边的方向上的管芯尺寸改变的符号来确定缩放模式(收缩/扩展);并且
将所述一行I/O单元中的成对相邻I/O单元之间的每一个空间缩放相等的量;
其中用于所述一行I/O单元的缩放的总的量基本上等于所述管芯尺寸改变。
9.根据权利要求6所述的方法,其中缩放所述管芯的一边上的所述初始I/O单元布置包括:
基于在沿着所述管芯的所述边的方向上的所述管芯尺寸改变的符号来确定缩放模式(收缩/扩展);并且
如果所述管芯尺寸改变为负并且具有比所述管芯的所述边上的总可用空间更大的值,则通过将所有可用空间减少至零来缩放在所述一行I/O单元中的成对相邻I/O单元之间的空间。
10.根据权利要求6所述的方法,其中如果所述初始I/O单元布置是多环I/O单元布置,则所述方法还包括:
独立缩放所述多环I/O单元布置的各环;或者
在维持I/O单元的多个环之间的对准的同时协同缩放所述多环I/O单元布置中的I/O单元的多个环。
11.根据权利要求1所述的方法,其中所述一组I/O单元可以包括:
I/O焊盘;
包括多个I/O管脚的I/O单元;
宏单元;
布置阻断;以及
填充物单元。
12.一种用于在管芯尺寸优化期间缩放I/O单元布置的设备,所述设备包括:
用于接收用于管芯的初始管芯尺寸和用于一组I/O单元的初始I/O单元布置的装置;
用于接收用于所述管芯的目标管芯尺寸的装置;
用于确定在所述初始管芯尺寸与所述目标管芯尺寸之间的管芯尺寸改变的装置;
用于标识在所述初始I/O单元布置中的所述一组I/O单元之间的可用空间的装置;并且
用于基于所述标识的可用空间和所述管芯尺寸改变来缩放所述初始I/O单元布置,由此获得配合所述目标管芯尺寸的新I/O单元布置的装置。
13.根据权利要求12所述的设备,其中所述用于确定在所述初始管芯尺寸与所述目标管芯尺寸之间的管芯尺寸改变的装置包括用于确定所述管芯的宽度改变和高度改变的装置。
14.根据权利要求12所述的设备,其中所述用于标识在所述初始I/O单元布置中的所述一组I/O单元之间的可用空间的装置包括用于独立标识用于所述管芯的各边的一行I/O单元中的可用空间的装置。
15.根据权利要求14所述的设备,其中所述用于标识所述管芯的一边上的所述一行I/O单元中的所述可用空间的装置包括:
用于标识所述一行I/O单元中的各对相邻I/O单元之间的可用空间的装置;以及
用于通过将所述一行I/O单元中的所述可用空间求和来计算所述管芯的所述边上的总的可用空间的装置。
16.根据权利要求15所述的设备,其中所述用于标识各对相邻I/O单元之间的所述可用空间的装置包括用于从所述成对相邻I/O单元之间的距离减去最小空间要求的装置。
17.根据权利要求15所述的设备,其中所述用于缩放所述初始I/O单元布置的装置包括用于独立缩放所述管芯的各边上的所述I/O单元布置的装置。
18.根据权利要求17所述的设备,其中所述用于缩放所述管芯的一边上的所述初始I/O单元布置的装置包括:
用于基于在沿着所述管芯的所述边的方向上的所述管芯尺寸改变的符号来确定缩放模式(收缩/扩展)的装置;以及
用于将所述一行I/O单元中的成对相邻I/O单元之间的每一个空间缩放与对应可用空间成比例的量的装置;
其中用于所述一行I/O单元的缩放的总的量基本上等于所述管芯尺寸改变。
19.根据权利要求17所述的设备,其中所述用于缩放所述管芯的一边上的所述初始I/O单元布置的装置包括:
用于基于在沿着所述管芯的所述边的方向上的所述管芯尺寸改变的符号来确定缩放模式(收缩/扩展)的装置;以及
用于将所述一行I/O单元中的成对相邻I/O单元之间的每一个空间缩放相等的量的装置;
其中用于所述一行I/O单元的缩放的总的量基本上等于所述管芯尺寸改变。
20.根据权利要求17所述的设备,其中所述用于缩放所述管芯的一边上的所述初始I/O单元布置的装置包括:
用于基于在沿着所述管芯的所述边的方向上的所述管芯尺寸改变的符号来确定缩放模式(收缩/扩展)的装置;以及
用于如果所述管芯尺寸改变为负并且具有比所述管芯的所述边上的总可用空间更大的值,则通过将所有可用空间减少至零来缩放在所述一行I/O单元中的成对相邻I/O单元之间的空间的装置。
21.根据权利要求17所述的设备,其中如果所述初始I/O单元布置是多环I/O单元布置,则所述设备还包括:
用于独立缩放所述多环I/O单元布置的各环的装置;或者
用于在维持I/O单元的多个环之间的对准的同时协同缩放所述多环I/O单元布置中的I/O单元的多个环的装置。
22.根据权利要求12所述的设备,其中所述一组I/O单元可以包括:
I/O焊盘;
包括多个I/O管脚的I/O单元;
宏单元;
布置阻断;以及
填充物单元。
23.一种在管芯尺寸优化期间缩放I/O单元布置的设备,包括:
接收机构,配置成接收用于管芯的初始管芯尺寸和用于一组I/O单元的初始I/O单元布置;
其中所述接收机构还被配置成接收用于所述管芯的目标管芯尺寸;
确定机构,配置成确定在所述初始管芯尺寸与所述目标管芯尺寸之间的管芯尺寸改变;
标识机构,配置成标识在所述初始I/O单元布置中的所述一组I/O单元之间的可用空间;以及
缩放机构,配置成基于所述标识的可用空间和所述管芯尺寸改变来缩放所述初始I/O单元布置,由此获得配合所述目标管芯尺寸的新I/O单元布置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/323,883 | 2008-11-26 | ||
US12/323,883 US8037442B2 (en) | 2008-11-26 | 2008-11-26 | Method and apparatus for scaling I/O-cell placement during die-size optimization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101739492A true CN101739492A (zh) | 2010-06-16 |
CN101739492B CN101739492B (zh) | 2014-08-20 |
Family
ID=42197543
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910207521.3A Active CN101739492B (zh) | 2008-11-26 | 2009-10-26 | 用于在管芯尺寸优化期间缩放i/o单元布置的方法和设备 |
CN2009202679806U Expired - Fee Related CN201508553U (zh) | 2008-11-26 | 2009-10-26 | 用于在管芯尺寸优化期间缩放i/o单元布置的设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009202679806U Expired - Fee Related CN201508553U (zh) | 2008-11-26 | 2009-10-26 | 用于在管芯尺寸优化期间缩放i/o单元布置的设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8037442B2 (zh) |
CN (2) | CN101739492B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8037442B2 (en) * | 2008-11-26 | 2011-10-11 | Synopsys, Inc. | Method and apparatus for scaling I/O-cell placement during die-size optimization |
US8683412B1 (en) * | 2010-04-12 | 2014-03-25 | Cadence Design Systems, Inc. | Method and system for optimizing placement of I/O element nodes of an I/O ring for an electronic design |
US9135373B1 (en) | 2010-04-12 | 2015-09-15 | Cadence Design Systems, Inc. | Method and system for implementing an interface for I/O rings |
US8302060B2 (en) * | 2010-11-17 | 2012-10-30 | Taiwan Semiconductor Manufacturing Co., Ltd. | I/O cell architecture |
US8549457B1 (en) * | 2011-08-26 | 2013-10-01 | Cadence Design Systems, Inc. | Method and system for implementing core placement |
CN112347730A (zh) * | 2019-08-07 | 2021-02-09 | 台湾积体电路制造股份有限公司 | 插入虚拟边界单元至集成电路的方法 |
KR20220008171A (ko) | 2020-07-13 | 2022-01-20 | 삼성전자주식회사 | 반도체 칩 설계 방법 및 그것을 수행하기 위한 컴퓨팅 장치 |
CN113919275A (zh) * | 2020-09-21 | 2022-01-11 | 台积电(南京)有限公司 | 用于优化集成电路的布局的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6457157B1 (en) * | 1998-04-17 | 2002-09-24 | Lsi Logic Corporation | I/O device layout during integrated circuit design |
US20060064660A1 (en) * | 2004-09-17 | 2006-03-23 | International Business Machines Corporation | Method and apparatus for depopulating peripheral input/output cells |
CN201508553U (zh) * | 2008-11-26 | 2010-06-16 | 新思科技有限公司 | 用于在管芯尺寸优化期间缩放i/o单元布置的设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5155065A (en) * | 1992-03-16 | 1992-10-13 | Motorola, Inc. | Universal pad pitch layout |
US6985843B2 (en) * | 2001-06-11 | 2006-01-10 | Nec Electronics America, Inc. | Cell modeling in the design of an integrated circuit |
JP2004047516A (ja) * | 2002-07-08 | 2004-02-12 | Nec Electronics Corp | 半導体集積回路装置及び半導体集積回路装置のレイアウト方法 |
US7266789B2 (en) * | 2005-04-04 | 2007-09-04 | International Business Machines Corporation | Method and apparatus of optimizing the IO collar of a peripheral image |
US20090051050A1 (en) * | 2007-08-24 | 2009-02-26 | Actel Corporation | corner i/o pad density |
-
2008
- 2008-11-26 US US12/323,883 patent/US8037442B2/en not_active Expired - Fee Related
-
2009
- 2009-10-26 CN CN200910207521.3A patent/CN101739492B/zh active Active
- 2009-10-26 CN CN2009202679806U patent/CN201508553U/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6457157B1 (en) * | 1998-04-17 | 2002-09-24 | Lsi Logic Corporation | I/O device layout during integrated circuit design |
US20060064660A1 (en) * | 2004-09-17 | 2006-03-23 | International Business Machines Corporation | Method and apparatus for depopulating peripheral input/output cells |
CN201508553U (zh) * | 2008-11-26 | 2010-06-16 | 新思科技有限公司 | 用于在管芯尺寸优化期间缩放i/o单元布置的设备 |
Also Published As
Publication number | Publication date |
---|---|
US8037442B2 (en) | 2011-10-11 |
CN101739492B (zh) | 2014-08-20 |
US20100131913A1 (en) | 2010-05-27 |
CN201508553U (zh) | 2010-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN201508553U (zh) | 用于在管芯尺寸优化期间缩放i/o单元布置的设备 | |
US9501593B2 (en) | Semiconductor device design method, system and computer program product | |
TWI598758B (zh) | 用於積體電路佈局產生的方法、裝置以及計算機程式產品 | |
US10713406B2 (en) | Multi-die IC layout methods with awareness of mix and match die integration | |
JPWO2007072562A1 (ja) | ノイズチェック方法および装置並びにノイズチェックプログラムを記録したコンピュータ読取可能な記録媒体 | |
US11443094B2 (en) | Method of inserting dummy boundary cells for macro/IP and IC | |
US9275186B2 (en) | Optimization for circuit migration | |
US10089433B2 (en) | Method for triple-patterning friendly placement | |
WO2011094031A2 (en) | Zone-based leakage power optimization | |
Dobre et al. | Design implementation with noninteger multiple-height cells for improved design quality in advanced nodes | |
CN101689217A (zh) | 用于自动处理基于图案剪辑的制造热点的两用扰动引擎 | |
CN102664142B (zh) | 对现有版图填充冗余多晶硅条阵列的插入方法 | |
US7028272B2 (en) | Reducing cell library development cycle time | |
US20080209038A1 (en) | Methods and systems for optimizing placement on a clock signal distribution network | |
CN106055726A (zh) | 集成电路中的单元布局 | |
US8132141B2 (en) | Method and apparatus for generating a centerline connectivity representation | |
US8181143B2 (en) | Method and apparatus for generating a memory-efficient representation of routing data | |
US20210264081A1 (en) | Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same | |
US7076759B2 (en) | Methodology for generating a modified view of a circuit layout | |
Mattii et al. | Post place and route design-technology co-optimization for scaling at single-digit nodes with constant ground rules | |
US11941338B2 (en) | Integrated circuit with dummy boundary cells | |
US11923034B2 (en) | Header circuit placement in memory device | |
Mohyeldin et al. | Quantifying electrical impacts on redundant wire insertion in 7nm unidirectional designs | |
Li et al. | Variability-aware double-patterning layout optimization for analog circuits | |
Lin | A Grid-Based Routing Algorithm for Customized Peripheral Circuits of SRAM System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |