跨时钟域的时钟树构建方法和系统、集成电路及制造方法技术方案

技术编号:10493633 阅读:150 留言:0更新日期:2014-10-03 20:42
本发明专利技术公开了跨时钟域的时钟树构建方法和系统、集成电路及制造方法。根据本发明专利技术的一个方面,提供了一种构建时钟树的方法,该方法包括以下步骤:获取描述集成电路的网表,该网表包括描述了属于多个时钟域的时钟接收端在集成电路图形上的物理位置和逻辑连接的数据;以及基于该网表构建跨时钟域的时钟树,使得属于不同的时钟域的时钟单元能够共享更多的物理位置。根据本发明专利技术,能够优化跨时钟域的时钟树,从而提升集成电路的性能。

【技术实现步骤摘要】
跨时钟域的时钟树构建方法和系统、集成电路及制造方法
本专利技术涉及集成电路(IC)设计,更具体地,涉及一种构建时钟树的方法和系统、集成电路及其制造方法。
技术介绍
典型的数字IC可以包含大量的逻辑元件和其他电路,以实现其逻辑功能。另外,IC芯片可以包含时钟树(即,时钟信号分布网络),用于将在其输入端接收的时钟信号分布到由该时钟信号供应时钟的所有时钟接收端(sink)。时钟树可以包括导线、缓冲器等,以分布控制IC的逻辑元件和其他电路的定时和操作的时钟信号。时钟接收端(或称接收端)指的是IC中包含的由时钟信号控制以增加时钟树的容量的逻辑元件和其他电路,诸如寄存器(触发器)、RAM、锁存器等。接收端可以根据时钟信号脉冲改变状态,IC通过用相同的时钟信号为时钟域中的各个接收端供应时钟来同步它们的状态改变。时钟偏差(clockskew)是评价时钟树性能和质量的一个重要方面。时钟偏差一般指的是来自外部时钟源的时钟信号到达任两个时钟接收端的时间之间的差异(延迟)。由于时钟树的各个分支到达不同时钟接收端的路径长度不同,因此各个时钟接收端间会有一定的时钟偏差。此外,为了将时钟信号传输到IC的每个区域,常常在时钟树中插入时钟单元(例如缓冲器)来放大或重发时钟信号。但是,由于时钟单元具有本征延迟,也可能带来一定的时钟偏差。因而,控制或限制时钟树的缓冲器的级数可以作为提高时钟树性能和IC设计质量的手段之一。理论上,如果到达各个时钟接收端的时钟树的各个分支包含的缓冲器的级数越少,且级数相同,则时钟偏差越小。但是,实际的IC设计很多情况下无法满足上述假设。通过随着数字IC设计的技术演进,公共路径(commonpath)对于改进时钟树中的偏差和定时变得重要。公共路径一般指的是在时钟树中由多个接收端共享的缓冲器构成的路径。公共路径越长,时钟信号传输到输入端的时钟偏差就越小。传统的技术采用了最大化公共路径的方法,即由接收端尽可能多地共享时钟树中的各级缓冲器。原则上,时钟树中的共享缓冲器越多,公共路径就越大,因而时钟树的性能优化,所设计的IC质量越高。其他的优化时钟树的手段包括例如使用能够减小时钟偏差的高性能的时钟单元(元件)等。
技术实现思路
本公开的专利技术人发现传统技术的优化时钟树的上述方案都是针对同一时钟域(clockdomain)的时钟树优化。但是,在实际应用中,IC的不同单元或模块在很多情况下需要不同的时钟频率、相位和波形,从而工作在不同的时钟域下。存在跨时钟域的许多数据通信。在这种情况下,由于时钟源完全不同,从逻辑角度看在多个不同时钟域之间根本没有公共路径。最大化同一个时钟域的公共路径的传统手段没有考虑这种情形,不能解决跨时钟域的时钟树性能优化的课题。因此,本专利技术人认识到IC逻辑设计存在跨时钟域的时钟树优化的重要需求。根据本专利技术的一个方面,提供了一种构建时钟树的方法,该方法包括以下步骤:获取描述集成电路的网表,该网表包括描述了属于多个时钟域的时钟接收端在集成电路图形上的物理位置和逻辑连接的数据;以及基于该网表构建跨时钟域的时钟树,使得属于不同的时钟域的时钟单元能够共享更多的物理位置。根据本专利技术的另一个方面,提供了一种构建时钟树的系统,包括:获取模块,被配置为获取描述集成电路的网表,该网表包括描述了属于多个时钟域的时钟接收端在集成电路图形上的物理位置和逻辑连接的数据;以及构建模块,被配置为基于该网表构建跨时钟域的时钟树,使得属于不同的时钟域的时钟单元能够共享更多的物理位置。根据本公开的另一方面,还提供一种制造集成电路的方法,该方法采用如根据上述实施方式的构建时钟树的方法来构建集成电路的时钟树。进而,基于网表和所构建的时钟树,采用本领域常用的和工具和方式进行IC设计、制造的后续处理。根据本专利技术的方面,能够优化跨时钟域的时钟树,从而提升集成电路的性能。附图说明通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框图。图2示出了根据本专利技术实施方式的构建时钟树的方法的流程图。图3示出了根据本专利技术实施方式的构建时钟树的方法中的处理的示例性实施例的流程图。图4示出了根据本专利技术实施方式的构建时钟树的方法中的处理的示例性实施例的流程图。图5示出了根据本专利技术实施方式的构建时钟树的方法中的处理的示例性实施例的流程图。图6示出了图解根据本专利技术实施方式的构建时钟树的方法中的处理的示意图。图7示出了图解根据本专利技术实施方式构建的时钟树的示例的示意图。图8示出了根据本专利技术实施方式的构建时钟树的系统的配置的框图。图9示出了图8所示的根据本专利技术实施方式的构建时钟树的系统的进一步配置的框图。图10示出了图9所示的根据本专利技术实施方式的构建时钟树的系统的进一步配置的框图。图11示出了图9所示的根据本专利技术实施方式的构建时钟树的系统的进一步配置的框图。具体实施方式下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。所属
的技术人员知道,本专利技术可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本专利技术还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本专利技术操作本文档来自技高网
...
跨时钟域的时钟树构建方法和系统、集成电路及制造方法

