CN105760560B - 用于优化集成电路噪声性能的方法和装置 - Google Patents
用于优化集成电路噪声性能的方法和装置 Download PDFInfo
- Publication number
- CN105760560B CN105760560B CN201410785608.XA CN201410785608A CN105760560B CN 105760560 B CN105760560 B CN 105760560B CN 201410785608 A CN201410785608 A CN 201410785608A CN 105760560 B CN105760560 B CN 105760560B
- Authority
- CN
- China
- Prior art keywords
- wiring
- impact factor
- time
- target
- coupling effect
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- 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
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- 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/10—Noise analysis or noise optimisation
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)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了用于优化集成电路噪声性能的方法和设备。所述方法用于将目标布线布置在目标区域,该方法包括:对于目标布线中的每一条布线,获取其针对目标布线中的每一条其他布线的信号跳变间隔,其中一条布线针对另一条布线的信号跳变间隔是所述一条布线发生信号跳变后,到所述另一条布线上发生信号跳变之间的时间间隔;根据所述信号跳变间隔计算对应的时间影响因子,其中所述时间影响因子是所述信号跳变间隔的减函数;和根据所述时间影响因子将所述目标布线布置在目标区域。采用根据本发明实施例的技术方案,可以减轻布线间的耦合噪声。
Description
技术领域
本发明涉及集成电路设计技术,更具体地说,涉及用于优化集成电路噪声性能的方法和设备。
背景技术
集成电路制造工艺的发展使得芯片密度越来越高。布线(wire)之间的耦合(coupling)噪声也越来越显著。耦合噪声会在布线中产生耦合增量延迟(coupling deltadelay),从而使得信号时序受到破坏。因此,在集成电路设计时需要对绕线(wiring)进行严格的控制。
本领域技术人员可以理解,当集成电路中的区域划分得足够小时,该区域中的所有布线都是彼此平行的。在下面的描述中,假设所有布线都彼此平行,即只对一个足够小的区域中的布线进行调整。本领域技术人员很容易将根据本发明实施例的方法推广到对整个集成电路进行布线的场合。
一般来说,两条平行的布线之间的共同部分越长,则这两条布线之间的耦合噪声越显著。容易理解,当两条布线的长度较长时,其共同部分通常也较长。布线之间的耦合噪声还与布线之间的距离有关,距离越大,耦合噪声越小。在绕线时,通常目标区域的范围和需要处理的布线数目都是一定的。当目标区域范围指定后,该目标区域中可供布线的通道(channel)也是一定的。在现有技术中,尽可能地将两条长布线布置在相隔较远的通道上。例如,在长的布线之间插入短的布线,或者在长的布线之间留出空白的通道。如图2所示,其中在长布线2和长布线3之间插入了短布线2,以及在长布线3和长布线4之间插入了短布线3,在长布线1和长布线2之间插入了空白通道。
但是,在某个目标区域中,需要处理的布线数目可能接近区域中的通道数目,或者需要布线的长布线数目较多,从而无法在长布线之间插入短布线或者空白通道。因此,需要对现有技术进行进一步的改进。
发明内容
本发明实施例提供优化集成电路噪声性能的方法和设备。
根据本发明实施例的一种优化集成电路噪声性能的方法,用于将目标布线布置在目标区域,该方法包括:对于目标布线中的每一条布线,获取其针对目标布线中的每一条其他布线的信号跳变间隔,其中一条布线针对另一条布线的信号跳变间隔是所述一条布线发生信号跳变后,到所述另一条布线上发生信号跳变之间的时间间隔;根据所述信号跳变间隔计算对应的时间影响因子,其中所述时间影响因子是所述信号跳变间隔的减函数;和根据所述时间影响因子将所述目标布线布置在目标区域。
根据本发明实施例的优化集成电路噪声性能的设备,用于将目标布线布置在目标区域,该设备包括:信号跳变间隔获取装置,配置为对于目标布线中的每一条布线,获取其针对目标布线中的每一条其他布线的信号跳变间隔,其中一条布线针对另一条布线的信号跳变间隔是所述一条布线发生信号跳变后,到所述另一条布线上发生信号跳变之间的时间间隔;时间影响因子确定装置,配置为根据所述信号跳变间隔计算对应的时间影响因子,其中所述时间影响因子是所述信号跳变间隔的减函数;和布置装置,配置为根据所述时间影响因子将所述目标布线布置在目标区域。
采用根据本发明实施例的方案,可以优化集成电路的噪声性能。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。
图2示出示例性的布线。
图3示出根据本发明实施例的用于优化集成电路噪声性能的方法的流程图。
图4示出根据本发明实施例的用于优化集成电路噪声性能的方法的流程图。
图5A和图5B示出示例性的布线。
图6A和图6B示出根据本发明实施例的方法与现有技术的效果比较。
图7示出根据本发明实施例的用于优化集成电路噪声性能的设备的方框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
下面结合图3描述根据本发明实施例的用于优化集成电路噪声性能的方法。
布线可以分为供电线和信号线。其中,供电线包括电源线和地线,信号线包括已屏蔽信号线和未屏蔽信号线。电源线和地线上并不传递信号,因此可以假设其不会对其他布线产生耦合噪声,也不会受到其他布线产生的耦合噪声的影响。已屏蔽信号线指的是信号线的两侧已经加入了屏蔽,从而也可以假设该信号线不会对其他布线产生耦合噪声,也不会受到其他布线产生的耦合噪声的影响。一般来说时钟信号线是已屏蔽信号线。供电线以及已屏蔽信号线可以统称为无耦合效应布线。无耦合效应布线也可能还包括其他类型的布线,只要这种布线可以被假设为不会对其他布线产生耦合噪声,也不会受到其他布线产生的耦合噪声的影响。
步骤301,对于目标布线中的每一条布线,获取其针对目标布线中的每一条其他布线的信号跳变间隔,其中一条布线针对另一条布线的信号跳变间隔是所述一条布线发生信号跳变后,到所述另一条布线上发生信号跳变之间的时间间隔。
目标布线指的是需要布置到指定目标区域中的布线。如前所述,只有未屏蔽信号线之间才会产生耦合噪声,因此首先假设目标布线全部是未屏蔽信号线的情况。
两条布线之间耦合噪声的产生,是由于这两条布线之间存在寄生电容。当其中一条布线上传递的信号发生变化时,引起寄生电容的充放电,从而影响到另一条布线,进而造成另一条布线上信号的失真。下面将引起耦合噪声的布线称为发射布线,将受到耦合噪声影响的布线称为接收布线。
布线上的信号是已知的,因此可以容易地得到发射布线上的信号发生跳变之后,到接收布线上的信号发生跳变之间的时间间隔。由于信号的复杂性,对于发射布线上不同的信号跳变,其所对应的时间间隔可能是不同的。例如,对于发射布线上的第一信号跳变,其发生之后间隔10皮秒发生接收布线上的第一信号跳变;对于发射布线上的第二信号跳变,其发生之后间隔20皮秒发生接收布线上的第二信号跳变。根据本发明实施例,将可能的时间间隔中的最小值作为发射布线针对接收布线的信号跳变间隔。
由于发射布线上发生的信号变化只可能对之后在接收布线上传递的信号产生影响,因此在讨论发射布线的信号跳变与接收布线的信号跳变之间的时间间隔时,指的是发射布线上先发生信号跳变,然后接收布线上再发生信号跳变的情形。
对于两条布线而言,发射布线和接收布线是可以转换的。假设布线A在时刻t1和t2发生两次信号跳变,布线B在时刻t3和t4发生两次信号跳变,并且这四个时刻的顺序是t1->t3->t2->t4。在t1时,布线A是发射布线,布线B是接收布线,发射布线的信号跳变与接收布线的信号跳变之间的时间间隔是t3-t1。在t3时,布线B是发射布线,布线A是接收布线,发射布线的信号跳变与接收布线的信号跳变之间的时间间隔是t2-t3。在t2时,布线A是发射布线,布线B是接收布线,发射布线的信号跳变与接收布线的信号跳变之间的时间间隔是t4-t2。以此类推。
进一步,假设t3-t1>t4-t2,则布线A针对布线B的信号跳变间隔是t4-t2。反过来,布线B针对布线A的信号跳变间隔是t2-t3。
步骤302,根据所述信号跳变间隔计算对应的时间影响因子,其中所述时间影响因子是所述信号跳变间隔的减函数。
在发射布线上的信号发生跳变时,例如由低电平变为高电平,或者由高电平变为低电平,其产生的耦合噪声尤为显著。如果之后恰好接收布线上的信号也发生跳变,那么在后的跳变就会被延迟,这称为增量延迟。也就是说,发射布线对接收布线存在时间影响。
发射布线上的信号跳变所引起的耦合噪声,随着时间将逐渐减弱。也就是说,从发射布线上的信号发生跳变的时间,到接收布线上的信号发生跳变的时间,如果这之间的时间间隔大于某一时间间隔阈值,那么发射布线上的信号跳变对接收布线上的信号跳变所造成的增量延迟就可以小到可以接受的程度。在这种情况下,可以认为发射布线对接收布线不会产生增量延迟,则发射布线对接收布线的时间影响因子为最小值。也就是说,时间间隔越大,则时间影响因子越小。
步骤303,根据所述时间影响因子来布置所述目标布线。
如前所述,两条布线之间的距离越远,则其耦合噪声越小。因此,根据所述时间影响因子来布置所述目标布线的原则是,时间影响因子较大的两条线应该隔得尽可能远。可以理解,对于任意两条布线,存在两个时间影响因子。根据本发明实施例,可以将这两个时间影响因子中的较大值作为这两条布线之间的时间影响因子,也可以将这两个时间影响因子的和作为这两条布线之间的时间影响因子。在得到每两条布线之间的时间影响因子之后,就可以以各种算法来实现上述原则。这样的算法设计对于本领域技术人员来说是容易实现的,在此不再赘述。
下面接合图4描述根据本发明实施例的根据所述时间影响因子来布置所述目标布线的具体方法。
步骤401,针对目标布线中的每一条布线,根据其对其他布线的时间影响因子,计算其总时间影响因子。
从上面的描述可以看出,对于任意一条布线而言,其针对任意一条其他布线都存在一个时间影响因子。根据本发明实施例,可以将这些时间影响因子的和作为该布线的总时间影响因子。本领域技术人员还可以设计出其他的算法来根据一条布线针对其他布线的时间因子来计算出该布线的总时间影响因子。
步骤402,按照所述总时间影响因子,对布线进行排序。
总时间影响因子越大的布线,表示其对其他布线造成增量延迟的能力越强。
步骤403,按照所述排序先后将所述布线将其布置在目标区域中,其中优先布置总时间影响因子较大的布线。
这样做的好处是,一条总时间影响因子较大的布线,有更大的机会可以与另一条总时间影响因子较大的布线隔开较长的距离。
在前面的描述中,假设目标布线全部是未屏蔽布线。在实际的绕线过程中,在目标区域中既要布置未屏蔽布线,也要布置无耦合效应布线。所述无耦合效应布线包括已屏蔽布线、电源线和地线等。其中,已屏蔽布线通常是时钟线。一般来说,这些布线都是先于未屏蔽布线被布置在目标区域。
如前所述,无耦合效应布线既不会对其他布线产生耦合噪声,也不会受到其他布线产生的耦合噪声的影响。根据本发明实施例,可以优先将总时间影响因子较大的布线布置在与无耦合效应布线相邻的通道上。这样做的好处是所述总时间影响因子较大的布线只对另一侧的布线产生耦合噪声。
下面结合图5A和图5B描述根据本发明实施例的布置无耦合效应布线的方法。图5A示出现有技术中典型的无耦合效应布线的布置,其中VDD是电源线,GND是地线,CLK是时钟线。
从图5A可以看出,VDD、GND和CLK被分组布置,同一组的VDD、GND和CLK被布置在相邻的通道上。在不同组之间留有多条空白通道。
根据本发明实施例,在布置无耦合效应布线时,将无耦合效应布线布置为使得任意一条无耦合效应布线至少与另一条无耦合效应布线一起位于一空白通道的两侧。图5B示出了根据本发明实施例的方法所得到的无耦合效应布线的布置。
从图5B可以看出,在VDD和GND之间,以及GND和VDD之间,各留有一条空白通道。这样,就可以将未屏蔽布线布置在两条无耦合效应布线之间。这样的未屏蔽布线,既不会对其他布线产生耦合噪声,也不会受到其他布线产生的耦合噪声的影响。因此,可以进一步优先将总时间影响因子较大最大的几条布线分别布置在无耦合效应布线之间的通道上。
在图4所示的实施例中,针对目标布线中的每一条布线,根据其对其他布线的时间影响因子,计算其总时间影响因子。根据本发明另一个实施例,也可以针对目标布线中的每一条布线,根据其他布线对其的时间影响因子,计算其总时间影响因子。这样计算出来的总时间影响因子越大,表示该布线越容易受到其他布线的影响从而产生增量延迟。当根据步骤402和403将总时间影响因子较大的布线布置在与无耦合相应布线相邻的通道,甚至位于无耦合相应布线之间的通道时,可以降低其受到的耦合噪声的影响。
本领域技术人员可以理解,对于特定的目标区域而言,未屏蔽布线的数目要远大于无耦合效应布线的数目。因此,只有一部分的未屏蔽布线可以布置在与无耦合效应布线相邻的通道上。对于其他的未屏蔽布线,在确定放入哪个通道时,需要综合考虑该未屏蔽布线对已经布置好的布线的影响,以及已经布置好的布线对该未屏蔽布线的影响。本领域技术人员可以理解,还可以加上一定的时序检查的slack加权等。
本领域技术人员可以理解,根据本发明实施例的方法也可以与现有技术中按照布线的长度来布置目标布线的方法一起使用。例如,可以根据布线的长度来修正所述时间影响因子,例如当布线长度较长时,增加布线的时间影响因子,当布线长度较短时,减少布线的时间影响因子。然后,可以根据修正后的时间影响因子将各布线布置在目标区域中。
根据本发明实施例,也可以根据其他因素来修正所述时间影响因子。所述因素包括布线上信号的传输质量、布线上的负载、驱动所述布线的驱动门的驱动能力中的一个或多个。
图6A和图6B示出按照根据本发明实施例的技术方案与现有技术的技术方案在噪声性能优化方面的比较。在图6A中,对按照各种技术方案进行绕线后得到的电路进行仿真,从而得到该电路中所有布线的总互耦电容,即总的增量延迟。在图6B中,对按照各种技术方案进行绕线后得到的电路进行仿真,从而得到该电路中所有布线的最差互耦电容,即最长的增量延迟。图6A和图6B中的纵坐标表示增量延时/互耦电容,横坐标表示目标布线的数目与目标区域中通道数目的比值。在图6A和图6B中,三角形的点对应于根据本发明实施例的方案,正方形的点对应于现有技术中按照布线长度进行绕线的方案,菱形的点对应于随机绕线的方案。从图6A和图6B可以看出,根据本发明实施例的方案在噪声性能优化方面得到了很大的提升。尤其是,当目标布线的数目接近目标区域中通道数目的时候,根据本发明实施例的方法的优势更加明显。
根据本发明实施例的设备典型地可以通过运行于图1所示的示例性计算机系统上的计算机程序来实现。虽然图1所示的是通用的计算机系统的硬件结构,但是由于该计算机系统运行了所述计算机程序,实现了根据本发明实施例的方案,从而使得该计算机系统/服务器从通用计算机系统/服务器转变成根据本发明实施例的设备。
此外,虽然根据本发明实施例的设备从整体上看是由同一通用计算机系统来实现的,但是组成该设备的各个装置或模块在本质上是由分立的硬件实现的。这是因为,所述通用计算机在运行所述计算机程序时,往往采用诸如分时或分处理器核的共享方式来实现各个装置或模块。以分时实现为例,在特定的时刻,该通用计算机系统作为专用于实现特定装置或模块的硬件;在不同时刻,该通用计算机系统作为专用于实现不同的装置或模块的不同硬件。因此,根据本发明实施例的设备是一系列由硬件方式实现的装置或模块的组合,从而并非仅仅是功能模块构架。相反,根据本发明实施例的设备也可以被理解为主要通过硬件方式实现根据本发明实施例解决方案的实体设备。
图7示出根据本发明实施例的优化集成电路噪声性能的设备,用于将目标布线布置在目标区域,该设备包括:
信号跳变间隔获取装置,配置为对于目标布线中的每一条布线,获取其针对目标布线中的每一条其他布线的信号跳变间隔,其中一条布线针对另一条布线的信号跳变间隔是所述一条布线发生信号跳变后,到所述另一条布线上发生信号跳变之间的时间间隔;
时间影响因子确定装置,配置为根据所述信号跳变间隔计算对应的时间影响因子,其中所述时间影响因子是所述信号跳变间隔的减函数;和
布置装置,配置为根据所述时间影响因子将所述目标布线布置在目标区域。
其中所述布置装置包括:
总时间影响因子计算装置,配置为针对目标布线中的每一条布线,根据与其相关的时间影响因子,计算其总时间影响因子;
排序装置,配置为按照所述总时间影响因子,对布线进行排序;和
优先布置装置,配置为按照所述排序先后将所述布线将其布置在目标区域中的装置,其中优先布置总时间影响因子较大的布线。
所述的设备进一步包括:
无耦合效应布线布置装置,配置为将无耦合效应布线布置在所述目标区域。
其中优先布置装置包括:
配置为优先将总时间影响因子较大的布线布置在与无耦合效应布线相邻的通道上的装置。
其中无耦合效应布线布置装置包括:
配置为将无耦合效应布线布置为使得任意一条无耦合效应布线至少与另一条无耦合效应布线一起位于一空白通道的两侧的装置;
其中配置为优先将总时间影响因子较大的布线布置在与无耦合效应布线相邻的通道上的装置包括:
配置为优先将总时间影响因子较大的布线分别布置在无耦合效应布线之间的通道上的装置。
其中所述布置装置包括:
配置为根据布线的长度来修正所述时间影响因子从而得到修正后的时间影响因子的装置;以及
配置为根据所述修正后的时间影响因子将所述目标布线布置在目标区域的装置。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言-诸如Smalltalk、C++等,以及常规的过程式编程语言-诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种优化集成电路噪声性能的方法,用于将目标布线布置在目标区域,该方法包括:
对于目标布线中的每一条布线,获取其针对目标布线中的每一条其他布线的信号跳变间隔,其中一条布线针对另一条布线的信号跳变间隔是所述一条布线发生信号跳变后,到所述另一条布线上发生信号跳变之间的时间间隔;
根据所述信号跳变间隔计算对应的时间影响因子,其中所述时间影响因子是所述信号跳变间隔的减函数;和
根据所述时间影响因子将所述目标布线布置在目标区域,
其中根据所述时间影响因子将所述目标布线布置在目标区域包括:
针对目标布线中的每一条布线,根据与其相关的时间影响因子,计算其总时间影响因子;
按照所述总时间影响因子,对布线进行排序;和
按照所述排序先后将所述布线将其布置在目标区域中,其中优先布置总时间影响因子较大的布线。
2.如权利要求1所述的方法,进一步包括:
将无耦合效应布线布置在所述目标区域。
3.如权利要求2所述的方法,其中优先布置总时间影响因子较大的布线包括:
优先将总时间影响因子较大的布线布置在与无耦合效应布线相邻的通道上。
4.如权利要求3所述的方法,其中将无耦合效应布线布置在所述目标区域包括:
将无耦合效应布线布置为使得任意一条无耦合效应布线至少与另一条无耦合效应布线一起位于一空白通道的两侧;
其中优先将总时间影响因子较大的布线布置在与无耦合效应布线相邻的通道上包括:
优先将总时间影响因子较大的布线分别布置在无耦合效应布线之间的通道上。
5.如权利要求1所述的方法,其中根据所述时间影响因子将所述目标布线布置在目标区域包括:
根据布线的长度来修正所述时间影响因子从而得到修正后的时间影响因子;以及
根据所述修正后的时间影响因子将所述目标布线布置在目标区域。
6.一种优化集成电路噪声性能的设备,用于将目标布线布置在目标区域,该设备包括:
信号跳变间隔获取装置,配置为对于目标布线中的每一条布线,获取其针对目标布线中的每一条其他布线的信号跳变间隔,其中一条布线针对另一条布线的信号跳变间隔是所述一条布线发生信号跳变后,到所述另一条布线上发生信号跳变之间的时间间隔;
时间影响因子确定装置,配置为根据所述信号跳变间隔计算对应的时间影响因子,其中所述时间影响因子是所述信号跳变间隔的减函数;和
布置装置,配置为根据所述时间影响因子将所述目标布线布置在目标区域,
其中所述布置装置包括:
总时间影响因子计算装置,配置为针对目标布线中的每一条布线,根据与其相关的时间影响因子,计算其总时间影响因子;
排序装置,配置为按照所述总时间影响因子,对布线进行排序;和
优先布置装置,配置为按照所述排序先后将所述布线将其布置在目标区域中的装置,其中优先布置总时间影响因子较大的布线。
7.如权利要求6所述的设备,进一步包括:
无耦合效应布线布置装置,配置为将无耦合效应布线布置在所述目标区域。
8.如权利要求7所述的设备,其中优先布置装置包括:
配置为优先将总时间影响因子较大的布线布置在与无耦合效应布线相邻的通道上的装置。
9.如权利要求8所述的设备,其中无耦合效应布线布置装置包括:
配置为将无耦合效应布线布置为使得任意一条无耦合效应布线至少与另一条无耦合效应布线一起位于一空白通道的两侧的装置;
其中配置为优先将总时间影响因子较大的布线布置在与无耦合效应布线相邻的通道上的装置包括:
配置为优先将总时间影响因子较大的布线分别布置在无耦合效应布线之间的通道上的装置。
10.如权利要求6所述的设备,其中所述布置装置包括:
配置为根据布线的长度来修正所述时间影响因子从而得到修正后的时间影响因子的装置;以及
配置为根据所述修正后的时间影响因子将所述目标布线布置在目标区域的装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410785608.XA CN105760560B (zh) | 2014-12-17 | 2014-12-17 | 用于优化集成电路噪声性能的方法和装置 |
US14/967,433 US10242149B2 (en) | 2014-12-17 | 2015-12-14 | Enhancing integrated circuit noise performance |
US16/265,062 US10528698B2 (en) | 2014-12-17 | 2019-02-01 | Enhancing integrated circuit noise performance |
US16/265,106 US10528699B2 (en) | 2014-12-17 | 2019-02-01 | Enhancing integrated circuit noise performance |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410785608.XA CN105760560B (zh) | 2014-12-17 | 2014-12-17 | 用于优化集成电路噪声性能的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105760560A CN105760560A (zh) | 2016-07-13 |
CN105760560B true CN105760560B (zh) | 2019-05-07 |
Family
ID=56129727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410785608.XA Active CN105760560B (zh) | 2014-12-17 | 2014-12-17 | 用于优化集成电路噪声性能的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (3) | US10242149B2 (zh) |
CN (1) | CN105760560B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760560B (zh) | 2014-12-17 | 2019-05-07 | 国际商业机器公司 | 用于优化集成电路噪声性能的方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6327542B1 (en) * | 1999-07-21 | 2001-12-04 | Hewlett-Packard Company | System and method for approximating the coupling voltage noise on a node |
US6507935B1 (en) * | 2000-02-25 | 2003-01-14 | Sun Microsystems, Inc. | Method of analyzing crosstalk in a digital logic integrated circuit |
US6536022B1 (en) * | 2000-02-25 | 2003-03-18 | Sun Microsystems, Inc. | Two pole coupling noise analysis model for submicron integrated circuit design verification |
US6615395B1 (en) * | 1999-12-20 | 2003-09-02 | International Business Machines Corporation | Method for handling coupling effects in static timing analysis |
CN1523662A (zh) * | 2003-09-12 | 2004-08-25 | 清华大学 | 用去耦合电容实现集成电路供电网络噪声优化的快速方法 |
CN101183401A (zh) * | 2006-11-15 | 2008-05-21 | 国际商业机器公司 | 降低电子电路的线间耦合的布线方法和装置 |
CN101802783A (zh) * | 2007-09-14 | 2010-08-11 | 国际商业机器公司 | 对于串扰引起的噪声的受约束的攻击者集合选择方法 |
CN103177145A (zh) * | 2011-12-20 | 2013-06-26 | 国际商业机器公司 | 一种用于集成电路的多个时序模式合并的方法和系统 |
CN103914583A (zh) * | 2013-01-02 | 2014-07-09 | 国际商业机器公司 | 半导体器件及用于减小其中的路径延迟差值的方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6028989A (en) * | 1998-04-13 | 2000-02-22 | International Business Machines Corporation | Calculating crosstalk voltage from IC craftsman routing data |
US6601222B1 (en) * | 2000-10-13 | 2003-07-29 | International Business Machines Corporation | Coupled noise estimation and avoidance of noise-failure using global routing information |
US7739624B2 (en) | 2002-07-29 | 2010-06-15 | Synopsys, Inc. | Methods and apparatuses to generate a shielding mesh for integrated circuit devices |
US7043708B2 (en) * | 2003-06-09 | 2006-05-09 | Lsi Logic Corporation | Intelligent crosstalk delay estimator for integrated circuit design flow |
JP2005135229A (ja) * | 2003-10-31 | 2005-05-26 | Toshiba Corp | 半導体集積回路の自動設計方法 |
US7784010B1 (en) | 2004-06-01 | 2010-08-24 | Pulsic Limited | Automatic routing system with variable width interconnect |
US7895556B2 (en) * | 2007-11-20 | 2011-02-22 | International Business Machines Corporation | Method for optimizing an unrouted design to reduce the probability of timing problems due to coupling and long wire routes |
JP2011151100A (ja) | 2010-01-20 | 2011-08-04 | Fujitsu Ltd | クロックジッタ抑制方法及びプログラム |
US8205181B1 (en) | 2010-03-05 | 2012-06-19 | Applied Micro Circuits Corporation | Victim net crosstalk reduction |
US8423940B2 (en) | 2011-08-15 | 2013-04-16 | International Business Machines Corporation | Early noise detection and noise aware routing in circuit design |
US8719752B1 (en) | 2013-01-22 | 2014-05-06 | Lsi Corporation | Hierarchical crosstalk noise analysis model generation |
CN105760560B (zh) | 2014-12-17 | 2019-05-07 | 国际商业机器公司 | 用于优化集成电路噪声性能的方法和装置 |
-
2014
- 2014-12-17 CN CN201410785608.XA patent/CN105760560B/zh active Active
-
2015
- 2015-12-14 US US14/967,433 patent/US10242149B2/en not_active Expired - Fee Related
-
2019
- 2019-02-01 US US16/265,062 patent/US10528698B2/en active Active
- 2019-02-01 US US16/265,106 patent/US10528699B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6327542B1 (en) * | 1999-07-21 | 2001-12-04 | Hewlett-Packard Company | System and method for approximating the coupling voltage noise on a node |
US6615395B1 (en) * | 1999-12-20 | 2003-09-02 | International Business Machines Corporation | Method for handling coupling effects in static timing analysis |
US6507935B1 (en) * | 2000-02-25 | 2003-01-14 | Sun Microsystems, Inc. | Method of analyzing crosstalk in a digital logic integrated circuit |
US6536022B1 (en) * | 2000-02-25 | 2003-03-18 | Sun Microsystems, Inc. | Two pole coupling noise analysis model for submicron integrated circuit design verification |
CN1523662A (zh) * | 2003-09-12 | 2004-08-25 | 清华大学 | 用去耦合电容实现集成电路供电网络噪声优化的快速方法 |
CN101183401A (zh) * | 2006-11-15 | 2008-05-21 | 国际商业机器公司 | 降低电子电路的线间耦合的布线方法和装置 |
CN101802783A (zh) * | 2007-09-14 | 2010-08-11 | 国际商业机器公司 | 对于串扰引起的噪声的受约束的攻击者集合选择方法 |
CN103177145A (zh) * | 2011-12-20 | 2013-06-26 | 国际商业机器公司 | 一种用于集成电路的多个时序模式合并的方法和系统 |
CN103914583A (zh) * | 2013-01-02 | 2014-07-09 | 国际商业机器公司 | 半导体器件及用于减小其中的路径延迟差值的方法 |
Non-Patent Citations (1)
Title |
---|
基于图论模型的一类集成电路布线算法;耿显亚 等;《计算机工程与应用》;20140819;第21-25页 |
Also Published As
Publication number | Publication date |
---|---|
US10528698B2 (en) | 2020-01-07 |
US20190163864A1 (en) | 2019-05-30 |
US10242149B2 (en) | 2019-03-26 |
US20160180014A1 (en) | 2016-06-23 |
US20190163865A1 (en) | 2019-05-30 |
US10528699B2 (en) | 2020-01-07 |
CN105760560A (zh) | 2016-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105701266B (zh) | 用于电路设计中的静态时序分析的方法和系统 | |
US20220188490A1 (en) | SYSTEM AND METHOD TO GENERATE A NETWORK-ON-CHIP (NoC) DESCRIPTION USING INCREMENTAL TOPOLOGY SYNTHESIS | |
US11126776B2 (en) | Coherent placement of slotline mode suppression structures in coplanar waveguides for quantum devices | |
CN105359149A (zh) | 双重结构的时钟树综合(cts) | |
US20170220722A1 (en) | Large cluster persistence during placement optimization of integrated circuit designs | |
US9384316B2 (en) | Path-based congestion reduction in integrated circuit routing | |
CN108228649A (zh) | 用于数据访问的方法和设备 | |
US9684751B2 (en) | Slack redistribution for additional power recovery | |
US10586006B2 (en) | Build synthesized soft arrays | |
CN105760560B (zh) | 用于优化集成电路噪声性能的方法和装置 | |
US9576102B1 (en) | Timing constraints formulation for highly replicated design modules | |
US9552451B1 (en) | Cross-hierarchy interconnect adjustment for power recovery | |
CN112906339B (zh) | 物理设计布线和优化方法、系统、设备和介质 | |
US10394994B2 (en) | Field-effect transistor placement optimization for improved leaf cell routability | |
US10719654B2 (en) | Placement and timing aware wire tagging | |
US9734270B2 (en) | Control path power adjustment for chip design | |
CN105808293B (zh) | 安全计算机平台兼容应用软件的主机插件 | |
US9471741B1 (en) | Circuit routing based on total negative slack | |
US10747934B2 (en) | Managing feedthrough wiring for integrated circuits | |
US10546092B2 (en) | Modifying a circuit design based on pre-routed top level design | |
CN108279829A (zh) | Android系统提示窗显示的方法及装置 | |
CN108228648A (zh) | 创建索引的方法和设备 | |
JP2014235642A (ja) | 半導体装置の設計方法、プログラム及び設計装置 | |
CN108345459A (zh) | 一种站点部署方法及装置 | |
JP2009282894A (ja) | 半導体装置設計支援プログラムおよび半導体装置設計支援方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |