CN102169515B - 一种专用集成电路中时钟树延迟时间的估计方法和系统 - Google Patents

一种专用集成电路中时钟树延迟时间的估计方法和系统 Download PDF

Info

Publication number
CN102169515B
CN102169515B CN201010117747.7A CN201010117747A CN102169515B CN 102169515 B CN102169515 B CN 102169515B CN 201010117747 A CN201010117747 A CN 201010117747A CN 102169515 B CN102169515 B CN 102169515B
Authority
CN
China
Prior art keywords
clock tree
clock
load sequential
sequential device
absolute value
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.)
Expired - Fee Related
Application number
CN201010117747.7A
Other languages
English (en)
Other versions
CN102169515A (zh
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.)
Core Usa Second LLC
GlobalFoundries Inc
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201010117747.7A priority Critical patent/CN102169515B/zh
Priority to US13/031,953 priority patent/US8453085B2/en
Publication of CN102169515A publication Critical patent/CN102169515A/zh
Application granted granted Critical
Publication of CN102169515B publication Critical patent/CN102169515B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • 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
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Abstract

本发明公开了一种专用集成电路时钟树延迟时间的估计方法和系统,其中方法包括:获得该专用集成电路中与所述时钟树相关的网表和布局;根据与所述时钟树相关的网表,提取所述时钟树连接的负载时序器件的数量;根据与所述时钟树相关的布局,提取所述时钟树连接的负载时序器件的物理分布区域面积;根据与该专用集成电路同一工艺的历史数据中负载时序器件的数量、负载时序器件的物理分布区域面积与时钟树延迟时间的关系,估计该时钟树的延迟时间。使用该方法改进的专用集成电路设计方法将审计流程从周为单位减少到天,设计人员能够迅速发现问题和解决问题,因此减少了设计时间,提高了设计效率。

Description

