CN102799698B - 一种用于专用集成电路的时钟树规划的方法和系统 - Google Patents

一种用于专用集成电路的时钟树规划的方法和系统 Download PDF

Info

Publication number
CN102799698B
CN102799698B CN201110138733.8A CN201110138733A CN102799698B CN 102799698 B CN102799698 B CN 102799698B CN 201110138733 A CN201110138733 A CN 201110138733A CN 102799698 B CN102799698 B CN 102799698B
Authority
CN
China
Prior art keywords
sequential
directed graph
node
sequential device
temporal constraint
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
CN201110138733.8A
Other languages
English (en)
Other versions
CN102799698A (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 CN201110138733.8A priority Critical patent/CN102799698B/zh
Priority to US13/478,272 priority patent/US8793630B2/en
Publication of CN102799698A publication Critical patent/CN102799698A/zh
Application granted granted Critical
Publication of CN102799698B publication Critical patent/CN102799698B/zh
Expired - Fee Related 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
    • 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

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)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种用于专用集成电路的时钟树规划的方法和系统,该方法包括:确定该专用集成电路的网表和时序约束文件;根据网表中时序器件的连接关系和时序约束文件中时序器件的时序约束关系,为网表中的时序器件生成时序器件无向图;根据时序器件无向图为网表中的时序器件分组,使得一组中的时序器件与另一组中的时序器件之间没有时序约束关系。使用该方法改进的专用集成电路设计方法将设计流程从周为单位减少到天,设计人员能够迅速规划时钟树,因此减少了设计时间,提高了设计效率。

Description

一种用于专用集成电路的时钟树规划的方法和系统
技术领域
本发明一般涉及集成电路设计,更具体地,涉及一种用于专用集成电路的时钟树规划的方法和系统。
背景技术
在集成电路技术领域中,专用集成电路(ASIC)是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。
图1示出了现有的专用集成电路设计的流程,在步骤S101,生成门级网表(Gate Level Netlist),在步骤S102,进行布局(Full Placment)。在步骤S103,执行静态时序分析(Static Timing Analysis),该步骤对于时钟效应的预计采用理想时钟模型(Ideal Clock Model)的方式。在步骤S104,插入时钟树(InsertClock Tree),也称时钟树规划。现有的时钟树规划过程可以手工完成,也可以由电子设计自动化(EDA)工具来完成的,最流行的时钟树都采用自动化工具来完成。其基本原理是根据各时序器件到时钟源的距离,在适当的位置放置缓冲器(buffer)以使时钟源到每个时序器件的时钟偏差(skew)最小化。插入的由缓冲器组成的树状的信号中继网络被称为时钟树。插入的时钟树要求能够满足时序约束文件中的时序约束,从而保持时序的收敛性,达到设计的效果。然后在步骤S105,进行带时钟的时序分析以及时钟树调节,在步骤S106,进行步线以及布线后时序收敛分析,即时钟平衡;最后在步骤S107,生成版图。这样,就完成了一个初步的设计流程。
然而,上述图1的设计流程在现代超大规模专用集成电路的设计中遇到了一些问题,主要体现在:
随着专用集成电路的规模越来越大,时钟树规划这一工作本身也越来越耗时。对于千万门级的超大规模专用集成电路来讲,现有的设计工具采用的设计原则是使得所有的时钟树的终端(也就是时序器件,例如寄存器,SRAM等)的时钟偏差和时钟延迟尽可能小,例如Clock Designer,Encounter,ICC等设计工具就是依照这样的设计原则,对每一个时序器件进行时钟平衡,使得时钟树规划、时钟树插入以及时钟树调节的耗时往往要以天甚至周来计算,造成设计周期长,产品不能很快上市。
在诸如Clock Designer,Encounter,ICC等设计工具还存在和上述实施方式相结合的另一种时钟树的规划方式,该实施方式中电路设计人员通过与逻辑设计人员沟通,将所有的时序器件进行分组,然后在每一组时序器件内部进行时钟平衡,最后考虑各组间的时钟平衡。由于时序器件的数量非常大,这种沟通需要反复迭代,设计周期依然很长。
上述两个现有的解决方案都会造成产品设计周期过长,可能错过了有利的市场时机。
发明内容
因此,需要一种方法,该方法使得设计人员能够迅速规划时钟树,从而减少设计时间。本发明提出了的一种用于专用集成电路的时钟树规划的方法和系统,其中对时序器件分组,分组后,没有时序约束的器件被分在不同组内,减少同一个时钟树根节点连接的时序器件的数量,最大程度减少时钟树内的冗余平衡,降低时钟树平衡的复杂度,这样在组内就可以使用现有的设计工具中采用的使得所有的时钟树的终端(也就是时序器件)的时钟偏差和时钟延迟尽可能小的设计原则插入时钟树,达到时钟平衡。使用该方法改进的专用集成电路设计方法和系统可以将设计流程从周为单位减少到天,设计人员能够迅速规划时钟树,因此减少了设计时间,提高了设计效率。
根据本发明的一个方面,提供了一种用于专用集成电路的时钟树规划的方法,包括:
确定该专用集成电路的网表和时序约束文件;
根据网表中时序器件的连接关系和时序约束文件中时序器件的时序约束关系,为网表中的时序器件生成时序器件无向图;
根据时序器件无向图为网表中的时序器件分组,使得一组中的时序器件与另一组中的时序器件之间没有时序约束关系。
根据本发明的另一个方面,提供了一种用于专用集成电路的时钟树规划的系统,包括:
确定装置,被配置为确定该专用集成电路的网表和时序约束文件;
时序器件无向图建立装置,被配置为根据网表中时序器件的连接关系和时序约束文件中时序器件的时序约束关系,为网表中的时序器件生成时序器件无向图;
分组装置,被配置为根据时序器件无向图为网表中的时序器件分组,使得一组中的时序器件与另一组中的时序器件之间没有时序约束关系。
附图说明
通过对附图中本发明示例实施例方式的更详细描述,本发明的上述、以及其它目的、特征和优势将变得更加明显,其中,相同的参考标号通常代表本发明示例实施例方式中的相同部件。
图1示出了现有的专用集成电路设计的流程;
图2示意性地示出了根据本发明实施例的一种用于专用集成电路的时钟树规划的方法步骤;
图3示出了图2中步骤S202的具体流程;
图4示出了一个示例性的专用集成电路;
图5示出了异步时钟的定义;
图6示出了假性路径的定义;
图7示出了多周期路径的定义;
图8示出了为图4所示的专用集成电路建立的连接无向图、时序无向图以及时序器件无向图;
图9示出了对另外一个未示出网表以及时序约束文件的专用集成电路,建立的连接无向图、时序无向图以及时序器件无向图;以及
图10示出了一种用于专用集成电路的时钟树规划的系统的结构。
具体实施方式
将参照附图更加详细地描述本发明的优选实施方式,在附图中显示了本发明的优选实施例。然而,本发明可以以各种形式实现而不应该理解为被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且,完全将本发明的范围传达给本领域的技术人员。
首先明确一些基本概念以便后面发明的描述。
网表:表达数字电路的器件的拓扑连接关系的文件或者数据结构。
时钟树:插入的由缓冲器组成的树状的信号中继网络被称为时钟树。因此,一个专用集成电路一般有一个或多个时钟树。
时钟树的延迟时间(latency):是指对于一个单独的时钟树,时钟信号从根节点到叶节点的传递时间为时钟树的延迟时间。
时钟树的偏差(Skew):是指对于一个单独的时钟树上的各个时序器件,时钟树的延迟时间的不同。
时钟树效应:本发明中是指时钟树的时序效应,主要包括时钟树的延迟,和时钟树的偏差。
在现有的专用集成电路设计领域,逻辑设计人员与电路设计人员是两组不同的设计人员,逻辑设计人员了解电路的功能及要求,而电路设计人员只是根据逻辑设计人员的设计要求进行电路设计,他们并不具体了解电路的功能。在业界,由逻辑设计人员交给电路设计人员的标准交付件包括网表和时序约束文件。然后电路设计人员完成图1的步骤S102到步骤S107的设计过程。时序设计要求设计的电路满足时序约束文件中的时序要求,例如,对于一个时钟树中的所有时序器件,时钟树的延迟是相同的,也就是时钟信号基本同时达到各个时序器件的时钟管脚,如果有些时序器件延迟大,有些时序器件延迟小,就在延迟小的时序器件的时序路径中插入缓冲器,增大延迟,最后使得时钟信号基本同时达到各个时序器件的时钟管脚,时钟树的偏差最小,达到时钟树平衡。另外有一些时序器件之间不存在时序约束,就无需平衡。
对于一个时序器件很多的复杂设计,在本发明提供的时钟树规划方法(即图1的步骤S104)中,可以进一步分为两个步骤:首先对时序器件分组,使得每组时序器件之间不存在时序约束,只有组内的时序器件之间存在时序约束;然后对每一组时序器件,采用现有的时钟树规划方法满足时序平衡。
在本发明的一种实施方式中,提供了一种用于专用集成电路的时钟树规划的方法,可以使得每组时序器件之间不存在时序约束,只有组内的时序器件之间存在时序约束,并且电路设计人员无需与逻辑设计人员迭代沟通,只需要获得标准交付件,即可执行。图2示意性地示出了该方法的步骤,并且结合一个实例,来陈述该方法步骤。根据图2,在步骤S201,确定该专用集成电路的网表和时序约束文件。图4示出了一个示例性的专用集成电路,图4中,左边的Clk信号表示时钟信号的源端,Data 1和Data 2表示数据输出,Data 3和Data 4表示数据输入,每个REG表示一个时序器件,AND表示与门,OR表示一个或门。图4的专用集成电路的网表如下。该网表至少包含构成该时钟树的源器件Clk和时序器件REG及其连接关系。这里,时钟树的源端为所述构成该时钟树的源器件的时钟输入端,时钟树的终端为所述构成该时钟树的源器件的时钟输出端。
图4所示的专用集成电路的网表的内容如下:
图4所示的专用集成电路的时序约束文件的内容如下:
Timing Constraint:
create_clock CLK1[get_ports Clk1]-period 10-waveform{05}#产生一个时钟,周期为10,上升沿为0,下降沿在5
create_clock CLK2[get_ports Clk2]-period 14-waveform{07}
set_clock_uncertainty0.1[get_clocks CLK1]#设置时钟边沿抖动
set_clock_uncertainty0.1[get_clocks CLK2]
set_input_delay-clock CLK1 4[get_ports{Data1}]#设置信号的输入延迟
set_input_delay-clock CLK2 3[get_ports{Data2}]
set_output_delay 1[get_ports{Data3}]#设置信号的输出延迟
set_output_delay 1[get_ports{Data4}]
set_clock_group-asynchronous-name g1-group CLK1-group CLK2
#设置CLK1和CLK2之间为异步时钟
set_false_path-from REG5/L2-to REG6/D  #设置两点路径为假性约束路径
set_multicycle_path 2-from REG1/L2-to REG2/D  #设置路径为多周期延迟路径
返回图2,在步骤S202,根据网表中时序器件的连接关系和时序约束文件中时序器件的时序约束关系,为网表中的时序器件生成时序器件无向图。图3示出了图2中步骤S202的具体流程,根据图3,在步骤S301,根据网表中时序器件的连接关系,为网表中的时序器件建立连接无向图;在步骤S302,根据时序约束文件中时序器件的时序约束关系,为网表中的时序器件建立时序无向图;在步骤S303,通过合并连接无向图和时序无向图,获得时序器件无向图。
在建立连接无向图的过程中,首先要获得网表中的时序器件。数字电路的每一个器件(包括IP),都有表示是否时序器件的标记,作为器件的特征之一,列举在设计的库文件中。因此,在获得时钟树相关的网表之后,根据某器件的类型,逐一查对库文件,就可以判断该器件是否为时序器件。这样,就可以提取所述时钟树连接的所有时序器件。另外一种实施方式中,可以使用某种数据结构(例如表、数组等)列出网表中所涉及的所有时序器件的名称,然后用程序排查网表中的所有器件的名称是否在该数据结构所列出的名称范围之内,从而获得所有时序器件。然后在连接无向图中用节点代表网表中的时序器件;最后在连接无向图的节点之间建立连接边,其中,连接无向图中的一个节点与另一个节点之间的连接边,表示这两个节点所代表的时序器件在网表中是通过路径连接的。这里,时序器件在网表中是否通过路径连接是根据网表中时序器件的连接关系来判断的。上述路径包括连接路径或者组合路径。这里,连接路径指两个时序器件直接相连;组合路径包含器件路径和分支路径,其中,器件路径指两个时序器件之间通过至少一个非时序器件相连,分支路径指两个时序器件相连的部分存在电路分支。也就是说,两个时序器件之间只要有一条路径相通,无论该条路径中间包含多少器件和分支路径,都在两个时序器件对应的节点之间建立一条连接边。由于在网表中包含了所有器件的连接关系,通过这些连接关系,就可以判断任意两个时序器件之间是否通过路径相连。
时序无向图的建立比较复杂。时序无向图中,仍然将网表中的时序器件表示为一个节点,在时序约束文件中,只要符合下列三种情况之一,就在两个时序器件之间建立一条时序边。
(1)异步时钟(Asynchronous Clocks):图5示出了异步时钟的定义,两个时序器件有各自驱动的时钟,无法预知两个时钟的上升或下降沿之间的关系,则时序无向图中在这两个时序器件之间建立一条时序边。
(2)假性路径(False Path):图6示出了假性路径的原理,两个时序器件有路径,但是它们之间不需要做时序约束,称为假性路径。时序无向图中,在存在假性路径的时序器件之间建立一条时序边。
(3)多周期路径(Multicycle path with enough margin):通常两个时序器件之间的时序检查周期数为一个时钟周期,当两个时序器件之间的时序检查周期数超过一个时钟周期的约束时,称为多周期路径,图7示出了多周期路径的定义。时序无向图中,可以在存在多周期路径的时序器件之间建立一条时序边。
应当可以理解的是,在上述三种情况下,时钟都不需要平衡。
因此,在时序无向图的节点之间建立时序边时,时序无向图中的一个节点与另一个节点之间的如果建立了时序边,就表示这两个节点所代表的时序器件之间存在上述时序约束的至少之一。建立时序边的时序器件之间不需要时钟平衡。这里,异步时钟、假性路径和多周期路径为包含在时序约束文件中的时序约束关系,换句话说,时序约束文件中包含了很多时序约束关系,异步时钟、假性路径和多周期路径是其中的一种约束关系类型,但是并不表示时序约束文件中都包含这种时序约束关系,可能时序约束文件中不包含任何上述三种时序约束关系的一种,这时,时序无向图中就只有节点,不存在时序边。
在进一步的实施方式中,对多周期路径可以设定一个参数,该参数表示两个时序器件之间的时序检查周期数超过该设定的时钟周期数才在两个时序器件之间建立一条时序边。这时,时序无向图的建立过程就包括:首先在时序无向图中用节点代表网表中的时序器件;然后在时序无向图的节点之间建立时序边,其中,时序无向图中的一个节点与另一个节点之间的时序边,表示这两个节点所代表的时序器件之间存在以下时序约束的至少之一:异步时钟;假性路径;多周期路径并且两个时序器件之间的时序检查周期数超过了预设的时钟周期数;其中异步时钟、假性路径和多周期路径为包含在时序约束文件中的时序约束关系。如果两个节点所代表的时序器件之间不存在上述时序约束关系,两个节点之间就不建立时序边。
在合并连接无向图和时序无向图过程中,首先将连接无向图与时序无向图其中之一中的节点表示为时序器件无向图中的节点;由上述两个无向图的建立过程可见,这两种无向图包含的节点是相同的。然后在时序器件无向图的节点之间建立边,其中,时序器件无向图中一个节点与另一个节点之间的边,表示这两个节点在连接无向图中所对应的节点之间存在连接边,但是这两个节点在时序无向图中所对应的节点之间不存在时序边。这样就完成了无向图合并。也就是说,在合并的时序器件无向图中,对于存在两条边的节点,即既有连接边又有时序边,删除二者之间的边;但是只存在连接边,不存在时序边,则保留二者之间的边。由于建立了时序边的时序器件之间不需要时钟平衡,因此,在时序器件无向图中,建立了时序边的时序器件之间无边。根据上述方法的步骤S301,S302和S303对图4所示的集成电路建立的连接无向图、时序无向图以及时序器件无向图如图8所示。对另外一个未示出网表以及时序约束文件的专用集成电路,建立的连接无向图、时序无向图以及时序器件无向图如图9所示。
返回图2,在步骤S203,根据时序器件无向图为网表中的时序器件分组,使得一组中的时序器件与另一组中的时序器件之间没有时序约束关系。具体来说,就是将时序器件无向图中的一个连通的子图包含的节点所代表的时序器件划分在同一个组中。一个单独的节点可以作为一个连通子图,因此其对应的时序器件也分成一组。例如,图8的时序器件无向图包含5个连通子图,就可以将这些时序器件分成5个组,后续的时序分析中,只需要对包含两个时序器件的组进行时钟平衡,时钟平衡由原来的6个时序器件减少为两个时序器件;图9的时序器件无向图包含6个连通子图,可以将这些时序器件分成6个组,后续的时序分析只需要对包含两个或两个以上时序器件的组进行时钟平衡,时钟平衡由原来的19个时序器件减少4个组,每组分别为7、5、3、2个时序器件。后续的时钟平衡工作将大大减少。
使用上述方法分组后可以使得各组之间的时序器件之间不存在时序关系,所以无需时钟平衡;并且每组内部时序器件数量可以大大减少,在组内使用现有的设计工具中采用的使得所有的时钟树的终端(也就是时序器件)的时钟偏差和时钟延迟尽可能小的设计原则插入时钟树,达到时钟平衡。使用该方法改进的专用集成电路设计方法将设计流程从周为单位减少到天,设计人员能够迅速规划时钟树,因此减少了设计时间,提高了设计效率。
在同一个发明构思下,本发明还公开了一种用于专用集成电路的时钟树规划的系统1000,包括:确定装置1001,被配置为确定该专用集成电路的网表和时序约束文件;时序器件无向图建立装置1002,被配置为根据网表中时序器件的连接关系和时序约束文件中时序器件的时序约束关系,为网表中的时序器件生成时序器件无向图;以及分组装置1003,被配置为根据时序器件无向图为网表中的时序器件分组,使得一组中的时序器件与另一组中的时序器件之间没有时序约束关系。
在一种实施方式中,时序器件无向图建立装置包括(图10未示出):连接无向图建立装置,被配置为根据网表中时序器件的连接关系,为网表中的时序器件建立连接无向图;时序无向图建立装置,被配置为根据时序约束文件中时序器件的时序约束关系,为网表中的时序器件建立时序无向图;以及合并装置,被配置为通过合并连接无向图和时序无向图,获得时序器件无向图。
在另一种实施方式中,连接无向图建立装置包括(图10未示出):连接无向图节点建立装置,被配置为在连接无向图中用节点代表网表中的时序器件;连接无向图的连接边建立装置,被配置为在连接无向图的节点之间建立连接边,其中,连接无向图中的一个节点与另一个节点之间的连接边,表示这两个节点所代表的时序器件在网表中是通过路径连接的;其中时序器件在网表中是否通过路径连接是根据网表中时序器件的连接关系来判断的。
在又一种实施方式中,时序无向图建立装置包括(图10未示出):时序无向图节点建立装置,被配置为在时序无向图中用节点代表网表中的时序器件;时序无向图的时序边建立装置,被配置为在时序无向图的节点之间建立时序边,其中,时序无向图中的一个节点与另一个节点之间的时序边,表示这两个节点所代表的时序器件之间存在以下时序约束的至少之一:异步时钟;假性路径;多周期路径;其中异步时钟、假性路径和多周期路径为包含在时序约束文件中的时序约束关系。
在再一种实施方式中,时序无向图建立装置包括(图10未示出):时序无向图节点建立装置,被配置为在时序无向图的节点之间建立时序边,其中,时序无向图中的一个节点与另一个节点之间的时序边,表示这两个节点所代表的时序器件之间存在以下时序约束的至少之一:异步时钟;假性路径;多周期路径并且两个时序器件之间的路径超过预设的时钟周期个数;其中异步时钟、假性路径和多周期路径为包含在时序约束文件中的时序约束关系。
在又一种实施方式中,合并装置包括(图10未示出):时序器件无向图节点建立装置,被配置为将连接无向图与时序无向图其中之一中的节点表示为时序器件无向图中的节点;时序器件无向图边建立装置,被配置为在时序器件无向图的节点之间建立边,其中,时序器件无向图中一个节点与另一个节点之间的边,表示这两个节点在连接无向图中所对应的节点之间存在连接边,但是这两个节点在时序无向图中所对应的节点之间不存在时序边。
在再一种实施方式中,分组装置进一步配置成将时序器件无向图中的一个连通的子图包含的节点所代表的时序器件划分在同一个组中。
本发明可以采取硬件实施方式、软件实施方式或既包含硬件组件又包含软件组件的实施方式的形式。在优选实施方式中,本发明实现为软件,其包括但不限于固件、驻留软件、微代码等。
而且,本发明还可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,这些介质提供程序代码以供计算机或任何指令执行系统使用或与其结合使用。出于描述目的,计算机可用或计算机可读机制可以是任何有形的装置,其可以包含、存储、通信、传播或传输程序以由指令执行系统、装置或设备使用或与其结合使用。
介质可以是电的、磁的、光的、电磁的、红外线的、或半导体的系统(或装置或器件)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。目前光盘的例子包括紧凑盘-只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。
适合于存储/或执行程序代码的数据处理系统将包括至少一个处理器,其直接地或通过系统总线间接地耦合到存储器元件。存储器元件可以包括在程序代码的实际执行期间所利用的本地存储器、大容量存储器、以及提供至少一部分程序代码的临时存储以便减少执行期间从大容量存储器必须取回代码的次数的高速缓存存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等等)可以直接地或通过中间I/O控制器耦合到系统。
网络适配器也可以耦合到系统,以使得数据处理系统能够通过中间的私有或公共网络而耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器以及以太网卡仅仅是当前可用的网络适配器类型的几个例子。
从上述描述应当理解,在不脱离本发明真实精神的情况下,可以对本发明各实施方式进行修改和变更。本说明书中的描述仅仅是用于说明性的,而不应被认为是限制性的。本发明的范围仅受所附权利要求书的限制。