【技术保护点】
一种构建时钟树的方法,该方法包括以下步骤:获取描述集成电路的网表,所述网表包括描述了属于多个时钟域的时钟接收端在集成电路图形上的物理位置和逻辑连接的数据;以及基于所述网表构建跨时钟域的时钟树,使得属于不同的时钟域的时钟单元能够共享更多的物理位置。

【技术特征摘要】
1.一种构建时钟树的方法,该方法包括以下步骤:获取描述集成电路的网表,所述网表包括描述了属于多个时钟域的时钟接收端在集成电路图形上的物理位置和逻辑连接的数据;以及基于所述网表构建跨时钟域的时钟树,使得属于不同的时钟域的时钟单元能够共享更多的物理位置,该步骤包括:基于所述网表生成第一时钟域的第一时钟接收端分布图形拓扑和第二时钟域的第二时钟接收端分布图形拓扑;通过对所述第一时钟接收端分布图形拓扑和所述第二时钟接收端分布图形拓扑中的至少一个进行变换,生成合并的第三图形拓扑;以及基于合并的第三图形拓扑,构建所述时钟树使得属于不同的时钟域的时钟单元能够共享更多的物理位置。2.根据权利要求1所述的方法,其中,响应于所述第一时钟接收端分布图形拓扑和所述第二时钟接收端分布图形拓扑至少部分重叠,进行生成合并的第三图形拓扑的步骤;并且在基于合并的第三图形拓扑构建所述时钟树的步骤中,构建所述时钟树使得属于不同的时钟域的时钟单元能够共享更多的物理位置。3.根据权利要求1所述的方法,其中,生成合并的第三图形拓扑的步骤包括:在所述第一时钟接收端分布图形拓扑和所述第二时钟接收端分布图形拓扑中插入至少一个第一级时钟单元来分别驱动多个时钟接收端,所插入的所述第一级时钟单元代替其驱动的相应时钟接收端作为所变换的所述第一时钟接收端分布图形拓扑和所述第二时钟接收端分布图形拓扑的所述至少一个中的节点,以执行使所述第一时钟接收端分布图形拓扑和所述第二时钟接收端分布图形拓扑中的所述至少一个向其中心聚集和使所述第一时钟接收端分布图形拓扑和所述第二时钟接收端分布图形拓扑向彼此靠近的方向偏移这两个动作中的至少一个,从而进行所述变换,直到变换后的所述第一时钟接收端分布图形拓扑的边界区域和所述第二时钟接收端分布图形拓扑的边界区域相似且中心满足重叠条件;以及生成包括所插入的所述至少一个第一级时钟单元作为节点的所述合并的第三图形拓扑。4.根据权利要求3所述的方法,其中,在生成合并的第三图形拓扑的步骤中:选择所述第一时钟接收端分布图形拓扑和所述第二时钟接收端分布图形拓扑中的边界区域较大的一个进行所述变换;以及根据相应的时钟域的性能要求而对所述第一时钟接收端分布图形拓扑和所述第二时钟接收端分布图形拓扑设定的不同优先级而进行所述变换,使得其中优先级较高的时钟域的接收端分布图形拓扑在所述变换的过程中偏移相对较小。5.根据权利要求3所述的方法,其中,基于合并的第三图形拓扑构建所述时钟树的步骤进一步包括:将预定的物理和电学限制条件应用于所述合并的第三图形拓扑,以求解指示所驱动的接收端彼此通信的数目最大的节点之间应该聚集的优化聚集方案;通过在所述合并的第三图形拓扑中插入至少一个第二级时钟单元来分别驱动基于所求解的优化聚集方案要聚集的相应的一个以上的节点,聚集所述合并的第三图形拓扑,其中所插入的所述第二级时钟单元代替所述要聚集的相应的一个以上的节点作为所聚集的所述合并的第三图形拓扑中的节点,基于所聚集的所述合并的第三图形拓扑以单个时钟域的方式构建时钟树;以及复制所述时钟树中的驱动多个时钟域的节点的时钟单元,并将所复制的时钟单元移动到原始时钟单元的附近,使得一个时钟单元仅驱动相应一个时钟域的节点。6.根据权利要求5所述的方法,其中,所插入和所复制的时钟单元包括缓冲器。7.根据权利要求5所述的方法,还包括:利用导线连接所插入和所复制的时钟单元,以完成与不同时钟域对应的各个时钟树。8.根据权利要求5所述的方法,其中,求解优化聚集方案的步骤进一步包括:解如下的目标函数MaxF以得出MaxF为最大值时的优化矩阵CL其中,n表示所述合并的第三图形拓扑所具有的节点的数目;i和j代表所述合并的第三图形拓扑中的任意两个不同的节点,k代表第三图形拓扑中的除i和j之外的另一节点;CL代表待解矩阵,代表i和j是否应该聚集在一起,1代表是,0代表否;RM矩阵代表节点之间的逻辑连接数,其等于i节点包含的时钟接收端和j节点包含的时钟接收端之间的逻辑连接的总数;PL代表能够聚集到一个集合中的节点的数目的限制,PLMax是防止一个集合中的总引脚电容过大的标量;DIS代表能够聚集到一个集合中的节点之间的距离限制,如果由i和j之间的距离确定将i和j聚集在一起不会违反线电容限制,则DIS(i,j)取1,否则取0。9.一种构建时钟树的系统,包括:获取模块,被配置为获取描述集成电路的网表,所述网表包括描述了属于多个时钟域的时钟接收端在集成电路图形上的物理位置和逻辑连接的数据;以及构建模块...

【专利技术属性】
技术研发人员:吴列治徐越刘洋陈孙阳
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1