CN104981805A - 自动时钟树布线规则生成 - Google Patents

自动时钟树布线规则生成 Download PDF

Info

Publication number
CN104981805A
CN104981805A CN201380072459.6A CN201380072459A CN104981805A CN 104981805 A CN104981805 A CN 104981805A CN 201380072459 A CN201380072459 A CN 201380072459A CN 104981805 A CN104981805 A CN 104981805A
Authority
CN
China
Prior art keywords
network
tolerance
crowded
described network
rule
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
Application number
CN201380072459.6A
Other languages
English (en)
Other versions
CN104981805B (zh
Inventor
曹爱群
S·德哈
袁林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Synopsys Inc
Original Assignee
Synopsys Inc
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 Synopsys Inc filed Critical Synopsys Inc
Publication of CN104981805A publication Critical patent/CN104981805A/zh
Application granted granted Critical
Publication of CN104981805B publication Critical patent/CN104981805B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Abstract

描述了用于基于一个或多个度量而自动地生成用于在时钟树中布线网络的非默认布线规则的集合的系统和技术。度量可以包括拥挤度量、延迟度量、串扰度量、电迁移度量和时钟树层级。接着,实施例可以基于一个或多个度量而生成用于布线网络的非默认布线规则的集合。布线规则可以规定引线应该多宽以及相邻引线应该间隔多远布置。非默认布线规则可以规定不同于默认宽度的引线宽度和/或规定不同于默认间距的间距(也即两个引线之间距离)。

Description

自动时钟树布线规则生成
技术领域
本公开涉及在电子电路设计期间的时钟树综合。更具体地,本公开涉及自动时钟树布线规则生成。
背景技术
半导体技术中的进展目前使其能够在单个半导体芯片上集成数亿个晶体管。半导体集成密度的这种急剧增大已经对设计电路构成了相当大的挑战。
时钟树综合(CTS)和布线是电子设计自动化(EDA)中两个重要操作。CTS涉及用于将时钟信号分布至电路设计中顺序电路元件的集合的创建时钟分布网络的过程。对电路设计布线(包括在电路设计中布线一个或多个时钟树)涉及确定对金属引线的布线,金属引线电连接电路元件以形成执行了所需功能的布线电路。由布线器所生成的布线时钟树的质量可以对EDA设计流程中下游阶段造成重大影响。
发明内容
一些实施例基于一个或多个度量自动地生成(也即无需用户手动生成规则)用于在时钟树中布线网络的非默认布线规则的集合。一些实施例可以确定一个或多个以下度量:(1)对于网络的拥挤度量,其中拥挤度量对应于网络附近布线拥挤的量,(2)对于网络的延迟度量,其中延迟度量对应于包括网络的最长延迟时钟路径的时钟延迟,(3)对于网络的串扰度量,其中串扰度量对应于网络从其他网络接收的串扰的量,(4)对于网络的电迁移度量,其中电迁移度量对应于预期发生在网络中电迁移的量,以及(5)对于网络的时钟树层级,其中时钟树的钟根(root)对应于最高时钟树层级。
接着,实施例可以基于一个或多个度量而生成用于布线网络的非默认布线规则的集合。布线规则可以规定引线应该多宽以及相邻引线应该布置间隔多远。非默认布线规则可以规定不同于默认宽度的引线宽度和/或规定不同于默认间距的间距(也即两个引线之间的距离)。具体的,响应于确定指示了网络在高拥挤区域中的拥挤度量,一些实施例可以生成使用默认规则引线宽度、默认规则间距或两者的布线规则。另一方面,响应于确定指示了网络并未在高拥挤区域中的拥挤度量,一些实施例可以生成一个或多个以下布线规则:(1)使用比默认规则引线宽度更宽的引线宽度、比默认规则间距更宽的间距或两者的布线规则,(2)使用防止网络违反时钟延迟规则的引线宽度和/或间距的布线规则,(3)使用防止网络违反串扰规则的引线宽度和/或间距的布线规则,(4)使用防止网络违反电迁移规则的引线宽度和/或间距的布线规则,和/或(5)使用基于时钟树层级的宽度值和间距值的布线规则,其中在更高时钟树层级下使用更大的宽度和间距值。
附图说明
图1示出了根据在此所述一些实施例的同步电路装置。
图2示出了根据本发明的一个实施例的展现一般布线问题的示例性电路设计。
图3示出了根据在此描述的一些实施例的用于生成非默认布线规则集合以用于在时钟树中布线网络的方法。
图4示出了根据在此所述一些实施例的计算机系统。
具体实施方式
展示一些说明书以使得任何本领域技术人员制造和使用本发明,并且提供在特定应用及其需求的上下文中。对所公开实施例的各种修改对于本领域技术人员将是容易明显的,并且在此限定的普遍原理可以适用于其他实施例和应用而并未脱离本发明的精神和范围。因此,本发明并非限于所示实施例,而是应该符合与在此所公开原理和特征一致的最宽范围。在本公开中,当采用实体列表使用术语“和/或”时,其涉及实体列表的所有可能组合。例如,术语“X、Y和/或Z”覆盖了以下情形:(1)仅X;(2)仅Y;(3)仅Z;(4)X和Y;(5)X和Z;(6)Y和Z;以及(7)X、Y和Z。此外,在本公开中,术语“基于”意味着“完全或部分基于”。
电子设计自动化(EDA)流程的概述
EDA流程可以用于创建电路设计。一旦完成了电路设计,其可以经历制造、封装和组装以产生集成电路芯片。EDA流程可以包括多个步骤,并且每个步骤可以涉及使用一个或多个EDA软件工具。以下描述一些EDA步骤和软件工具。这些EDA步骤和软件工具的示例仅是示意性目的,并且并非意在将实施例限定为所公开形式。
一些EDA软件工具使得电路设计者能描述他们希望实施的功能。这些工具也使得电路设计者能执行假设分析计划以精炼功能、检查成本等。在逻辑设计和功能验证期间,可以撰写例如SystemVerilog、用于系统中模块的代码的HDL(硬件描述语言),并且可以对于功能检查设计,例如可以检查设计以确保其生成正确的输出。
在测试的设计和综合期间,HDL代码可以使用一个或多个EDA软件工具转换为网表。此外,可以针对目标技术优化网表,并且可以设计和实施测试以检测所完成的芯片。在网表验证期间,可以针对与时序约束的一致性和与HDL代码的一致性检查网表。
在设计计划期间,可以构造针对芯片的整体布局并针对时序和顶层布线进行分析。在物理实施期间,电路元件可以定位在版图(布局)中并且可以电耦合(布线)。
在分析和提取期间,可以在晶体管层级验证电路的功能并且可以提取寄生参数。在物理验证期间,可以检查设计以确保对于制造、电学问题、光刻问题和电路装置的正确性。
在分辨率增强期间,可以对版图执行几何操纵以改进设计的可制造性。在掩模数据准备期间,设计可以“流片”(taped-out)以生成在制造期间使用的掩模。
时钟树
同步电路设计可以视为经由组合逻辑云而电连接的顺序电路元件的集合。例如,图1示出了根据在此所述一些实施例的同步电路装置。电路装置100包括缓冲器104、106、107和108,顺序电路元件110、112、114、116和118,以及组合逻辑云120、122和124。时钟信号经由包括缓冲器104、106、107和108的时钟树而从时钟管脚102分布至顺序电路元件110、112、114、116和118。顺序电路元件通常是基于时钟信号执行操作的任何元件。例如,触发器是顺序电路元件。组合逻辑云包括一个或多个组合逻辑门(例如与(AND)门、或(OR)门、非(NOT)门、异或(XOR)门、多路复用器、多路分解器、缓冲器、中继器等),但是并未包括任何顺序电路元件。
使用一个或多个时钟信号对在顺序电路元件之间的数据传输进行同步。例如,顺序电路元件110可以发起穿过组合逻辑云120(可以将信号与其他信号逻辑组合)、并且可以被顺序电路元件118捕获的信号。发起和捕获可以基于提供至顺序电路元件110和118的时钟信号而同步。
时钟树包括将时钟信号分布至电路设计中一个或多个顺序电路元件的电路装置。例如,图1中所示时钟树包括缓冲器104、106、107和108,并且将时钟管脚102电连接至顺序电路元件110、112、114、116和118的时钟输入管脚。时钟域可以涉及使用给定时钟信号钟控的一部分电路设计。例如,图1中所示电路装置100是对应于从时钟管脚102分布的时钟信号的时钟域的一部分。电路设计可以包括多个时钟域,并且每个时钟域可以包括多个时钟树。
布线
一旦已经创建时钟树(例如已经确定了电连接和缓冲器位置),则必须布线时钟树。图2示出了展示了根据本发明实施例的一般布线问题的示例性电路设计。电路设计200包括组块的集合(例如组块202、204、206、208、210、212、214和216),其可以代表在设计分级结构中任何层级处的电路对象。例如,组块可以是单元、宏、缓冲器,或者在分级结构的任何层级处的任何其他电路对象。
电路元件(例如缓冲器、顺序电路元件等)可以具有一个或多个管脚,并且每个管脚可以被指派至网络。对于布线方法或系统的任务是在电路设计中对引线布线,使得被指派至相同网络的管脚相互电连接。例如,网络220电连接了组块202、204、206和210中的管脚,以及网络218电连接了组块208、210、212、214和216中的管脚。
布线方法或系统可以采取多个输入,其包括但不限于:(a)已布置的网表,其提供了针对单元集合(例如缓冲器、顺序电路元件等)的布置信息;(b)技术的描述(也即,金属层的数目和层的特性),(c)管脚/端子去往网络的指派,(d)规定了引线宽度和间距的非默认布线规则的集合,(e)使用非默认规则的网络的集合,以及关于针对这些网络中每一个网络的非默认规则的信息,以及(f)必须由布线方案所满足的设计规则的集合。注意,布线系统不应生成电连接属于不同网络的管脚的布线方案。此外,布线系统应该生成仅使用可应用布线资源而对引线布线的布线方案,并且布线方案必须不违反DRC(注意,DRC通常向提供作为对布线问题的输入)。例如,DRC可以规定最小引线宽度,两个相邻引线之间最小距离,不应使用的布线形状等等。
布线系统的输出包括但不限于,电连接了属于每个网络(例如时钟树的一部分)的所有管脚/端子的网表,以及可以包括引线长度、通孔计数、和未解决的设计规则检查(DRC)的布线摘要。
因为时钟树在电路设计中所扮演的重要角色,以及因为时钟树需要满足特定需求(也即可以是不存在或者对于电路设计的其他部分可以是不这么重要的需求),因此用于对时钟树布线的布线规则通常与用于对电路设计中其他网表布线的那些规则不同。用于对时钟树布线的这些特殊布线规则有时称作非默认布线规则或非默认规则(NDR),以将这些布线规则与默认用于对电路设计中网表布线的“默认”布线规则区分开。
在传统方案中,用户(例如电路设计者)需要提供用于布线时钟树的NDR的集合。然而,这些方案易于生成用户错误,并且随着半导体集成密度继续增大和电路设计变得越来越复杂而变得不实际。此外,如果并非不可能的话,则对于用户而言难以在构建时钟树之前规定合适的NDR。因此,在传统方案中,时钟树必须多次布线以使得用户可以迭代地精细调节NDR。
用于自动地生成用于布线时钟树的NDR的方法
本公开中所述的一些实施例自动创建用于布线时钟树的NDR。基于对电路设计的分析而创建NDR,并且有助于(1)防止在时钟网络上的串扰(这对于尽可能保持时钟信号干净以确保电路设计的适当操作是重要的),(2)防止在时钟网络上的电迁移(EM)(时钟信号可以由可以增大EM发生的大型驱动器所驱动)(3)减小时钟延迟,以及(4)改进时钟网络的可布线性。
图3示出了根据在此所述的一些实施例的用于生成用于在时钟树中布线网络的非默认布线规则的集合的方法。该方法可以包含,确定针对网络的一个或多个度量,以及随后基于度量确定NDR的集合。具体的,方法可以包含确定针对网络的拥挤度量(操作302),针对网络的延迟度量(操作304),针对网络的串扰度量(操作306),针对网络的电迁移度量(操作308),和/或时钟树层级(操作310)。
拥挤度量可以对应于网络附近布线拥挤的量。在一些实施例中,拥挤度量可以如下确定。电路设计可以划分为称为g-单元的矩形或方形的阵列。每个g单元与指示了可以通过g-单元布线的引线数目的容量相关联。接着,基于电路组块的初始布置,方法可以确定需要从一个g-单元布线至另一个的引线的数目。方法可以随后确定对于这些引线的近似布线(也即在g-单元层级处),并且记录经过每个g-单元的引线数目。方法可以随后基于g单元的容量以及预期将穿过g单元布线的引线数目而确定对于g单元的拥挤度量。对于网络的拥挤度量可以是部分或完全在网络的边界框内的g单元的拥挤度量的平均值。例如,如果存在部分或者完全在网络的边界框内(网络的边界可以是包围了所有网络管脚的矩形框)的N个g单元,则与网络相关联的拥挤度量可以是这N个g单元的拥挤度量的平均值。在其他实施例中,可以使用这N个g单元之中的最大拥挤度量(或者基于N个g单元的拥挤度量的任何其他统计测量)。
延迟度量可以对应于包括网络的最长延迟时钟路径的时钟延迟。在一些实施例中,延迟度量可以是标记,也即为“0”或“1”的数值。“0”数值可以指示了网络并非是最长(或几乎最长)时钟路径的一部分。“1”数值可以指示了网络是最长(或几乎最长)时钟路径的一部分。
例如,考虑图1中的网络,其将时钟管脚102与缓冲器104、106和108的输入端电连接。该网络是多时钟路径的一部分。例如,该网络是开始于时钟管脚102并且结束于顺序电路元件110的时钟输入端处的时钟路径的一部分,并且也是开始于时钟管脚102并且结束于顺序电路元件116的时钟输入端处的时钟路径的一部分。在包括该网络的所有时钟路径之外,假设开始于时钟管脚102并且结束于顺序电路元件116的时钟输入端处的时钟路径具有最大延迟。接着,将时钟管脚102与缓冲器104、106和108的输入端电连接的网络的延迟度量可以设置为“1”。另一方面,假设将缓冲器104的输出端连接至顺序电路元件110的时钟输入端的网络并非是最长(或几乎最长)时钟路径的一部分。随后,将缓冲器104的输出端电连接至顺序电路元件110的时钟输入端的网络的延迟度量可以设置为“0”。
串扰度量可以对应于网络从其他网络接收到串扰的量。在一些实施例中,系统可以确定由于串扰而引入时钟信号的抖动的量,并且使用抖动的量作为串扰度量。抖动的量(以及因此串扰度量)可以表示作为绝对抖动(也即以时间为单位)或者作为一个时钟周期的一小部分。额外地,抖动量可以量化作为峰到峰抖动或均方根抖动。
电迁移度量可以对应于预期将发生在网络中的电迁移的量。在一些实施例中,由于电迁移(例如使用布莱克方程计算)的平均无故障时间(MTTF)可以用作电迁移度量。如果MTTF数值小于给定阈值,则网络可以视作违反了电迁移约束。在一些实施例中,电迁移度量可以是标记,也即其可以具有“0”或“1”数值。具体的,可以计算MTTF并且与阈值(例如可接受的MTTF数值)作比较。如果MTTF数值大于阈值,则电迁移度量标记可以设置为“0”,这指示了网络并未违反电迁移约束。另一方面,如果MTTF数值小于阈值,则电迁移度量标记可以设置为“1”,这指示了网络违反了电迁移约束。
方法可以将时钟树划分为两个或更多层级(例如通过执行通过从时钟树钟根开始的树遍历),并且网络可以取决于网络处于时钟树中何处而与时钟树层级相关联。本公开中所述一些实施例将时钟树划分为多个层级,例如时钟树根层级、时钟树干层级和时钟树叶层级。例如,在图1中,时钟树可以划分为以下层级。树根层级,包括了将时钟管脚102与缓冲器104、106和108的输入端电连接的网络。树干层级,包括了将缓冲器108的输出端与顺序电路元件112的时钟输入端以及缓冲器107的输入端电连接的网络。树叶层级,包括以下网络:(a)将缓冲器104的输出端与顺序电路元件110的时钟输入端电连接的网络,(b)将缓冲器106的输出端与顺序电路元件118的时钟输入端电连接的网络,以及(c)将缓冲器107的输出端与顺序电路元件114和116的时钟输入端电连接的网络。
已经仅为了示意目的展示了以上度量的示例并且并非意在将实施例限定于所公开的形式。拥挤、延迟、串扰、电迁移和时钟树层级的许多不同定义对于本领域技术人员而言将是明显的,并且在此所述实施例的范围意在覆盖所有这些定义。
一旦已经确定了一个或多个度量,可以基于拥挤度量、延迟度量、串扰度量、电迁移度量、和/或时钟树层级而生成用于网络的非默认布线规则的集合(操作312)。
具体的,为了防止串扰和/或电迁移违反,实施例可以使用更宽的宽度和/或更宽的间距以用于布线网络。同样地为了减小时钟路径的时钟延迟,实施例可以使用更宽的宽度和/或更宽的间距以用于布线网络。然而,使用更宽的宽度和/或更宽的间距消耗了更大的布线资源。因此,在高拥挤区域中,可以无法使用更宽的引线宽度或者更宽的间距。
在一些实施例中,方法可以计算针对网络的不同度量,并且随后基于所计算的度量而选择合适的引线宽度和引线间距。例如,响应于确定了指示网络并非在高拥挤区域中的拥挤度量,方法可以生成布线规则,其使用了比默认规则引线宽度更宽的引线宽度、比默认规则间距更宽的间距或者两者(也即使用了更宽的引线和相互间隔开间距的规则)。另一方面,响应于确定指示了网络在高拥挤区域中的拥挤度量,方法可以生成使用默认规则引线宽度、默认规则间距或两者的布线规则。
如果拥挤度量指示了网络不在高拥挤区域中,一些实施例可以生成布线规则,其(1)使用了防止网络违反时钟延迟规则的引线宽度和/或间距,(2)使用了防止网络违反串扰规则的引线宽度和/或间距,(3)使用了防止网络违反电迁移规则的引线宽度和/或间距,和/或(4)使用了基于时钟树层级的宽度值和间距值。具体的,一些实施例可以针对每个时钟树层级创建不同的NDR集合,例如方法可以取决于网络是否在时钟树的树根层级、树干层级或树叶层级而使用不同的引线宽度和/或间距。特别地,方法可以对于树根层级使用最宽的引线和/或最大间距,并且对于树干层级和树叶层级使用越来越小的宽度和/或间距。例如,在一些实施例中,方法可以对于树根层级使用三倍宽度和三倍间距,对于树干层级使用双倍宽度和双倍间距,以及对于树叶层级采用单倍宽度和单倍或双倍间距。
计算机系统
图4示出了根据本发明实施例的计算机系统。计算机或计算机系统可以通常为可以执行计算的任何系统。具体的,计算机系统可以是微处理器、专用集成电路、分布式计算系统、云计算系统,或现在已知或稍后研发的任何其他计算系统。计算机系统402包括处理器404、内存406和存储器408。计算机系统402可以与显示器414、键盘410和鼠标412耦合。存储器408可以通常是可以存储数据的任何装置。具体的,存储器装置可以是磁、光、或磁-光存储装置,或者其可以是基于闪存和/或电池支持的存储器。存储器408可以存储应用程序416、操作系统418和数据420。
应用程序416可以包括当由计算机402执行时使得计算机402执行本公开中隐含或明确描述的一个或多个方法。数据420可以包括由应用程序416输入或输出的任何数据。
以上说明书意在使得本领域技术人员制造和使用实施例。对所公开实施例的各种修改对于本领域技术人员而言是易于明显的,并且在此限定的普遍原理可应用于其他实施例和应用而并未脱离本公开的精神和范围。因此,本发明不限于所示的实施例,而是应该符合与在此所公开原理和特征一致的最宽范围。
本公开中所述的数据结构和代码可以部分或者全部存储在非临时计算机可读存储介质和/或硬件模块和/或硬件设备上。非临时计算机可读存储介质包括除了传播电磁波或信号之外的所有计算机可读存储介质。具体的,非临时计算机可读存储介质包括但不限于,易失性存储器,非易失性存储器,磁和光存储装置、诸如盘驱动、磁带、CDs(小型盘)、DVDs(数字通用盘或数字视频盘),或者能够存储代码和/或数据的其他现在已知或稍后研发的其他介质。本公开中所述的硬件模块或设备包括但不限于,专用集成电路(ASICs)、现场可编程门阵列(FPGAs)、专用或共用处理器、和/或现在已知或稍后研发的其他硬件模块或设备。
本公开中所述方法和进程可以部分或全部实施作为存储在非临时计算机可读介质或装置中的代码和/或数据,以使得当计算机系统读取并执行代码和/或数据时,计算机系统执行了相关联的方法和进程。方法和进程也可以部分或全部实施在硬件模块或设备中。注意,可以使用代码、数据和硬件模块或设备的组合而实施方法和进程。
仅为了示意和解释说明目的展示了对本发明实施例的以上描述说明。它们并非意在为穷举的、或者将本发明限定于所公开形式。因此,许多修改例和变形例对本领域技术人员将是明显的。此外,以上公开并非意在限制本发明。本发明的范围由所附权利要求限定。

Claims (13)

1.一种用于生成针对在时钟树中布线网络的非默认布线规则的集合的方法,所述方法包括:
计算机确定针对所述网络的拥挤度量,其中所述拥挤度量对应于在所述网络附近布线拥挤的量;以及
所述计算机基于所述拥挤度量生成针对所述网络的非默认布线规则的集合。
2.根据权利要求1所述的方法,其中,所述生成包括:
响应于确定所述拥挤度量指示所述网络不在高拥挤区域中,生成使用比默认规则引线宽度更宽的引线宽度和/或比默认规则间距更宽的间距的布线规则。
3.根据权利要求1所述的方法,其中,所述生成包括:
响应于确定所述拥挤度量指示所述网络在高拥挤区域中,生成使用默认规则引线宽度和/或默认规则间距的布线规则。
4.根据权利要求1所述的方法,进一步包括:
确定针对所述网络的延迟度量,其中所述延迟度量对应于包括所述网络的最长延迟时钟路径的时钟延迟;以及
其中所述生成包括基于所述拥挤度量和所述延迟度量生成针对所述网络的非默认布线规则的集合。
5.根据权利要求4所述的方法,其中,所述生成包括:
响应于确定所述拥挤度量指示所述网络不在高拥挤区域中,生成使用防止所述网络违反时钟延迟规则的引线宽度和/或间距的布线规则。
6.根据权利要求1所述的方法,进一步包括:
确定针对所述网络的串扰度量,其中所述串扰度量对应于所述网络从其他网络接收的串扰的量;以及
其中所述生成包括基于所述拥挤度量和所述串扰度量生成针对所述网络的非默认布线规则的集合。
7.根据权利要求6所述的方法,其中,所述生成包括:
响应于确定所述拥挤度量指示所述网络不在高拥挤区域中,生成使用防止所述网络违反串扰规则的引线宽度和/或间距的布线规则。
8.根据权利要求1所述的方法,进一步包括:
确定针对所述网络的电迁移度量,其中所述电迁移度量对应于预期发生在所述网络中电迁移的量;以及
其中所述生成包括基于所述拥挤度量和所述电迁移度量生成针对所述网络的非默认布线规则的集合。
9.根据权利要求8所述的方法,其中,所述生成包括:
响应于确定所述拥挤度量指示所述网络不在高拥挤区域中,生成使用防止所述网络违反电迁移规则的引线宽度和/或间距的布线规则。
10.根据权利要求1所述的方法,进一步包括:
确定针对所述网络的时钟树层级,其中所述时钟树的树根对应于最高时钟树层级;以及
其中所述生成包括基于所述拥挤度量和所述时钟树层级生成针对所述网络的非默认布线规则的集合。
11.根据权利要求10所述的方法,其中,所述生成包括:
响应于确定所述拥挤度量指示所述网络不在高拥挤区域中,生成使用基于所述时钟树层级的宽度值和间距值的布线规则,其中在更高时钟树层级处使用更大的宽度和间距值。
12.一种存储指令的非瞬态计算机可读存储介质,所述指令当由计算机执行时,使得所述计算机执行用于生成针对在时钟树中布线网络的非默认布线规则的集合的方法,所述方法包括:
确定针对所述网络的拥挤度量,其中所述拥挤度量对应于在所述网络附近布线拥挤的量;以及
基于所述拥挤度量生成针对所述网络的非默认布线规则的集合。
13.一种设备,包括:
处理器;以及
存储指令的非瞬态计算机可读存储介质,所述指令当由所述处理器执行时,使得所述设备执行用于生成针对在时钟树中布线网络的非默认布线规则的集合的方法,所述方法包括:
确定针对所述网络的拥挤度量,其中所述拥挤度量对应于在所述网络附近布线拥挤的量;以及
基于所述拥挤度量生成针对所述网络的非默认布线规则的集合。
CN201380072459.6A 2012-12-26 2013-12-23 自动时钟树布线规则生成 Active CN104981805B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261746065P 2012-12-26 2012-12-26
US61/746,065 2012-12-26
US14/066,329 2013-10-29
US14/066,329 US9009645B2 (en) 2012-12-26 2013-10-29 Automatic clock tree routing rule generation
PCT/US2013/077443 WO2014105804A1 (en) 2012-12-26 2013-12-23 Automatic clock tree routing rule generation

Publications (2)

Publication Number Publication Date
CN104981805A true CN104981805A (zh) 2015-10-14
CN104981805B CN104981805B (zh) 2018-07-10

Family

ID=50976278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380072459.6A Active CN104981805B (zh) 2012-12-26 2013-12-23 自动时钟树布线规则生成

Country Status (4)

Country Link
US (1) US9009645B2 (zh)
KR (1) KR102103617B1 (zh)
CN (1) CN104981805B (zh)
WO (1) WO2014105804A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106934090A (zh) * 2015-12-29 2017-07-07 台湾积体电路制造股份有限公司 时脉树架构、集成电路及其布局方法
CN108279889A (zh) * 2016-12-30 2018-07-13 联芯科技有限公司 时钟树代码生成方法及装置
CN114556352A (zh) * 2019-08-12 2022-05-27 美商新思科技有限公司 用于执行自动布线的方法和系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9330220B1 (en) * 2014-08-25 2016-05-03 Xilinx, Inc. Clock region partitioning and clock routing
US10817641B1 (en) 2017-09-29 2020-10-27 Cadence Design Systems, Inc. Method and system to implement topology integrity throughout routing implementations
US10521097B1 (en) 2017-09-29 2019-12-31 Cadence Design Systems, Inc. User interface to implement topology integrity throughout routing implementations
US10551431B1 (en) * 2017-12-22 2020-02-04 Cadence Design Systems, Inc. EM-compliance topology in a tree router
US10489549B1 (en) 2017-12-22 2019-11-26 Cadence Design Systems, Inc. Tree-routing for specific areas of an electronic design
US10885959B1 (en) 2019-10-02 2021-01-05 Micron Technology, Inc. Apparatuses and methods for semiconductor devices including clock signal lines
US11599139B1 (en) * 2021-09-03 2023-03-07 Xepic Corporation Limited Dynamic adjustment of root clock frequency in logic system design during verification

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774371A (en) * 1994-08-03 1998-06-30 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit and layout designing method for the same
US7178124B1 (en) * 2003-05-30 2007-02-13 Golden Gate Technology, Inc. Methods, algorithms, software, architectures and system for placing clocked components and routing timing signals in a circuit and/or layout
US7752588B2 (en) * 2005-06-29 2010-07-06 Subhasis Bose Timing driven force directed placement flow
US7996796B2 (en) * 2007-03-05 2011-08-09 Renesas Electronics Corporation Method and program for designing semiconductor device
CN102741848A (zh) * 2010-01-29 2012-10-17 辛奥普希斯股份有限公司 用所定义模式改善预布线和后布线网相关性

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3913180B2 (ja) * 1994-08-03 2007-05-09 松下電器産業株式会社 半導体集積回路の設計方法
US6651232B1 (en) * 1998-11-05 2003-11-18 Monterey Design Systems, Inc. Method and system for progressive clock tree or mesh construction concurrently with physical design
US6204713B1 (en) * 1999-01-04 2001-03-20 International Business Machines Corporation Method and apparatus for routing low-skew clock networks
US7350173B1 (en) 2002-06-11 2008-03-25 Synplicity, Inc. Method and apparatus for placement and routing cells on integrated circuit chips
US6904585B2 (en) 2003-04-04 2005-06-07 International Business Machines Corporation Method for identification and removal of non-timing critical wire routes from congestion region
US6948142B2 (en) * 2003-06-02 2005-09-20 Lsi Logic Corporation Intelligent engine for protection against injected crosstalk delay
US7039891B2 (en) * 2003-08-27 2006-05-02 Lsi Logic Corporation Method of clock driven cell placement and clock tree synthesis for integrated circuit design
US7313776B2 (en) 2005-06-28 2007-12-25 Synopsys, Inc. Method and apparatus for routing an integrated circuit
US8239797B1 (en) 2008-09-18 2012-08-07 Cadence Design Systems, Inc. Congestion aware block placement

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774371A (en) * 1994-08-03 1998-06-30 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit and layout designing method for the same
US7178124B1 (en) * 2003-05-30 2007-02-13 Golden Gate Technology, Inc. Methods, algorithms, software, architectures and system for placing clocked components and routing timing signals in a circuit and/or layout
US7752588B2 (en) * 2005-06-29 2010-07-06 Subhasis Bose Timing driven force directed placement flow
US7996796B2 (en) * 2007-03-05 2011-08-09 Renesas Electronics Corporation Method and program for designing semiconductor device
CN102741848A (zh) * 2010-01-29 2012-10-17 辛奥普希斯股份有限公司 用所定义模式改善预布线和后布线网相关性

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106934090A (zh) * 2015-12-29 2017-07-07 台湾积体电路制造股份有限公司 时脉树架构、集成电路及其布局方法
CN106934090B (zh) * 2015-12-29 2021-05-14 台湾积体电路制造股份有限公司 时脉树架构、集成电路及其布局方法
CN108279889A (zh) * 2016-12-30 2018-07-13 联芯科技有限公司 时钟树代码生成方法及装置
CN114556352A (zh) * 2019-08-12 2022-05-27 美商新思科技有限公司 用于执行自动布线的方法和系统

Also Published As

Publication number Publication date
WO2014105804A1 (en) 2014-07-03
KR102103617B1 (ko) 2020-04-22
CN104981805B (zh) 2018-07-10
US20140181777A1 (en) 2014-06-26
US9009645B2 (en) 2015-04-14
KR20150102086A (ko) 2015-09-04

Similar Documents

Publication Publication Date Title
CN104981805A (zh) 自动时钟树布线规则生成
US20080034338A1 (en) Timing analysis method and device
JP6333948B2 (ja) 二重構造クロックツリー合成(cts)
JP4664231B2 (ja) タイミング解析方法及びタイミング解析装置
US9767240B2 (en) Temperature-aware integrated circuit design methods and systems
US9122833B2 (en) Method of designing fin field effect transistor (FinFET)-based circuit and system for implementing the same
US9542524B2 (en) Static timing analysis (STA) using derived boundary timing constraints for out-of-context (OOC) hierarchical entity analysis and abstraction
US8769470B2 (en) Timing closure in chip design
US9165105B2 (en) Rule checking for confining waveform induced constraint variation in static timing analysis
US10423742B2 (en) Method to perform full accuracy hierarchical block level timing analysis with parameterized chip level contexts
US20070136705A1 (en) Timing analysis method and device
KR102436880B1 (ko) 정적 타이밍 분석의 타이밍 디레이트 조정방법
US8468478B2 (en) Methods for measurement and prediction of hold-time and exceeding hold time limits due to cells with tied input pins
US8719752B1 (en) Hierarchical crosstalk noise analysis model generation
JP2005071267A (ja) 電源パッドの数及び位置見積もり方法、コアサイズ見積もり方法、仮配線容量見積もり方法、チップサイズ見積もり方法及び設計装置
KR102187640B1 (ko) 타이밍 분석기의 타이밍 정합 방법 및 그것을 이용한 집적회로 설계 방법
US20130055187A1 (en) Floorplan creation information generating method, floorplan creation information generating program, floorplan creation information generating device, floorplan optimizing method, floorplan optimizing program, and floorplan optimizing device
US11022998B2 (en) Optimally driving non-uniform clock mesh loads
CN104981806B (zh) 自动时钟树综合例外生成
US10885248B1 (en) Method for modeling glitches during circuit simulation
US8336013B2 (en) Determining an order for visiting circuit blocks in a circuit design for fixing design requirement violations
Posser et al. Electromigration Inside Logic Cells
US10437956B2 (en) Pessimism reduction in static timing analysis
US20180173818A1 (en) Exact delay synthesis
US11017137B2 (en) Efficient projection based adjustment evaluation in static timing analysis of integrated circuits

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