本发明涉及电路设计技术领域,尤其涉及电路设计的时钟综合结果评价方法。
背景技术:
超深亚微米、纳米工艺等在互联网、手机移动、物联网等应用的催发下日趋成熟。处于市场应用和制造产业之间的集成电路设计,受到前后夹击,面临巨大挑战。
时钟综合属于电路设计中的后端设计,具体而言,位于物理布局之后,布线之前,主要完成从时钟源点到该时钟上所有同步单元的有效时钟路径连接。对于后端设计来说,电路满足时序约束是其完成的必要条件,而时钟综合的好坏则影响时序分析的结果。
目前,主流的后端设计流程,还无法实现全自动化,仍需要大量的人为控制。尽管存在专门的EDA工具,能够对时钟综合的好坏进行评价,但从效率和成本考虑,当前的时钟综合结果是否可以接受,是否需要新一轮迭代,如何迭代,仍然是需要人工干预的过程。而人工干预的依据正是时钟综合工具生成的中间结果文件。
该中间结果文件,通常包含两个部分:一部分是以时钟树为单位,综合性地统计延时、偏差、功耗,报告时钟结构;另一部分,则以具体的同步单元为对象,报告其延时等相关的路径信息。以时钟树为单位的统计,是一种相当粗粒度的分析,没有反映具有时序依赖关系的同步单元之间的时钟树综合的情况,往往导致对时钟综合更高更严格的要求,增加设计流程中的迭代次数,降低设计效率。
因而,提出一种新的基于时序依赖关系的时钟综合结果评价方法,能够直接用于评价时钟综合的好坏,降低人工干预带来的不利影响成为亟待解决的问题。
技术实现要素:
为了解决现有技术存在的不足,本发明的目的在于提供一种基于时序依赖关系的时钟综合结果评价方法,利用时钟树上同步单元之间的时序依赖关系提取结群,对单个结群进行时钟综合结果的评价,从而加速设计流程,提高设计效率。
为实现上述目的,本发明提供的基于时序依赖关系的时钟综合结果评价方法,包括以下步骤:
1)对时钟同步单元,基于时序依赖关系进行结群;2)对单个结群进行时钟综合结果的评价。
进一步地,在所述步骤1)、步骤2)之间还包括对所述结群行变种处理的步骤。
进一步地,所述步骤1)包括以下步骤:
11)以某一时钟同步单元作为当前结群中的第一个点;12)将接收所述某一时钟同步单元传输的数据信号的其他时钟同步单元加入到所述当前结群;13)将发送数据信号给所述某一时钟同步单元的剩余时钟同步单元加入到所述当前结群;14)对所述当前结群中未执行步骤11)的时钟同步单元,执行步骤11)、12)及13)。
进一步地,对所述结群进行变种处理,包括以下步骤:
31)将所有的所述结群映射到所有的时钟树上;32)依据结群变种的策略,对所述结群进行调整。
进一步地,对所述结群进行变种处理,还包括以下步骤:
当所述时钟树包含子结群时,所述子结群在所述时钟树上视为等同于其他结群的独立结群。
进一步地,步骤32)中对所述结群进行调整,包括:对所述结群进行合并或者切分。
进一步地,所述步骤2)中包括:
21)统计所述单个结群中所有的时钟同步单元的传统参数;22)统计所述单个结群中所有的时钟同步单元在时钟树上路径的最大及最小门级数;23)统计所述单个结群中所有的时钟同步单元延时的期望值和标准差。
进一步地,所述传统参数包括:最长延时、最短延时及延时偏差。
本发明提出的基于时序依赖关系的时钟综合结果评价方法,目的在于更准确地评估时钟综合结果,避免无意义的开发流程迭代,缩短设计周期。该方法依据同步单元之间是否存在数据传输通路,自动生成基于时序依赖关系的结群;对时钟综合结果的评价,忽略不同结群之间的差异,只关注一个结群内同步单元之间的延时、偏差等特性。这种方法应用在复杂时钟树结构的设计当中,有助于改善对时钟综合结果的认知程度,可以有效提高时钟树综合的迭代效率。
本发明提出的基于时序依赖关系的时钟综合结果评价方法,针对于时钟树,基于结群进行处理。结群的过程中,利用时钟树上同步单元之间的时序依赖关系。一棵时钟树可能包含一个或多个结群:当一棵时钟树只包含一个结群时,本发明的评价方法的粒度与针对一颗时钟树时的相同;当一棵时钟树包含多个结群时,本发明的评价方法的粒度可以分三个粒度层次,反映时钟综合的结果:首先,以时钟树为最粗粒度层次,统计延时、偏差及功耗;其次,以结群为单位,统计结群内部的延时、偏差、功耗等时钟综合(CTS)关注的参数,引入分布曲线的概念;最后,计算各个同步单元具体的延时信息、路径信息等。
本发明提出的基于时序依赖关系的时钟综合结果评价方法,可用于丰富传统的时钟综合评价,将在时钟综合(CTS)过程中被忽略的数据路径以结群的形式融入到其最终的时钟综合评价中,使时钟综合工具的使用者在一定程度上结合时序约束,对时钟综合(CTS)的结果好坏有更清晰和正确的认识,从而实施最有效的约束配置,避免无意义的流程迭代,从而起到加速设计流程,提高设计效率的目的。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的基于时序依赖关系的时钟综合结果评价方法流程图;
图2为根据本发明的时序依赖关系具有传递性的原理示意图;
图3为根据本发明的基于时序依赖关系进行结群的过程示意图;
图4为根据本发明包含多个结群的时钟树的示意图;
图5为根据本发明的同一结群内时钟同步单元的延时比较获得结群的偏差示意图;
图6为根据本发明的时钟同步单元的延时分布曲线图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为根据本发明的基于时序依赖关系的时钟综合结果评价方法流程图,下面将参考图1,对本发明的基于时序依赖关系的时钟综合结果评价方法进行详细描述。
在步骤101,基于电路输入信息,进行时钟综合;
该步骤中,时钟综合是进行时钟综合结果评价方法的处理对象,并不是本发明实现过程中必须具有的步骤。
在步骤102,对时钟同步单元,基于时序依赖关系进行结群;
图2为根据本发明的时序依赖关系具有传递性的原理示意图,下面结合图2,对时序依赖关系的传递性进行详细的解释。并且图2中的FF0、FF1、FF2及FF3均为时钟同步单元。
在电路设计中,当两个时钟同步单元之间存在有效的数据传递(以信号传输方向为基准,从前一个时钟同步单元的输出端输出的数据经过组合逻辑电路被后另一个时钟同步单元的输入端接收)时,被认为他们之间存在时序依赖关系,在最终数据路径进行时序约束检验时,需要满足数据建立(SETUP)和数据保持(HOLD)的时延约束条件。和某一个时钟同步单元具有时序依赖关系的所有其它时钟同步单元因该时钟同步单元而形成了对时延的彼此制约,进而使得时序依赖关系具有传递性。结群即建立在传递性的时序依赖关系基础之上。
在图2中,时钟同步单元FF0的输出端Q输出的数据经过中间的组合逻辑电路传递到时钟同步单元FF1的输入端D。同样,时钟同步单元FF1的输出端Q输出数据传递到时钟同步单元FF2的输入端D。在检查数据路径的时序约束时,只针对有直接约束关系的时钟同步单元组,FF0/FF1组及FF1/FF2组进行,时钟同步单元FF0和时钟同步单元FF2不存在直接约束关系。但时钟同步单元FF1作为交叉节点,时钟信号到达时间同时影响FF0/FF1和FF1/FF2的约束计算,时钟同步单元FF0和时钟同步单元FF2的时钟信号到达时间都需以时钟同步单元FF1为参考,这就构成了间接的时序依赖关系。而时钟同步单元FF3同其余三个时钟同步单元均不存在数据通路,不具备时序依赖。
对于时钟综合来说,可以通过结群来评价其时钟综合结果也正是由于上述原因。不具有时序依赖关系的时钟同步单元之间因不存在时序约束,所以时延相关性为零,对其进行时延的比较,偏差的计算对时序满足是没有意义的。
图3为根据本发明的基于时序依赖关系进行结群的过程示意图,参照图3,对结群过程进行阐述,结群过程包括:
(1) 以某一时钟同步单元作为当前结群中的第一个点,该某一时钟同步单元的数据输出端发出数据信号,将所有数据输入端接收了该数据信号的其他时钟同步单元加入当前结群;
(2)以该某一时钟同步单元的数据输入端作为信号接收点,反向检查电路,将所有可以向该某一时钟同步单元的数据输入端传递数据信号的剩余时钟同步单元加入当前结群;
(3)从当前结群中选取未执行步骤(1)的时钟同步单元,执行步骤(1)及步骤(2),并将所获得的尚未被加入当前结群的时钟同步单元加入当前结群;
(4)重复执行步骤(3),直到当前结群中的所有时钟同步单元均已执行步骤(1),并且不再有新的时钟同步单元加入当前结群。
用户定义的时钟树,可能包含一个结群、多个结群或者结群的子群。如图3所示,结群后,时钟CLK包含结群{FF0,FF1,FF2}及结群{ FF3,FF4,FF5,FF6} 的子群{ FF3,FF4}。结合时钟结构,以及结群在时钟树上的分布,可以对结群进行适当的调整,从而更清晰地呈现结群在时钟树上的综合结果。
在步骤103,对结群进行变种处理;
在该步骤中,将步骤102中得到所有的结群映射到所有的时钟树上。根据时钟树上具体的结群分布情况,可依据结群变种的策略,对结群进行调整。对于时钟树上包含子结群的情况,子结群在时钟树上视为等同于其他结群的独立结群进行分析。
图4为根据本发明的包含多个结群的时钟树的示意图,下面结合图4,详细阐述结群的变种过程。
当时钟树上的某个结群所包含的时钟同步单元个数多,并且从时钟信号源点到这些时钟同步单元的时钟结构较复杂(主要表现为分支多,路径多)时,时钟综合本身难度大,同一结群内的时钟同步单元,延时可能参差不齐。此时可以对结群(如结群A)进行更细粒度地切分。对各个子群分别处理,可以增强评价时钟综合结果的针对性;
当时钟树上结群个数多,单个结群包含同步单元个数少,时钟结构相对简单,可以对结群(如结群C)进行合并。依据不同的时钟综合工具的效能,适当减少时钟树上结群的个数,可以降低评价时钟综合结果的复杂度。
当然,也可以不对结群进行变种处理,而直接执行步骤104。
在步骤104,对单个结群进行时钟综合结果的评价;
在该步骤中,以单个结群的所有时钟同步单元为对象。
首先,统计时钟同步单元的传统参数,如最长延时、最短延时及延时偏差等,其中,图5为根据本发明的同一结群内时钟同步单元的延时比较获得结群的偏差的示意图,参考图5,结群偏差的计算可以有两种手段:
(A)传统的偏差计算方法,即计算最长延时和最短延时的差值;
(B)计算时钟路径上的逻辑门的级数偏差,即逻辑门个数的最大值和最小值的差值。对于不同工艺而言,相同的时钟结构可能会有较大的延时上的差别,而时钟路径的级数却是一个相对稳定的值,这将便于用户对时钟综合结果形成直观的理解。
其次,统计单个结群中所有时钟同步单元延时的期望值和标准差,其中,图6为根据本发明的时钟同步单元的延时分布曲线图(针对一个时钟同步单元的延时的集合)。参考图6,计算延时的方差和标准差。从偏差的角度而言,分布曲线越集中,说明时钟综合的偏差越小,效果越好;相反,曲线越扁平,说明偏差越大,效果越差。期望值的分布靠近最大延时,还是靠近最小延时,可能会影响下一轮迭代的策略。其中,分布曲线可以采用正态分布曲线,统计延时。
该步骤中针对单个结群进行评价的方法,同样适用于单棵时钟树,以时钟树上所有有效的时钟同步单元为处理对象。
通过前述步骤已经实现了本发明的时钟综合结果评价方法,但是还可以继续执行步骤105,进一步完善本发明的时钟综合结果评价方法。
在步骤105,从时钟树、结群及时钟同步单元的角度评价时钟综合。
首先,参考对单个结群的时钟综合评价的方法,对时钟树进行宏观的延时、偏差、功耗等的统计;
其次,基于时钟树上的结群,依据对单个结群进行时钟综合评价的方法,分析结群在时钟树上的结果;
最后,依据传统方法,给出每个时钟同步单元在时钟树上的延时等信息。
本发明提出的基于时序依赖关系的时钟综合结果评价方法,目的在于更准确地评估时钟综合结果,避免无意义的开发流程迭代,缩短设计周期。该方法依据同步单元之间是否存在数据传输通路,自动生成基于时序依赖关系的结群;对时钟综合结果的评价,忽略不同结群之间的差异,只关注一个结群内同步单元之间的延时、偏差等特性。这种方法应用在复杂时钟树结构的设计当中,有助于改善对时钟综合结果的认知程度,可以有效提高时钟树综合的迭代效率。
本发明提出的基于时序依赖关系的时钟综合结果评价方法,针对于时钟树,基于结群进行处理。结群的过程中,利用时钟树上同步单元之间的时序依赖关系。一棵时钟树可能包含一个或多个结群:当一棵时钟树只包含一个结群时,本发明的评价方法的粒度与针对一颗时钟树时的相同;当一棵时钟树包含多个结群时,本发明的评价方法的粒度可以分三个粒度层次,反映时钟综合的结果:首先,以时钟树为最粗粒度层次,统计延时、偏差及功耗;其次,以结群为单位,统计结群内部的延时、偏差、功耗等时钟综合(CTS)关注的参数,引入分布曲线的概念;最后,计算各个同步单元具体的延时信息、路径信息等。
本发明提出的基于时序依赖关系的时钟综合结果评价方法,可用于丰富传统的时钟综合评价,将在时钟综合(CTS)过程中被忽略的数据路径以结群的形式融入到其最终的时钟综合评价中,使时钟综合工具的使用者在一定程度上结合时序约束,对时钟综合(CTS)的结果好坏有更清晰和正确的认识,从而实施最有效的约束配置,避免无意义的流程迭代,从而起到加速设计流程,提高设计效率的目的。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。