Claims (12)

1.一种用于专用集成电路的时钟树规划的方法,包括:
确定该专用集成电路的网表和时序约束文件;
根据网表中时序器件的连接关系和时序约束文件中时序器件的时序约束关系,为网表中的时序器件生成时序器件无向图,该步骤包括:
根据网表中时序器件的连接关系,为网表中的时序器件建立连接无向图;
根据时序约束文件中时序器件的时序约束关系,为网表中的时序器件建立时序无向图;以及
通过合并连接无向图和时序无向图,获得时序器件无向图;
根据时序器件无向图为网表中的时序器件分组,使得一组中的时序器件与另一组中的时序器件之间没有时序约束关系。
2.根据权利要求1所述的方法,其中,所述根据网表中时序器件的连接关系,为网表中的时序器件建立连接无向图包括:
在连接无向图中用节点代表网表中的时序器件;
在连接无向图的节点之间建立连接边,其中,连接无向图中的一个节点与另一个节点之间的连接边,表示这两个节点所代表的时序器件在网表中是通过路径连接的;
其中时序器件在网表中是否通过路径连接是根据网表中时序器件的连接关系来判断的。
3.根据权利要求2所述的方法,其中,所述根据时序约束文件中的时序约束关系,为网表中的时序器件建立时序无向图包括:
在时序无向图中用节点代表网表中的时序器件;
在时序无向图的节点之间建立时序边,其中,时序无向图中的一个节点与另一个节点之间的时序边,表示这两个节点所代表的时序器件之间存在以下时序约束的至少之一:
异步时钟;
假性路径;
多周期路径;
其中,异步时钟、假性路径和多周期路径为包含在时序约束文件中的时序约束关系。
4.根据权利要求2所述的方法,其中,所述根据时序约束文件中的时序约束关系,为网表中的时序器件建立时序无向图包括:
在时序无向图中用节点代表网表中的时序器件;
在时序无向图的节点之间建立时序边,其中,时序无向图中的一个节点与另一个节点之间的时序边,表示这两个节点所代表的时序器件之间存在以下时序约束的至少之一:
异步时钟;
假性路径;
多周期路径并且两个时序器件之间的时序检查周期数超过了预设的时钟周期数;
其中,异步时钟、假性路径和多周期路径为包含在时序约束文件中的时序约束关系。
5.根据权利要求1-4之一所述的方法,其中,所述通过合并连接无向图和时序无向图,获得时序器件无向图包括:
将连接无向图与时序无向图其中之一中的节点表示为时序器件无向图中的节点;
在时序器件无向图的节点之间建立边,其中,时序器件无向图中一个节点与另一个节点之间的边,表示这两个节点在连接无向图中所对应的节点之间存在连接边,但是这两个节点在时序无向图中所对应的节点之间不存在时序边。
6.根据权利要求5所述的方法,其中,所述根据时序器件无向图为网表中的时序器件分组包括:
将时序器件无向图中的一个连通的子图包含的节点所代表的时序器件划分在同一个组中。
7.一种用于专用集成电路的时钟树规划的系统,包括:
确定装置,被配置为确定该专用集成电路的网表和时序约束文件;
时序器件无向图建立装置,被配置为根据网表中时序器件的连接关系和时序约束文件中时序器件的时序约束关系,为网表中的时序器件生成时序器件无向图,该装置包括:
连接无向图建立装置,被配置为根据网表中时序器件的连接关系,为网表中的时序器件建立连接无向图;
时序无向图建立装置,被配置为根据时序约束文件中时序器件的时序约束关系,为网表中的时序器件建立时序无向图;以及
合并装置,被配置为通过合并连接无向图和时序无向图,获得时序器件无向图;
分组装置,被配置为根据时序器件无向图为网表中的时序器件分组,使得一组中的时序器件与另一组中的时序器件之间没有时序约束关系。
8.根据权利要求7所述的系统,其中连接无向图建立装置包括:
连接无向图节点建立装置,被配置为在连接无向图中用节点代表网表中的时序器件;
连接无向图的连接边建立装置,被配置为在连接无向图的节点之间建立连接边,其中,连接无向图中的一个节点与另一个节点之间的连接边,表示这两个节点所代表的时序器件在网表中是通过路径连接的;
其中时序器件在网表中是否通过路径连接是根据网表中时序器件的连接关系来判断的。
9.根据权利要求8所述的系统,其中时序无向图建立装置包括:
时序无向图节点建立装置,被配置为在时序无向图中用节点代表网表中的时序器件;
时序无向图的时序边建立装置,被配置为在时序无向图的节点之间建立时序边,其中,时序无向图中的一个节点与另一个节点之间的时序边,表示这两个节点所代表的时序器件之间存在以下时序约束的至少之一:
异步时钟;
假性路径;
多周期路径;
其中异步时钟、假性路径和多周期路径为包含在时序约束文件中的时序约束关系。
10.根据权利要求8所述的系统,其中时序无向图建立装置包括:
时序无向图节点建立装置,被配置为在时序无向图中用节点代表网表中的时序器件;
时序无向图的时序边建立装置,被配置为在时序无向图的节点之间建立时序边,其中,时序无向图中的一个节点与另一个节点之间的时序边,表示这两个节点所代表的时序器件之间存在以下时序约束的至少之一:
异步时钟;
假性路径;
多周期路径并且两个时序器件之间的时序检查周期数超过了预设的时钟周期数;
其中异步时钟、假性路径和多周期路径为包含在时序约束文件中的时序约束关系。
11.根据权利要求7-10之一所述的系统,其中合并装置包括:
时序器件无向图节点建立装置,被配置为将连接无向图与时序无向图其中之一中的节点表示为时序器件无向图中的节点;
时序器件无向图边建立装置,被配置为在时序器件无向图的节点之间建立边,其中,时序器件无向图中一个节点与另一个节点之间的边,表示这两个节点在连接无向图中所对应的节点之间存在连接边,但是这两个节点在时序无向图中所对应的节点之间不存在时序边。
12.根据权利要求11所述的系统,其中,所述分组装置进一步配置成将时序器件无向图中的一个连通的子图包含的节点所代表的时序器件划分在同一个组中。
CN201110138733.8A 2011-05-26 2011-05-26 一种用于专用集成电路的时钟树规划的方法和系统 Expired - Fee Related CN102799698B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110138733.8A CN102799698B (zh) 2011-05-26 2011-05-26 一种用于专用集成电路的时钟树规划的方法和系统
US13/478,272 US8793630B2 (en) 2011-05-26 2012-05-23 Clock tree planning for an ASIC

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110138733.8A CN102799698B (zh) 2011-05-26 2011-05-26 一种用于专用集成电路的时钟树规划的方法和系统