一种专用集成电路中时钟树延迟时间的估计方法和系统
技术领域
本发明一般涉及集成电路设计,更具体地,涉及一种专用集成电路中时树延迟时间和时钟信号到达时间的估计方法和系统。
背景技术
在集成电路技术领域中,专用集成电路(ASIC)是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。
图1示出了现有的专用集成电路设计的流程,在步骤S101,生成门级网表(Gate Level Netlist),在步骤S102,进行布局(Full Placment),该步骤是指确定所有的标准门单元和其他宏单位(Macro)的物理位置和朝向。在步骤S103,执行静态时序分析(Static Timing Analysis),该步骤对于时钟效应的预计采用理想时钟模型(Ideal Clock Model)的方式,这是因为这个时候,时钟树尚未建立起来,因而不能够使用抽取寄生参数(Parasitics),建立电路模型的方式来计算时钟信号在各个节点的真实到达时间(Arrival Time),从而使得理想时钟模型成为时钟树插入之前,静态时序分析的时钟效应计算方式。在步骤S104,插入时钟树(Insert Clock Tree)。现有的时钟树插入过程可以手工完成,也可以由电子设计自动化(EDA)工具来完成的,最流行的时钟树都采用自动化工具来完成。其基本原理是根据各负载时序器件到时钟源的距离,选择合适的分组方案及缓冲器(buffer),在适当的位置放置缓冲器以使时钟源到每个负载时序器件的时钟偏差最小化。插入的由缓冲器组成的树状的信号中继网络被称为时钟树。如果插入的时钟树能够达到或者接近理想时钟模型中的时钟效应预计,那么时钟插入后的静态时序分析结果将会足够接近使用理想时钟模型的分析结果。从而保持时序的收敛性,达到设计的效果。然后在步骤S105,进行带时钟的时序分析以及时钟树调节,在步骤S106,进行步线以及布线后时序收敛分析;最后在步骤S107,生成版图。这样,就完成了一个初步的设计流程。
然而,上述图1的设计流程在现代超大规模专用集成电路的设计中遇到了一些问题,主要体现在两个方面。
第一方面,理想时钟模型中,总是假设在同一个时钟树里面的所有节点具有同样(或者非常接近)的到达时间,而在实际的时钟网络中,由于各种复杂的情形,往往不可能(或者非常困难)达到这一目标。从而使得在时钟树插入之后,静态时序分析得到的结果与之前有较大差异,导致时序不收敛,设计失败。这种情况下往往需要更改理想时钟模型,并且使用更改后的模型重新进行全布局(Full Placement),然后再插入时钟树;以增加迭代次数的代价来减小真实的时钟效应与理想时钟模型的差异。通常来说,时钟树插入本身就很耗时,而这样的迭代过程更是大大延长了设计周期。
另一方面,随着专用集成电路的规模越来越大,时钟树插入这一工作本身也越来越耗时。对于千万门级的超大规模专用集成电路来讲,如果采用打平(Flatten)的设计方式,时钟树插入的耗时往往要以天甚至周来计算;这一情况增加了发现问题和解决问题的时间代价。
上述两方面的问题都会造成产品设计周期过长,可能错过了有利的市场时机。
发明内容
因此,需要一种方法,该方法能够使得设计人员能够迅速估计插入的时钟树和理想时钟模型之间效应的差异,以及由该差异引起的时序分析结果的变化,从而减少设计时间。本发明提出了的一种专用集成电路中时树延迟时间和时钟信号到达时间的估计方法和系统,使用该方法改进的专用集成电路设计方法将审计流程从周为单位减少到天,设计人员能够迅速发现问题和解决问题,因此减少了设计时间,提高了设计效率。
根据本发明的一个方面,提供了一种专用集成电路时钟树延迟时间的估计方法,包括,
获得该专用集成电路中与所述时钟树相关的网表和布局;
根据与所述时钟树相关的网表,提取所述时钟树连接的负载时序器件的数量;
根据与所述时钟树相关的布局,提取所述时钟树连接的负载时序器件的物理分布区域面积;
根据与该专用集成电路同一工艺的历史数据中负载时序器件的数量、负载时序器件的物理分布区域面积与时钟树延迟时间的关系,估计该时钟树的延迟时间。
根据本发明的另一个方面,提供了一种估计专用集成电路时钟信号到达时间的方法,包括
获得该专用集成电路中与所述时钟信号相关的网表和布局信息;
获得该专用集成电路中与所述时钟信号相关的全部时钟树;
对于与该时钟信号相关的全部时钟树,使用权利要求1-9之一所述的方法估计每个时钟树的延迟时间;
获得该时钟信号的完整时钟路径中其它器件的延时;
对该时钟信号的完整时钟路径的全部延迟时间加和,获得该时钟信号的估计到达时间。
根据本发明的再一个方面,提供了一种专用集成电路时钟树延迟时间的估计系统,包括,
时钟树相关网表布局获得装置,用于获得该专用集成电路中与所述时钟树相关的网表和布局;
负载时序器件数量提取装置,用于根据与所述时钟树相关的网表,提取所述时钟树连接的负载时序器件的数量;
负载时序器件的物理分布区域面积提取装置,用于根据与所述时钟树相关的布局,提取所述时钟树连接的负载时序器件的物理分布区域面积;
估计装置,用于根据与该专用集成电路同一工艺的历史数据中负载时序器件的数量、负载时序器件的物理分布区域面积与时钟树延迟时间的关系,估计该时钟树的延迟时间。
根据本发明的又一个方面,提供了一种估计专用集成电路时钟信号到达时间的系统,包括
时钟信号相关网表和布局获得装置,用于获得该专用集成电路中与所述时钟信号相关的网表和布局信息;
时钟树获得装置,用于获得该专用集成电路中与所述时钟信号相关的全部时钟树;
专用集成电路时钟树延迟时间的估计系统;
其它器件延时获得装置,用于获得该时钟信号的完整时钟路径中其它器件的延时;
估计到达时间获得装置,用于对该时钟信号的完整时钟路径的全部延迟时间加和,获得该时钟信号的估计到达时间。
附图说明
通过对附图中本发明示例实施例方式的更详细描述,本发明的上述、以及其它目的、特征和优势将变得更加明显,其中,相同的参考标号通常代表本发明示例实施例方式中的相同部件。
图1示出了现有的专用集成电路设计的流程;
图2a和图2b示意性地示出了一个理想时钟模型的情况下的电路拓扑;
图3示意性地示出了本发明的一种专用集成电路中时钟树延迟时间的估计方法的流程;
图4示意性地示出了实际的线性插值的流程;
图5示意性地示出了线性插值计算的计算关系;
图6示意性地示出了本发明的一种确定专用集成电路时钟信号到达时间的方法的流程;
图7示出了一个专用集成电路设计的例子;
图8示出了本发明的一种专用集成电路时钟树延迟时间的估计系统的框图;以及
图9示出了本发明的一种估计专用集成电路时钟信号到达时间的系统的框图。
具体实施方式
将参照附图更加详细地描述本发明的优选实施方式,在附图中显示了本发明的优选实施例。然而,本发明可以以各种形式实现而不应该理解为被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且,完全将本发明的范围传达给本领域的技术人员。
首先明确一些基本概念以便后面发明的描述。
网表:表达数字电路的器件的拓扑连接的文件或者数据结构,不包含器件的物理信息(例如,器件的物理位置,朝向等)。
布局:表达数字电路器件的物理位置信息(例如物理位置,朝向等)的文件或者数据结构。
时钟树:插入的由缓冲器组成的树状的信号中继网络被称为时钟树。因此,一个专用集成电路一般有一个或多个时钟树。
时钟树的延迟时间:是指对于一个单独的时钟树,时钟信号从根节点到叶节点的传递时间为时钟树的延迟时间。
时钟信号的到达时间:是指时钟信号从芯片输入管脚(pad)出发,经过一个或者若干个时钟树以及器件所组成的时钟网络,最后到达负载时序器件的时钟管脚,所需要的传递时间。
时钟树效应:本发明中是指时钟树的时序效应,主要包括时钟树的延迟(Latency),和时钟树的延迟偏差(Skew)。本发明侧重于时钟树的延迟。
图2a和图2b示意性地示出了一个理想时钟模型的情况下的电路拓扑。其中HSS是一个IP核,IP核(Intellectual Property core)是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。TXDCLK是该IP核的一个时钟输出管脚,这个时钟信号在IP核外部通过连线连接到了一个D触发器;在IP核内部则通过一条很短的路径传到采样点TXData;也就是说,TXData是以TXDCLK的时钟信号为采样频率,来采样D触发器通过图中的组合逻辑网络(Combinational)传递过来的数据信号。
假设理想时钟模型设定该时钟网络中所有的节点的到达时间(AT)都为2ns,那么,为了保证TXData点能够正确地采样到数据,D触发器的信号传递到TXData点的总延时,必须在一个时钟周期以内。
在插入时钟树之后,电路的真实拓扑关系如图2b所示,由于在TXDCLK和D触发器的时钟端时间存在若干缓冲器,导致D触发器的时钟端的时钟信号的到达时间,一定会大于TXDCLK点的时钟到达时间;假设D触发器的时钟端信号的到达时间为3.5ns(如图2b所示)。这一差异的直接后果是,数据信号从D触发器传递到TXData端所需要的传输时间比理想传输时间增加了1.5ns(3.5ns-2.0ns);如果组合逻辑网络的延时不能满足要求,那么TXData端就不能够采到正确的值。
并且,上述图2b中所表示出的时钟树插入之后对于信号传递路径上的时序约束条件的变化,是不能够在理想时钟模型的情况下被看到的;设计者往往需要等到时钟树插入之后,才能够发现图中从D触发器到TXData的路径的时序约束比理想时钟模型要更紧,那么设计者必须重新进行全布局的迭代,通过减小D触发器和HSS这个IP核的距离,或者优化组合逻辑电路的方式弥补由于时钟树插入引起的时序约束的差异。而使用EDA工具插入时钟树进行分析的过程时间较长,可能要以周为单位,这样就导致延长了设计时间。
上述实例是由于捕获时钟(capture clock)走的是IP的内部路径,其延时大大小于IP外部所插入的时钟树的延迟,从而使得时钟树的平衡成为不可能。另外,对于采用门控时钟器件触发与其相连的触发器这类设计,由于门控时钟器件的采样时钟是时钟树的中间节点,从而使该节点的时钟到达时间和其他节点的平衡成为不可能。此外,时钟网络本身设计的不合理性,也会导致时钟树的平衡变得非常困难,难以达到理想时钟模型中的该时钟各节点到达时间一致的假设。
现代集成电路的设计发展趋势使得上述情况的应用情形的出现概率越来越高:(1)越来越多的芯片大量使用各种IP,使得上述实例的情况经常出现;(2)门控时钟是一种非常流行的低功耗设计方法,而现在大规模集成电路对于功耗的要求日益严格,使得门控时钟器件的使用越来越普遍;(3)现代超大规模集成电路的功能的日益复杂,导致时钟拓扑本身也越来越复杂,这种复杂的拓扑连接会增加时钟树平衡的难度,从而使得时钟树插入之后的时序状况和理想时钟模型下的时序状况有巨大的差异。这种差异可能会导致时序的不收敛。而使时序重新回到收敛的轨道上则需要更多的迭代,也就以为这设计周期和设计成本的提高。
针对上述问题,本发明首先提出了一种专用集成电路中时钟树延迟时间的估计方法,该方法能够根据历史上对同一工艺积累的设计数据,估计出某一时钟树的延迟时间。该方法如图3所示,根据图3,该方法包括:
在步骤S301,获得该专用集成电路中所述时钟树相关的网表和布局;设计过程中,集成电路设计工具能够根据设计人员的输入,提供专用集成电路的网表和布局;此外,设计人员也可以获得该专用集成电路的网表和布局。该步骤中,只需要和所述时钟树相关的网表和布局即可,具体来说,与所述时钟树相关的网表至少包含构成该时钟树的源器件和负载时序器件及其连接关系,与所述时钟树相关的布局至少包含该时钟树的源端及终端的物理位置信息。这里,时钟树的源端为所述构成该时钟树的源器件的时钟输入端,时钟树的终端为所述构成该时钟树的源器件的时钟输出端。
在步骤S302,根据所述时钟树相关的网表,提取所述时钟树连接的负载时序器件的数量;
数字电路的每一个器件(包括IP),都会有是否负载时序器件的标记,作为器件的特征之一,列举在设计的库文件中。因此,在获得时钟树相关的网表之后,根据器件类型,逐一查对库文件,就可以判断是否为负载时序器件。这样,就可以提取所述时钟树连接的所有负载时序器件的数量。
在步骤S303,根据所述时钟树相关的布局,提取所述时钟树连接的负载时序器件的物理分布区域面积;
在从时钟树相关的网表中获得上文所述的负载时序器件列表之后,通过查询布局文件(或数据结构),可以获得指定负载时序器件的X维度和Y维度的布局坐标;然后获得与所述时钟树连接的全部负载时序器件的X维度布局坐标的最大值和最小值以及Y维度布局坐标的最大值和最小值;再计算与所述时钟树连接的全部负载时序器件X维度布局坐标的最大值与时钟树的源端X维度坐标之差的绝对值作为第一绝对值;计算与所述时钟树连接的全部负载时序器件Y维度布局坐标的最大值与时钟树的源端Y维度坐标之差的绝对值作为第二绝对值;计算与所述时钟树连接的全部负载时序器件X维度布局坐标的最小值与时钟树的源端X维度坐标之差的绝对值作为第三绝对值;计算与所述时钟树连接的全部负载时序器件Y维度布局坐标的最小值与时钟树的源端Y维度坐标之差的绝对值作为第四绝对值;再获得上述第一绝对值和第三绝对值的较大值,以及第二绝对值和第四绝对值的较大值;最后将获得的第一绝对值和第三绝对值的较大值,以及第二绝对值和第四绝对值的较大值进行加和就获得该组器件的物理分布区域面积。
假设某个时钟树驱动了5个寄存器,分别为Reg_0,Reg_1...Reg_4,其分布坐标为(x0,y0),(x1,y1)...(x4,y4),这个时钟树的源端的坐标为(Xsrc,Ysrc),负载时序器件的物理分布区域面积计算方法如下:
X_latitude=max{abs(max{Xn}-Xsrc),abs(min{Xn}-Xsrc)}
Y_latitude=max{abs(max{Yn}-Ysrc),abs(min{Yn}-Ysrc)}
Area=X_latitude+Y_latitude
n=0,1,2,3,4
之所以负载时序器件的物理分布区域面积是X维度和Y维度的加和而不是乘积,是因为在芯片上走线的空间是曼哈顿空间(Manhattan Space)而不是欧氏空间。
在一种实施方式中,源端X维度坐标和源端Y维度坐标可以通过以下方式获得:从时钟树的终端往源端回溯,回溯过程中,如果遇到缓冲器,跳过缓冲器,继续追踪该缓冲器输入端连接;如果遇到芯片原始输入、时序器件的输出管脚、锁相环的输出管脚、或者定义为时钟源端的拓扑节点之一,则停止回溯,标记回溯点为时钟树的源端,从而可以得到定义为源端X维度坐标和源端Y维度坐标。时钟源端的拓扑节点可以由设计者定义,一个典型的例子是选择器(MUX)的输出,通常设计者会选择MUX定义为时钟树的源端。请注意,这里回溯遇到的器件为“时序器件”,而不是“负载时序器件”。在芯片中,可能会采用一个时序器件来产生时钟信号,该时序器件的输出端就成为时钟树根节点。而“负载时序器件”是指一个时钟树的负载,回溯的时候,由于方向是向源端,不可能会遇到该时钟的负载器件。
在步骤S304,根据与该专用集成电路同一工艺的历史数据中负载时序器件的数量、负载时序器件的物理分布区域面积与时钟树延迟时间的关系,估计该时钟树的延迟时间。
对于步骤S304,实现过程中,可以首先存储与该专用集成电路同一工艺的历史数据中负载时序器件的数量、负载时序器件的物理分布区域面积与时钟树延迟时间的关系,具体来说,可以采用数据库存储,也可以采用更简单的列表,存储在存储器中,例如文件或者其他形式。以下的具体实施方式中,假设以表的方式存储上述数据,表1示意性地示出了时钟树延迟时间历史数据表,其中,表1的横向坐标表示时钟树所具有的负载时序器件的数量,纵向坐标是负载时序器件的物理分布区域面积,表中的值表示该时钟树的延迟时间。
具体获得如表1所述的历史数据后,可以通过查表的方式估计该时钟树的延迟时间。如果历史数据中不存在与特定的时钟信号的负载时序器件的数量、负载时序器件的物理分布区域面积的特定值,可以通过插值的方式来估计该时钟树的延迟时间。
实际的线性插值的具体流程如图4所示,包括如下步骤:
在步骤S401,根据所需计算的时钟树的负载时序器件的数量和负载时序器件的物理分布区域面积,从与该专用集成电路同一工艺的历史数据中判断出用于线性插值计算的样本点。例如,时钟树tree_a,其负载时序器件的数量为2800,其负载时序器件的物理分布区域面积为3.2mm,那么可以用于计算线性插值的样本点为表1中的(a),(b),(c),(d)的四个点。
表1时钟树延迟历史数据表
在步骤S402:对在负载时序器件的数量和负载时序器件的物理分布区域面积两个维度,例如上述(2800,3.2mm),上的投影分别进行插值计算,得到四个计算值。
以下用x表示插值的时钟树的延迟时间。
Latency ( 0 ) = Latency ( a ) + [ Fanout ( x ) - Fanout ( a ) Fanout ( b ) - Fanout ( a ) ] * [ Latency ( b ) - Latency ( a ) ]
Latency ( 1 ) = Latency ( c ) + [ Fanout ( x ) - Fanout ( c ) Fanout ( d ) - Fanout ( c ) ] * [ Latency ( d ) - Latency ( c ) ]
Latency ( 2 ) = Latency ( a ) + [ Area ( x ) - Area ( a ) Area ( c ) - Area ( a ) ] * [ Area ( c ) - Area ( a ) ]
Latency ( 3 ) = Latency ( b ) + [ Area ( x ) - Area ( b ) Area ( d ) - Area ( b ) ] * [ Area ( d ) - Area ( b ) ]
在步骤S403:计算四个计算值Latency(0),Latency(1),Latency(2),Latency(3)的平均值,获得x值。
Latency(x)=Avg(Latency(n))
对于一个简单的线性插值例子来表达上述方法:如果设计对象芯片中有一个时钟信号,负载时序器件的数量为2500,其负载时序器件的物理分布区域面积为1.5平方毫米,那么就可以得到:
AT=(1.2ns+1.5ns+1.5ns+1.8ns)/4=1.5ns
图5示意性地示出了线性插值计算的计算关系。
本领域技术人员可以知道,线性插值是一种插值方式,也可以采用其它插值,例如样条插值,二次插值等方式,来估计时钟树的延迟时间。
应用上述对专用集成电路中时钟树的延迟时间的估计方法后,可以快速估计时钟信号的到达时间。对于一个专用集成电路,还需要把全部时钟树的到达时间,在静态时序分析的时候经过加和获得整个时钟网络的准确到达时间,从而判断时钟网络是否存在时序违规,因此,基于本发明的时钟树延迟时间的估计方法,本发明进一步提出了一种确定专用集成电路时钟信号到达时间的方法,该方法能够快速估计专用集成电路时钟信号的到达时间,从而判别插入的时钟树是否存在时序违规,是否能够时序收敛。该方法如图6所示,具体来说,该方法包括:
在步骤S601,获得该专用集成电路中和所述时钟信号相关的网表和布局信息;这里和所述时钟信号相关的网表和布局信息包括延该时钟网络传递路径中所有负载时序器件以及其它器件的拓扑和物理位置信息,这些其它器件包括输入输出缓冲器(IO),锁相环(PLL),以及其它IP。
在步骤S602,获得该专用集成电路中和所述时钟信号相关的全部时钟树;
在步骤S603,对于该时钟信号相关的全部时钟树,使用上述时钟树延迟时间估计方法估计估计每个时钟树的延迟时间;
在步骤S604,获得该时钟信号完整时钟路径中其它器件的延时;,其中完整的时钟路径,是指时钟信号从芯片的原始输入端(Primary Input),即芯片的输入管脚,经过芯片内的时钟产生器件(主要是锁相环、分频寄存器或者其他IP core,后面两者一般可以概括为“时序器件”),到达负载时序器件的时钟输入端的路径。完整的时钟路径包含且仅包含两部分:一部分为一个或多个时钟树,另一部分为连接起各个时钟树的器件。由于芯片管脚上的任何信号,至少要经过输入输出缓冲器(IO Buffer)才能引入到芯片内部,因此任何时钟信号的完整时钟路径至少包含输入缓冲器的器件延时。此外,这些其它器件还包括:锁相环(PLL),以及其他IP核等。各器件延时可以直接通过器件的延时模型得到。
在步骤S605,对该时钟信号完整时钟路径的全部延迟时间加和,获得该时钟信号的估计到达时间。全部延迟时间包括时钟树的延迟以及完整时钟路径中其它器件的延时。
如果在集成电路设计工具中集成上述方法,在实施步骤S605时,可以将各时钟信号的估计到达时间标注到时钟网络的各个节点上,标注可以通过静态时序分析工具的命令来完成,以IBM Einstimer工具为例:
et::set_arrival-pin xxx-rise-arrival_time 2.2ns
et::set_arrival-pin yyy-rise-arrival_time 2.2ns
从而改变理想时钟模型设在同一时钟信号上的理想时钟到达时间。
这样,设计工具就可以根据时钟节点上的时钟到达时间,进行时序检查,判断各数据传递路径(Data Path)是否存在时序违规(Timing Violation)。
图7示出了一个专用集成电路设计的例子,以下以图7为例,说明上述时钟信号的到达时间方法的具体实现。图7中有三个时钟树,分别标为SRCCLK_tree,REFCLK_tree,TXDCLKA_tree;通过使用图3所示的时钟树延迟时间的估计方法,得到了这三个时钟树的估计延迟时间;但是,如果要得到右侧触发器的时钟信号到达时间,还需要把从芯片的输入端口(PAD)到触发器时钟端的完整时钟路径的延时经过加和,才可能得到。也就算是说:
触发器时钟到达时间=芯片端口时钟到达时间(一般定义为0)+端口缓冲器延时+SRCCLK_tree延时+锁相环(PLL)延时+REFCLK_tree延时+宏单元(HSS)延时+TXDCLKA_tree延时
时钟路径中的器件延时可以直接通过器件的延时模型得到,再加上时钟树延时估计值,就可以通过加和的方式得到时钟树任意一个中间节点或者终端节点的时钟达到时间。这一分析结果比理想时钟模型下的静态时序分析结果要更加接近于插完时钟树后的真实状况。
上述判断专用集成电路设计插入的时钟树是否收敛的方法可以嵌入到现有的ASIC设计流程中,如图1中,在步骤S102布局和步骤S103进行静态时序分析之间,通过标注插入时钟树之后的估计的时钟节点的到达时间进行时序分析,分析的结果可以直接用于布局和时钟分布方案的调整。在达到理想时钟模型的时序分析结果和时钟效应估计之后的时序结果足够接近之后,再插入时钟树。由于时钟效应估计的计算时间要远远小于真实的时钟树插入的时间,因此即便是有迭代,所消耗的时间也远远小于包含时钟树插入的迭代过程。从而可以大大降低设计周期延误的风险。
在同一个发明构思下,本发明还公开了一种专用集成电路时钟树延迟时间的估计系统800,该系统框图如图8所示,该系统包括时钟树相关网表布局获得装置801,用于获得该专用集成电路中与所述时钟树相关的网表和布局;负载时序器件数量提取装置802,用于根据与所述时钟树相关的网表,提取所述时钟树连接的负载时序器件的数量;负载时序器件的物理分布区域面积提取装置803,用于根据与所述时钟树相关的布局,提取所述时钟树连接的负载时序器件的物理分布区域面积;估计装置804,用于根据与该专用集成电路同一工艺的历史数据中负载时序器件的数量、负载时序器件的物理分布区域面积与时钟树延迟时间的关系,估计该时钟树的延迟时间。该系统中,与所述时钟树相关的网表至少包含构成该时钟树的源器件和负载时序器件及其连接关系,与所述时钟树相关的布局至少包含该时钟树的源端及终端的物理位置信息。这里,时钟树的源端为所述构成该时钟树的源器件的时钟输入端,时钟树的终端为所述构成该时钟树的源器件的时钟输出端。
优选地,该系统还包括存储装置805,用于存储与该专用集成电路同一工艺的历史数据中负载时序器件的数量、负载时序器件的物理分布区域面积与时钟树延迟时间的关系。一种实施方式中,与该专用集成电路同一工艺的历史数据中负载时序器件的数量、负载时序器件的物理分布区域面积与时钟树延迟时间的关系在存储装置中以表的方式存储,所述估计装置中通过查表估计该时钟树的延迟时间。如果历史数据中不存在与特定的时钟信号的负载时序器件的数量、负载时序器件的物理分布区域面积对应的时钟树延迟时间的特定值,可以通过插值的方式来估计该时钟树的延迟时间。
如果通过插值的方式来估计该时钟树的延迟时间,可以采用多种插值方式,如线性插值,二次插值,样条插值等,如果采用线性插值,线性插值中,首先根据提取的时钟树的负载时序器件的数量和负载时序器件的物理分布区域面积,然后从与该专用集成电路同一工艺的历史数据中判断出用于线性插值计算的样本点;再对在负载时序器件的数量和负载时序器件的物理分布区域面积两个维度上的投影分别进行插值计算,得到四个计算值;最后计算四个计算值的平均值,为估计的该时钟树的延迟时间。
在一种实施方式中,负载时序器件数量提取装置802包括(图8未示出):时序器件列表获得装置,用于获得与所述时钟树连接的负载时序器件列表,从而获得负载时序器件数量。
在另一种实施方式中,负载时序器件的物理分布区域面积提取装置803首先获得与所述时钟树连接的全部负载时序器件的X维度和Y维度的布局坐标;然后获得与所述时钟树连接的全部负载时序器件的X维度布局坐标的最大值和最小值以及Y维度布局坐标的最大值和最小值;再计算与所述时钟树连接的全部负载时序器件X维度布局坐标的最大值与时钟树的源端X维度坐标之差的绝对值作为第一绝对值;计算与所述时钟树连接的全部负载时序器件Y维度布局坐标的最大值与时钟树的源端Y维度坐标之差的绝对值作为第二绝对值;计算与所述时钟树连接的全部负载时序器件X维度布局坐标的最小值与时钟树的源端X维度坐标之差的绝对值作为第三绝对值;计算与所述时钟树连接的全部负载时序器件Y维度布局坐标的最小值与时钟树的源端Y维度坐标之差的绝对值作为第四绝对值;再获得上述第一绝对值和第三绝对值的较大值,以及第二绝对值和第四绝对值的较大值;最后将获得的第一绝对值和第三绝对值的较大值,以及第二绝对值和第四绝对值的较大值进行加和就获得该组器件的物理分布区域面积。
在一种实施方式中,负载时序器件的物理分布区域面积提取装置还包括回溯装置(图8未示出),用于从时钟树的终端往源端回溯,如果回溯遇到芯片原始输入、时序器件的输出管脚、锁相环的输出管脚、或者定义为时钟根节点的拓扑节点之一,则停止回溯,标记回溯点为时钟树的源端,从而获得所述源端X维度坐标和源端Y维度坐标。
在同一个发明构思下,本发明还公开了一种估计专用集成电路时钟信号到达时间的系统900,该系统框图如图9所示,该系统包括时钟信号相关网表和布局获得装置901,用于获得该专用集成电路中与所述时钟信号相关的网表和布局信息;时钟树获得装置902,用于获得该专用集成电路中与所述时钟信号相关的全部时钟树;专用集成电路时钟树延迟时间的估计系统903,用于估计时钟树延迟时间;其它器件延时获得装置904,用于获得该时钟信号的完整时钟路径中其它器件的延时;估计到达时间获得装置905,用于对该时钟信号的完整时钟路径的全部延迟时间加和,获得该时钟信号的估计到达时间。优选地,该系统还包括标注装置906,用于将各时钟信号的估计到达时间标注到时钟网络的各个节点上。该系统中,其它器件包括输入输出缓冲器(IO),锁相环(PLL),以及其它IP核。
虽然这里参照附图描述了本发明的示例性实施例,但是应该理解本发明不限于这些精确的实施例,并且在不背离本发明的范围和宗旨的情况下,本领域普通技术人员能对实施例进行各种变化的修改。所有这些变化和修改意欲包含在所附权利要求中限定的本发明的范围中。
并且根据上述描述,所属技术领域的技术人员知道,本发明可以体现为装置、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明还可以采取体现在任何有形的表达介质(medium of expression)中的计算机程序产品的形式,该介质中包含计算机可用的程序码。
可以使用一个或多个计算机可用的或计算机可读的介质的任何组合。计算机可用的或计算机可读的介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或传播介质。计算机可读介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器件。注意计算机可用的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语境中,计算机可用的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机可用的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可用的程序码的数据信号。计算机可用的程序码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等。
用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言——诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。
此外,本发明的流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置(means)。
也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品,
也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

