CN114841104A - 时序优化电路和方法、芯片及电子设备 - Google Patents

时序优化电路和方法、芯片及电子设备 Download PDF

Info

Publication number
CN114841104A
CN114841104A CN202210502158.3A CN202210502158A CN114841104A CN 114841104 A CN114841104 A CN 114841104A CN 202210502158 A CN202210502158 A CN 202210502158A CN 114841104 A CN114841104 A CN 114841104A
Authority
CN
China
Prior art keywords
register
timing
path
time sequence
optimization circuit
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.)
Pending
Application number
CN202210502158.3A
Other languages
English (en)
Inventor
南鹏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202210502158.3A priority Critical patent/CN114841104A/zh
Publication of CN114841104A publication Critical patent/CN114841104A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/337Design optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing

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)
  • Computer Networks & Wireless Communication (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本申请实施例公开了一种时序优化电路和方法、芯片及电子设备,电子设备包括设置有时序优化电路的芯片,时序优化电路包括第一寄存器,第二寄存器,第三寄存器,第三寄存器为第一寄存器的复刻寄存器;第一寄存器与第二寄存器的路径距离大于第三寄存器与第二寄存器的路径距离;当执行时序分析命令所获得时序报告指示第一时序路径存在时序违规时,第二时序路径用于进行时序优化处理;第一时序路径的路径起点为第一寄存器,路径终点为第二寄存器;第二时序路径的路径起点为第三寄存器,路径终点为第二寄存器。时序优化方法包括执行时序分析命令,获得时序报告;当时序报告指示第一时序路径存在时序违规时,通过第二时序路径进行时序优化处理。

Description

时序优化电路和方法、芯片及电子设备
技术领域
本发明涉及集成电路设计技术领域,尤其涉及一种时序优化电路和方法、芯片及电子设备。
背景技术
随着芯片设计的规模越来越大,竞争越来越激烈,时序收敛越来越复杂,对芯片后端设计的要求也越来越高。在强大的电子设计自动化(Electronics Design Automation,EDA)工具的支持下,绝大部分的时序问题都可以被自动化解决,然而芯片设计进入工程变更指令(Engineer Changing Order,ECO)阶段难以避免会遗留个别的时序问题没有被工具优化好。
目前对于ECO阶段剩余的时序违例,常见的如优化数据路径、延长或缩短时钟树等优化方法,时序优化的效果并不理想,严重影响了项目的进展和芯片性能。
发明内容
本申请实施例提供了一种时序优化电路和方法、芯片及电子设备,能够大大提升时序优化效果,进而缩短芯片后端设计的时间,有效提高芯片的设计效率和性能。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供了一种时序优化电路,所述时序优化电路包括:第一寄存器,第二寄存器,第三寄存器,其中,所述第三寄存器为所述第一寄存器的复刻寄存器;所述第一寄存器与所述第二寄存器之间的路径距离大于所述第三寄存器与所述第二寄存器之间的路径距离;
当执行时序分析命令所获得时序报告指示第一时序路径存在时序违规时,第二时序路径用于进行时序优化处理;其中,所述第一时序路径的路径起点为所述第一寄存器,且路径终点为所述第二寄存器;所述第二时序路径的路径起点为所述第三寄存器,且路径终点为所述第二寄存器。
第二方面,本申请实施例提供了一种时序优化方法,所述时序优化方法应用于时序优化电路,所述时序优化电路包括:第一寄存器,第二寄存器,第三寄存器,其中,所述第三寄存器为所述第一寄存器的复刻寄存器;所述第一寄存器与所述第二寄存器之间的路径距离大于所述第三寄存器与所述第二寄存器之间的路径距离;所述方法包括:
当所述时序报告指示第一时序路径存在时序违规时,通过第二时序路径进行时序优化处理;其中,所述第一时序路径的路径起点为所述第一寄存器,且路径终点为所述第二寄存器;所述第二时序路径的路径起点为所述第三寄存器,且路径终点为所述第二寄存器。
第三方面,本申请实施例提供了一种芯片,所述芯片包括如第一方面所述的时序优化电路,
第四方面,本申请实施例提供了一种电子设备,所述电子设备如第三方面所述的芯片。
本申请实施例提供了一种时序优化电路和方法、芯片及电子设备,电子设备包括设置有时序优化电路的芯片,时序优化电路包括:第一寄存器,第二寄存器,第三寄存器,第三寄存器为第一寄存器的复刻寄存器;第一寄存器与第二寄存器之间的路径距离大于第三寄存器与第二寄存器之间的路径距离;当执行时序分析命令所获得时序报告指示第一时序路径存在时序违规时,第二时序路径用于进行时序优化处理;第一时序路径的路径起点为第一寄存器,且路径终点为第二寄存器;第二时序路径的路径起点为第三寄存器,且路径终点为第二寄存器。时序优化方法包括执行时序分析命令,获得时序报告;当时序报告指示第一时序路径存在时序违规时,通过第二时序路径进行时序优化处理。也就是说,在本申请中,在对以第一寄存器为路径起点的一条时序路径进行时序优化时,可以通过克隆第一寄存器的第三寄存器构建相应的新的时序路径,同时利用第三寄存器距离路径终点的第二寄存器更近的特点实现时序收敛的效果。这样的时序优化方法不仅能够高效精准地解决时序问题,同时也不会对第一寄存器后端所连接的其他寄存器的时序产生干扰,缩小了影响范围,从而能够大大提升时序优化效果,进而缩短芯片后端设计的时间,有效提高芯片的设计效率和性能。
附图说明
图1为时序违例的示意图一;
图2为寄存器物理距离的示意图一;
图3为寄存器物理距离的示意图二;
图4为时序违例的示意图二;
图5为时序优化的电路的示意图一;
图6为时序优化电路的组成结构示意图一;
图7为时序优化电路的组成结构示意图二;
图8为时序优化电路的组成结构示意图三;
图9为时序违例的示意图三;
图10为时序优化的电路的示意图二;
图11为时序优化方法的实现流程示意图一;
图12为时序优化方法的实现流程示意图二;
图13为时序优化方法的实现流程示意图三;
图14为芯片的组成结构示意图一;
图15为芯片的组成结构示意图二;
图16为电子设备的组成结构示意图一;
图17为电子设备的组成结构示意图二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
布局布线(Place and Route,PnR)。其中,Place为布局,Route为布线。
电子设计自动化(Electronics Design Automation,EDA),是指利用计算机辅助设计(Computer Aided Design,CAD)软件,来完成超大规模集成电路(Very Large ScaleIntegration Circuit,VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。
工程变更指令(Engineer Changing Order,ECO),通常使用于新产品开发完成后的工程变更,工程部门确认必要的变更后,发出文件交相关单位会签,以确保库存品、在制品被妥善处理,是立即变更、使用完毕后变更等,销售单位、制造单位、物料单位都要同意且采取必要行动,通常ECO牵涉范围大,导入时程长,需要严谨之系统管理之。
时钟树综合(Clock tree synthesis,CTS)就是对design的时钟树进行综合。主要的目的是让每个clock都能够在尽量短的时间内传达到它们驱动的所有D类型触发器(如DFF)。
静态时序分析(Static timing analysis,STA),套用特定的时序模型(TimingModel),针对特定电路分析其是否违反设计者给定的时序限制(Timing Constraint)。也就是说,STA经由完整的分析方式判断集成电路(integrated circuit,IC)是否能够在使用者的时序环境下正常工作,对确保IC品质之课题,提供一个不错的解决方案。以分析的方式区分,STA可分为Path-Based及Block-Based两种。
可测性设计(如Design ForTest,DFT),芯片内部往往都自带测试电路,DFT的目的就是在设计的时候就考虑将来的测试。DFT的常见方法就是,在设计中插入扫描链,将非扫描单元(如寄存器)变为扫描单元。
芯片设计无疑是芯片制作过程中的重要一步,而芯片设计又可分为前端设计和后端设计。前端主要负责逻辑实现,通常是使用verilog、VHDL之类语言,进行行为级的描述。而后端,主要负责将前端的设计变成真正的原理图和布局、流片、量产。打个比喻来说,前端就像是做蓝图的,可以为功能性、结构性的东西。而后端则是将蓝图变成真正的高楼。
其中,芯片后端设计主要包括以下几部分:
1、可测性设计(如Design For Test,DFT)
芯片内部往往都自带测试电路,DFT的目的就是在设计的时候就考虑将来的测试。DFT的常见方法就是,在设计中插入扫描链,将非扫描单元(如寄存器)变为扫描单元。
2、布局规划(Floor Plan)
3、时钟树综合(Clock tree synthesis,CTS)
简单点说就是时钟的布线。由于时钟信号在数字芯片的全局指挥作用,它的分布应该是对称式的连到各个寄存器单元,从而使时钟从同一个时钟源到达各个寄存器时,时钟延迟差异最小。这也是为什么时钟信号需要单独布线的原因。
4、布线(PnR)
这里的布线就是普通信号布线,包括各种标准单元(基本逻辑门电路)之间的走线。比如平常听到的0.13um工艺,或者说90nm工艺,实际上就是这里金属布线可以达到的最小宽度,从微观上看就是MOS管的沟道长度。
5、寄生参数提取
由于导线本身存在的电阻,相邻导线之间的互感,耦合电容在芯片内部会产生信号噪声,串扰和反射。这些效应会产生信号完整性问题,导致信号电压波动和变化,如果严重就会导致信号失真错误。提取寄生参数进行再次的分析验证,分析信号完整性问题是非常重要的。
6、版图物理验证
对完成布线的物理版图进行功能和时序上的验证,验证项目很多,如布局与示意图(Layout Vs Schematic,LVS)验证,简单说,就是版图与逻辑综合后的门级电路图的对比验证;设计规则检查(如Design Rule Checking,DRC),检查连线间距,连线宽度等是否满足工艺要求,电气规则检查(Electrical Rule Checking,ERC),检查短路和开路等电气规则违例等等。
在芯片的后端设计过程中,ECO是不能忽略的关键路径,一个良好的ECO流程、策略可以加速流片的时间。其中,常规的ECO流程主要可以包括以下步骤:判断是否存在时序违例,如果存在,则进行ECO修正,然后再继续进行下一次静态时序分析。
随着芯片设计的规模越来越大,时序收敛越来越复杂。在强大的EDA工具的支持下,绝大部分的时序问题都可以被自动化解决。但芯片设计进入ECO阶段难以避免会遗留个别的时序没有被工具优化好。例如,图1为时序违例的示意图一,如图1所示,FF1到FF2的时序路径上存在建立时间(setup time)违规。
目前对于ECO阶段剩余的时序违例,一种优化方法是选择继续优化数据路径(如Data path),但对于高性能的设计,EDA工具早已把逻辑单元优化成最低阈值电压和相对比较大的标准单元,(如图1所示),如果data path都已经是最低阈值电压和相对比较大的驱动的标准单元,便很难再有优化的余地,此时在data path上很难得到比较大的收益,且由于绕线的影响,结果适得其反。
另一种常用的优化方法是延长或缩短时钟树(skew clock),但进入ECO阶段,并不是所有的寄存器都有余量(margin)去做skew。例如,上述图1中的FF2的后一级并没有margin,所以不能通过推迟FF2的时钟树来解决FF1到FF2的setup时序问题。虽然FF1的前一级有margin,但是由于FF1后面的扇出(fanout)很大,此时通过缩短FF1的时钟树可能会导致FF group中的寄存器时序的变化。一般来说,由于高性能设计的复杂性会导致寄存器之间的联系错综复杂,寄存器的fanout很大,在ECO阶段修改时钟树可能会导致影响范围扩大,导致更时序不可预测和控制。也就是说,对于skew clock方法,由于寄存器的fanout很大,且不是所有的寄存器前后级都有margin,存在影响范围太大、不易控制的问题,甚至可能要重新进行布局布线或者降频,严重影响了项目的进展和芯片性能。
可见,目前常见的ECO阶段时序违例的优化方法,时序收敛的效果并不理想,降低了芯片性能,延长了芯片后端设计的时间,甚至会造成项目无法按时交付的严重后果。
为了解决上述问题,本申请实施例提供了一种时序优化电路和方法、芯片及电子设备,电子设备包括设置有时序优化电路的芯片,时序优化电路包括:第一寄存器,第二寄存器,第三寄存器,第三寄存器为第一寄存器的复刻寄存器;第一寄存器与第二寄存器之间的路径距离大于第三寄存器与第二寄存器之间的路径距离;当执行时序分析命令所获得时序报告指示第一时序路径存在时序违规时,第二时序路径用于进行时序优化处理;第一时序路径的路径起点为第一寄存器,且路径终点为第二寄存器;第二时序路径的路径起点为第三寄存器,且路径终点为第二寄存器。时序优化方法包括执行时序分析命令,获得时序报告;当时序报告指示第一时序路径存在时序违规时,通过第二时序路径进行时序优化处理。也就是说,在本申请中,在对以第一寄存器为路径起点的一条时序路径进行时序优化时,可以通过克隆第一寄存器的第三寄存器构建相应的新的时序路径,同时利用第三寄存器距离路径终点的第二寄存器更近的特点实现时序收敛的效果。这样的时序优化方法不仅能够高效精准地解决时序问题,同时也不会对第一寄存器后端所连接的其他寄存器的时序产生干扰,缩小了影响范围,从而能够大大提升时序优化效果,进而缩短芯片后端设计的时间,有效提高芯片的设计效率和性能。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请一实施例提供了一种时序优化电路,该时序优化电路可以包括第一寄存器,第二寄存器以及第三寄存器。
需要说明的是,在本申请的实施例中,第三寄存器可以为第一寄存器的复刻寄存器,即第三寄存器可以为基于第一寄存器所克隆的一个寄存器。
在代码到版图实现过程中,时序优化往往是重要的关键步骤之一。其中,集成电路设计中的时序违例不外乎是由建立时间(setup time)和保持时间(hold time)不够造成得。一般在进行时钟通路设计时,要求其不同分支具有相同的延迟。
可以理解的是,建立时间约束了数据在输入端到时钟沿到前的时间,以便时钟沿能采到时间。setup time约束了数据通路相对于时钟沿的最大时延。保持时间即数据被时钟沿采到后必须保持的时间,保持时间约束了数据通路中最小时延。
相应的,在进行时序优化处理时,往往需要保证建立时间和/或保持时间的充足,因此,在本申请的实施例中,可以选择通过缩短时序路径来增大延时,其中,可以设置时序优化电路中的第一寄存器与第二寄存器之间的路径距离大于第三寄存器与第二寄存器之间的路径距离。
也就是说,在本申请的实施例中,第三寄存器与第二寄存器之间的物理距离(路径距离)可以是小于第一寄存器与第二寄存器之间的物理距离(路径距离)的,这样就可以在第一寄存器至第二寄存器的时序路径存在时序违规时,通过第三寄存器至第二寄存器的时序路径来进行时序的收敛。
示例性的,在本申请的实施例中,图2为寄存器物理距离的示意图一,图3为寄存器物理距离的示意图二,如图2和图3所示,第一寄存器与第二寄存器之间的物理距离(路径距离)为d12,第三寄存器与第二寄存器之间的物理距离(路径距离)为d32,其中,d32小于d12。
可以理解的是,在本申请的实施例中,与第一寄存器相比,时序优化电路中的第一寄存器所对应的克隆获得的寄存器(第三寄存器)可以被布置在距离第二寄存器更近的物理位置,从而可以保证第三寄存器与第二寄存器之间的路径距离小于第一寄存器与第二寄存器之间的路径距离。
进一步地,在本申请的实施例中,当执行时序分析命令所获得时序报告指示第一时序路径存在时序违规时,第二时序路径用于进行时序优化处理;其中,第一时序路径的路径起点为第一寄存器,且路径终点为第二寄存器;第二时序路径的路径起点为第三寄存器,且路径终点为第二寄存器。
需要说明的是,在本申请的实施例中,以第一寄存器为起点、第二寄存器为终点的时序路径为第一时序路径,以第三寄存器为起点、第二寄存器为终点的时序路径为第二时序路径,在执行时序分析命令获得的时序报告之后,如果时序报告指示第一时序路径存在时序违规,那么可以选择使用第二时序路径进行时序优化处理,以解决第一时序路径的时序违规。
进一步地,在本申请的实施例中,由于第三寄存器是第一寄存器的复刻寄存器,因此,在进行时序优化电路中,为了确保一致性,需要保证第三寄存器的输出端口与第二寄存器的输入端口连接,同时,还需要保证第三寄存器的全部输入端口与第一寄存器的全部输入端口对应连接。
可以理解的是,在本申请的实施例中,图4为时序违例的示意图二,图5为时序优化的电路的示意图一,如图4和5所示,与原有的、存在时序违规的时序路径相比,时序优化电路中断开了第二寄存器的输入端口(如D端口)与第一寄存器的输出端口(如Q端口)的连接,与第一寄存器相比,克隆出的第三寄存器被放置在距离第二寄存器较近的物理位置,同时,可以把第三寄存器的所有的输入端口(如D端口、CP端口、E端口、TE端口)连接至与第一寄存器相对应的同名端口,进一步地,需要把第二寄存器的输入端口(如D端口)与第三寄存器的输出端口(如Q端口)进行连接,从而完成了用于进行时序优化处理的第二时序路径的建立。
进一步地,在本申请的实施例中,时序优化电路中还可以包括与第一寄存器对应的时钟缓冲器。其中,该时钟缓冲器可以为与第一寄存器等价的、同一时钟域的时钟缓冲器(clock buffer)。
相应的,在本申请的实施例中,时序优化电路中的第三寄存器的时钟端口也可以与第一寄存器对应的时钟缓冲器的后端连接,即第三寄存器的时钟端口(CP端口)可以就近连接到同一时钟域等价的时钟缓冲器(clock buffer)后端。
进一步地,在本申请的实施例中,时序优化电路还可以包括寄存器集群,其中,寄存器集群的输入端口均连接至第一寄存器的输出端口。
需要说明的是,在本申请的实施例中,时序优化电路中的第一寄存器的后端也可以连接有多个寄存器,即第一寄存器的后端连接有寄存器集群,fanout较大。此时,即使第一寄存器至第二寄存器之间的时序路径存在时序违规,通过本申请提出的时序优化电路,使用克隆出来的第三寄存器构建用于收敛时序违例的第二时序路径(即第三寄存器至第二寄存器之间的时序路径),能够精准的完成时序收敛,不会影响第一寄存器后端的寄存器集群中的其他寄存器,减小影响范围,不会导致其他的时序问题。
可以理解的是,在本申请的实施例中,通过时序优化电路实现时序收敛的前提条件可以包括第一寄存器的前一级存在时序余量(margin)。
相应的,在本申请的实施例中,通过时序优化电路实现时序收敛的前提条件也可以包括第二寄存器的后一级不存在时序余量(margin)。但是,本申请并不对第二寄存器的后一级是否存在时序余量进行严格的限制,也就是说,即使第二寄存器的后一级存在时序余量,也可以使用该时序优化电路实现时序收敛。
图6为时序优化电路的组成结构示意图一,如图6所示,时序优化电路10可以包括:第一寄存器11,第二寄存器12,第三寄存器13,其中,第三寄存器13为第一寄存器11的复刻寄存器;第一寄存器11与第二寄存器12之间的路径距离大于第三寄存器13与第二寄存器12之间的路径距离。
需要说明的是,在本申请的实施例中,第三寄存器13可以为第一寄存器11的复刻寄存器,即第三寄存器13可以为基于第一寄存器11所克隆的一个寄存器。
可以理解的是,在本申请的实施例中,可以选择通过缩短时序路径来增大延时,其中,可以设置时序优化电路10中的第一寄存器11与第二寄存器12之间的路径距离大于第三寄存器13与第二寄存器12之间的路径距离。
也就是说,在本申请的实施例中,第三寄存器13与第二寄存器12之间的物理距离(路径距离)可以是小于第一寄存器11与第二寄存器12之间的物理距离(路径距离)的,这样就可以在第一寄存器11至第二寄存器12的时序路径存在时序违规时,通过第三寄存器13至第二寄存器12的时序路径来进行时序的收敛。
可以理解的是,在本申请的实施例中,与第一寄存器11相比,时序优化电路中的第一寄存器11所对应的克隆获得的寄存器(第三寄存器13)可以被布置在距离第二寄存器12更近的物理位置,从而可以保证第三寄存器13与第二寄存器12之间的路径距离小于第一寄存器11与第二寄存器12之间的路径距离。
进一步地,在本申请的实施例中,当执行时序分析命令所获得时序报告指示第一时序路径存在时序违规时,第二时序路径用于进行时序优化处理;其中,第一时序路径的路径起点为第一寄存器11,且路径终点为第二寄存器12;第二时序路径的路径起点为第三寄存器13,且路径终点为第二寄存器12。
需要说明的是,在本申请的实施例中,以第一寄存器11为起点、第二寄存器12为终点的时序路径为第一时序路径,以第三寄存器13为起点、第二寄存器12为终点的时序路径为第二时序路径,在执行时序分析命令获得的时序报告之后,如果时序报告指示第一时序路径存在时序违规,那么可以选择使用第二时序路径进行时序优化处理,以解决第一时序路径的时序违规。
进一步地,在本申请的实施例中,由于第三寄存器13是第一寄存器11的复刻寄存器,因此,在进行时序优化电路中,为了确保一致性,需要保证第三寄存器13的输出端口与第二寄存器12的输入端口连接,同时,还需要保证第三寄存器13的全部输入端口与第一寄存器11的全部输入端口对应连接。
可以理解的是,在本申请的实施例中,与原有的、存在时序违例的时序路径的电路相比,时序优化电路中断开了第二寄存器的输入端口(如D端口)与第一寄存器的输出端口(如Q端口)的连接,与第一寄存器相比,克隆出的第三寄存器被放置在距离第二寄存器较近的物理位置,同时,可以把第三寄存器的所有的输入端口(如D端口、CP端口、E端口、TE端口)连接至与第一寄存器相对应的同名端口,进一步地,需要把第二寄存器的输入端口(如D端口)与第三寄存器的输出端口(如Q端口)进行连接,从而完成了用于进行时序优化处理的第二时序路径的建立。
进一步地,在本申请的实施例中,图7为时序优化电路的组成结构示意图二,如图7所示,时序优化电路10还可以包括与第一寄存器11对应的时钟缓冲器14。其中,该时钟缓冲器14可以为与第一寄存器11等价的、同一时钟域的时钟缓冲器(clock buffer)。
相应的,在本申请的实施例中,时序优化电路10中的第三寄存器13的时钟端口也可以与第一寄存器11对应的时钟缓冲器14的后端连接,即第三寄存器的时钟端口(CP端口)可以就近连接到同一时钟域等价的时钟缓冲器(clock buffer)后端。
进一步地,在本申请的实施例中,图8为时序优化电路的组成结构示意图三,如图8所示,时序优化电路10还可以包括寄存器集群15,其中,寄存器集群15的输入端口均连接至第一寄存器11的输出端口。
需要说明的是,在本申请的实施例中,时序优化电路中的第一寄存器的后端也可以连接有多个寄存器,即第一寄存器的后端连接有寄存器集群,fanout较大。此时,即使第一寄存器至第二寄存器之间的时序路径存在时序违规,通过本申请提出的时序优化电路,使用克隆出来的第三寄存器构建用于收敛时序违例的第二时序路径(即第三寄存器至第二寄存器之间的时序路径),能够精准的完成时序收敛,不会影响第一寄存器后端的寄存器集群中的其他寄存器,减小影响范围,不会导致其他的时序问题。
可以理解的是,在本申请的实施例中,通过时序优化电路实现时序收敛的前提条件可以包括第一寄存器的前一级存在时序余量(margin)。
相应的,在本申请的实施例中,通过时序优化电路实现时序收敛的前提条件也可以包括第二寄存器的后一级不存在时序余量(margin)。但是,本申请并不对第二寄存器的后一级是否存在时序余量进行严格的限制,也就是说,即使第二寄存器的后一级存在时序余量,也可以使用该时序优化电路实现时序收敛。
综上所述,本申请实施例提出的时序优化电路,可以充分利用第一寄存器的前一级的时序余量,通过克隆第一寄存器的第三寄存器来收敛第一寄存器到第二寄存器的时序违例问题,而在此时序优化过程中,并不会对第一寄存器后面的寄存器集群的时序产生影响。可见,采用本申请实施例提出的时序优化电路进行时序优化处理,能够把存在违规的时序路径从错综复杂的时序网络中剥离出来,实现各个击破,从而把对整个芯片时序的影响降到了最低。
图9为时序违例的示意图三,图10为时序优化的电路的示意图二,如图9和10所示,FF1(第一寄存器)的前一级存在时序余量(margin),而FF2(第二寄存器)的后一级不存在时序余量(margin),如果由FF1至FF2构成的时序路径存在违规,那么可以选择断开FF2的输入端口(如D端口)待连接,克隆出FF1'(第三寄存去),将FF1'放在距离FF2较近的物理位置,并把FF1'所有的输入端口(如D端口,CP端口,E端口,TE端口)连接到FF1相对应的同名端口。此时,FF1'的时钟端口(CP端口)也可以就近连接到同一时钟域等价的clock buffer后端面。最后把FF1'的输出端口(如Q端口)连接到FF2的输入端口(如D端口),便可以利用FF1前一级的margin优化由FF1至FF2构成的时序路径的时序违规,解决了这一组寄存器的时序问题。而此时FF1到FF group(寄存器集群)的时序并没有被改变,影响范围做到了最小。可见,在不影响FF group时序的情况下,充分利用FF1前一级的margin,通过克隆FF1寄存器(FF1')来收敛FF1到FF2的时序违例问题,基于该时序优化电路实现的时序优化处理,不仅操作简单易实现,且影响范围小,不会导致其他的时序问题,有效解决个别疑难时序问题并且能有效的减低投片延期的风险,进而为ECO阶段的时序收敛提供一种解决思路。
本申请实施例提供了一种时序优化电路,该时序优化电路包括:第一寄存器,第二寄存器,第三寄存器,第三寄存器为第一寄存器的复刻寄存器;第一寄存器与第二寄存器之间的路径距离大于第三寄存器与第二寄存器之间的路径距离;当执行时序分析命令所获得时序报告指示第一时序路径存在时序违规时,第二时序路径用于进行时序优化处理;第一时序路径的路径起点为第一寄存器,且路径终点为第二寄存器;第二时序路径的路径起点为第三寄存器,且路径终点为第二寄存器。也就是说,在本申请中,在对以第一寄存器为路径起点的一条时序路径进行时序优化时,可以通过克隆第一寄存器的第三寄存器构建相应的新的时序路径,同时利用第三寄存器距离路径终点的第二寄存器更近的特点实现时序收敛的效果。这样的时序优化方法不仅能够高效精准地解决时序问题,同时也不会对第一寄存器后端所连接的其他寄存器的时序产生干扰,缩小了影响范围,从而能够大大提升时序优化效果,进而缩短芯片后端设计的时间,有效提高芯片的设计效率和性能。
本申请一实施例提供了一种时序优化方法,该时序优化方法应用于时序优化电路。其中,时序优化电路可以包括第一寄存器,第二寄存器以及第三寄存器。
需要说明的是,在本申请的实施例中,第三寄存器可以为第一寄存器的复刻寄存器,即第三寄存器可以为基于第一寄存器所克隆的一个寄存器。
进一步地,在本申请的实施例中,可以选择通过缩短时序路径来增大延时,其中,可以设置时序优化电路中的第一寄存器与第二寄存器之间的路径距离大于第三寄存器与第二寄存器之间的路径距离。
也就是说,在本申请的实施例中,第三寄存器与第二寄存器之间的物理距离(路径距离)可以是小于第一寄存器与第二寄存器之间的物理距离(路径距离)的,这样就可以在第一寄存器至第二寄存器的时序路径存在时序违规时,通过第三寄存器至第二寄存器的时序路径来进行时序的收敛。
可以理解的是,在本申请的实施例中,与第一寄存器相比,时序优化电路中的第一寄存器所对应的克隆获得的寄存器(第三寄存器)可以被布置在距离第二寄存器更近的物理位置,从而可以保证第三寄存器与第二寄存器之间的路径距离小于第一寄存器与第二寄存器之间的路径距离。
图11为时序优化方法的实现流程示意图一,如图11所示,在本申请的实施例中,时序优化方法可以包括以下步骤:
步骤101、执行时序分析命令,获得时序报告。
在本申请的实施例中,可以先执行时序分析命令,然后获得时序报告。
可以理解的是,前端设计已经完成之后,在进行芯片的后端设计时,可以先导入库文件和设计数据。其中,导入库文件和设计数据也可以理解为芯片的后端设计流程的开始。其中,在进行后端设计时可以先导入需要的数据。具体地,这些数据具体可以包括库文件和设计数据,其中,库文件可以为芯片代工厂(Foundry厂)提供的标准单元、宏单元和I/O Pad的库文件,它包括物理库、时序库及网表库,分别以.lef、.tlf和.v的形式给出。而设计数据可以为芯片前端设计经过综合后生成的门级网表,具有时序约束和时钟定义的脚本文件和由此产生的.gcf约束文件。
需要说明的是,在本申请的实施例中,基于库文件和设计数据,STA工具执行时序分析命令的具体流程可以包括:首先基于库文件和设计数据执行插入命令,对间隙进行插入处理;接着,可以执行抽取命令,提取寄生参数;最后,STA工具执行时序分析命令,对寄生参数进行静态分析处理,便可以生成时序报告。
可以理解的是,在本申请的实施例中,时序报告可以用于对芯片的时序违例情况进行确定。其中,通过时序报告可以获取时序违例所对应的路径起点、路径终点及所属的时钟通路分支等具体情况。
进一步地,在本申请的实施例中,时序报告也可以用于指示由第一寄存器至第二寄存器的第一时序路径是否存在时序违规。
步骤102、当时序报告指示第一时序路径存在时序违规时,通过第二时序路径进行时序优化处理;其中,第一时序路径的路径起点为第一寄存器,且路径终点为第二寄存器;第二时序路径的路径起点为第三寄存器,且路径终点为第二寄存器。
在本申请的实施例中,在执行时序分析命令,获得时序报告之后,如果时序报告指示第一时序路径存在时序违规,便需要通过第二时序路径进行时序优化处理。
需要说明的是,在本申请的实施例中,以第一寄存器为起点、第二寄存器为终点的时序路径为第一时序路径,以第三寄存器为起点、第二寄存器为终点的时序路径为第二时序路径,在执行时序分析命令获得的时序报告之后,如果时序报告指示第一时序路径存在时序违规,那么可以选择使用第二时序路径进行时序优化处理,以解决第一时序路径的时序违规。
进一步地,在本申请的实施例中,由于第三寄存器是第一寄存器的复刻寄存器,因此,在进行时序优化电路中,为了确保一致性,需要保证第三寄存器的输出端口与第二寄存器的输入端口连接,同时,还需要保证第三寄存器的全部输入端口与第一寄存器的全部输入端口对应连接。
可以理解的是,在本申请的实施例中,与原有的、存在时序违规的时序路径的电路相比,时序优化电路中断开了第二寄存器的输入端口(如D端口)与第一寄存器的输出端口(如Q端口)的连接,与第一寄存器相比,克隆出的第三寄存器被放置在距离第二寄存器较近的物理位置,同时,可以把第三寄存器的所有的输入端口(如D端口、CP端口、E端口、TE端口)连接至与第一寄存器相对应的同名端口,进一步地,需要把第二寄存器的输入端口(如D端口)与第三寄存器的输出端口(如Q端口)进行连接,从而完成了用于进行时序优化处理的第二时序路径的建立。
进一步地,在本申请的实施例中,时序优化电路中还可以包括与第一寄存器对应的时钟缓冲器。其中,该时钟缓冲器可以为与第一寄存器等价的、同一时钟域的时钟缓冲器(clock buffer)。
相应的,在本申请的实施例中,时序优化电路中的第三寄存器的时钟端口也可以与第一寄存器对应的时钟缓冲器的后端连接,即第三寄存器的时钟端口(CP端口)可以就近连接到同一时钟域等价的时钟缓冲器(clock buffer)后端。
进一步地,在本申请的实施例中,时序优化电路还可以包括寄存器集群,其中,寄存器集群的输入端口均连接至第一寄存器的输出端口。
需要说明的是,在本申请的实施例中,时序优化电路中的第一寄存器的后端也可以连接有多个寄存器,即第一寄存器的后端连接有寄存器集群,fanout较大。此时,即使第一寄存器至第二寄存器之间的时序路径存在时序违规,通过本申请提出的时序优化电路,使用克隆出来的第三寄存器构建用于收敛时序违例的第二时序路径(即第三寄存器至第二寄存器之间的时序路径),能够精准的完成时序收敛,不会影响第一寄存器后端的寄存器集群中的其他寄存器,减小影响范围,不会导致其他的时序问题。
图12为时序优化方法的实现流程示意图二,如图12所示,在本申请的实施例中,在执行时序分析命令,获得时序报告之后,即步骤101之后,时序优化方法具体可以包括以下步骤:
步骤102a、当时序报告指示第一时序路径存在时序违规,且第一寄存器的前一级存在时序余量时,通过第二时序路径进行时序优化处理;其中,第一时序路径的路径起点为第一寄存器,且路径终点为第二寄存器;第二时序路径的路径起点为第三寄存器,且路径终点为第二寄存器。
在本申请的实施例中,在执行时序分析命令,获得时序报告之后,如果时序报告指示第一时序路径存在时序违规,同时第一寄存器的前一级存在时序余量,那么便需要通过第二时序路径进行时序优化处理。
可以理解的是,在本申请的实施例中,通过时序优化电路实现时序收敛的前提条件可以包括第一寄存器的前一级存在时序余量(margin)。
图13为时序优化方法的实现流程示意图三,如图13所示,在本申请的实施例中,在执行时序分析命令,获得时序报告之后,即步骤101之后,时序优化方法具体可以包括以下步骤:
步骤102b、当时序报告指示第一时序路径存在时序违规、第一寄存器的前一级存在时序余量,且第二寄存器的后一级不存在时序余量时,通过第二时序路径进行时序优化处理;其中,第一时序路径的路径起点为第一寄存器,且路径终点为第二寄存器;第二时序路径的路径起点为第三寄存器,且路径终点为第二寄存器。
在本申请的实施例中,在执行时序分析命令,获得时序报告之后,如果时序报告指示第一时序路径存在时序违规,同时第一寄存器的前一级存在时序余量,且第二寄存器的后一级不存在时序余量,那么便需要通过第二时序路径进行时序优化处理。
也就是说,在本申请的实施例中,除了要求第一寄存器的前一级存在时序余量以外,通过时序优化电路实现时序收敛的前提条件也可以包括第二寄存器的后一级不存在时序余量(margin)。但是,本申请并不对第二寄存器的后一级是否存在时序余量进行严格的限制,也就是说,即使第二寄存器的后一级存在时序余量,也可以使用该时序优化电路实现时序收敛。
综上所述,通过上述步骤101至步骤102所提出的时序优化方法,可以充分利用第一寄存器的前一级的时序余量,通过克隆第一寄存器的第三寄存器来收敛第一寄存器到第二寄存器的时序违例问题,而在此时序优化过程中,并不会对第一寄存器后面的寄存器集群的时序产生影响。可见,采用本申请实施例提出的时序优化电路进行时序优化处理,能够把存在违规的时序路径从错综复杂的时序网络中剥离出来,实现各个击破,从而把对整个芯片时序的影响降到了最低。
本申请实施例提供了一种时序优化方法,该时序优化方法应用于时序优化电路,时序优化电路包括:第一寄存器,第二寄存器,第三寄存器,第三寄存器为第一寄存器的复刻寄存器;第一寄存器与第二寄存器之间的路径距离大于第三寄存器与第二寄存器之间的路径距离;当执行时序分析命令所获得时序报告指示第一时序路径存在时序违规时,第二时序路径用于进行时序优化处理;第一时序路径的路径起点为第一寄存器,且路径终点为第二寄存器;第二时序路径的路径起点为第三寄存器,且路径终点为第二寄存器。时序优化方法包括执行时序分析命令,获得时序报告;当时序报告指示第一时序路径存在时序违规时,通过第二时序路径进行时序优化处理。也就是说,在本申请中,在对以第一寄存器为路径起点的一条时序路径进行时序优化时,可以通过克隆第一寄存器的第三寄存器构建相应的新的时序路径,同时利用第三寄存器距离路径终点的第二寄存器更近的特点实现时序收敛的效果。这样的时序优化方法不仅能够高效精准地解决时序问题,同时也不会对第一寄存器后端所连接的其他寄存器的时序产生干扰,缩小了影响范围,从而能够大大提升时序优化效果,进而缩短芯片后端设计的时间,有效提高芯片的设计效率和性能。
基于上述实施例,本申请的又一实施例提供了一种芯片,图14为芯片的组成结构示意图一,如图14所示,芯片20可以包括时序优化电路10,其中,时序优化电路10可以包括:第一寄存器11,第二寄存器12,第三寄存器13,其中,第三寄存器13为第一寄存器11的复刻寄存器;第一寄存器11与第二寄存器12之间的路径距离大于第三寄存器13与第二寄存器12之间的路径距离。
需要说明的是,在本申请的实施例中,第三寄存器13可以为第一寄存器11的复刻寄存器,即第三寄存器13可以为基于第一寄存器11所克隆的一个寄存器。
可以理解的是,在本申请的实施例中,可以选择通过缩短时序路径来增大延时,其中,可以设置时序优化电路10中的第一寄存器11与第二寄存器12之间的路径距离大于第三寄存器13与第二寄存器12之间的路径距离。
也就是说,在本申请的实施例中,第三寄存器13与第二寄存器12之间的物理距离(路径距离)可以是小于第一寄存器11与第二寄存器12之间的物理距离(路径距离)的,这样就可以在第一寄存器11至第二寄存器12的时序路径存在时序违规时,通过第三寄存器13至第二寄存器12的时序路径来进行时序的收敛。
可以理解的是,在本申请的实施例中,与第一寄存器11相比,时序优化电路中的第一寄存器11所对应的克隆获得的寄存器(第三寄存器13)可以被布置在距离第二寄存器12更近的物理位置,从而可以保证第三寄存器13与第二寄存器12之间的路径距离小于第一寄存器11与第二寄存器12之间的路径距离。
进一步地,在本申请的实施例中,当执行时序分析命令所获得时序报告指示第一时序路径存在时序违规时,第二时序路径用于进行时序优化处理;其中,第一时序路径的路径起点为第一寄存器11,且路径终点为第二寄存器12;第二时序路径的路径起点为第三寄存器13,且路径终点为第二寄存器12。
需要说明的是,在本申请的实施例中,以第一寄存器11为起点、第二寄存器12为终点的时序路径为第一时序路径,以第三寄存器13为起点、第二寄存器12为终点的时序路径为第二时序路径,在执行时序分析命令获得的时序报告之后,如果时序报告指示第一时序路径存在时序违规,那么可以选择使用第二时序路径进行时序优化处理,以解决第一时序路径的时序违规。
进一步地,在本申请的实施例中,由于第三寄存器13是第一寄存器11的复刻寄存器,因此,在进行时序优化电路中,为了确保一致性,需要保证第三寄存器13的输出端口与第二寄存器12的输入端口连接,同时,还需要保证第三寄存器13的全部输入端口与第一寄存器11的全部输入端口对应连接。
可以理解的是,在本申请的实施例中,与原有的、存在时序违例的时序路径的电路相比,时序优化电路中断开了第二寄存器的输入端口(如D端口)与第一寄存器的输出端口(如Q端口)的连接,与第一寄存器相比,克隆出的第三寄存器被放置在距离第二寄存器较近的物理位置,同时,可以把第三寄存器的所有的输入端口(如D端口、CP端口、E端口、TE端口)连接至与第一寄存器相对应的同名端口,进一步地,需要把第二寄存器的输入端口(如D端口)与第三寄存器的输出端口(如Q端口)进行连接,从而完成了用于进行时序优化处理的第二时序路径的建立。
进一步地,在本申请的实施例中,图15为芯片的组成结构示意图二,如图15所示,时序优化电路10还可以包括与第一寄存器11对应的时钟缓冲器14。其中,该时钟缓冲器14可以为与第一寄存器11等价的、同一时钟域的时钟缓冲器(clock buffer)。
相应的,在本申请的实施例中,时序优化电路10中的第三寄存器13的时钟端口也可以与第一寄存器11对应的时钟缓冲器14的后端连接,即第三寄存器的时钟端口(CP端口)可以就近连接到同一时钟域等价的时钟缓冲器(clock buffer)后端。
进一步地,在本申请的实施例中,如图15所示,时序优化电路10还可以包括寄存器集群15,其中,寄存器集群15的输入端口均连接至第一寄存器11的输出端口。
需要说明的是,在本申请的实施例中,时序优化电路中的第一寄存器的后端也可以连接有多个寄存器,即第一寄存器的后端连接有寄存器集群,fanout较大。此时,即使第一寄存器至第二寄存器之间的时序路径存在时序违规,通过本申请提出的时序优化电路,使用克隆出来的第三寄存器构建用于收敛时序违例的第二时序路径(即第三寄存器至第二寄存器之间的时序路径),能够精准的完成时序收敛,不会影响第一寄存器后端的寄存器集群中的其他寄存器,减小影响范围,不会导致其他的时序问题。
可以理解的是,在本申请的实施例中,通过时序优化电路实现时序收敛的前提条件可以包括第一寄存器的前一级存在时序余量(margin)。
相应的,在本申请的实施例中,通过时序优化电路实现时序收敛的前提条件也可以包括第二寄存器的后一级不存在时序余量(margin)。但是,本申请并不对第二寄存器的后一级是否存在时序余量进行严格的限制,也就是说,即使第二寄存器的后一级存在时序余量,也可以使用该时序优化电路实现时序收敛。
综上所述,本申请实施例提出的设置有时序优化电路的芯片,可以充分利用第一寄存器的前一级的时序余量,通过克隆第一寄存器的第三寄存器来收敛第一寄存器到第二寄存器的时序违例问题,而在此时序优化过程中,并不会对第一寄存器后面的寄存器集群的时序产生影响。可见,采用本申请实施例提出的时序优化电路进行时序优化处理,能够把存在违规的时序路径从错综复杂的时序网络中剥离出来,实现各个击破,从而把对整个芯片时序的影响降到了最低。
本申请实施例提供了一种芯片,芯片设置有时序优化电路,时序优化电路包括:第一寄存器,第二寄存器,第三寄存器,第三寄存器为第一寄存器的复刻寄存器;第一寄存器与第二寄存器之间的路径距离大于第三寄存器与第二寄存器之间的路径距离;当执行时序分析命令所获得时序报告指示第一时序路径存在时序违规时,第二时序路径用于进行时序优化处理;第一时序路径的路径起点为第一寄存器,且路径终点为第二寄存器;第二时序路径的路径起点为第三寄存器,且路径终点为第二寄存器。也就是说,在本申请中,在对以第一寄存器为路径起点的一条时序路径进行时序优化时,可以通过克隆第一寄存器的第三寄存器构建相应的新的时序路径,同时利用第三寄存器距离路径终点的第二寄存器更近的特点实现时序收敛的效果。这样的时序优化方法不仅能够高效精准地解决时序问题,同时也不会对第一寄存器后端所连接的其他寄存器的时序产生干扰,缩小了影响范围,从而能够大大提升时序优化效果,进而缩短芯片后端设计的时间,有效提高芯片的设计效率和性能。
基于上述实施例,本申请的另一实施例提供了一种电子设备,图16为电子设备的组成结构示意图一,如图16所示,电子设备30可以包括芯片20,芯片20中配置有时序优化电路10,其中,时序优化电路10可以包括:第一寄存器11,第二寄存器12,第三寄存器13,其中,第三寄存器13为第一寄存器11的复刻寄存器;第一寄存器11与第二寄存器12之间的路径距离大于第三寄存器13与第二寄存器12之间的路径距离。
可以理解的是,在本申请的实施例中,电子设备30可以为各种具有通信功能的电子设备,包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,PDA)、平板电脑(PAD)、便携式多媒体播放器(PortableMedia Player,PMP)、车载电子设备(例如车载导航电子设备)等等的移动电子设备以及诸如数字电视(TV)、台式计算机等等的固定电子设备。
需要说明的是,在本申请的实施例中,第三寄存器13可以为第一寄存器11的复刻寄存器,即第三寄存器13可以为基于第一寄存器11所克隆的一个寄存器。
可以理解的是,在本申请的实施例中,可以选择通过缩短时序路径来增大延时,其中,可以设置时序优化电路10中的第一寄存器11与第二寄存器12之间的路径距离大于第三寄存器13与第二寄存器12之间的路径距离。
可以理解的是,在本申请的实施例中,与第一寄存器11相比,时序优化电路中的第一寄存器11所对应的克隆获得的寄存器(第三寄存器13)可以被布置在距离第二寄存器12更近的物理位置,从而可以保证第三寄存器13与第二寄存器12之间的路径距离小于第一寄存器11与第二寄存器12之间的路径距离。
需要说明的是,在本申请的实施例中,以第一寄存器11为起点、第二寄存器12为终点的时序路径为第一时序路径,以第三寄存器13为起点、第二寄存器12为终点的时序路径为第二时序路径,在执行时序分析命令获得的时序报告之后,如果时序报告指示第一时序路径存在时序违规,那么可以选择使用第二时序路径进行时序优化处理,以解决第一时序路径的时序违规。
进一步地,在本申请的实施例中,由于第三寄存器13是第一寄存器11的复刻寄存器,因此,在进行时序优化电路中,为了确保一致性,需要保证第三寄存器13的输出端口与第二寄存器12的输入端口连接,同时,还需要保证第三寄存器13的全部输入端口与第一寄存器11的全部输入端口对应连接。
进一步地,在本申请的实施例中,图17为电子设备的组成结构示意图二,如图17所示,时序优化电路10还可以包括与第一寄存器11对应的时钟缓冲器14。其中,该时钟缓冲器14可以为与第一寄存器11等价的、同一时钟域的时钟缓冲器(clock buffer)。
相应的,在本申请的实施例中,时序优化电路10中的第三寄存器13的时钟端口也可以与第一寄存器11对应的时钟缓冲器14的后端连接,即第三寄存器的时钟端口(CP端口)可以就近连接到同一时钟域等价的时钟缓冲器(clock buffer)后端。
进一步地,在本申请的实施例中,如图17所示,时序优化电路10还可以包括寄存器集群15,其中,寄存器集群15的输入端口均连接至第一寄存器11的输出端口。
需要说明的是,在本申请的实施例中,时序优化电路中的第一寄存器的后端也可以连接有多个寄存器,即第一寄存器的后端连接有寄存器集群,fanout较大。此时,即使第一寄存器至第二寄存器之间的时序路径存在时序违规,通过本申请提出的时序优化电路,使用克隆出来的第三寄存器构建用于收敛时序违例的第二时序路径(即第三寄存器至第二寄存器之间的时序路径),能够精准的完成时序收敛,不会影响第一寄存器后端的寄存器集群中的其他寄存器,减小影响范围,不会导致其他的时序问题。
可以理解的是,在本申请的实施例中,通过时序优化电路实现时序收敛的前提条件可以包括第一寄存器的前一级存在时序余量(margin)。
相应的,在本申请的实施例中,通过时序优化电路实现时序收敛的前提条件也可以包括第二寄存器的后一级不存在时序余量(margin)。但是,本申请并不对第二寄存器的后一级是否存在时序余量进行严格的限制,也就是说,即使第二寄存器的后一级存在时序余量,也可以使用该时序优化电路实现时序收敛。
综上所述,本申请实施例提出的包括设置有时序优化电路的芯片的电子设备,可以充分利用第一寄存器的前一级的时序余量,通过克隆第一寄存器的第三寄存器来收敛第一寄存器到第二寄存器的时序违例问题,而在此时序优化过程中,并不会对第一寄存器后面的寄存器集群的时序产生影响。可见,采用本申请实施例提出的时序优化电路进行时序优化处理,能够把存在违规的时序路径从错综复杂的时序网络中剥离出来,实现各个击破,从而把对整个芯片时序的影响降到了最低。
本申请实施例提供了一种电子设备,该电子设备包括设置有时序优化电路的芯片,时序优化电路包括:第一寄存器,第二寄存器,第三寄存器,第三寄存器为第一寄存器的复刻寄存器;第一寄存器与第二寄存器之间的路径距离大于第三寄存器与第二寄存器之间的路径距离;当执行时序分析命令所获得时序报告指示第一时序路径存在时序违规时,第二时序路径用于进行时序优化处理;第一时序路径的路径起点为第一寄存器,且路径终点为第二寄存器;第二时序路径的路径起点为第三寄存器,且路径终点为第二寄存器。也就是说,在本申请中,在对以第一寄存器为路径起点的一条时序路径进行时序优化时,可以通过克隆第一寄存器的第三寄存器构建相应的新的时序路径,同时利用第三寄存器距离路径终点的第二寄存器更近的特点实现时序收敛的效果。这样的时序优化方法不仅能够高效精准地解决时序问题,同时也不会对第一寄存器后端所连接的其他寄存器的时序产生干扰,缩小了影响范围,从而能够大大提升时序优化效果,进而缩短芯片后端设计的时间,有效提高芯片的设计效率和性能。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。

Claims (16)

1.一种时序优化电路,其特征在于,所述时序优化电路包括:第一寄存器,第二寄存器,第三寄存器,其中,所述第三寄存器为所述第一寄存器的复刻寄存器;所述第一寄存器与所述第二寄存器之间的路径距离大于所述第三寄存器与所述第二寄存器之间的路径距离;
当执行时序分析命令所获得时序报告指示第一时序路径存在时序违规时,第二时序路径用于进行时序优化处理;其中,所述第一时序路径的路径起点为所述第一寄存器,且路径终点为所述第二寄存器;所述第二时序路径的路径起点为所述第三寄存器,且路径终点为所述第二寄存器。
2.根据权利要求1所述的时序优化电路,其特征在于,
所述第三寄存器的输出端口与所述第二寄存器的输入端口连接。
3.根据权利要求2所述的时序优化电路,其特征在于,
所述第三寄存器的全部输入端口与所述第一寄存器的全部输入端口对应连接。
4.根据权利要求2所述的时序优化电路,其特征在于,所述时序优化电路中还包括所述第一寄存器对应的时钟缓冲器,其中,
所述第三寄存器的时钟端口与所述时钟缓冲器的后端连接。
5.根据权利要求1所述的时序优化电路,其特征在于,
所述第一寄存器的前一级存在时序余量。
6.根据权利要求5所述的时序优化电路,其特征在于,
所述第二寄存器的后一级不存在时序余量。
7.根据权利要求1所述的时序优化电路,其特征在于,所述时序优化电路还包括寄存器集群,其中,
所述寄存器集群的输入端口均连接至所述第一寄存器的输出端口。
8.一种时序优化方法,其特征在于,所述时序优化方法应用于时序优化电路,所述时序优化电路包括:第一寄存器,第二寄存器,第三寄存器,其中,所述第三寄存器为所述第一寄存器的复刻寄存器;所述第一寄存器与所述第二寄存器之间的路径距离大于所述第三寄存器与所述第二寄存器之间的路径距离;所述方法包括:
执行时序分析命令,获得时序报告;
当所述时序报告指示第一时序路径存在时序违规时,通过第二时序路径进行时序优化处理;其中,所述第一时序路径的路径起点为所述第一寄存器,且路径终点为所述第二寄存器;所述第二时序路径的路径起点为所述第三寄存器,且路径终点为所述第二寄存器。
9.根据权利要求8所述的时序优化方法,其特征在于,
所述第三寄存器的输出端口与所述第二寄存器的输入端口连接。
10.根据权利要求9所述的时序优化方法,其特征在于,
所述第三寄存器的全部输入端口与所述第一寄存器的全部输入端口对应连接。
11.根据权利要求9所述的时序优化方法,其特征在于,所述时序优化电路中还包括所述第一寄存器对应的时钟缓冲器,其中,
所述第三寄存器的时钟端口与所述时钟缓冲器的后端连接。
12.根据权利要求8所述的时序优化方法,其特征在于,
所述第一寄存器的前一级存在时序余量。
13.根据权利要求12所述的时序优化方法,其特征在于,
所述第二寄存器的后一级不存在时序余量。
14.根据权利要求8所述的时序优化方法,其特征在于,所述时序优化电路还包括寄存器集群,其中,
所述寄存器集群的输入端口均连接至所述第一寄存器的输出端口。
15.一种芯片,其特征在于,所述芯片包括如权利要求1至7任一项所述的时序优化电路。
16.一种电子设备,其特征在于,所述电子设备包括如权利要求15所述的芯片。
CN202210502158.3A 2022-05-09 2022-05-09 时序优化电路和方法、芯片及电子设备 Pending CN114841104A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210502158.3A CN114841104A (zh) 2022-05-09 2022-05-09 时序优化电路和方法、芯片及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210502158.3A CN114841104A (zh) 2022-05-09 2022-05-09 时序优化电路和方法、芯片及电子设备

