一种解决ICG时序收敛的方法、系统、设备和存储介质技术方案

技术编号:38001073 阅读:8 留言:0更新日期:2023-06-30 10:15
本发明专利技术提供一种解决ICG时序收敛的方法、系统、设备和存储介质,方法包括:根据一个ICG单元的总扇出数量和每个ICG单元的扇出数目的阈值初步确定所要复制的ICG单元的第一数量;生成第一数量个随机点以将寄存器分为第一数量个组,并根据每组中所有寄存器的坐标计算出第一数量个新的近似中心点坐标;根据所述新的近似中心点坐标将寄存器再次分为第一数量个组并再次计算出第一数量个新的近似中心点坐标,直到最新的近似中心点坐标与上一次结果相同,将所述最新的近似中心点坐标作为复制的ICG单元的摆放位置;以及响应于所有寄存器距离最近的最新的近似中心点坐标小于或等于距离阈值,复制所述第一数量个ICG单元。复制所述第一数量个ICG单元。复制所述第一数量个ICG单元。

【技术实现步骤摘要】
一种解决ICG时序收敛的方法、系统、设备和存储介质


[0001]本专利技术涉及芯片设计领域,更具体地,特别是指一种解决ICG时序收敛的方法、系统、设备和存储介质。

技术介绍

[0002]对低功耗设计的追求缘起于日渐膨胀的芯片功能,不断增高的运行频率和随之而来的高功耗与高发热等方面的因素渐渐对设备整体性能造成越来越严重的影响。从原理上说,功耗即为功率,指的是单位时间内消耗的能量,而芯片功耗主要分为静态功耗和动态功耗,动态功耗主要是由信号的翻转引起的,在芯片中,翻转最频繁的信号就是时钟(Clock)信号。时序路径前面的Register1的数据通过一系列运算后,在时钟信号CLK的作用下,被后面的Register2寄存器捕捉,完成一次数据传输。但在实际中会有这样的情况发生:Register1传过来的数据和Register2当前保存的数据相同,也就是Register2的数据无需翻转刷新仍能保证功能的正确性,而此时CLK仍然翻转一次刷新了Register2的数据。这种情况尽管在功能上没有任何问题,但是在功耗方面却是实实在在的浪费。因此,在电路设计阶段以及逻辑综合阶段,设计者和EDA(电子设计自动化)工具会根据芯片的功能和实际数据的变化情况,人为或者自动地插入一系列的clock gating cell(时钟门控单元),从而保证仅在数据发生变化的时候信号才会翻,但clock gating cell可以由与门或者或门构成,使用这两者会产生Glitch(毛刺)问题,因此目前都采用ICG(Integrated Clock Gating,综合门控时钟)。
[0003]对于ICG的setup timing(设置时间)天然存在clock skew(时钟偏差),而skew的大小完全取决于ICG距离sink Register有多远。因而在出现setup violation(建立时间违例)的ICG path(路径)上,比较多见的就是因为ICG和sink Register的clock之间存在较多逻辑或者物理上距离较远,从而导致偏差较大而发生setup violation。针对这种现象,在实际设计中,EDA工具也提供命令来收紧ICG的timing constraint(时序约束)来迫使工具来优化这些path,比如set_clock_gating_check命令,但设置clock gating check(时钟门控检查)比较麻烦,且不利于timing signoff(时序签证),容易遗漏实际需要门控检查的点从而出现毛刺,并且相同ICG cell(单元)控制的时序单元较多或者分布不均匀时,就会导致ICG cell连线过长。

技术实现思路

