评估时钟偏移的方法和装置制造方法及图纸

技术编号:8387225 阅读:132 留言:0更新日期:2013-03-07 07:53
提供了用于评估时钟偏移的方法和装置,所述方法包括:获取电路中各个时钟树对应的基本时钟偏移;判断两个单元是否位于同一时钟域中;在其位于不同时钟域的情况下,将单元之间的时钟偏移评估为,两个单元分别对应的时钟树的基本时钟偏移中较大的一个;在两个单元位于同一时钟域的情况下,进一步判断其是否位于同一电路层级逻辑块中;在其位于不同层级逻辑块的情况下,将单元之间的时钟偏移评估为,两个单元所在的时钟树的基本时钟偏移加上由不同层级逻辑块引起的时钟偏移。所述装置与方法对应。利用上述方法和装置,能够更加准确地评估电路中的时钟偏移,从而提高电路设计的效率。

【技术实现步骤摘要】

本专利技术涉及ASIC设计领域,更具体而言,涉及在ASIC设计过程中评估时钟偏移的方法和装置
技术介绍
在典型的ASIC(Application-Specific Integrated Circuit,专用集成电路)设计过程中,设计人员首先根据芯片电路所需的功能将电路划分为多个功能块,并用各种逻辑单元来实现各个功能块。这样的逻辑单元可以是各种连接点、逻辑门、寄存器等等。一般地,各种逻辑单元之间的连接关系记录在网表文件中。根据网表的记录,设计人员可以对各个逻辑单元进行初步的物理布局。从时序角度来说,网表中记录的逻辑单元包括组合逻辑单元和时序逻辑单元,其中组合逻辑单元,例如各种逻辑门,其操作状态仅与当时的输入变量的状态有关,而与历史状态和时序无关;而时序逻辑单元,例如寄存器、锁存器,需要依赖于时钟周期来维持和记录之前的状态。相应地,时序逻辑单元具有时钟针脚,来接收时钟输入。为了使得各个时序逻辑单元获得其需要的时钟输入,需要为时序逻辑单元设计时钟树,以示出从原始时钟源到目标时序逻辑单元的路径。一般地,时钟树包含作为时钟倍频器的锁相环PLL和用于驱动时序逻辑单元的缓冲器。接着,将设计的时钟树插入到电路设计中,进一步调整物理布局。然后,对电路进行时钟协调,在时序收敛(timing clean)的基础上对电路进行布局布线,完成设计。在以上设计并插入时钟树的过程中,时钟偏移(clock skew)是要考虑的重要因素。如上所述,整个电路的所有时序逻辑单元都需要提供有时钟信号,然而从时钟源到各个时序逻辑单元所经历的路径并不相同,这会导致时钟信号到达不同时序逻辑单元的时间不同。这样的时间差异也称为时钟偏移。引起时钟偏移的因素有多种,包括不同单元之间路径长度的差异、负载个数和大小的差异,以及OCV(on-chip variation,片上工艺差异)引起的偏移,等等。其中OCV差异包含制造工艺引起的差异、操作电压差异、环境温度差异等坐寸ο理想地,在设计时钟树的过程中,考虑与时钟相关的各个因素而评估时钟偏移,从而获得偏移最小的时钟树。在插入时钟树时,基于评估的时钟偏移,利用布局辅助工具(例如ros),对布局进行调整,来进一步减小时钟偏移,并最终使得时序收敛。因此,对时钟偏移的准确估计非常重要。在现有技术中,通常由设计人员根据时钟树中的时序逻辑单元的数目和位置来评估时钟偏移;或者,也可以借助时钟评估工具来进行时钟偏移的评估。评估工具主要依据时钟树中缓冲器的类型、缓冲器的扇出、芯片大小等因素来评估时钟偏移。但是,以上的评估方式仍存在较大不足。首先,由于所考虑的因素不够全面,使得评估结果不够精确。此外,以上方式通常给出一个全局的偏移值作为一个时钟树的时钟偏移,该全局偏移值通常是时钟路径差异最大的两个单元之间的信号到达时间差。而这样的全局偏移值显然无法准确描述任意两个单元之间的时钟差。出于以上原因,对电路中各个时序逻辑单元的时钟偏移的估计往往不够准确,出现估计不足或过度估计两种情况。对时钟偏移的估计不足使得在时钟树插入之后仍存在较大的时序缺陷有待修补;对时钟偏移的过度估计则会使得布局辅助工具为了减小时钟偏移而进行过度的优化工作,增加不必要的消耗。因此,希望提供一种优化的方式,能够更加准确有效地评估时钟偏移,从而提高ASIC设计的效率。
技术实现思路
鉴于以上的问题,提出本专利技术,旨在提供一种用于评估时钟偏移的方法和装置,以克服现有技术中的至少一项不足,更准确地评估电路中时序逻辑单元之间的时钟偏移。根据本专利技术第一方面,提供了一种用于评估时钟偏移的方法,包括获取电路中各个时钟树对应的基本时钟偏移;判断电路中的第一单元和第二单元是否位于同一时钟域中;响应于第一单元和第二单元位于不同时钟域,将第一单元和第二单元之间的时钟偏移评估为,第一单元和第二单元分别对应的时钟树的基本时钟偏移中较大的一个;响应于第一单元和第二单元位于同一时钟域,进一步判断第一单元和第二单元是否位于同一电路层·级逻辑块中;响应于第一单元和第二单元位于不同层级逻辑块,将第一单元和第二单元之间的时钟偏移评估为,第一单元和第二单元所在的时钟树的基本时钟偏移加上由不同层级逻辑块引起的时钟偏移。根据本专利技术第二方面,提供了一种用于评估时钟偏移的装置,包括基本偏移获取模块,配置为获取电路中各个时钟树对应的基本时钟偏移;时钟域判断模块,配置为判断电路中的第一单兀和第二单兀是否位于同一时钟域中;第一评估模块,配置为,响应于第一单元和第二单元位于不同时钟域,将第一单元和第二单元之间的时钟偏移评估为,第一单元和第二单元分别对应的时钟树的基本时钟偏移中较大的一个;层级判断模块,配置为,响应于第一单元和第二单元位于同一时钟域,判断第一单元和第二单元是否位于同一电路层级逻辑块中;第二评估模块,配置为,响应于第一单元和第二单元位于不同层级逻辑块,将第一单元和第二单元之间的时钟偏移评估为,第一单元和第二单元所在的时钟树的基本时钟偏移加上由不同层级逻辑块引起的时钟偏移。利用以上的方法和装置,能够对电路中的时序逻辑单元之间的时钟偏移进行更加准确地评估,从而有利于电路设计效率的提高。附图说明图I示例出根据本专利技术一个实施例的评估时钟偏移的流程图;图2A示出一个电路的时钟连接的例子;图2B示出电路中时钟连接的另一例子;图3A示出一个电路时钟路径的例子;图3B示出对图3A的电路时钟路径进行改进的例子;图4A示出另一个电路时钟路径的例子;图4B不出对图4A的电路时钟路径进彳丁改进的例子;图5示出根据本专利技术一个实施例的用于评估时钟偏移的装置的示意框图;以及图6示出了适于用来实现本专利技术实施方式的示例性计算系统的框图。具体实施例方式下面对本专利技术的具体实施方式进行详细描述。所属
的技术人员知道,本专利技术的多个方面可以体现为系统、方法或计算机程序产品。因此,本专利技术的多个方面可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本专利技术的多个方面还可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可用的程序码。可以使用一个或多个计算机可读的介质的任何组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或任何以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括以下有一个或多个导线 的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任何合适的组合。在本文件的语境中,计算机可读存储介质可以是任何包含或存储程序的有形的介质,该程序被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可包括在基带中或者作为载波一部分传播的、其中体现计算机可读的程序码的传播的数据信号。这种传播的信号可以采用多种形式,包括——但不限于——电磁信号、光信号或任何以上合适的组合。计算机可读的信号介质可本文档来自技高网
...

【技术保护点】
一种用于评估时钟偏移的方法,包括:获取电路中各个时钟树对应的基本时钟偏移;判断电路中的第一单元和第二单元是否位于同一时钟域中;响应于第一单元和第二单元位于不同时钟域,将第一单元和第二单元之间的时钟偏移评估为,第一单元和第二单元分别对应的时钟树的基本时钟偏移中较大的一个;响应于第一单元和第二单元位于同一时钟域,进一步判断第一单元和第二单元是否位于同一电路层级逻辑块中;响应于第一单元和第二单元位于不同层级逻辑块,将第一单元和第二单元之间的时钟偏移评估为,第一单元和第二单元所在的时钟树的基本时钟偏移加上由不同层级逻辑块引起的时钟偏移。

【技术特征摘要】

【专利技术属性】
技术研发人员:李恭琼戴红卫谈珺牛佳
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1