CN117151015A - 集成电路布局布线方法、装置、集成电路芯片 - Google Patents
集成电路布局布线方法、装置、集成电路芯片 Download PDFInfo
- Publication number
- CN117151015A CN117151015A CN202311196568.0A CN202311196568A CN117151015A CN 117151015 A CN117151015 A CN 117151015A CN 202311196568 A CN202311196568 A CN 202311196568A CN 117151015 A CN117151015 A CN 117151015A
- Authority
- CN
- China
- Prior art keywords
- integrated circuit
- violations
- sub
- circuit layout
- clock
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000001360 synchronised effect Effects 0.000 claims abstract description 43
- 238000013461 design Methods 0.000 claims abstract description 32
- 238000004590 computer program Methods 0.000 claims description 15
- 230000008439 repair process Effects 0.000 claims description 15
- 230000015572 biosynthetic process Effects 0.000 claims description 13
- 238000003786 synthesis reaction Methods 0.000 claims description 13
- 230000006399 behavior Effects 0.000 claims description 9
- 239000000872 buffer Substances 0.000 description 12
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000009795 derivation Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000012300 Sequence Analysis Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Architecture (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请涉及一种集成电路布局布线方法、装置、集成电路芯片。所述方法包括:获取初始集成电路布局;初始集成电路布局为在预设的触发器布局约束下生成的针对目标集成电路设计任务的集成电路布局;触发器布局约束包括同一同步电路包含的至少两个触发器捆绑成组;从初始集成电路布局对应的时钟树中确定存在违例的子时钟树;违例用于表征相应的同步电路中至少两个触发器未处于同一子时钟树上;按照预设的违例修复方式,调整各存在违例的子时钟树上挂载的触发器在初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局。采用本方法能够实现同步器零时钟偏移,保证了同步器多个标准单元距离相近。
Description
技术领域
本申请涉及集成电路技术领域,特别是涉及一种集成电路布局布线方法、装置、集成电路芯片。
背景技术
在集成电路设计工具的物理实现流程中,通常是采用时序约束级联触发器之间的max delay(最大延迟)。
由于自动布局布线生成的版图中,依靠工具只获得了针对多触发器同步器延迟的约束,仍可能在满足max delay的约束下,出现距离过远、skew偏斜过大的情况,造成同步器存在时钟偏斜,集成电路中多个时钟同步效果不佳。
发明内容
基于此,有必要针对上述技术问题,提供一种能够实现同步器零时钟偏斜的集成电路布局布线方法、装置、集成电路芯片。
第一方面,本申请提供了一种集成电路布局布线方法,所述方法包括:
获取初始集成电路布局;所述初始集成电路布局为在预设的触发器布局约束下生成的针对目标集成电路设计任务的集成电路布局;所述触发器布局约束包括同一同步电路包含的至少两个触发器捆绑成组,所述同步电路中的触发器之间存在预设的位置约束关系;
从所述初始集成电路布局对应的时钟树中确定存在违例的子时钟树;所述违例用于表征相应的同步电路中所述至少两个触发器未处于同一子时钟树上;
按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局。
在其中一个实施例中,所述获取初始集成电路布局,包括:
按照触发器两两捆绑成组的方式,约束EDA工具在所述目标集成电路设计任务中的触发器布局行为,得到所述初始集成电路布局。
在其中一个实施例中,所述从所述初始集成电路布局对应的时钟树中确定存在违例的子时钟树,包括:
根据所述初始集成电路布局进行时钟树综合,得到所述初始集成电路布局对应的时钟树;
按照所述初始集成电路布局的触发器分组信息,从所述时钟树包含的子时钟树中,确定多个所述违例,以及各所述违例对应的子时钟树。
在其中一个实施例中,所述按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局,包括:
若检测到相邻的所述存在违例的子时钟树之间具有偶数个所述违例,交换所述违例对应的触发器挂载位置,以在相邻的所述存在违例的子时钟树之间成对消除所述违例;
若检测到相邻的所述存在违例的子时钟树之间具有奇数个所述违例,将扇出未超出最大扇出约束的子时钟树,作为目标子时钟树,将所述违例对应的触发器挂载至所述目标子时钟树。
在其中一个实施例中,所述按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局,包括:
针对所述存在违例的子时钟树上挂载的未分组触发器,若检测到处于不同子时钟树上的所述未分组触发器之间的距离小于预设距离阈值,将至少两个所述未分组触发器捆绑成组;
返回所述若检测到相邻的所述存在违例的子时钟树之间具有偶数个所述违例的步骤。
在其中一个实施例中,所述按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局,包括:
通过在相邻的所述存在违例的子时钟树之间进行违例修复后,针对所述存在违例的子时钟树的扇出超出最大扇出约束的情况,在所述存在违例的子时钟树中添加子时钟树分支;
将所述存在违例的子时钟树中预设数量的触发器,挂载至所述子时钟树分支。
第二方面,本申请还提供了一种集成电路布局布线装置,所述装置包括:
初始集成电路布局获取模块,用于获取初始集成电路布局;所述初始集成电路布局为在预设的触发器布局约束下生成的针对目标集成电路设计任务的集成电路布局;所述触发器布局约束包括同一同步电路包含的至少两个触发器捆绑成组,所述同步电路中的触发器之间存在预设的位置约束关系;
违例确定模块,用于从所述初始集成电路布局对应的时钟树中确定存在违例的子时钟树;所述违例用于表征相应的同步电路中所述至少两个触发器未处于同一子时钟树上;
目标集成电路布局得到模块,用于按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局。
第三方面,本申请还提供了一种集成电路芯片,包括如第一方面所述的集成电路布局布线方法的步骤布局的同步电路。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取初始集成电路布局;所述初始集成电路布局为在预设的触发器布局约束下生成的针对目标集成电路设计任务的集成电路布局;所述触发器布局约束包括同一同步电路包含的至少两个触发器捆绑成组,所述同步电路中的触发器之间存在预设的位置约束关系;
从所述初始集成电路布局对应的时钟树中确定存在违例的子时钟树;所述违例用于表征相应的同步电路中所述至少两个触发器未处于同一子时钟树上;
按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取初始集成电路布局;所述初始集成电路布局为在预设的触发器布局约束下生成的针对目标集成电路设计任务的集成电路布局;所述触发器布局约束包括同一同步电路包含的至少两个触发器捆绑成组,所述同步电路中的触发器之间存在预设的位置约束关系;
从所述初始集成电路布局对应的时钟树中确定存在违例的子时钟树;所述违例用于表征相应的同步电路中所述至少两个触发器未处于同一子时钟树上;
按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局。
上述一种集成电路布局布线方法、装置、集成电路芯片,通过获取初始集成电路布局,该初始集成电路布局为在预设的触发器布局约束下生成的针对目标集成电路设计任务的集成电路布局,该触发器布局约束包括同一同步电路包含的至少两个触发器捆绑成组,该同步电路中的触发器之间存在预设的位置约束关系,然后从初始集成电路布局对应的时钟树中确定存在违例的子时钟树,该违例用于表征相应的同步电路中至少两个触发器未处于同一子时钟树上,进而按照预设的违例修复方式,调整各存在违例的子时钟树上挂载的触发器在初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局,实现了集成电路中同步器零时钟偏移,能够保证双触发器同步器或多触发器同步器的多个标准单元距离相近,且时钟连接到同一个时钟驱动以达到零偏移。
附图说明
图1为一个实施例中集成电路的示意图;
图2为一个实施例中集成电路布局布线方法的流程示意图;
图3为一个实施例中集成电路布局布线处理流程的示意图;
图4为另一个实施例中集成电路布局布线方法的流程示意图;
图5为一个实施例中集成电路布局布线装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在集成电路设计中,由于电路功能的设计需求,需要在一个电路中使用到多个时钟。异步时钟间信号直接传输,可能在信号跳变时违背接受时钟域的时序要求(建立时间约束,保持时间约束),容易产生亚稳态,导致接收端采样的数据不准确。亚稳态是指触发器的输出信号无法在某个规定时间段内达到一个稳定的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。
常见的同步器是使用两级寄存器,即使用寄存器打两拍的方式进行同步。同步器是通过采样一个异步信号,采样输出能够同步到本地或采样时钟的模块。此类两级寄存的同步器如图1所示。
当在跨时钟域中传输单比特数据时,可以先在源时钟域将被传输数据打一拍,然后再对目的时钟域打两拍,可以使得获得的数据在绝大多数情况下稳定。在实际电路中,亚稳态的情况较容易受到噪声、电压等外部因素影响,在经过一定时间后逐渐趋于稳定,打两拍可以看作是一个将信号延后两个周期的处理,目的是要使得处于亚稳态的信号有足够长的趋于稳定的时长。
此外,仍然有可能级联的第二个寄存器输出还会表现为非稳定状态,但双寄存同步器已经可以解决大部分这类亚稳态问题。在设计这种同步器的时候应当注意遵循以下原则:
1、级联的寄存器需要使用同一个采样时钟,时钟的延迟(latency)尽可能相同,偏斜(skew)尽可能的小;
2、发送端时钟域寄存器输出和接收端异步时钟域级联寄存器输入之间不能有任何其他组合逻辑。
3、同步器中级联的寄存器中除了最后一个寄存器外所有的寄存器只能有一个扇出,即其只能驱动下一级寄存器的输入。
在高速、超高速设计中,两级的MTBF可能还不够;或者针对重点信号,为了保险会采样三级或多级同步器。两级寄存器和三级寄存器的MTBF计算公式如下:
在集成电路的物理设计阶段,也需要对两级或多级同步器特别处理。实际中对双触发器同步器在物理设计上的要求是:距离上尽可能的近,时钟偏斜尽可能小,时钟树尽可能等长。这样就可以使得跨时钟域的平均失效时间尽可能的长。
在EDA工具的物理实现流程中,传统方法是只采用时序约束级联触发器之间的maxdelay。在自动布局布线生成的版图中,工具只获得了延迟的约束,并没有物理位置上的任何约束,且工具的布局操作对象是标准单元,并不会对多个触发器编组操作,仍可能在满足max delay的约束下,出现距离过远,skew过大的情况。传统方法也可以采用定制电路的方式,设计一个可以包含两级或多级触发器级联功能的同步电路标准单元,以满足上述的三个要求,但此方法需要的人力物力成本较大,耗时较长。
本申请可以在尽可能小的代价下,如PPA(Power Performance Area,性能、功耗、面积)、Runtime(运行时间,例如时钟树综合步骤的时间)等,保证双触发器同步器或多触发器同步器的多个标准单元距离相近,且时钟pin连接到同一个时钟驱动以达到0skew(偏斜)。
在一个实施例中,如图2所示,提供了一种集成电路布局布线方法,本实施例以该方法应用于终端进行举例说明。本实施例中,该方法包括以下步骤:
步骤201,获取初始集成电路布局;所述初始集成电路布局为在预设的触发器布局约束下生成的针对目标集成电路设计任务的集成电路布局;
其中,触发器布局约束可以包括同一同步电路包含的至少两个触发器捆绑成组,如采用将触发器两两捆绑成组的方式。集成电路中可以包含多个同步电路,每个同步电路可以包括头尾相连的至少两个触发器,如图1所示的电路图,双触发器同步器中触发器指的是图1中时钟2连接的两个方块(即触发器)。
作为一示例,同一同步电路中的触发器之间存在预设的位置约束关系,如同一同步电路中的触发器遵从输入的距离和相对位置的约束。
在实际应用中,在EDA(Electronic design automation,电子设计自动化)工具的布局阶段,可以按照触发器两两捆绑成组的方式(即预设的触发器布局约束),约束EDA工具在目标集成电路设计任务中的触发器布局行为,进而可以针对目标集成电路设计任务得到初始集成电路布局。
步骤202,从所述初始集成电路布局对应的时钟树中确定存在违例的子时钟树;
作为一示例,违例可以用于表征相应的同步电路中至少两个触发器未处于同一子时钟树上。
在得到初始集成电路布局后,可以根据该初始集成电路布局进行时钟树综合,得到初始集成电路布局对应的时钟树,进而可以按照初始集成电路布局的触发器分组信息,从时钟树包含的子时钟树中,确定多个违例,以及各违例对应的子时钟树,还可以得到各违例对应的子时钟树的扇出。
示例性地,可以在时钟树综合后,使用脚本和目标集成电路设计任务给定的同步器列表,确定触发器分组信息,进而可以基于该触发器分组信息检测得到多触发器处于不同子时钟树的违例,例如,可以查找出存在违例的触发器分组、违例涉及的子时钟树及其扇出。
步骤203,按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局。
在具体实现中,在检测到多触发器处于不同子时钟树的违例后,可以通过ECO(Engineering Change Order,工程改变命令)方式,基于设置命令修改时钟树,即按照预设的违例修复方式,调整各存在违例的子时钟树上挂载的触发器在初始集成电路布局中的连接关系,进而可以得到零时钟偏移的目标集成电路布局。
在一个可选实施例中,为了在保证时钟树的最大扇出(max fanout)不产生违例的同时,达成0skew的目标,可以采用的违例修复手段包括但不限于交换sinks,插入buffer等,进而可以基于修复结果完成剩余自动布局布线的流程。从而基于零时钟偏移的目标集成电路布局,可以使得runtime增加的时间较少,反相器或缓冲器增加较少,能够保证双触发器同步器或多触发器同步器的多个标准单元距离相近,且时钟pin连接到同一个时钟驱动以达到0skew(偏斜)。
上述集成电路布局布线方法中,通过获取初始集成电路布局,该初始集成电路布局为在预设的触发器布局约束下生成的针对目标集成电路设计任务的集成电路布局,该触发器布局约束包括同一同步电路包含的至少两个触发器捆绑成组,该同步电路中的触发器之间存在预设的位置约束关系,然后从初始集成电路布局对应的时钟树中确定存在违例的子时钟树,该违例用于表征相应的同步电路中至少两个触发器未处于同一子时钟树上,进而按照预设的违例修复方式,调整各存在违例的子时钟树上挂载的触发器在初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局,实现了集成电路中同步器零时钟偏移,能够保证双触发器同步器或多触发器同步器的多个标准单元距离相近,且时钟连接到同一个时钟驱动以达到零偏移。
在一个实施例中,所述获取初始集成电路布局,可以包括如下步骤:
按照触发器两两捆绑成组的方式,约束EDA工具在所述目标集成电路设计任务中的触发器布局行为,得到所述初始集成电路布局。
在实际应用中,以2级同步器为例,可以在EDA工具的布局阶段采用两两捆绑成组的方式,约束该EDA工具的自动布局行为,如图3所示,可以基于floor plan(布局规划)的设计确定目标集成电路设计任务,然后可以通过输入触发器绑成组的place(布局)约束得到预设的触发器布局约束,进而可以根据该触发器布局约束执行place步骤。
具体地,基于输入触发器绑成组的place约束,可以使EDA工具在布局过程中对触发器进行成组的移动,并且还可以遵从输入的距离和相对位置进行约束,从而可以在物理位置约束上达成类似定制电路的效果,能够避免在后续步骤中因多触发器的物理距离过远造成的问题,如ECO难度增加,重新移动触发器导致时序难以收敛等情况。
本实施例中,通过按照触发器两两捆绑成组的方式,约束EDA工具在目标集成电路设计任务中的触发器布局行为,得到初始集成电路布局,能够达到在物理位置约束上类似定制电路的效果,有效避免了在后续步骤中因多触发器的物理距离过远造成的问题。
在一个实施例中,所述从所述初始集成电路布局对应的时钟树中确定存在违例的子时钟树,可以包括如下步骤:
根据所述初始集成电路布局进行时钟树综合,得到所述初始集成电路布局对应的时钟树;按照所述初始集成电路布局的触发器分组信息,从所述时钟树包含的子时钟树中,确定多个所述违例,以及各所述违例对应的子时钟树。
在一示例中,针对时钟树综合流程,由于在时钟树产生前,时钟的扇出可以视为无限大,多个触发器可以视为连接到同一条时钟线上;在时钟树产生时,为了平衡各时钟端口的到达时间,可以在时钟从根节点到触发器的时钟端口之间插入多级反相器或缓冲器,在此阶段多个触发器并不会被视为整体,可能存在距离极其相近,但它们的时钟路径不一致,连接到不同的反相器或缓冲器上的情况,进而在时序分析时会存在skew(偏斜)。
在又一示例中,如图3所示,通过执行时钟树综合步骤可以得到初始集成电路布局对应的时钟树,进而在时钟树综合后,可以使用给定的同步器列表和脚本进行检测,以查找出同一同步电路中的触发器未处于相同的子时钟树上的情况,获得存在违例的触发器分组、违例涉及的子时钟树及其扇出。
本实施例中,通过根据初始集成电路布局进行时钟树综合,得到初始集成电路布局对应的时钟树,进而按照初始集成电路布局的触发器分组信息,从时钟树包含的子时钟树中,确定多个违例,以及各违例对应的子时钟树,为进一步修复时钟树中违例提供了数据支持。
在一个实施例中,所述按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局,可以包括如下步骤:
若检测到相邻的所述存在违例的子时钟树之间具有偶数个所述违例,交换所述违例对应的触发器挂载位置,以在相邻的所述存在违例的子时钟树之间成对消除所述违例;若检测到相邻的所述存在违例的子时钟树之间具有奇数个所述违例,将扇出未超出最大扇出约束的子时钟树,作为目标子时钟树,将所述违例对应的触发器挂载至所述目标子时钟树。
在实际应用中,如图3所示,可以判断相邻的不同子时钟树之间是否存在偶数个违例,若符合该判断条件,可以直接交换违例对应的触发器,以成对消除违例。
在一示例中,如图3所示,针对相邻的不同子时钟树之间存在奇数个违例的情况,可以判断违例中是否存在某一个子时钟树的扇出小于最大扇出约束,进而可以确定扇出小于最大扇出约束的子时钟树是符合判断条件的子时钟树,可以将成组的触发器单边挂载至符合的子时钟树;还可以经过多轮迭代处理获取更好的违例修复效果。
本实施例中,通过若检测到相邻的存在违例的子时钟树之间具有偶数个违例,交换违例对应的触发器挂载位置,以在相邻的存在违例的子时钟树之间成对消除述违例,若检测到相邻的存在违例的子时钟树之间具有奇数个违例,将扇出未超出最大扇出约束的子时钟树,作为目标子时钟树,将违例对应的触发器挂载至目标子时钟树,能够有效修复时钟树中违例,提升了集成电路布局布线效率。
在一个实施例中,所述按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局,可以包括如下步骤:
针对所述存在违例的子时钟树上挂载的未分组触发器,若检测到处于不同子时钟树上的所述未分组触发器之间的距离小于预设距离阈值,将至少两个所述未分组触发器捆绑成组;返回所述若检测到相邻的所述存在违例的子时钟树之间具有偶数个所述违例的步骤。
在实际应用中,如图3所示,可以通过遍历违例中两子时钟树之间普通触发器(即未分组触发器)的距离,若距离小于一定的数值(即预设距离阈值),可以将其捆绑成组,构建得到一个虚拟的触发器组,进而可以进行交换触发器的操作,如在检测到相邻的存在违例的子时钟树之间具有偶数个违例时,交换违例对应的触发器挂载位置,以进一步解决时钟树中违例。
本实施例中,通过针对存在违例的子时钟树上挂载的未分组触发器,若检测到处于不同子时钟树上的未分组触发器之间的距离小于预设距离阈值,将至少两个未分组触发器捆绑成组,返回若检测到相邻的存在违例的子时钟树之间具有偶数个违例的步骤,能够进一步有效消除时钟树中违例。
在一个实施例中,所述按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局,可以包括如下步骤:
通过在相邻的所述存在违例的子时钟树之间进行违例修复后,针对所述存在违例的子时钟树的扇出超出最大扇出约束的情况,在所述存在违例的子时钟树中添加子时钟树分支;将所述存在违例的子时钟树中预设数量的触发器,挂载至所述子时钟树分支。
在具体实现中,如图3所示,针对经过上述处理的剩余违例,可以随机挂载子时钟树,通过判断该子时钟树的扇出是否超出最大扇出约束,可以在超出最大扇出的情况下,添加off load buffer(空载缓冲器),即添加子时钟树分支,进而可以将超出最大扇出的违例挂载至该子时钟树分支。从而在通过上述修复方式处理后,可以修复时钟树中全部违例。
例如,子时钟树具有N个挂载触发器的位置(即最大扇出),当该子时钟树所挂载的触发器数量M大于N时,即时钟树的扇出超出最大扇出约束,可以采取多数投票算法(majority),从M个触发器中选取出部分触发器(如M-N个触发器,即预设数量的触发器),以将其挂载至添加的off load buffer。
本实施例中,通过在相邻的存在违例的子时钟树之间进行违例修复后,针对存在违例的子时钟树的扇出超出最大扇出约束的情况,在存在违例的子时钟树中添加子时钟树分支,进而将存在违例的子时钟树中预设数量的触发器,挂载至子时钟树分支,能够实现集成电路中同步器零时钟偏移。
为了使本领域技术人员能够更好地理解上述步骤,以下结合图3通过一个应用场景例子对本申请实施例加以示例性说明,但应当理解的是,本申请实施例并不限于此。
以一种实现同步器零时钟偏斜的方法为例,本方法可在尽可能小的代价下(PPA,run time等),保证双触发器同步器/多触发器同步器的多个标准单元距离相近,且时钟pin连接到同一个时钟驱动以达到0skew。
1、以2级同步器为例:在EDA工具的布局阶段,采用两两捆绑成组的方式,约束工具的自动布局行为。
控制工具在布局过程中对触发器进行成组的移动,并且还能遵从输入的距离和相对位置的约束,在物理位置约束上达成了类似定制电路的效果。能够避免在后续步骤中因多触发器的物理距离过远造成的,如ECO难度增加,重新移动触发器导致时序难以收敛等问题。
2、业界标准的时钟树综合流程。
在时钟树产生前,时钟的扇出可以视为无限大,多个触发器视为连接到同一条时钟线上。在时钟树产生时,为了平衡各时钟端口的到达时间,时钟从根节点到触发器的时钟端口之间插入了多级反相器/缓冲器。在此阶段,多个触发器并不会被视为整体。虽然距离极其相近,仍可能它们的时钟路径不一致,连接到不同的反相器/缓冲器上,进而在时序分析时存在skew。
3、在时钟树综合后,使用脚本和给定的同步器列表,检测到多触发器处于不同子树的违例后,通过ECO的方式,手动修改时钟树。保证时钟树的最大扇出(max fanout)不产生违例的同时,达成0skew的目标。手段包括但不限于:交换sinks、插入buffer等。
3.1判断不同的子时钟树之间是否存在偶数个违例,若符合,则直接交换违例的触发器,成对消除违例。
3.2判断违例中是否存在某一个子树的扇出小于最大扇出约束,符合则将成组的触发器挂载至符合的子树。(可以进行多轮迭代以获取更好效果)
3.3遍历违例中两子时钟树之间普通触发器的距离,若距离小于一定的数值,则捆绑成组,构建一个虚拟的触发器组,再进行类似3.1的交换触发器的操作,解决违例。
3.4剩余违例,随机挂载时钟树,判断扇出是否超出最大扇出约束,超出最大扇出的情形下,添加off load buffer。
4、完成剩余自动布局布线的流程。
对于一个子树多违例的情况,仅需进行奇偶性判断;对于多触发器同步器,在步骤3.4中采取多数投票算法(majority)。
基于上述步骤,可以达到技术效果:保证双触发器同步器/多触发器同步器的多个标准单元距离相近,且时钟pin连接到同一个时钟驱动以达到0skew;可以具有优点:runtime增加的时间较少,增加的反相器/缓冲器少。
在一个实施例中,如图4所示,提供了另一种集成电路布局布线方法的流程示意图。本实施例中,该方法包括以下步骤:
在步骤401中,按照触发器两两捆绑成组的方式,约束EDA工具在目标集成电路设计任务中的触发器布局行为,得到初始集成电路布局。在步骤402中,根据初始集成电路布局进行时钟树综合,得到初始集成电路布局对应的时钟树。在步骤403中,按照初始集成电路布局的触发器分组信息,从时钟树包含的子时钟树中,确定多个违例,以及各违例对应的子时钟树。在步骤404中,若检测到相邻的存在违例的子时钟树之间具有偶数个违例,交换违例对应的触发器挂载位置,以在相邻的存在违例的子时钟树之间成对消除违例。在步骤405中,若检测到相邻的存在违例的子时钟树之间具有奇数个违例,将扇出未超出最大扇出约束的子时钟树,作为目标子时钟树,将违例对应的触发器挂载至目标子时钟树。在步骤406中,针对存在违例的子时钟树上挂载的未分组触发器,若检测到处于不同子时钟树上的未分组触发器之间的距离小于预设距离阈值,将至少两个未分组触发器捆绑成组,返回若检测到相邻的存在违例的子时钟树之间具有偶数个违例的步骤。在步骤407中,通过在相邻的存在违例的子时钟树之间进行违例修复后,针对存在违例的子时钟树的扇出超出最大扇出约束的情况,在存在违例的子时钟树中添加子时钟树分支,将存在违例的子时钟树中预设数量的触发器,挂载至子时钟树分支。需要说明的是,上述步骤的具体限定可以参见上文对一种集成电路布局布线方法的具体限定,在此不再赘述。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的集成电路布局布线方法的集成电路布局布线装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个集成电路布局布线装置实施例中的具体限定可以参见上文中对于集成电路布局布线方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种集成电路布局布线装置,包括:
初始集成电路布局获取模块501,用于获取初始集成电路布局;所述初始集成电路布局为在预设的触发器布局约束下生成的针对目标集成电路设计任务的集成电路布局;所述触发器布局约束包括同一同步电路包含的至少两个触发器捆绑成组,所述同步电路中的触发器之间存在预设的位置约束关系;
违例确定模块502,用于从所述初始集成电路布局对应的时钟树中确定存在违例的子时钟树;所述违例用于表征相应的同步电路中所述至少两个触发器未处于同一子时钟树上;
目标集成电路布局得到模块503,用于按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局。
在一个实施例中,所述初始集成电路布局获取模块501包括:
触发器约束子模块,用于按照触发器两两捆绑成组的方式,约束EDA工具在所述目标集成电路设计任务中的触发器布局行为,得到所述初始集成电路布局。
在一个实施例中,所述违例确定模块502包括:
时钟树综合子模块,用于根据所述初始集成电路布局进行时钟树综合,得到所述初始集成电路布局对应的时钟树;
违例得到子模块,用于按照所述初始集成电路布局的触发器分组信息,从所述时钟树包含的子时钟树中,确定多个所述违例,以及各所述违例对应的子时钟树。
在一个实施例中,所述目标集成电路布局得到模块503包括:
偶数违例调整子模块,用于若检测到相邻的所述存在违例的子时钟树之间具有偶数个所述违例,交换所述违例对应的触发器挂载位置,以在相邻的所述存在违例的子时钟树之间成对消除所述违例;
奇数违例调整子模块,用于若检测到相邻的所述存在违例的子时钟树之间具有奇数个所述违例,将扇出未超出最大扇出约束的子时钟树,作为目标子时钟树,将所述违例对应的触发器挂载至所述目标子时钟树。
在一个实施例中,所述目标集成电路布局得到模块503包括:
距离判断子模块,用于针对所述存在违例的子时钟树上挂载的未分组触发器,若检测到处于不同子时钟树上的所述未分组触发器之间的距离小于预设距离阈值,将至少两个所述未分组触发器捆绑成组;
返回处理子模块,用于返回所述若检测到相邻的所述存在违例的子时钟树之间具有偶数个所述违例的步骤。
在一个实施例中,所述目标集成电路布局得到模块503包括:
分支添加子模块,用于通过在相邻的所述存在违例的子时钟树之间进行违例修复后,针对所述存在违例的子时钟树的扇出超出最大扇出约束的情况,在所述存在违例的子时钟树中添加子时钟树分支;
分支挂载子模块,用于将所述存在违例的子时钟树中预设数量的触发器,挂载至所述子时钟树分支。
上述集成电路布局布线装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种集成电路芯片,包括如一种集成电路布局布线方法的步骤布局的同步电路。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取初始集成电路布局;所述初始集成电路布局为在预设的触发器布局约束下生成的针对目标集成电路设计任务的集成电路布局;所述触发器布局约束包括同一同步电路包含的至少两个触发器捆绑成组,所述同步电路中的触发器之间存在预设的位置约束关系;
从所述初始集成电路布局对应的时钟树中确定存在违例的子时钟树;所述违例用于表征相应的同步电路中所述至少两个触发器未处于同一子时钟树上;
按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局。
在一个实施例中,计算机程序被处理器执行时还实现上述其他实施例中的集成电路布局布线方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取初始集成电路布局;所述初始集成电路布局为在预设的触发器布局约束下生成的针对目标集成电路设计任务的集成电路布局;所述触发器布局约束包括同一同步电路包含的至少两个触发器捆绑成组,所述同步电路中的触发器之间存在预设的位置约束关系;
从所述初始集成电路布局对应的时钟树中确定存在违例的子时钟树;所述违例用于表征相应的同步电路中所述至少两个触发器未处于同一子时钟树上;
按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局。
在一个实施例中,计算机程序被处理器执行时还实现上述其他实施例中的集成电路布局布线方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种集成电路布局布线方法,其特征在于,所述方法包括:
获取初始集成电路布局;所述初始集成电路布局为在预设的触发器布局约束下生成的针对目标集成电路设计任务的集成电路布局;所述触发器布局约束包括同一同步电路包含的至少两个触发器捆绑成组,所述同步电路中的触发器之间存在预设的位置约束关系;
从所述初始集成电路布局对应的时钟树中确定存在违例的子时钟树;所述违例用于表征相应的同步电路中所述至少两个触发器未处于同一子时钟树上;
按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局。
2.根据权利要求1所述的方法,其特征在于,所述获取初始集成电路布局,包括:
按照触发器两两捆绑成组的方式,约束EDA工具在所述目标集成电路设计任务中的触发器布局行为,得到所述初始集成电路布局。
3.根据权利要求1所述的方法,其特征在于,所述从所述初始集成电路布局对应的时钟树中确定存在违例的子时钟树,包括:
根据所述初始集成电路布局进行时钟树综合,得到所述初始集成电路布局对应的时钟树;
按照所述初始集成电路布局的触发器分组信息,从所述时钟树包含的子时钟树中,确定多个所述违例,以及各所述违例对应的子时钟树。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局,包括:
若检测到相邻的所述存在违例的子时钟树之间具有偶数个所述违例,交换所述违例对应的触发器挂载位置,以在相邻的所述存在违例的子时钟树之间成对消除所述违例;
若检测到相邻的所述存在违例的子时钟树之间具有奇数个所述违例,将扇出未超出最大扇出约束的子时钟树,作为目标子时钟树,将所述违例对应的触发器挂载至所述目标子时钟树。
5.根据权利要求4所述的方法,其特征在于,所述按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局,包括:
针对所述存在违例的子时钟树上挂载的未分组触发器,若检测到处于不同子时钟树上的所述未分组触发器之间的距离小于预设距离阈值,将至少两个所述未分组触发器捆绑成组;
返回所述若检测到相邻的所述存在违例的子时钟树之间具有偶数个所述违例的步骤。
6.根据权利要求4所述的方法,其特征在于,所述按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局,包括:
通过在相邻的所述存在违例的子时钟树之间进行违例修复后,针对所述存在违例的子时钟树的扇出超出最大扇出约束的情况,在所述存在违例的子时钟树中添加子时钟树分支;
将所述存在违例的子时钟树中预设数量的触发器,挂载至所述子时钟树分支。
7.一种集成电路布局布线装置,其特征在于,所述装置包括:
初始集成电路布局获取模块,用于获取初始集成电路布局;所述初始集成电路布局为在预设的触发器布局约束下生成的针对目标集成电路设计任务的集成电路布局;所述触发器布局约束包括同一同步电路包含的至少两个触发器捆绑成组,所述同步电路中的触发器之间存在预设的位置约束关系;
违例确定模块,用于从所述初始集成电路布局对应的时钟树中确定存在违例的子时钟树;所述违例用于表征相应的同步电路中所述至少两个触发器未处于同一子时钟树上;
目标集成电路布局得到模块,用于按照预设的违例修复方式,调整各所述存在违例的子时钟树上挂载的触发器在所述初始集成电路布局中的连接关系,得到零时钟偏移的目标集成电路布局。
8.一种集成电路芯片,其特征在于,包括如权利要求1至6中任一项所述的方法的步骤布局的同步电路。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311196568.0A CN117151015B (zh) | 2023-09-15 | 2023-09-15 | 集成电路布局布线方法、装置、集成电路芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311196568.0A CN117151015B (zh) | 2023-09-15 | 2023-09-15 | 集成电路布局布线方法、装置、集成电路芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117151015A true CN117151015A (zh) | 2023-12-01 |
CN117151015B CN117151015B (zh) | 2024-03-15 |
Family
ID=88884107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311196568.0A Active CN117151015B (zh) | 2023-09-15 | 2023-09-15 | 集成电路布局布线方法、装置、集成电路芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117151015B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5896299A (en) * | 1995-10-13 | 1999-04-20 | Vlsi Technology, Inc. | Method and a system for fixing hold time violations in hierarchical designs |
JP2001267429A (ja) * | 2000-03-17 | 2001-09-28 | Nec Microsystems Ltd | レイアウト設計装置およびレイアウト設計方法 |
US20050120318A1 (en) * | 2003-11-28 | 2005-06-02 | Oki Electric Industry Co., Ltd. | Apparatus and method for designing semiconductor integrated circuit |
JP2006268165A (ja) * | 2005-03-22 | 2006-10-05 | Sharp Corp | 集積回路のタイミング解析装置、集積回路のタイミング最適化装置、集積回路のタイミング解析方法、集積回路のタイミング最適化方法、集積回路基板の製造方法、制御プログラムおよび可読記録媒体 |
CN104620242A (zh) * | 2012-07-18 | 2015-05-13 | 犹他大学研究基金会 | 相关时序架构 |
CN109783984A (zh) * | 2019-02-19 | 2019-05-21 | 中国人民解放军国防科技大学 | 一种适用于cpu核频率提升的布局布线方法 |
US10963617B1 (en) * | 2020-01-06 | 2021-03-30 | Cadence Design Systems, Inc. | Modifying route topology to fix clock tree violations |
CN113221491A (zh) * | 2021-05-27 | 2021-08-06 | 京微齐力(北京)科技有限公司 | 集成电路设计方法、装置及设备 |
CN113255267A (zh) * | 2020-01-28 | 2021-08-13 | 美商新思科技有限公司 | 使用现场可编程门阵列fpga重新编程检测仿真中的时序违规 |
CN114676658A (zh) * | 2022-05-20 | 2022-06-28 | 飞腾信息技术有限公司 | 一种时序违例修复方法、装置、存储介质及电子设备 |
CN115017846A (zh) * | 2022-07-15 | 2022-09-06 | 飞腾信息技术有限公司 | 基于接口的时序修复方法、设备及介质 |
-
2023
- 2023-09-15 CN CN202311196568.0A patent/CN117151015B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5896299A (en) * | 1995-10-13 | 1999-04-20 | Vlsi Technology, Inc. | Method and a system for fixing hold time violations in hierarchical designs |
JP2001267429A (ja) * | 2000-03-17 | 2001-09-28 | Nec Microsystems Ltd | レイアウト設計装置およびレイアウト設計方法 |
US20050120318A1 (en) * | 2003-11-28 | 2005-06-02 | Oki Electric Industry Co., Ltd. | Apparatus and method for designing semiconductor integrated circuit |
JP2006268165A (ja) * | 2005-03-22 | 2006-10-05 | Sharp Corp | 集積回路のタイミング解析装置、集積回路のタイミング最適化装置、集積回路のタイミング解析方法、集積回路のタイミング最適化方法、集積回路基板の製造方法、制御プログラムおよび可読記録媒体 |
CN104620242A (zh) * | 2012-07-18 | 2015-05-13 | 犹他大学研究基金会 | 相关时序架构 |
CN109783984A (zh) * | 2019-02-19 | 2019-05-21 | 中国人民解放军国防科技大学 | 一种适用于cpu核频率提升的布局布线方法 |
US10963617B1 (en) * | 2020-01-06 | 2021-03-30 | Cadence Design Systems, Inc. | Modifying route topology to fix clock tree violations |
CN113255267A (zh) * | 2020-01-28 | 2021-08-13 | 美商新思科技有限公司 | 使用现场可编程门阵列fpga重新编程检测仿真中的时序违规 |
CN113221491A (zh) * | 2021-05-27 | 2021-08-06 | 京微齐力(北京)科技有限公司 | 集成电路设计方法、装置及设备 |
CN114676658A (zh) * | 2022-05-20 | 2022-06-28 | 飞腾信息技术有限公司 | 一种时序违例修复方法、装置、存储介质及电子设备 |
CN115017846A (zh) * | 2022-07-15 | 2022-09-06 | 飞腾信息技术有限公司 | 基于接口的时序修复方法、设备及介质 |
Non-Patent Citations (1)
Title |
---|
吴朝晖;周晓阳;何素东;李斌;: "芯片物理设计中一种新的结构式布局方法", 华南理工大学学报(自然科学版), no. 08, 15 August 2018 (2018-08-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN117151015B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10776547B1 (en) | Infinite-depth path-based analysis of operational timing for circuit design | |
CN109710981B (zh) | Fpga的布线方法及系统 | |
US5751596A (en) | Automated system and method for identifying critical timing paths in integrated circuit layouts for use with automated circuit layout system | |
US8291364B2 (en) | Automated digital circuit design tool that reduces or eliminates adverse timing constraints do to an inherent clock signal skew, and applications thereof | |
WO2005119530A2 (en) | Method and apparatus for fixing hold time violations in a circuit design | |
US8086982B2 (en) | Methods and systems for reducing clock skew in a gated clock tree | |
US9779197B1 (en) | Method and system of merging memory cells into multi-bit registers in an integrated circuit layout | |
CN113868992A (zh) | 集成电路的时序约束方法、装置、电子设备及芯片 | |
CN113792520A (zh) | 布局布线方法、装置、同步电路以及集成电路芯片 | |
CN112257375A (zh) | 用于集成电路设计的布局调整方法、装置和电子设备 | |
CN112667024A (zh) | 延时计算电路、芯片运行频率获取方法、装置及电子设备 | |
US9110689B2 (en) | Automatic pipeline stage insertion | |
CN115099177A (zh) | Fpga的时序优化方法和系统 | |
US8839061B2 (en) | System and method for scan chain re-ordering | |
JP4310500B2 (ja) | 重要成分優先計算方式ならびに装置 | |
US8595668B1 (en) | Circuits and methods for efficient clock and data delay configuration for faster timing closure | |
CN117151015B (zh) | 集成电路布局布线方法、装置、集成电路芯片 | |
US9965581B1 (en) | Fanout optimization to facilitate timing improvement in circuit designs | |
CN112580278B (zh) | 逻辑电路的优化方法、优化装置以及存储介质 | |
Albrecht et al. | On the skew-bounded minimum-buffer routing tree problem | |
JP4419633B2 (ja) | 論理回路設計システム、論理回路設計方法およびそのプログラム | |
JP5338919B2 (ja) | 集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置 | |
JPH06232735A (ja) | 同期ディジタル電子回路の設計方法 | |
WO2023166877A1 (ja) | 処理方法、非同期式回路、および論理回路 | |
US10565339B2 (en) | Timing-adaptive, configurable logic architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |