CN101187820A - 产生时钟树的方法与系统 - Google Patents

产生时钟树的方法与系统 Download PDF

Info

Publication number
CN101187820A
CN101187820A CNA2006101485448A CN200610148544A CN101187820A CN 101187820 A CN101187820 A CN 101187820A CN A2006101485448 A CNA2006101485448 A CN A2006101485448A CN 200610148544 A CN200610148544 A CN 200610148544A CN 101187820 A CN101187820 A CN 101187820A
Authority
CN
China
Prior art keywords
clock
stratum
buffer
logical
group
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.)
Pending
Application number
CNA2006101485448A
Other languages
English (en)
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.)
Silicon Integrated Systems Corp
Original Assignee
Silicon Integrated Systems 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 Silicon Integrated Systems Corp filed Critical Silicon Integrated Systems Corp
Priority to CNA2006101485448A priority Critical patent/CN101187820A/zh
Publication of CN101187820A publication Critical patent/CN101187820A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明提供一种产生耦接于一时钟源与多个逻辑单元之间的一时钟树的方法。该多个逻辑单元依据该时钟源所产生的一时钟信号来运行。该方法包含有:依据一第一时钟偏移成本函数而将该多个逻辑单元分类为多个第一阶层组;以及配置至少一第一阶层时钟缓冲器于该多个逻辑单元中一逻辑单元,以缓冲由该时钟源输出至该逻辑单元的该时钟信号。

Description

产生时钟树的方法与系统
技术领域
本发明有关于集成电路设计,尤其指一种依据时钟偏移成本函数(clockskew cost function)来进行逻辑单元分群以产生一时钟树(clock tree)的方法与系统。
背景技术
如本领域技术人员所周知,时钟树用来缓冲一时钟信号,其中该时钟信号自一时钟源输出并传递至由时钟驱动的逻辑单元(例如触发器),而对于每一个触发器来说,输入至各个触发器的时钟信号的传递延迟量不尽相同,而时钟信号之间的相位差便称的为时钟偏移(clock skew),换句话说,由于时钟树的设计不良,因此便往往会存在时钟偏移的问题而影响触发器的设定时间(setup time)与保持时间(hold time)。于设计数字逻辑集成电路时常发生的一个问题是:时钟偏移过大而使得电路元件的同步操作无法于所要的时钟频率下执行。因此,对于设计集成电路来说,降低时钟偏移便极为重要,而明显地,此时便需要一个创新的解决方案来适当且有效率地产生出所要的时钟树。
发明内容
因此,本发明的目的的一在于提供一种依据时钟偏移成本函数来进行逻辑单元分群以产生一时钟树的方法与系统,以解决上述问题。
依据本发明的实施例,其公开一种产生耦接一时钟源与多个逻辑单元之间的一时钟树的方法。该多个逻辑单元依据该时钟源所产生的一时钟信号来运行。该方法包含有:依据一第一时钟偏移成本函数而将该多个逻辑单元分类为多个第一阶层组;以及配置至少一第一阶层时钟缓冲器于该多个逻辑单元中一逻辑单元,以缓冲由该时钟源输出至该逻辑单元的该时钟信号。
依据本发明的实施例,其另公开一种产生耦接于一时钟源与多个逻辑单元之间的一时钟树的系统。该多个逻辑单元依据该时钟源所产生的一时钟信号来运行。该系统包含有:一分类模块,用来依据一第一时钟偏移成本函数而将该多个逻辑单元分类为多个第一阶层组;以及一缓冲器设置模块,用来配置至少一第一阶层时钟缓冲器于该多个逻辑单元中一逻辑单元,以缓冲由该时钟源输出至该逻辑单元的该时钟信号。
依据本发明的实施例,其另公开一种集成电路,其包含有:多个逻辑单元,每一逻辑单元依据一时钟源所产生的一时钟信号来运行,其中该多个逻辑单元分类为多个第一阶层组,以及该多个第一阶层组另分类为多个第二阶层组;以及一时钟树,耦接于该时钟源以及该多个逻辑单元之间。该时钟树包含有:一时钟树结构,包含有至少一底层时钟缓冲器,其中该时钟树结构具有一特定绕线长度;至少一第一阶层时钟缓冲器,配置于每一第一阶层组,用来缓冲由该时钟源输出至一相对应第一阶层组的该时钟信号;至少一第二阶层时钟缓中器,配置于每一第二阶层组,用来缓冲由该时钟源输出至一相对应第二阶层组的该时钟信号;以及一第三阶层时钟缓冲器,用来桥接该第二阶层时钟缓冲器与该底层时钟缓冲器。该第三阶层时钟缓冲器与该底层时钟缓冲器之间的连接线长度等于该特定绕线长度,以及该第二阶层时钟缓冲器与该第三阶层时钟缓冲器之间的连接线长度等于该特定绕线长度。
附图说明
图1为本发明时钟树产生系统的一实施例的示意图。
图2为本发明方法产生一时钟树以连接一时钟源与多个逻辑单元的一实施例的流程图。
图3(a)-(e)分别为预设时钟树结构的一第一实施例、一第二实施例、一第三实施例、一第四实施例以及一第五实施例的示意图。
图4为具有一时钟树(其依据图2所示的方法而建立)的一集成电路的示意图。
主要元件符号说明
  10   时钟树产生系统   12   调整模块
  14   分类模块   16   缓冲器设置模块
  202   底层时钟缓冲器   204   第三阶层时钟缓冲器
  206-1、206-2   第二阶层时钟缓冲器   208-1、208-2、208-3、208-4   第一阶层时钟缓冲器
  211-1、211-M、212-1、212-N、213-1、213-I、214-1、214-J   逻辑单元   216-1、216-2、216-3、216-4   第一阶层组
  218-1、218-2   第二阶层组