Publications (1)

Publication Number Publication Date
CN114841104A true CN114841104A (zh) 2022-08-02

Family

ID=82569703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210502158.3A Pending CN114841104A (zh) 2022-05-09 2022-05-09 时序优化电路和方法、芯片及电子设备

Country Status (1)

Country Link
CN (1) CN114841104A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114997087A (zh) * 2022-08-03 2022-09-02 飞腾信息技术有限公司 一种时钟树的优化方法、优化装置和相关设备
CN116090382A (zh) * 2023-03-28 2023-05-09 深圳鸿芯微纳技术有限公司 时序报告生成方法和设备
CN116401977A (zh) * 2023-06-08 2023-07-07 摩尔线程智能科技(北京)有限责任公司 用于集成电路的综合方法、综合装置、计算设备和存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114997087A (zh) * 2022-08-03 2022-09-02 飞腾信息技术有限公司 一种时钟树的优化方法、优化装置和相关设备
CN116090382A (zh) * 2023-03-28 2023-05-09 深圳鸿芯微纳技术有限公司 时序报告生成方法和设备
CN116401977A (zh) * 2023-06-08 2023-07-07 摩尔线程智能科技(北京)有限责任公司 用于集成电路的综合方法、综合装置、计算设备和存储介质
CN116401977B (zh) * 2023-06-08 2023-08-29 摩尔线程智能科技(北京)有限责任公司 用于集成电路的综合方法、综合装置、计算设备和存储介质