Publications (2)

Publication Number Publication Date
CN102799698A CN102799698A (zh) 2012-11-28
CN102799698B true CN102799698B (zh) 2014-07-23

Family

ID=47198808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110138733.8A Expired - Fee Related CN102799698B (zh) 2011-05-26 2011-05-26 一种用于专用集成电路的时钟树规划的方法和系统

Country Status (2)

Country Link
US (1) US8793630B2 (zh)
CN (1) CN102799698B (zh)

Families Citing this family (22)

* 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
JP5883676B2 (ja) * 2012-02-22 2016-03-15 ルネサスエレクトロニクス株式会社 Lsi設計方法
CN103324774B (zh) * 2012-12-29 2016-05-25 东南大学 一种基于时钟规划偏差算法的处理器性能优化方法
US8635579B1 (en) * 2012-12-31 2014-01-21 Synopsys, Inc. Local clock skew optimization
CN103218011B (zh) * 2013-03-08 2016-06-01 福州瑞芯微电子股份有限公司 基于soc芯片的时钟树结构的设计方法
US8843872B1 (en) * 2013-03-15 2014-09-23 Synopsys, Inc. Automatic clock tree synthesis exceptions generation
US9367659B2 (en) * 2013-10-07 2016-06-14 Raytheon Company Complex layout-based topological data analysis of analog netlists to extract hierarchy and functionality
CN104573148B (zh) * 2013-10-17 2017-11-14 北京华大九天软件有限公司 一种降低电路中时序器件漏电功耗的方法
CN104598659B (zh) 2013-10-31 2018-09-18 格芯公司 对数字电路进行仿真的方法和设备
CN104698370A (zh) * 2013-12-10 2015-06-10 展讯通信(上海)有限公司 芯片中电路的时序测试方法、装置及rtl仿真设备
US9830414B2 (en) 2014-06-16 2017-11-28 Raytheon Company Pattern matching techniques in analog and mixed signal circuits
CN105653748B (zh) * 2014-11-14 2019-03-08 京微雅格(北京)科技有限公司 一种时钟树资源的分配方法和时钟树架构
CN105701266B (zh) 2014-11-28 2019-05-07 国际商业机器公司 用于电路设计中的静态时序分析的方法和系统
CN105868431B (zh) * 2015-01-22 2018-12-21 京微雅格(北京)科技有限公司 基于锚点的布线方法
US10050610B2 (en) 2015-03-10 2018-08-14 Qualcomm Incorporated Clock distribution schemes with wide operating voltage ranges
CN105138774B (zh) * 2015-08-25 2018-07-06 中山大学 一种基于集成电路层次化设计的时序后仿真方法
CN106934080B (zh) * 2015-12-29 2020-06-30 京微雅格(北京)科技有限公司 一种高性能时钟信号驱动寄存器的布局方法
CN107300948A (zh) * 2016-04-14 2017-10-27 飞思卡尔半导体公司 具有多位时钟门控单元的集成电路
KR20180092692A (ko) * 2017-02-10 2018-08-20 삼성전자주식회사 Beol을 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템
GB2571333B (en) * 2018-02-26 2021-12-01 Advanced Risc Mach Ltd Integrated circuit design
CN110750954B (zh) * 2019-10-29 2020-12-25 上海安路信息科技有限公司 电路原理图生成方法及生成系统
CN117422030A (zh) * 2023-12-19 2024-01-19 芯耀辉科技有限公司 动态时序的检查方法及装置、存储介质和电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1732470A (zh) * 2002-12-17 2006-02-08 国际商业机器公司 Asic时钟版图规划方法和结构
CN101351886A (zh) * 2005-12-29 2009-01-21 莫塞德技术股份有限公司 利用时钟和电源网格标准单元设计asic

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367060B1 (en) 1999-06-18 2002-04-02 C. K. Cheng Method and apparatus for clock tree solution synthesis based on design constraints
US6536018B1 (en) * 2000-06-05 2003-03-18 The University Of Chicago Reverse engineering of integrated circuits
US6480991B1 (en) * 2001-04-11 2002-11-12 International Business Machines Corporation Timing-driven global placement based on geometry-aware timing budgets
US6889275B2 (en) * 2001-04-23 2005-05-03 Interuniversitaire Micro-Elektronica Centrum (Imec Vzw) Resource interconnection patterns in a customized memory organization context
US20040044979A1 (en) * 2002-08-27 2004-03-04 Aji Sandeep A. Constraint-based global router for routing high performance designs
US7296251B2 (en) * 2004-05-25 2007-11-13 International Business Machines Corporation Method of physical planning voltage islands for ASICs and system-on-chip designs
WO2006132639A1 (en) * 2005-06-07 2006-12-14 The Regents Of The University Of California Circuit splitting in analysis of circuits at transistor level
US7409657B2 (en) 2005-10-05 2008-08-05 Matsushita Electric Industrial Co., Ltd. Clock tree layout method for semiconductor integrated circuit
US7467367B1 (en) 2005-10-27 2008-12-16 Cadence Design Systems, Inc. Method and system for clock tree synthesis of an integrated circuit
US20080229266A1 (en) 2006-12-14 2008-09-18 International Business Machines Corporation Design Structure for a Clock Distribution Network, Structure, and Method for Providing Balanced Loading in Integrated Circuit Clock Trees
US7546567B2 (en) 2007-01-10 2009-06-09 Synopsys, Inc. Method and apparatus for generating a variation-tolerant clock-tree for an integrated circuit chip
US8141048B2 (en) * 2007-02-22 2012-03-20 International Business Machines Corporation Sequential encoding for relational analysis (SERA) of a software model
US7886245B2 (en) 2007-03-01 2011-02-08 International Business Machines Corporation Structure for optimizing the signal time behavior of an electronic circuit design
US7930580B2 (en) * 2007-07-11 2011-04-19 Altasens, Inc. Controlling timing dependencies in a mixed signal system-on-a-chip (SOC)
US20090217225A1 (en) 2008-02-22 2009-08-27 Mentor Graphics, Corp. Multi-mode multi-corner clocktree synthesis
US8095900B2 (en) 2008-09-16 2012-01-10 Cadence Design Systems, Inc. Achieving clock timing closure in designing an integrated circuit
US8191024B2 (en) 2009-03-16 2012-05-29 Qualcomm Incorporated Customizable H-tree synthesis tool
CN102169515B (zh) * 2010-02-26 2014-04-16 国际商业机器公司 一种专用集成电路中时钟树延迟时间的估计方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1732470A (zh) * 2002-12-17 2006-02-08 国际商业机器公司 Asic时钟版图规划方法和结构
CN101351886A (zh) * 2005-12-29 2009-01-21 莫塞德技术股份有限公司 利用时钟和电源网格标准单元设计asic

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
一种有效的多时钟网络时钟树综合方案;江立强 等;《计算机与数字工程》;20051130;第33卷(第11期);全文 *
江立强 等.一种有效的多时钟网络时钟树综合方案.《计算机与数字工程》.2005,第33卷(第11期),
蒿杰,彭思龙.基于超图模型的大规模门级网表层次化聚类算法.《计算机辅助设计与图形学学报》.2009,第21卷(第1期), *