具体实施方式
在说明书及后续的权利要求范围当中使用了某些词汇来指称特定的元件。所属领域中具有通常知识者应可理解,制造商可能会用不同的名词来称呼同一个元件。本说明书及后续的权利要求并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。在通篇说明书及后续的请求当中所提及的「包含」为一开放式的用语,故应解释成「包含但不限定于」。此外,「耦接」一词在此包含任何直接及间接的电气连接手段,因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接电气连接于该第二装置,或通过其他装置或连接手段来间接地电气连接至该第二装置。
请参阅图1,图1为本发明时钟树产生系统10的一实施例的示意图。如图1所示,时钟树产生系统10包含有一调整模块12、一分类模块14以及一缓冲器设置模块16。于本发明一实施例中,时钟树产生系统10通过一计算机系统来加以实现,其中调整模块12、分类模块14以及缓冲器设置模块16均为可由一微处理器(未显示)所执行以实现所制订的功能的可执行程序代码:然而,时钟树产生系统10亦可仅由硬件元件来加以实现,其中调整模块12、分类模块14以及缓冲器设置模块16均为硬件电路以实现所制订的功能,而这些变化均属本发明的范畴。
于本发明中,分类模块14用来依据一时钟偏移成本函数(clock skewcost function)而将多个逻辑单元分类成多个组;缓冲器设置模块16用来配置至少一时钟缓冲器于每一组,以便缓冲由时钟源所产生并传递至相对应组的一时钟信号;以及调整模块12则用来于分类模块14对同一时钟源所驱动的逻辑单元进行分类之前,调整逻辑单元的分布或者加入虚设逻辑单元(dummy logic unit)。调整模块12、分类模块14与缓冲器设置模块16的操作详述于后。
请同时参阅图1与图2,图2为本发明方法产生一时钟树以连接一时钟源与多个逻辑单元的一实施例的流程图。时钟树产生方法由图1所示的时钟树产生系统10来加以执行,并包含以下步骤:
步骤100:开始;
步骤102:识别出由同一时钟源所驱动的多个逻辑单元;
步骤104:针对该多个逻辑单元而选取出一预定时钟树结构(treeskeleton),其中该预定时钟树结构设定有一特定绕线长度(net length);
步骤106:依据一第一时钟偏移成本函数而将该多个逻辑单元分类为多个第一阶层组(first-level group);
步骤108:配置一第一阶层时钟缓冲器(first-level clock buffer)于每一第一阶层组;
步骤110:依据一第二时钟偏移成本函数而将对应该多个逻辑单元的该多个第一阶层组分类为多个第二阶层组(second-level group);
步骤112:配置一第二阶层时钟缓冲器(second-level clock buffer)于每一第二阶层组;
步骤114:设置一第三阶层时钟缓冲器(third-level clock buffer)以桥接多个第二阶层时钟缓冲器与该预定时钟树结构的一底层时钟缓冲器(bottom-level clock buffer),其中该第三阶层时钟缓冲器与该底层时钟缓冲器之间的连接线长度设定为接近该特定绕线长度,以及一第二阶层时钟缓冲器与该第三阶层时钟缓冲器之间的连接线长度亦设定为接近该特定绕线长度;
步骤116:结束。
请注意,假若可大致上获得相同的结果,则图2中各步骤的执行顺序可以改变的,举例来说,分类逻辑单元的步骤可以于选择时钟树结构的步骤之前便执行。
于步骤100中,上述流程开始运作。于步骤102中,分类模块14便会启动而识别出由一时钟源所产生的一时钟信号所驱动的逻辑单元(例如集成电路中的触发器);换句话说,本发明方法分别针对不同的时钟源来建立相对应的时钟树。接着,分类模块14便依据一特定选择规则而从多个预设时钟树结构中选取出一预定时钟树结构,于一实施例中,该预定时钟树结构的选取根据逻辑单元的分布;而连接线长度需设定为多接近该特定绕线长度,则因连接线长度可能会影响到电气特性参数累加后的成本值,所以若成本值非常接近于特定值,连接线长度则可非常接近或等于特定绕线长度,若成本值略高于特定值,则可使连接线长度适当少于特定绕线长度,当然,若成本值略低于特定值,即可适当增加连接线长度。请参阅图3(a)至(e)分别显示出多个不同的预设时钟树结构,于本发明此一实施例中,H-tree类型被采用,如图3(a)所示,此一时钟树结构包含单一底层时钟缓冲器,且具有一绕线长度a,而端点A被定义来设置底层时钟缓冲器的所在位置。就图3(a)的逻辑单元分布中,此端点A接近于共用同一时钟源(clock source)的逻辑单元分布位置的中心点;而时钟源则先将时钟信号传至此底层时钟缓冲器,再经由此底层时钟缓冲器与其他的时钟缓冲器传输到各逻辑单元。其中,底层时钟缓冲器的定义为位于「由上而下的设计流程」中的时钟缓冲器,且最接近「由下而上的设计流程」里最高层时钟缓冲器。「由上而下的设计流程」与「由下而上的设计流程」的定义于图4中有所解释。如图3(b)至(d)所示,每一时钟树结构皆包含两个底层时钟缓冲器与位于较上层的时钟缓冲器,且具有一绕线长度a,端点A被定义为底层时钟缓冲器的所在位置,而端点B则是被定义为高层时钟缓冲器所在位置,而若选用图3(b)的逻辑单元分布,此端点B接近共用同一时钟源的逻辑单元分布位置的中心点;而时钟源则先将时钟信号传至此高层时钟缓冲器,再经由底层时钟缓冲器与其他的时钟缓冲器传输到各逻辑单元。如图3(e)所示,此一时钟树结构包含四个底层时钟缓冲器,两个高层时钟缓冲器,以及一个顶层时钟缓冲器(top-level clockbuffer),且具有一绕线长度a;此外,底层时钟缓冲器的位置是端点A,较高阶层时钟缓冲器的位置则为端点B,而端点C则被定义为设置顶层时钟缓冲器的位置,而接近共用同一时钟源的逻辑单元分布位置中心点的即为设置于端点C的顶层时钟缓冲器。本实施例中,于图3(b)至(d)上所示的阴影部分(由斜线所标记)围起来的区域代表逻辑单元被设置的区域,所以,依据逻辑单元的分布便可随的选取出一时钟树结构。请注意,上述的时钟树结构的选取仅为举例说明的用,并非用来作为本发明的限制条件,举例来说,于其他实施例中,选取规则可以是根据绕线长度、金属层的数目、耦接至同一时钟源的逻辑单元的数目、时钟缓冲器的驱动能力(driving strength)或者是所使用的半导体制造工艺,均属本发明的范畴。
于本实施例中,时钟树结构的选取提供了一种由上而下的设计流程以便建立最终所要的时钟树。举例来说,若选取图3(b)所示的预设时钟树结构,则底层时钟缓冲器与高层时钟缓冲器的所在位置便决定出来了,此即为图4的由上而下的设计流程。而要被设置于下方的时钟缓冲器,其位置便需经由本发明所公开的由下而上的设计流程来加以决定。由下而上的设计流程的运作详述于下。
举例来说,若步骤104选取图3(a)所示的时钟树结构,一时钟缓冲器202便会设置于端点A以便接收由一时钟源(例如一时钟产生器)所产生的一时钟信号CLK(如图4所示),而对于由下而上的设计流程而言,分类模块14依据一第一时钟偏移成本函数而先将多个逻辑单元分类为多个第一阶层组(步骤106)。本实施例中,该第一时钟偏移成本函数用来累计多个逻辑单元的电气特性参数(例如电容性负载值)以计算出一成本值(cost value),而当该第一时钟偏移成本函数累计多个特定逻辑单元的电气特性参数所产生的成本值达到一特定值时,该多个特定逻辑单元便被分类为一第一阶层组。如本领域技术人员所知,时钟偏移的大小正比于电容值的大小,因此,当时钟偏移的可允许范围为已知时,便可适当地决定出上述的特定值,举例来说,该特定值于一实施例中被设定为300ff的电容值,所以,当累计10个逻辑单元的电容值的结果等于该特定值(亦即300ff)时,则这10个逻辑单元便归类聚集为一组。请注意,于执行上述的分类操作时,绕线本身的电容值亦可纳入整体电容值的累计计算中。
请同时参阅图2与图4,图4为具有一时钟树(其依据图2所示的方法而建立)的一集成电路的示意图。如图所示,逻辑单元211-1、...、211-M分类为一第一阶层组216-1;逻辑单元212-1、...、212-N分类为一第一阶层组216-2;逻辑单元213-1、...、213-I分类为一第一阶层组216-3;以及逻辑单元214-1、...、214-J分类为一第一阶层组216-4,其中每一第一阶层组中所有逻辑单元的电容性负载值的总和均等于前述的特定值(亦即300ff)。缓冲器设置模块16接着分别配置第一阶层时钟缓冲器208-1、208-2、208-3、208-4于第一阶层组216-1、216-2、216-3、216-4(步骤108)。
当决定出第一阶层时钟缓冲器208-1、208-2、208-3、208-4的后,分类模块14另依据一第二时钟偏移成本函数来将第一阶层组216-1、216-2、216-3、216-4分类为多个第二阶层组218-1、218-2(步骤110),类似于第一时钟偏移成本函数的运作,第二时钟偏移成本函数累计每一第一阶层组中多个逻辑元件的电气特性参数(例如电容性负载值)来产生一成本值,若该成本值达到另一特定值,则相对应的第一阶层组便被分类为一第二阶层组。如图4所示,第一阶层组216-1与216-2隶属于一第二阶层组218-1,以及第一阶层组216-3与216-4则隶属于另一第二阶层组218-2。接着,缓冲器设置模块16便分别配置第二阶层时钟缓冲器206-1、206-2于第二阶层组218-1、218-2(步骤112)。
当决定出第二阶层时钟缓冲器206-1、206-2的后,所选取的时钟树结构的相对应特定绕线长度便会被参照,以便桥接底层时钟缓冲器202以及第二阶层时钟缓冲器206-1、206-2(步骤114)。本实施例中,缓冲器设置模块16会决定一缓冲器位置,以使得一第三阶层时钟缓冲器204与底层时钟缓冲器202之间的连接线长度等于该特定绕线长度以及每一第二阶层时钟缓冲器206-1、206-2与第三阶层时钟缓冲器204之间的连接线长度等于该特定绕线长度,接着,便将第三阶层时钟缓冲器204设置于所决定出的缓冲器位置来完成最终所要的时钟树,换句话说,于本发明的实施例中,其应用一种搜寻最短且长度相同的路径的方法(minimum-same-distance-path method)来决定出第三阶层时钟缓冲器204的设置位置。
请注意,于图4中,逻辑元件的个数、第一阶层组的个数以及第二阶层组的个数仅作为范例说明的用,并非为本发明的限制条件。此外,步骤106/步骤110可以修改为:检查经由累积多个特定逻辑单元的电气特性参数所产生的一成本值是否落入一特定范围,以及当计算出来的成本值落入该特定范围,将该多个特定逻辑单元分类为第一阶层组/第二阶层组。所以,万一实际上的绕线长度过长而无法符合时钟偏移的限制条件时,该特定范围便可提供一偏差容许量(tolerance)。
再者,请注意,于所建立的时钟树中设置的所有时钟缓冲器均对应同一缓冲器类型,举例来说,图4所示的每一时钟缓冲器202、204、206-1、206-2、208-1、208-2、208-3、208-4均具有相同的驱动能力。此外,于本实施例中,只要能使得输入至相对应逻辑单元的时钟信号仍维持原本所要的极性,则时钟缓冲器可以利用非反相(non-inverting)缓冲器或反相(inverting)缓冲器(一般称的为反相器),抑或两者的组合来加以实现。
对于上述的分类操作而言,本发明的实施例另提供与时钟树微调有关的一些技术特征。于分类模块14对逻辑单元进行分类之前,调整模块12可预先调整逻辑单元的分布或者是依据逻辑单元的分布而将至少一虚设逻辑单元加入原本的逻辑单元中。举例来说,当逻辑单元的分布不均匀时,调整模块12便将位于一密集分布区域中的一些逻辑单元移到一稀疏分布区域中;另外,当不容易依据所定义的特定值或特定范围来将所有的逻辑单元分类为多个组时,调整模块12会加入一些虚设逻辑单元至稀疏分布区域中,以使得逻辑单元的组分类能顺利完成。此外,为了降低时钟缓冲器的驱动能力需求,调整模块12另会将一特定组进一步地划分成多个子组,并分别配置多个时钟缓冲器至该多个子组,举例来说,缓冲器设置模块16将第一阶层组216-1划分成多个子组,并分别配置多个第一阶层时钟缓冲器于该多个子组,因此,相较于原本第一阶层时钟缓冲器208-1所要求的驱动能力,这些第一阶层时钟缓冲器的驱动能力需求便可降低;同样地,缓冲器设置模块16亦可将第二阶层组218-1划分成多个子组,并分别配置多个第二阶层时钟缓冲器于该多个子组,因此,相较于原本第二阶层时钟缓冲器206-1所要求的驱动能力,这些第二阶层时钟缓冲器的驱动能力需求便可降低,上述变化均属本发明的范畴。
本发明亦可应用于低功率设计(low-power design)的应用中。于低功率设计的实施例中,本发明的时钟树设计流程可利用公知的综合型时钟门电路单元(integrated clock gating cell,ICG cell)来取代一特定层中所设置的部分或全部的时钟缓冲器,而于此低功率设计的实施例中,分类模块14一开始时先依据逻辑单元属性来将一集成电路中多个目标逻辑单元分别划分为多个逻辑单元组,举例来说,该多个目标逻辑单元根据不同的功能或其他已知参数而分类为该多个逻辑单元组,其中当该集成电路运作时,位于同一逻辑单元组的目标逻辑单元允许于同一时间被关断。对于由分类模块14所分类产生的每一逻辑单元组而言,图2所示的时钟树产生方法会被执行以产生一相对应的时钟树,而位于一特定层中一特定位置的至少一时钟缓冲器由一公知的综合型时钟门电路单元所替代以实现所要的低功率设计。既然插入公知综合型时钟门电路单元的技术为本领域技术人员所周知,因此为了简洁起见,相关的细节描述便不另于此赘述。请注意,上述有关于以公知综合型时钟门电路单元来取代时钟缓冲器的操作步骤仅作为范例说明的用,此外,同时参考图2所示的教导与任何公知的低功率设计技术,本领域技术人员亦可推导出其他可行的变化,而这些变化均符合本发明的精神并落入本发明的范畴。
以上所述仅为本发明的优选实施例,凡依本发明权利要求所进行的等效变化与修改,皆应属本发明的涵盖范围。