Claims (22)

1.一种专用集成电路时钟树延迟时间的估计方法,包括,
获得该专用集成电路中与所述时钟树相关的网表和布局;
根据与所述时钟树相关的网表,提取所述时钟树连接的负载时序器件的数量;
根据与所述时钟树相关的布局,提取所述时钟树连接的负载时序器件的物理分布区域面积;
根据与该专用集成电路同一工艺的历史数据中负载时序器件的数量、负载时序器件的物理分布区域面积与时钟树延迟时间的关系,估计该时钟树的延迟时间,其中与该专用集成电路同一工艺的历史数据中负载时序器件的数量、负载时序器件的物理分布区域面积与时钟树延迟时间的关系以表的方式存储,通过查表估计该时钟树的延迟时间;
其中根据与所述时钟树相关的布局,提取所述时钟树连接的负载时序器件的物理分布区域面积包括:
获得与所述时钟树连接的全部负载时序器件的X维度和Y维度的布局坐标;
获得与所述时钟树连接的全部负载时序器件的X维度布局坐标的最大值和最小值以及Y维度布局坐标的最大值和最小值;
计算与所述时钟树连接的全部负载时序器件X维度布局坐标的最大值与时钟树的源端X维度坐标之差的绝对值作为第一绝对值;
计算与所述时钟树连接的全部负载时序器件Y维度布局坐标的最大值与时钟树的源端Y维度坐标之差的绝对值作为第二绝对值;
计算与所述时钟树连接的全部负载时序器件X维度布局坐标的最小值与时钟树的源端X维度坐标之差的绝对值作为第三绝对值;
计算与所述时钟树连接的全部负载时序器件Y维度布局坐标的最小值与时钟树的源端Y维度坐标之差的绝对值作为第四绝对值;
获得上述第一绝对值和第三绝对值的较大值,以及第二绝对值和第四绝对值的较大值;
将获得的第一绝对值和第三绝对值的较大值,以及第二绝对值和第四绝对值的较大值进行加和从而获得所述时钟树连接的负载时序器件的物理分布区域面积。
2.根据权利要求1所述的方法,其中与所述时钟树相关的网表至少包含构成该时钟树的源器件和负载时序器件及其连接关系,与所述时钟树相关的布局至少包含该时钟树的源端及终端的物理位置信息,其中,时钟树的源端为所述构成该时钟树的源器件的时钟输入端,时钟树的终端为所述构成该时钟树的源器件的时钟输出端。
3.根据权利要求2所述的方法,其中根据与所述时钟树相关的网表,提取所述时钟树连接的负载时序器件的数量还包括:
获得与所述时钟树连接的负载时序器件列表。
4.根据权利要求1所述的方法,其中所述源端X维度坐标和源端Y维度坐标通过以下方式获得:从时钟树的终端往源端回溯,如果回溯遇到芯片原始输入、时序器件的输出管脚、锁相环的输出管、或者定义为时钟根节点的拓扑节点之一,则停止回溯,标记回溯点为时钟树的源端,从而获得所述源端X维度坐标和源端Y维度坐标。
5.根据权利要求1所述的方法,其中还包括:存储与该专用集成电路同一工艺的历史数据中负载时序器件的数量、负载时序器件的物理分布区域面积与时钟树延迟时间的关系。
6.根据权利要求5所述的方法,其中与该专用集成电路同一工艺的历史数据中负载时序器件的数量、负载时序器件的物理分布区域面积与时钟树延迟时间的关系以表的方式存储,通过查表估计该时钟树的延迟时间。
7.根据权利要求5或6所述的方法,其中如果历史数据中不存在与特定的时钟信号的负载时序器件的数量、负载时序器件的物理分布区域面积对应的时钟树延迟时间的特定值,通过插值的方式来估计该时钟树的延迟时间。
8.根据权利要求7所述的方法,其中通过插值的方式来估计该时钟树的延迟时间包括采用线性插值,线性插值包括如下步骤:
根据提取的时钟树的负载时序器件的数量和负载时序器件的物理分布区域面积,从与该专用集成电路同一工艺的历史数据中判断出用于线性插值计算的样本点;
对在负载时序器件的数量和负载时序器件的物理分布区域面积两个维度上的投影分别进行插值计算,得到四个计算值;
计算四个计算值的平均值,为估计的该时钟树的延迟时间。
9.一种估计专用集成电路时钟信号到达时间的方法,包括
获得该专用集成电路中与所述时钟信号相关的网表和布局信息;
获得该专用集成电路中与所述时钟信号相关的全部时钟树;
对于与该时钟信号相关的全部时钟树,使用权利要求1-8之一所述的方法估计每个时钟树的延迟时间;
获得该时钟信号在其完整时钟路径中其它器件的延时;
对该时钟信号的完整时钟路径的全部延迟时间加和,获得该时钟信号的估计到达时间。
10.根据权利要求9所述的方法,其中所述其它器件包括输入输出缓冲器,锁相环,以及其它IP核。
11.根据权利要求9所述的方法,其中还包括将各时钟信号的估计到达时间标注到时钟网络的各个节点上。
12.一种专用集成电路时钟树延迟时间的估计系统,包括,
时钟树相关网表布局获得装置,用于获得该专用集成电路中与所述时钟树相关的网表和布局;
负载时序器件数量提取装置,用于根据与所述时钟树相关的网表,提取所述时钟树连接的负载时序器件的数量;
负载时序器件的物理分布区域面积提取装置,用于根据与所述时钟树相关的布局,提取所述时钟树连接的负载时序器件的物理分布区域面积;
估计装置,用于根据与该专用集成电路同一工艺的历史数据中负载时序器件的数量、负载时序器件的物理分布区域面积与时钟树延迟时间的关系,估计该时钟树的延迟时间;以及
存储装置,用于存储与该专用集成电路同一工艺的历史数据中负载时序器件的数量、负载时序器件的物理分布区域面积与时钟树延迟时间的关系;
其中所述负载时序器件的物理分布区域面积提取装置执行如下步骤:
获得与所述时钟树连接的全部负载时序器件的X维度和Y维度的布局坐标;
获得连接的全部负载时序器件的X维度和Y维度的布局坐标的最大值和最小值;
获得与所述时钟树连接的全部负载时序器件的X维度布局坐标的最大值和最小值以及Y维度布局坐标的最大值和最小值;
计算与所述时钟树连接的全部负载时序器件X维度布局坐标的最大值与时钟树的源端X维度坐标之差的绝对值作为第一绝对值;
计算与所述时钟树连接的全部负载时序器件Y维度布局坐标的最大值与时钟树的源端Y维度坐标之差的绝对值作为第二绝对值;
计算与所述时钟树连接的全部负载时序器件X维度布局坐标的最小值与时钟树的源端X维度坐标之差的绝对值作为第三绝对值;
计算与所述时钟树连接的全部负载时序器件Y维度布局坐标的最小值与时钟树的源端Y维度坐标之差的绝对值作为第四绝对值;
获得上述第一绝对值和第三绝对值的较大值,以及第二绝对值和第四绝对值的较大值;
将获得的第一绝对值和第三绝对值的较大值,以及第二绝对值和第四绝对值的较大值进行加和从而获得所述时钟树连接的负载时序器件的物理分布区域面积。
13.根据权利要求12所述的系统,其中与所述时钟树相关的网表至少包含构成该时钟树的源器件和负载时序器件及其连接关系,与所述时钟树相关的布局至少包含该时钟树的源端及终端的物理位置信息,其中,时钟树的源端为所述构成该时钟树的源器件的时钟输入端,时钟树的终端为所述构成该时钟树的源器件的时钟输出端。
14.根据权利要求13所述的系统,其中所述负载时序器件数量提取装置还包括:
负载时序器件列表获得装置,用于获得与所述时钟树连接的负载时序器件列表。
15.根据权利要求12所述的系统,其中所述负载时序器件的物理分布区域面积提取装置还包括回溯装置,用于从时钟树的终端往源端回溯,如果回溯遇到芯片原始输入、时序器件的输出管脚、锁相环的输出管脚、或者定义为时钟根节点的拓扑节点之一,则停止回溯,标记回溯点为时钟树的源端,从而获得所述源端X维度坐标和源端Y维度坐标。
16.根据权利要求12所述的系统,其中还包括存储装置,用于存储与该专用集成电路同一工艺的历史数据中负载时序器件的数量、负载时序器件的物理分布区域面积与时钟树延迟时间的关系。
17.根据权利要求16所述的系统,其中在所述存储装置中,与该专用集成电路同一工艺的历史数据中负载时序器件的数量、负载时序器件的物理分布区域面积与时钟树延迟时间的关系以表的方式存储,所述估计装置中通过查表估计该时钟树的延迟时间。
18.根据权利要求16或17所述的系统,其中如果历史数据中不存在与特定的时钟信号的负载时序器件的数量、负载时序器件的物理分布区域面积对应的时钟树延迟时间的特定值,通过插值的方式来估计该时钟树的延迟时间。
19.根据权利要求18所述的系统,其中通过插值的方式来估计该时钟树的延迟时间包括采用线性插值,线性插值包括如下步骤:
根据提取的时钟树的负载时序器件的数量和负载时序器件的物理分布区域面积,从与该专用集成电路同一工艺的历史数据中判断出用于线性插值计算的样本点;
对在负载时序器件的数量和负载时序器件的物理分布区域面积两个维度上的投影分别进行插值计算,得到四个计算值;
计算四个计算值的平均值,为估计的该时钟树的延迟时间。
20.一种估计专用集成电路时钟信号到达时间的系统,包括
时钟信号相关网表和布局获得装置,用于获得该专用集成电路中与所述时钟信号相关的网表和布局信息;
时钟树获得装置,用于获得该专用集成电路中与所述时钟信号相关的全部时钟树;
权利要求12-19之一所述的专用集成电路时钟树延迟时间的估计系统;
其它器件延时获得装置,用于获得该时钟信号的完整时钟路径中其它器件的延时;
估计到达时间获得装置,用于对该时钟信号的完整时钟路径的全部延迟时间加和,获得该时钟信号的估计到达时间。
21.根据权利要求20所述的系统,其中所述其它器件包括输入输出缓冲器(IO),锁相环(PLL),以及其它IP核。
22.根据权利要求20所述的系统,其中还包括标注装置,用于将各时钟信号的估计到达时间标注到时钟网络的各个节点上。
CN201010117747.7A 2010-02-26 2010-02-26 一种专用集成电路中时钟树延迟时间的估计方法和系统 Expired - Fee Related CN102169515B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201010117747.7A CN102169515B (zh) 2010-02-26 2010-02-26 一种专用集成电路中时钟树延迟时间的估计方法和系统
US13/031,953 US8453085B2 (en) 2010-02-26 2011-02-22 Method for estimating the latency time of a clock tree in an ASIC design

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010117747.7A CN102169515B (zh) 2010-02-26 2010-02-26 一种专用集成电路中时钟树延迟时间的估计方法和系统