Similar Documents

Publication Publication Date Title
CN114841104A (zh) 时序优化电路和方法、芯片及电子设备
US8631369B1 (en) Methods, systems, and apparatus for timing and signal integrity analysis of integrated circuits with semiconductor process variations
US7467367B1 (en) Method and system for clock tree synthesis of an integrated circuit
US8316339B2 (en) Zone-based leakage power optimization
US6651230B2 (en) Method for reducing design effect of wearout mechanisms on signal skew in integrated circuit design
US9785740B2 (en) Computer implemented system and method for modifying a layout of standard cells defining a circuit component
KR20090077692A (ko) 반도체 장치의 제조 방법, 반도체 장치의 제조 프로그램 및반도체 장치의 제조 시스템
US6609241B2 (en) Method of designing clock wiring
US6574781B1 (en) Design methodology for inserting RAM clock delays
EP3239865A1 (en) Method for analyzing ir drop and electromigration of ic
CN114861578A (zh) 保持时间违例修复方法、装置、设备及存储介质
JP2011043993A (ja) 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム
JP5444985B2 (ja) 情報処理装置
JP2004327864A (ja) 半導体集積回路の低消費電力化設計方法
US8418116B2 (en) Zone-based optimization framework for performing timing and design rule optimization
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US7418675B2 (en) System and method for reducing the power consumption of clock systems
US20090241082A1 (en) Method and System for Generating an Accurate Physical Realization for an Integrated Circuit Having Incomplete Physical Constraints
US11126768B2 (en) Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same
US8336013B2 (en) Determining an order for visiting circuit blocks in a circuit design for fixing design requirement violations
US7962877B2 (en) Port assignment in hierarchical designs by abstracting macro logic
US20130205271A1 (en) Macro timing analysis device, macro boundary path timing analysis method and macro boundary path timing analysis program
US9384309B2 (en) Global timing modeling within a local context
JP4587754B2 (ja) クロック合成方法、半導体装置及びプログラム
JP2000286342A (ja) コンピュータ読み取り可能な記憶媒体、半導体集積回路の設計方法、ならびに半導体装置の設計方法

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