[0004]有鉴于此,本专利技术实施例的目的在于提出一种解决ICG时序收敛的方法、系统、计算机设备及计算机可读存储介质,本专利技术根据寄存器的摆放位置合理规划ICG单元的复制数量和最终摆放位置,尽可能的平衡ICG单元到达每个寄存器的距离以减少时钟偏差值,进而减少或消除建立时间违例。
[0005]基于上述目的,本专利技术实施例的一方面提供了一种解决ICG时序收敛的方法,包括如下步骤:根据一个ICG单元的总扇出数量和每个ICG单元的扇出数目的阈值初步确定所要
复制的ICG单元的第一数量;生成第一数量个随机点以将寄存器分为第一数量个组,并根据每组中所有寄存器的坐标计算出第一数量个新的近似中心点坐标;根据所述新的近似中心点坐标将寄存器再次分为第一数量个组并再次计算出第一数量个新的近似中心点坐标,直到最新的近似中心点坐标与上一次结果相同,将所述最新的近似中心点坐标作为复制的ICG单元的摆放位置;以及响应于所有寄存器距离最近的最新的近似中心点坐标小于或等于距离阈值,复制所述第一数量个ICG单元。
[0006]在一些实施方式中,所述方法还包括:响应于存在寄存器到最近的最新的近似中心点坐标的距离大于所述距离阈值,根据所述距离和所述第一数量确定所要复制的ICG单元的数量。
[0007]在一些实施方式中,所述根据所述距离和所述第一数量确定所要复制的ICG单元的数量包括:根据所述距离确定近似中心点坐标到距离最近的寄存器的距离大于所述距离阈值的组别中所要复制的ICG单元的数目,并根据所述数目和近似中心点坐标到最近的寄存器的距离大于距离阈值的组别数量得到第二数量;以及将所述第一数量和所述第二数量相加得到所要复制的ICG单元的数量。
[0008]在一些实施方式中,所述根据所述距离确定近似中心点坐标到距离最近的寄存器的距离大于所述距离阈值的组别中所要复制的ICG单元的数目,并根据所述数目和近似中心点坐标到最近的寄存器的距离大于距离阈值的组别数量得到第二数量包括:将所述距离除以所述距离阈值后向上取整得到近似中心点坐标到距离最近的寄存器的距离大于所述距离阈值的组别中所要复制的ICG单元的数目,将所述数目减一得到的结果与近似中心点坐标到寄存器的距离大于距离阈值的组别数量相乘得到第二数量。
[0009]在一些实施方式中,所述根据一个ICG单元的总扇出数量和每个ICG单元的扇出数目的阈值初步确定所要复制的ICG单元的第一数量包括:将不同工艺下一级缓存最多可驱动的寄存器数目与为使EDA工具在ICG单元到其控制的寄存器之间所加的缓存级数相乘得到每个ICG单元的扇出数目的阈值;以及将所述一个ICG单元的总扇出数量除以所述每个ICG单元的扇出数目的阈值得到第一数量。
[0010]在一些实施方式中,所述生成第一数量个随机点以将寄存器分为第一数量个组包括:计算每个寄存器到每个随机点的距离,并将寄存器划分到距离最近的随机点对应的组别。
[0011]在一些实施方式中,所述根据每组中所有寄存器的坐标计算出第一数量个新的近似中心点坐标包括:将每个组别中的所有寄存器的横纵坐标分别相加并除以所述组别中寄存器的数目得到所述组别的近似中心点坐标。
[0012]本专利技术实施例的另一方面,提供了一种解决ICG时序收敛的系统,包括:计算模块,配置用于根据一个ICG单元的总扇出数量和每个ICG单元的扇出数目的阈值初步确定所要复制的ICG单元的第一数量;分组模块,配置用于生成第一数量个随机点以将寄存器分为第一数量个组,并根据每组中所有寄存器的坐标计算出第一数量个新的近似中心点坐标;迭代模块,配置用于根据所述新的近似中心点坐标将寄存器再次分为第一数量个组并再次计算出第一数量个新的近似中心点坐标,直到最新的近似中心点坐标与上一次结果相同,将所述最新的近似中心点坐标作为复制的ICG单元的摆放位置;以及执行模块,配置用于响应于所有寄存器距离最近的最新的近似中心点坐标小于或等于距离阈值,复制所述第一数量
个ICG单元。
[0013]本专利技术实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
[0014]本专利技术实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种解决ICG时序收敛的方法,其特征在于,包括如下步骤:根据一个ICG单元的总扇出数量和每个ICG单元的扇出数目的阈值初步确定所要复制的ICG单元的第一数量;生成第一数量个随机点以将寄存器分为第一数量个组,并根据每组中所有寄存器的坐标计算出第一数量个新的近似中心点坐标;根据所述新的近似中心点坐标将寄存器再次分为第一数量个组并再次计算出第一数量个新的近似中心点坐标,直到最新的近似中心点坐标与上一次结果相同,将所述最新的近似中心点坐标作为复制的ICG单元的摆放位置;以及响应于所有寄存器距离最近的最新的近似中心点坐标小于或等于距离阈值,复制所述第一数量个ICG单元。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于存在寄存器到最近的最新的近似中心点坐标的距离大于所述距离阈值,根据所述距离和所述第一数量确定所要复制的ICG单元的数量。3.根据权利要求2所述的方法,其特征在于,所述根据所述距离和所述第一数量确定所要复制的ICG单元的数量包括:根据所述距离确定近似中心点坐标到距离最近的寄存器的距离大于所述距离阈值的组别中所要复制的ICG单元的数目,并根据所述数目和近似中心点坐标到最近的寄存器的距离大于距离阈值的组别数量得到第二数量;以及将所述第一数量和所述第二数量相加得到所要复制的ICG单元的数量。4.根据权利要求1所述的方法,其特征在于,所述根据所述距离确定近似中心点坐标到距离最近的寄存器的距离大于所述距离阈值的组别中所要复制的ICG单元的数目,并根据所述数目和近似中心点坐标到最近的寄存器的距离大于距离阈值的组别数量得到第二数量包括:将所述距离除以所述距离阈值后向上取整得到近似中心点坐标到距离最近的寄存器的距离大于所述距离阈值的组别中所要复制的ICG单元的数目,将所述数目减一得到的结果与近似中心点坐标到寄存器的距离大于距离阈值的组别数量相乘得到第二数量。5.根据权利要求1所述的方法,其特征在于,所述根据一个ICG单元的总扇出数量和每个ICG单元的扇出数目的阈值初步确定...

【专利技术属性】
技术研发人员:冯凯丽邱进超
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

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

1