Publications (2)

Publication Number Publication Date
CN102169515A CN102169515A (zh) 2011-08-31
CN102169515B true CN102169515B (zh) 2014-04-16

Family

ID=44490677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010117747.7A Expired - Fee Related CN102169515B (zh) 2010-02-26 2010-02-26 一种专用集成电路中时钟树延迟时间的估计方法和系统

Country Status (2)

Country Link
US (1) US8453085B2 (zh)
CN (1) CN102169515B (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8656143B2 (en) * 2006-03-13 2014-02-18 Laurence H. Cooke Variable clocked heterogeneous serial array processor
FR2963687A1 (fr) * 2010-08-06 2012-02-10 Dolphin Integration Sa Arbre d'horloge pour bascules commandees par impulsions
CN102467583B (zh) * 2010-10-29 2014-07-23 国际商业机器公司 追踪不确定信号的方法和装置
CN102479264A (zh) * 2010-11-25 2012-05-30 上海华虹集成电路有限责任公司 一种降低瞬态功耗的方法
CN102799698B (zh) * 2011-05-26 2014-07-23 国际商业机器公司 一种用于专用集成电路的时钟树规划的方法和系统
WO2013044494A1 (zh) * 2011-09-30 2013-04-04 中国科学院微电子研究所 集成电路仿真方法及系统
US8677305B2 (en) 2012-06-04 2014-03-18 International Business Machines Corporation Designing a robust power efficient clock distribution network
US8775996B2 (en) 2012-11-19 2014-07-08 International Business Machines Corporation Direct current circuit analysis based clock network design
US8635579B1 (en) * 2012-12-31 2014-01-21 Synopsys, Inc. Local clock skew optimization
CN104573148B (zh) * 2013-10-17 2017-11-14 北京华大九天软件有限公司 一种降低电路中时序器件漏电功耗的方法
CN104598659B (zh) 2013-10-31 2018-09-18 格芯公司 对数字电路进行仿真的方法和设备
CN105653748B (zh) * 2014-11-14 2019-03-08 京微雅格(北京)科技有限公司 一种时钟树资源的分配方法和时钟树架构
CN105868431B (zh) * 2015-01-22 2018-12-21 京微雅格(北京)科技有限公司 基于锚点的布线方法
CN105512381B (zh) * 2015-12-03 2019-08-09 上海兆芯集成电路有限公司 时钟延迟验证方法
CN105550459B (zh) * 2015-12-29 2019-03-19 山东海量信息技术研究院 一种asic设计时钟网络提取系统
US10095824B1 (en) * 2016-10-13 2018-10-09 Cadence Design Systems, Inc. Systems and methods for symmetric H-tree construction with complicated routing blockages
EP4068142A1 (en) 2016-12-23 2022-10-05 Google LLC Integrated circuit design system and method
KR20180092692A (ko) * 2017-02-10 2018-08-20 삼성전자주식회사 Beol을 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템
CN108256189B (zh) * 2018-01-06 2021-08-03 嘉兴倚韦电子科技有限公司 集成电路半定制后端设计高效时钟树物理位置优化方法
CN109255159B (zh) * 2018-08-17 2023-04-07 东南大学 一种基于机器学习的电路路径延时波动预测方法
CN111666732B (zh) * 2019-03-07 2023-09-26 瑞昱半导体股份有限公司 集成电路布局设计方法
US10810344B1 (en) * 2019-03-29 2020-10-20 Hongchang Liang Multi-instantiation time budgeting for integrated circuit design and manufacturing
US11042678B2 (en) 2019-06-19 2021-06-22 Samsung Electronics Co., Ltd. Clock gate latency modeling based on analytical frameworks
CN112231998A (zh) * 2020-10-14 2021-01-15 北京百瑞互联技术有限公司 一种集成电路的时钟网络抽取方法、装置及其存储介质
CN112257364B (zh) * 2020-10-23 2022-05-20 北京大学 一种gpu加速计算的集成电路静态时序分析方法
CN112613261B (zh) * 2020-12-24 2022-11-22 天津国芯科技有限公司 一种确定block端口时钟域的方法
CN114764118A (zh) * 2021-01-14 2022-07-19 深圳比特微电子科技有限公司 测试电路、测试方法和包括测试电路的计算系统
CN113177383B (zh) * 2021-04-29 2023-01-31 飞腾信息技术有限公司 一种基于dummy的时钟设计方法
CN114818595B (zh) * 2022-06-24 2022-09-13 飞腾信息技术有限公司 芯片模块接口时钟构建方法、装置、存储介质及电子设备
CN117371379A (zh) * 2022-06-30 2024-01-09 深圳市中兴微电子技术有限公司 时序库最大负载的生成方法和装置、存储介质及电子装置
CN116341481B (zh) * 2023-05-26 2023-08-22 南京芯驰半导体科技有限公司 一种时钟文件的确认方法、装置、电子设备及存储介质

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4924430A (en) * 1988-01-28 1990-05-08 Teradyne, Inc. Static timing analysis of semiconductor digital circuits
JP3500494B2 (ja) * 1998-01-06 2004-02-23 松下電器産業株式会社 クロック遅延調整装置
US6574781B1 (en) * 2000-08-21 2003-06-03 Oki Electric Industry Co., Ltd. Design methodology for inserting RAM clock delays
US6880141B1 (en) * 2000-09-28 2005-04-12 Lsi Logic Corporation Wire delay distributed model
US6530073B2 (en) * 2001-04-30 2003-03-04 Lsi Logic Corporation RTL annotation tool for layout induced netlist changes
US7243323B2 (en) * 2001-08-29 2007-07-10 Infineon Technologies Ag Integrated circuit chip design
US6550045B1 (en) * 2001-11-20 2003-04-15 Lsi Logic Corporation Changing clock delays in an integrated circuit for skew optimization
US6754877B1 (en) * 2001-12-14 2004-06-22 Sequence Design, Inc. Method for optimal driver selection
US6698006B1 (en) * 2001-12-14 2004-02-24 Sequence Design, Inc. Method for balanced-delay clock tree insertion
US6769104B2 (en) * 2002-05-08 2004-07-27 Agilent Technologies, Inc. Method and apparatus for minimizing clock skew in a balanced tree when interfacing to an unbalanced load
US7127695B2 (en) * 2002-07-18 2006-10-24 Incentia Design Systems Corp. Timing based scan chain implementation in an IC design
US7051310B2 (en) * 2003-05-08 2006-05-23 Cadence Design Systems, Inc. Two-stage clock tree synthesis with buffer distribution balancing
US7096442B2 (en) * 2003-07-10 2006-08-22 Lsi Logic Corporation Optimizing IC clock structures by minimizing clock uncertainty
US7296246B1 (en) * 2003-11-05 2007-11-13 Cadence Design Systems, Inc. Multi-domain clock skew scheduling
US7216322B2 (en) * 2004-09-07 2007-05-08 Chang Gung University Clock tree synthesis for low power consumption and low clock skew
US7467367B1 (en) * 2005-10-27 2008-12-16 Cadence Design Systems, Inc. Method and system for clock tree synthesis of an integrated circuit
CN101341417A (zh) * 2005-12-21 2009-01-07 Nxp股份有限公司 估计输入/输出电路的延迟的方法和相应的设备
US8332793B2 (en) * 2006-05-18 2012-12-11 Otrsotech, Llc Methods and systems for placement and routing
US7802215B2 (en) * 2006-06-06 2010-09-21 Fujitsu Limited System and method for providing an improved sliding window scheme for clock mesh analysis
JP2008140821A (ja) * 2006-11-30 2008-06-19 Matsushita Electric Ind Co Ltd 半導体装置および半導体装置の設計方法
US7886245B2 (en) * 2007-03-01 2011-02-08 International Business Machines Corporation Structure for optimizing the signal time behavior of an electronic circuit design
US7913210B2 (en) * 2007-05-02 2011-03-22 Cadence Design Systems, Inc. Reducing critical cycle delay in an integrated circuit design through use of sequential slack
US8205182B1 (en) * 2007-08-22 2012-06-19 Cadence Design Systems, Inc. Automatic synthesis of clock distribution networks
US20090064067A1 (en) * 2007-08-28 2009-03-05 Silicon Integrated Systems Corp. Method of balancing path delay of clock tree in integrated circuit (ic) layout
JP2009152451A (ja) * 2007-12-21 2009-07-09 Texas Instr Japan Ltd 集積回路装置とそのレイアウト設計方法
US20090217225A1 (en) * 2008-02-22 2009-08-27 Mentor Graphics, Corp. Multi-mode multi-corner clocktree synthesis
US9310831B2 (en) * 2008-02-06 2016-04-12 Mentor Graphics Corporation Multi-mode multi-corner clocktree synthesis
CN101315645A (zh) * 2008-06-24 2008-12-03 杭州电子科技大学 一种闭合公式的rlc电路时延估计方法
US8271929B2 (en) * 2010-02-19 2012-09-18 Juniper Networks, Inc. Method for clock load alignment during standard cell optimization

Also Published As

Publication number Publication date
US20120047478A1 (en) 2012-02-23
US8453085B2 (en) 2013-05-28
CN102169515A (zh) 2011-08-31

Similar Documents

Publication Publication Date Title
CN102169515B (zh) 一种专用集成电路中时钟树延迟时间的估计方法和系统
US7020856B2 (en) Method for verifying properties of a circuit model
CN102799698B (zh) 一种用于专用集成电路的时钟树规划的方法和系统
Chen et al. A new gate delay model for simultaneous switching and its applications
US7958470B1 (en) Method and system for false path analysis
US7552409B2 (en) Engineering change order process optimization
US8095900B2 (en) Achieving clock timing closure in designing an integrated circuit
US8806413B2 (en) Gradient AOCV methodology enabling graph-based timing closure with AOCV timing models
CN106326510B (zh) 验证时钟树延迟
US20110035203A1 (en) system level power evaluation method
US20150286766A1 (en) Method and system for automated design of an integrated circuit using configurable cells
US8560983B2 (en) Incorporating synthesized netlists as subcomponents in a hierarchical custom design
US8402405B1 (en) System and method for correcting gate-level simulation accuracy when unknowns exist
US10423742B2 (en) Method to perform full accuracy hierarchical block level timing analysis with parameterized chip level contexts
CN101539958A (zh) 一种标准单元库和集成电路的设计方法和装置
Karmazin et al. celltk: Automated layout for asynchronous circuits with nonstandard cells
CN104981805A (zh) 自动时钟树布线规则生成
US6567960B2 (en) System for improving circuit simulations by utilizing a simplified circuit model based on effective capacitance and inductance values
CN102968515A (zh) 用于计算集成电路模型的验证覆盖率的方法和设备
US20160292332A1 (en) System for verifying timing constraints of ic design
CN102955869A (zh) 评估时钟偏移的方法和装置
US6931610B1 (en) Method for rapid estimation of wire delays and capacitances based on placement of cells
US20110022996A1 (en) Methods for designing integrated circuits employing context-sensitive and progressive rules and an apparatus employing one of the methods
US6876961B1 (en) Electronic system modeling using actual and approximated system properties
Bommu et al. Retiming-based factorization for sequential logic optimization

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171109

Address after: Grand Cayman, Cayman Islands

Patentee after: GLOBALFOUNDRIES INC.

Address before: American New York

Patentee before: Core USA second LLC

Effective date of registration: 20171109

Address after: American New York

Patentee after: Core USA second LLC

Address before: American New York

Patentee before: International Business Machines Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140416