Claims (19)

1.一种产生耦接一时钟源与多个逻辑单元之间的一时钟树的方法,该多个逻辑单元依据该时钟源所产生的一时钟信号来运行,该方法包含有:
依据一第一时钟偏移成本函数而将该多个逻辑单元分类为多个第一阶层组;以及
配置至少一第一阶层时钟缓冲器于该多个逻辑单元中一逻辑单元,以缓冲由该时钟源输出至该逻辑单元的该时钟信号。
2.如权利要求1所述的方法,其中将该多个逻辑单元分类为多个第一阶层组的步骤包含有:
使用该第一时钟偏移成本函数来累计多个特定逻辑单元所对应的多个第一种电气特性参数;以及
当经由累计该多个特定逻辑单元所对应的该多个第一种电气特性参数所计算出的该第一时钟偏移成本函数的一成本值达到一特定值时,该多个特定逻辑单元分类为一第一阶层组。
3.如权利要求2所述的方法,其中该多个第一种电气特性参数均为电容性负载值。
4.如权利要求1所述的方法,其中将该多个逻辑单元分类为多个第一阶层组的步骤包含有:
使用该第一时钟偏移成本函数来累计多个特定逻辑单元所对应的多个第一种电气特性参数;以及
当经由累计该多个特定逻辑单元所对应的该多个第一种电气特性参数所计算出的该第一时钟偏移成本函数的一成本值落入一特定范围时,该多个特定逻辑单元分类为一第一阶层组。
5.如权利要求4所述的方法,其中该多个第一种电气特性参数均为电容性负载值。
6.如权利要求1所述的方法,其中配置至少一第一阶层时钟缓冲器于该多个逻辑单元中一逻辑单元的步骤包含有:
将一特定第一阶层组划分为多个子组;以及
分别配置多个第一阶层时钟缓冲器于该多个子组,以降低缓冲器驱动能力需求。
7.如权利要求1所述的方法,其还包含有:
依据一第二时钟偏移成本函数将该多个第一阶层组分类为多个第二阶层组;以及
配置至少一第二阶层时钟缓冲器于该多个第二阶层组中一第二阶层组,以缓冲由该时钟源输出至该第二阶层组的该时钟信号。
8.如权利要求7所述的方法,其中配置至少一第二阶层时钟缓冲器于该多个第二阶层组中一第二阶层组的步骤包含有:
将一特定第二阶层组划分为多个子组;以及
分别配置多个第二阶层时钟缓冲器于该多个子组,以降低缓冲器驱动能力需求。
9.如权利要求1所述的方法,其还包含有:
依据该多个逻辑单元的分布而选取一预定时钟树结构,其中该预定时钟树结构包含至少一底层时钟缓冲器,其中,该时钟信号可通过该底层时钟缓冲器及其中一该多个第一阶层时钟缓冲器传输于其中一该多个逻辑单元。
10.如权利要求9所述的方法,其中该预定时钟树结构具有一特定绕线长度,为使该时钟信号可通过该底层时钟缓冲器及其中一该多个第一阶层时钟缓冲器传输于其中一该多个逻辑单元的步骤包含有:
设置一第三阶层时钟缓冲器来桥接一第二阶层时钟缓冲器以及该底层时钟缓冲器,其中该第二阶层时钟缓冲器桥接于该第三阶层时钟缓冲器及该逻辑单元之间,而该第三阶层时钟缓冲器与该底层时钟缓冲器之间的连接线长度接近于该特定绕线长度,以及该第二阶层时钟缓冲器与该第三阶层时钟缓冲器之间的连接线长度接近于该特定绕线长度。
11.如权利要求10所述的方法,其中应用于该时钟树中的所有时钟缓冲器均是相同的缓冲器类型。
12.如权利要求9所述的方法,其中该预定时钟树结构对应一H-tree类型。
13.如权利要求7所述的方法,其中将该多个逻辑单元分类为多个第一阶层组的步骤包含有:
利用该第一时钟偏移成本函数来累计多个特定逻辑单元所对应的多个第一种电气特性参数;以及
当经由累计该多个特定逻辑单元所对应的该多个第一种电气特性参数所计算出的该第一时钟偏移成本函数的一成本值达到一特定值或一特定范围时,该多个特定逻辑单元分类为一第一阶层组;以及
将该多个第一阶层组分类为多个第二阶层组的步骤包含有:
利用该第二时钟偏移成本函数来累计每一第一阶层组中多个特定逻辑单元所对应的多个第二种电气特性参数;以及
当经由累计多个特定第一阶层组所对应的多个第二种电气特性参数所计算出的该第二时钟偏移成本函数的一成本值达到另一特定值或另一特定范围时,该多个特定第一阶层组分类为一第二阶层组。
14.如权利要求13所述的方法,其中该多个第一种电气特性参数与该多个第二种电气特性参数均为电容性负载值。
15.如权利要求1所述的方法,其还包含有:
于分类该多个逻辑单元之前,调整该多个逻辑单元的分布。
16.如权利要求1所述的方法,其还包含有:
于分类该多个逻辑单元之前,依据该多个逻辑单元的分布而将至少一虚设逻辑单元加入至该多个逻辑单元中。
17.如权利要求1所述的方法,其还包含有:
根据逻辑单元属性以自一集成电路的多个目标逻辑单元中选取出该多个逻辑单元,其中该多个逻辑单元允许于该集成电路运行时于同一时间关断;
其中至少一逻辑单元由一综合型时钟门电路单元实现。
18.一种产生耦接于一时钟源与多个逻辑单元之间的一时钟树的系统,该多个逻辑单元依据该时钟源所产生的一时钟信号来运行,该系统包含有:
一分类模块,用来依据一第一时钟偏移成本函数而将该多个逻辑单元分类为多个第一阶层组;以及
一缓冲器设置模块,用来配置至少一第一阶层时钟缓冲器于该多个逻辑单元中一逻辑单元,以缓冲由该时钟源输出至该逻辑单元的该时钟信号。
19.一种集成电路,其包含有:
多个逻辑单元,每一逻辑单元依据一时钟源所产生的一时钟信号来运行,其中该多个逻辑单元分类为多个第一阶层组,以及该多个第一阶层组另分类为多个第二阶层组;以及
一时钟树,耦接于该时钟源以及该多个逻辑单元之间,该时钟树包含有:
一时钟树结构,包含有至少一底层时钟缓冲器,其中该时钟树结构具有一特定绕线长度;
至少一第一阶层时钟缓冲器,配置于每一第一阶层组,用来缓冲由该时钟源输出至一相对应第一阶层组的该时钟信号;
至少一第二阶层时钟缓冲器,配置于每一第二阶层组,用来缓冲由该时钟源输出至一相对应第二阶层组的该时钟信号;以及
一第三阶层时钟缓冲器,用来桥接该第二阶层时钟缓冲器与该底层时钟缓冲器;
其中该第三阶层时钟缓冲器与该底层时钟缓冲器之间的连接线长度等于该特定绕线长度,以及该第二阶层时钟缓冲器与该第三阶层时钟缓冲器之间的连接线长度等于该特定绕线长度。
CNA2006101485448A 2006-11-16 2006-11-16 产生时钟树的方法与系统 Pending CN101187820A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2006101485448A CN101187820A (zh) 2006-11-16 2006-11-16 产生时钟树的方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2006101485448A CN101187820A (zh) 2006-11-16 2006-11-16 产生时钟树的方法与系统