Also Published As

Publication number Publication date
US8793630B2 (en) 2014-07-29
CN102799698A (zh) 2012-11-28
US20120304136A1 (en) 2012-11-29

Similar Documents

Publication Publication Date Title
CN102799698B (zh) 一种用于专用集成电路的时钟树规划的方法和系统
US9251304B2 (en) Circuit design evaluation with compact multi-waveform representations
CN1885295B (zh) 使用逻辑单元建置集成电路
US7472361B2 (en) System and method for generating a plurality of models at different levels of abstraction from a single master model
US20120311512A1 (en) Display and automatic improvement of timing and area in a network-on-chip
US10467365B1 (en) Systems and methods for calculating common clock path pessimism for hierarchical timing analysis in an electronic design
US7849430B2 (en) Reverse donut model
Thonnart et al. A pseudo-synchronous implementation flow for WCHB QDI asynchronous circuits
US7519927B1 (en) Wiring methods to reduce metal variation effects on launch-capture clock pairs in order to minimize cycle-time overlap violations
US8701059B2 (en) Method and system for repartitioning a hierarchical circuit design
US11443089B1 (en) Timing verification of non-standard library blocks
WO2022100630A1 (zh) 高效评估芯片Feed-through流水级数的方法及装置
Gibiluka et al. A bundled-data asynchronous circuit synthesis flow using a commercial EDA framework
US10248746B1 (en) Method and apparatus for estimating ideal power of an integrated circuit design
US9842187B1 (en) Representation of complex timing characteristics of startpoint-endpoint pairs in a circuit design
CN116108783B (zh) 分块逻辑时序分析建模及处理方法、系统、设备及介质
EP4170540A2 (en) System and method for area and timing assessment of a network-on-chip (noc) implementation
Dashkin et al. General approach to asynchronous circuits simulation using synchronous fpgas
Khan et al. GHAZI: An Open-Source ASIC Implementation of RISC-V based SoC
US10380295B1 (en) Methods, systems, and articles of manufacture for X-behavior verification of an electronic design
Casu et al. Throughput-driven floorplanning with wire pipelining
Bommu et al. Retiming-based factorization for sequential logic optimization
US10366186B2 (en) System and process for simulating the behavioral effects of timing violations between unrelated clocks
WO2009070177A1 (en) System and method for generating flat layout
TWI427496B (zh) 製造積體電路的模型的方法和系統

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: 20171024

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: 20171024

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: 20140723

Termination date: 20190526