Publications (1)

Publication Number Publication Date
CN101187820A true CN101187820A (zh) 2008-05-28

Family

ID=39480250

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006101485448A Pending CN101187820A (zh) 2006-11-16 2006-11-16 产生时钟树的方法与系统

Country Status (1)

Country Link
CN (1) CN101187820A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888227A (zh) * 2010-07-14 2010-11-17 北京北大众志微系统科技有限责任公司 一种温度不敏感时钟缓冲器及h型时钟树电路
CN101582685B (zh) * 2009-05-08 2012-02-01 东南大学 一种应用于超高速模数转换器的高速双向时钟树电路
CN110658885A (zh) * 2018-06-28 2020-01-07 瑞昱半导体股份有限公司 时钟树合成方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101582685B (zh) * 2009-05-08 2012-02-01 东南大学 一种应用于超高速模数转换器的高速双向时钟树电路
CN101888227A (zh) * 2010-07-14 2010-11-17 北京北大众志微系统科技有限责任公司 一种温度不敏感时钟缓冲器及h型时钟树电路
CN101888227B (zh) * 2010-07-14 2012-06-20 北京北大众志微系统科技有限责任公司 一种温度不敏感时钟缓冲器及h型时钟树电路
CN110658885A (zh) * 2018-06-28 2020-01-07 瑞昱半导体股份有限公司 时钟树合成方法
CN110658885B (zh) * 2018-06-28 2021-08-17 瑞昱半导体股份有限公司 时钟树合成方法

Similar Documents

Publication Publication Date Title
US7941776B2 (en) Method of IC design optimization via creation of design-specific cells from post-layout patterns
US9172377B2 (en) Clock-tree transformation in high-speed ASIC implementation
Tsay Exact zero skew
Moreira et al. Impact of C-elements in asynchronous circuits
KR20100049614A (ko) 크로스토크로 유도된 노이즈를 위한 제한된 어그레서 세트 선택 방법
US9360884B2 (en) Clocking for pipelined routing
US7042269B2 (en) Method for dynamic balancing of a clock tree
CN101187820A (zh) 产生时钟树的方法与系统
CN112131813B (zh) 基于端口交换技术的用于提升布线速度的fpga布线方法
CN103870617B (zh) 低频芯片自动布局布线方法
US7511548B2 (en) Clock distribution network, structure, and method for providing balanced loading in integrated circuit clock trees
US20080066043A1 (en) Method and system for clock tree generation
CN105334906A (zh) 纳米工艺下多级门控时钟网络优化方法
CN100570614C (zh) 集成电路设计决定标准单元的方法
US20060190890A1 (en) Cell instance generating method
CN106682290B (zh) 可编程逻辑器件布线方法及装置
US7479819B2 (en) Clock distribution network, structure, and method for providing balanced loading in integrated circuit clock trees
US6373288B1 (en) Method of implementing clock trees in synchronous digital electronic circuits, and a programmable delay buffer stage therefor
TW200821880A (en) Method and system for clock tree generation
US8037438B2 (en) Techniques for parallel buffer insertion
US20080082951A1 (en) Structure Cluster and Method in Programmable Logic Circuit
CN100504885C (zh) 动态平衡时钟树枝电路的方法
US20240256754A1 (en) Method and system for use with an electronic design automation (eda) tool to optimize clock scheduling
War et al. CAD automation module based on cell moving algorithm for ECO timing optimization
CN104183592B (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080528