CN112100969A - 时序分析方法、电路、装置及存储介质 - Google Patents

时序分析方法、电路、装置及存储介质 Download PDF

Info

Publication number
CN112100969A
CN112100969A CN202010997373.6A CN202010997373A CN112100969A CN 112100969 A CN112100969 A CN 112100969A CN 202010997373 A CN202010997373 A CN 202010997373A CN 112100969 A CN112100969 A CN 112100969A
Authority
CN
China
Prior art keywords
clock
pulse width
analyzed
component
level
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
CN202010997373.6A
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 CN202010997373.6A priority Critical patent/CN112100969A/zh
Publication of CN112100969A publication Critical patent/CN112100969A/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/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/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • 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/39Circuit design at the physical level
    • G06F30/394Routing
    • 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/396Clock trees

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

时序分析方法、电路、装置及存储介质
技术领域
本发明涉及半导体技术,具体涉及一种时序分析方法、电路、装置及存储介质。
背景技术
随着工艺的不断进步,智能电子设备中的芯片单元的性能也逐步提高,例如,芯片单元的时钟频率越来越高。面对越来越高的时钟频率,芯片物理设计实现中的时序收敛将会是一个很大的挑战,尤其对于时钟的最小脉冲宽度的要求会异常严格。相关技术中,在芯片后端设计过程中,可以利用时序检查工具对时钟的最小脉冲宽度进行检查,当检查发现最小脉冲宽度违例时,需要对时钟的最小脉冲宽度进行修复,导致后端设计需要较长时间。
因此,亟需找到一种保证时钟的最小脉冲宽度不违例的技术方案。
发明内容
有鉴于此,本发明实施例期望提供一种时序分析方法、电路、装置及存储介质。
本发明的技术方案是这样实现的:
本发明实施例提供一种时序分析方法,所述方法包括:
基于多个第一反相器对单元,构建时钟树;所述时钟树用于向待分析元器件提供输入时钟;
对所述时钟树和所述待分析元器件进行布线;
对布线后所述待分析元器件的输入时钟的时序进行分析,得到分析结果;所述分析结果表征所述输入时钟的最小脉冲宽度大于或等于预设阈值。
上述方案中,所述对布线后所述待分析元器件的输入时钟的时序进行分析,包括:
确定所述时钟树输入的原始时钟的周期,并确定所述原始时钟经过所述时钟树中各个第一反相器对单元的第一上升时间和第一下降时间;
基于所述周期、第一上升时间和第一下降时间,对布线后到达所述待分析元器件的输入时钟的时序进行分析。
上述方案中,所述基于所述周期、第一上升时间和第一下降时间,对布线后到达所述待分析元器件的输入时钟的时序进行分析,包括:
基于所述原始时钟的周期,确定所述原始时钟的高电平脉冲宽度和低电平脉冲宽度;
基于所述高电平脉冲宽度,以及所述高电平脉冲对应的第一上升时间和第一下降时间,对所述高电平脉冲的最小脉冲宽度进行分析;
基于所述低电平脉冲宽度,以及所述低电平脉冲对应的第一上升时间和第一下降时间,对所述低电平脉冲的最小脉冲宽度进行分析。
上述方案中,所述方法还包括:
判断所述高电平脉冲的最小脉冲宽度和所述低电平脉冲的最小脉冲宽度是否均大于或等于预设阈值;
当确定所述高电平脉冲的最小脉冲宽度和所述低电平脉冲的最小脉冲宽度均大于或等于预设阈值时,确定所述输入时钟的最小脉冲宽度大于或等于预设阈值。
上述方案中,所述方法还包括:
当确定所述高电平脉冲的最小脉冲宽度和所述低电平脉冲的最小脉冲宽度中至少之一小于所述预设阈值时,对所述时钟树中最后一级的第一反相器对单元的时钟参数进行调整;
基于调整后的第一反相器对单元,重新构建所述时钟树。
上述方案中,所述方法还包括:
确定驱动能力等级大于或等于等级阈值的至少一个第二反相器对单元;其中,所述第二反相器对单元的驱动能力等级大于所述第一反相器对单元的驱动能力等级;
将所述至少一个第二反相器对单元设置在所述存储器的时钟端口;所述时钟端口用于输入所述时钟树提供的输入时钟。
本发明实施例提供一种时序分析电路,包括:
时钟树电路,由多个第一反相器对单元构成,用于向所述待分析元器件提供输入时钟;
待分析元器件,与所述时钟树电路相连,用于进行布线,以及对布线后所述待分析元器件的输入时钟的时序进行分析;所述分析结果表征所述输入时钟的最小脉冲宽度大于或等于预设阈值。
上述方案中,所述待分析元器件为存储器;所述电路还包括:
驱动电路,由至少一个第二反相器对单元构成,用于与所述存储器的时钟端口相连;所述时钟端口用于输入所述时钟树提供的输入时钟。
本发明实施例提供一种时序分析装置,包括:
时钟树单元,包括多个第一反相器对单元,所述时钟树用于向待分析元器件提供输入时钟;
布线单元,用于对所述时钟树和所述待分析元器件进行布线;
时序分析单元,用于对布线后所述待分析元器件的输入时钟的时序进行分析,得到分析结果;所述分析结果用于使所述待分析元器件的输入时钟的最小脉冲宽度大于或等于预设阈值。
上述方案中,所述时序分析单元,具体用于:
确定所述时钟树输入的原始时钟的周期,并确定所述原始时钟经过所述时钟树中各个第一反相器对单元的第一上升时间和第一下降时间;
基于所述周期、第一上升时间和第一下降时间,对布线后到达所述待分析元器件的输入时钟的时序进行分析。
上述方案中,所述时序分析单元,具体用于:
基于所述原始时钟的周期,确定所述原始时钟的高电平脉冲宽度和低电平脉冲宽度;
基于所述高电平脉冲宽度,以及所述高电平脉冲对应的第一上升时间和第一下降时间,对所述高电平脉冲的最小脉冲宽度进行分析;
基于所述低电平脉冲宽度,以及所述低电平脉冲对应的第一上升时间和第一下降时间,对所述低电平脉冲的最小脉冲宽度进行分析。
上述方案中,所述装置还包括:
判断单元,用于判断所述高电平脉冲的最小脉冲宽度和所述低电平脉冲的最小脉冲宽度是否均大于或等于预设阈值;当确定所述高电平脉冲的最小脉冲宽度和所述低电平脉冲的最小脉冲宽度均大于或等于预设阈值时,确定所述输入时钟的最小脉冲宽度大于或等于预设阈值。
上述方案中,所述判断单元,还用于:
当确定所述高电平脉冲的最小脉冲宽度和所述低电平脉冲的最小脉冲宽度中至少之一小于所述预设阈值时,对所述时钟树中最后一级的第一反相器对单元的时钟参数进行调整;
基于调整后的第一反相器对单元,重新构建所述时钟树。
上述方案中,所述待分析元器件为存储器;所述装置还包括:
确定单元,用于确定驱动能力等级大于或等于等级阈值的至少一个第二反相器对单元;其中,所述第二反相器对单元的驱动能力等级大于所述第一反相器对单元的驱动能力等级;将所述至少一个第二反相器对单元设置在所述存储器的时钟端口;所述时钟端口用于输入所述时钟树提供的输入时钟。
本发明实施例提供一种时序分析装置,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行所述程序时实现上述任一方法的步骤。
本发明实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行所述程序时实现上述任一方法的步骤。
本发明实施例提供的时序分析方法、电路、装置及存储介质,基于多个第一反相器对单元,构建时钟树;所述时钟树用于向待分析元器件提供输入时钟;对所述时钟树和所述待分析元器件进行布线;对布线后所述待分析元器件的输入时钟的时序进行分析,得到分析结果;所述分析结果表征所述输入时钟的最小脉冲宽度大于或等于预设阈值。采用本发明实施例的技术方案,将缓存器单元替换为第一反相器对单元,并基于多个所述第一反相器对单元,构建时钟树,能够消除缓存器单元导致的最小脉冲宽度违例情况的发生,从而保证时钟树向待分析元器件输入的时钟的最小脉冲宽度不违例,进而避免芯片后端设计占有较长时间。
附图说明
图1为相关技术对元器件的时钟进行时序分析的示意图;
图2为相关技术中时钟的波形示意图;
图3为相关技术中时钟经过缓存器(buffer)的上升沿的时延和下降沿的时延的示意图;
图4为相关技术中经过buffer后的时钟的波形示意图;
图5为相关技术中对寄存器的时钟信号的最小脉冲宽度进行检测的示意图;
图6为本发明实施例时序分析方法的实现流程示意图;
图7为本发明实施例对待分析元器件的输入时钟的时序进行分析的实现流程示意图;
图8为本发明实施例构建的时钟树的示意图;
图9为本发明实施例时钟约束文件的示意图;
图10为本发明实施例时序分析电路的组成结构示意图;
图11为本发明实施例存储器对应的时序分析电路的结构示意图;
图12为本发明实施例时序分析装置的组成结构示意图一;
图13为本发明实施例时序分析装置的组成结构示意图二。
具体实施方式
在对本发明实施例的技术方案进行详细说明之前,首先对相关技术进行介绍说明。
相关技术中,随着工艺的不断进步,芯片的性能也逐步提高,移动终端的处理器(CPU)的时钟频率早已达到2.0GHz以上,例如,ARM公司发布的Cortex-A78架构,在5nm工艺下更是能达到3.0GHz。面对如此高的时钟频率,芯片物理设计实现中的时序收敛将会是一个很大的挑战,尤其对于时钟脉冲宽度的要求会异常严格。图1是相关技术对元器件的时钟进行时序分析的示意图,如图1所示,芯片后端设计中修复最小脉冲宽度违例的方法主要是在完成布局布线(PR)之后,进行时序(timing)的工程更改指示(eco,engineering changeorder)时根据时序检查工具(如PT或Tempus)所报出的结果进行分析,修复的方法一般是对时钟树(clock tree)进行eco,而此时芯片的clock tree早已经完成并且稳定,一旦改动clock tree,将会对芯片的timing产生非常大的影响,尤其当违例发生在存储器(memory)的时钟端口时,影响将会不可估量,甚至可能推倒重来,重新进入PR阶段,此时项目的设计进程(schedule)将受到极大的考验。
图2是相关技术中时钟的波形示意图,如图2所示,时钟的周期为10ns,理想情况下时钟的占空比(clock duty cycle)为50%,即,高电平脉冲宽度(high pulse width)和低电平脉冲宽度(low pulse width)均为5ns。图3是相关技术中时钟经过buffer的上升沿的时延和下降沿的时延的示意图,如图3所示,时钟在经过一个普通的buffer之后,上升沿的时延等于0.7ns,下降沿的时延等于0.5ns,显然,上升沿的时延(rise delay)与下降沿的时延(fall delay)不一致,且上升沿的时延大于下降沿的时延。图4是相关技术中经过buffer后的时钟的波形示意图,如图4所示,当buffer cell的rise delay大于fall delay时,时钟信号高电平的脉冲宽度将会变小,当clock tree含有大量的buffer cell时,这样当clock信号经过一系列类似的buffer cell时,clock信号的脉冲宽度将会持续减小,最终可能达不到最小脉冲宽度的要求。
举例来说,如图5所示,一个寄存器的clock信号通过时钟root CLK经过4级普通的buffer到达,每个buffer的rise time和fall time是不相同的,并且rise time大于falltime。假设时钟周期为1ns,uncertainty为100ps,寄存器required min pulse width为0.4ns,可以算出在寄存器的clock端口:
High pulse width=0.5+(0.051-0.054)+(0.039-0.043)+(0.045-0.048)+(0.056-0.060)-0.1=0.386ns
Low pulse width=0.5+(0.054-0.051)+(0.043-0.039)+(0.048-0.045)+(0.060-0.056)-0.1=0.414ns
由于High pulse width=0.386ns<要求的最小脉冲宽度(required min pulsewidth)=0.4ns,所以检查到寄存器的时钟信号的最小脉冲宽度(min pulse width)违例。针对寄存器,如果最小脉冲宽度存在违例一定要修掉,否则可能导致时序器件的功能失效。
综上,相关技术中存在的技术缺陷是:在芯片后端设计过程中,可以利用时序检查工具对时钟的最小脉冲宽度进行检查,当检查发现最小脉冲宽度违例时,需要对时钟的最小脉冲宽度进行修复,导致后端设计需要较长时间。
基于此,在本发明的各种实施例中,基于多个第一反相器对单元,构建时钟树;所述时钟树用于向待分析元器件提供输入时钟;对所述时钟树和所述待分析元器件进行布线;对布线后所述待分析元器件的输入时钟的时序进行分析,得到分析结果;所述分析结果表征所述输入时钟的最小脉冲宽度大于或等于预设阈值。
下面结合附图及具体实施例对本发明作进一步详细的说明。
本发明实施例提供一种时序分析方法,图6为本发明实施例时序分析方法的实现流程示意图;如图6所示,所述方法包括:
步骤601:基于多个第一反相器对单元,构建时钟树;所述时钟树用于向待分析元器件提供输入时钟;
步骤602:对所述时钟树和所述待分析元器件进行布线;
步骤603:对布线后所述待分析元器件的输入时钟的时序进行分析,得到分析结果;所述分析结果表征所述输入时钟的最小脉冲宽度大于或等于预设阈值。
这里,在步骤601中,所述第一反相器对单元可以是指由2个反相器组成的基本单元(cell)。所述时钟树可以是指由多个第一反相器对单元搭建的网状结构,其中,多个第一反相器对单元可以构建N级的时钟树,N为正整数。实际应用时,当通过缓存器单元(buffer)构建时钟树时,由于buffer中的PMOS的迁移率小于NMOS的迁移率,因此充电所需的时间要大于放电的时间,即,时钟经过buffer后的下降时间(fall time)会快于上升时间(risetime)。将buffer替换成第一反相器对单元(用clock inverter pair表示),由于clockinverter pair的rise time和fall time会相互补偿,最终的时钟的最小脉冲宽度(minpulse width)并不会发生改变,这样,更容易避免min pulse width违例问题的发生。
这里,在步骤602中,实际应用时,为了通过时钟树向待分析元器件提供输入时钟,方便后续对所述待分析元器件的输入时钟的最小脉冲宽度进行检查,可以对基于所述第一反相器对单元构建的时钟树和所述待分析元器件进行布线(Route)。在对所述时钟树和所述待分析元器件进行布线之前,还可以对所述时钟树进行综合(CTS,Clock TreeSynthesis),以对所述时钟树的时钟信号的相关参数进行约束。
这里,在步骤603中,最小脉冲宽度(Min pulse width)是对信号的高电平脉冲和低电平脉冲的最小宽度的一个衡量,是STA阶段的硬规则(hard rule),针对时序器件或者memory,如果最小脉冲宽度存在违例一定要修掉,否则可能导致时序器件的功能失效。所述STA是指对时钟树中时钟路径(clock path)的min pulse width进行检查。所述输入时钟的最小脉冲宽度大于或等于预设阈值可以是指所述输入时钟的高电平脉冲的最小脉冲宽度大于所述预设阈值且所述输入时钟的低电平脉冲的最小脉冲宽度大于所述预设阈值。
实际应用时,考虑到时钟信号经过时钟树的第一反相器对单元后,时钟信号的上升沿和下降沿会出现“延时(delay)”,这样,时钟信号会具有上升时间(rise time)和下降时间(fall time),因此,可以基于时钟信号经过时钟树中每个第一反相器对单元的上升时间、下降时间和时钟信号的周期,对到达待分析元器件的时钟信号的最小脉冲宽度进行分析。
基于此,在一实施例中,所述对布线后所述待分析元器件的输入时钟的时序进行分析,包括:
确定所述时钟树输入的原始时钟的周期,并确定所述原始时钟经过所述时钟树中各个第一反相器对单元的第一上升时间和第一下降时间;
基于所述周期、第一上升时间和第一下降时间,对布线后到达所述待分析元器件的输入时钟的时序进行分析。
这里,当输入到所述第一反相器对单元的时钟信号为低电平脉冲信号时,所述第一反相器对单元中第一个反相器输出高电平脉冲信号,这样,可以将输入的低电平脉冲信号到达50%到输出的高电平脉冲信号到达50%所需要的时间称为所述第一上升时间。当输入所述第一反相器对单元的时钟信号为高电平脉冲信号时,所述第一反相器对单元中第一个反相器输出低电平脉冲信号,这样,可以将输入的高电平脉冲信号到达50%到输出的低电平脉冲信号到达50%所需要的时间称为所述第一下降时间。
实际应用时,由于所述时钟树向所述待分析元器件提供的输入时钟可以由高电平脉冲和低电平脉冲组成,因此,可以分别分析高电平脉冲的最小脉冲宽度和低电平脉冲的最小脉冲宽度。
基于此,在一实施例中,所述基于所述周期、第一上升时间和第一下降时间,对布线后到达所述待分析元器件的输入时钟的时序进行分析,包括:
基于所述原始时钟的周期,确定所述原始时钟的高电平脉冲宽度和低电平脉冲宽度;
基于所述高电平脉冲宽度,以及所述高电平脉冲对应的第一上升时间和第一下降时间,对所述高电平脉冲的最小脉冲宽度进行分析;
基于所述低电平脉冲宽度,以及所述低电平脉冲对应的第一上升时间和第一下降时间,对所述低电平脉冲的最小脉冲宽度进行分析。
这里,可以按照公式(1)计算高电平脉冲的最小脉冲宽度。
WidthH=TH+(Tfall1-Trise1)+(Tfall2-Trise2)+...(Tfalln-Trisen) (1)
其中,WidthH表示高电平脉冲的最小脉冲宽度,TH表示所述时钟树输入的原始时钟的高电平脉冲宽度,Tfall1表示所述原始时钟的高电平脉冲经过第1个反相器对单元时的下降时间,Trise1表示所述原始时钟的高电平脉冲经过第1个反相器对单元时的上升时间,以此类推,Tfalln表示所述原始时钟的高电平脉冲经过第n个反相器对单元时的下降时间,Trisen表示所述原始时钟的高电平脉冲经过第n个反相器对单元时的上升时间。
这里,可以按照公式(2)计算低电平脉冲的最小脉冲宽度。
WidthL=TL+(Trise1-Tfall1)+(Trise2-Tfall2)+...(Trisen-Tfalln) (2)
其中,WidthL表示低电平脉冲的最小脉冲宽度,TL表示所述时钟树输入的原始时钟的低电平脉冲宽度,Tfall1表示所述原始时钟的低电平脉冲经过第1个反相器对单元时的下降时间,Trise1表示所述原始时钟的低电平脉冲经过第1个反相器对单元时的上升时间,以此类推,Tfalln表示所述原始时钟的低电平脉冲经过第n个反相器对单元时的下降时间,Trisen表示所述原始时钟的低电平脉冲经过第n个反相器对单元时的上升时间。
实际应用时,当所述输入时钟的高电平脉冲的最小脉冲宽度大于或等于预设阈值,且所述输入时钟的低电平脉冲的最小脉冲宽度大于或等于所述预设阈值时,确定所述输入时钟的最小脉冲宽度不违例。
基于此,在一实施例中,所述方法还包括:
判断所述高电平脉冲的最小脉冲宽度和所述低电平脉冲的最小脉冲宽度是否均大于或等于预设阈值;
当确定所述高电平脉冲的最小脉冲宽度和所述低电平脉冲的最小脉冲宽度均大于或等于预设阈值时,确定所述输入时钟的最小脉冲宽度大于或等于预设阈值。
实际应用时,当对所述时钟树向待分析器件提供的输入时钟的时序进行分析时,若发现所述输入时钟的高电平脉冲的最小脉冲宽度小于所述预设阈值和/或所述输入时钟的低电平脉冲的最小脉冲宽度小于所述预设阈值,则可以对所述时钟树中的第一反相器对单元的时钟参数进行调整;所述时钟参数可以是指所述时钟树输入的时钟信号的传输时间(transition time)。
基于此,在一实施例中,所述方法还包括:
当确定所述高电平脉冲的最小脉冲宽度和所述低电平脉冲的最小脉冲宽度中至少之一小于所述预设阈值时,对所述时钟树中最后一级的第一反相器对单元的时钟参数进行调整;
基于调整后的第一反相器对单元,重新构建所述时钟树。
这里,所述时钟参数可以是指上升时间和下降时间。由于最后一级的第一反相器单元距离待分析元器件的位置最近,因此,优先对最后一级的第一反相器对单元的时钟参数进行调整,能够最大概率保证时钟的最小脉冲宽度不违例,即保证时钟的最小脉冲宽度大于或等于预设阈值。
举例来说,假设高电平脉冲的最小脉冲宽度为0.38ns,预设阈值为0.4ns,由于0.38ns小于0.4ns,这样,可以将最后一级的第一反相器对单元的下降时间与上升时间的差值调小,以保证最终计算的最小脉冲宽度的值变大,从而使高电平脉冲的最小脉冲宽度大于或等于0.4ns。
需要说明的是,若对最后一级的第一反相器对单元的时钟参数进行调整后,时钟的最小脉冲宽度仍违例,则可以针对最后一级的前一级的第一反相器对单元的时钟参数进行调整,以此类推,最终使到达所述待分析元器件的输入时钟的最小脉冲宽度不违例。
实际应用时,当所述待分析元器件为存储器(memory)时,考虑到memory对输入时钟的最小脉冲宽度的要求及其严格,以及memory的时钟网络信号(clock net)容易产生串扰,可以构建memory的时钟树之前,可以在memory的时钟输入端口放置驱动能力等级较强的反相器对单元,以保证到达memory的时钟信号的最小脉冲宽度不违例,且减小时钟信号的串扰。
基于此,在一实施例中,所述待分析元器件为存储器;所述将缓存器单元替换为第一反相器对单元之前,所述方法还包括:
确定驱动能力等级大于或等于等级阈值的至少一个第二反相器对单元;其中,所述第二反相器对单元的驱动能力等级大于所述第一反相器对单元的驱动能力等级;
将所述至少一个第二反相器对单元设置在所述存储器的时钟端口;所述时钟端口用于输入所述时钟树提供的输入时钟。
举例来说,假设等于阈值为3,可以先将驱动能力等级为4的第二反相器对单元设置在存储器的时钟端口,然后再利用驱动能力等级为1的多个第一反相器对单元构建存储器的时钟树。
这里,当待分析元器件为存储器(memory)时,在采用第一反相器对单元(clockinverter pairs)的基础上,还需要在memory紧邻clock端口的地方插入至少一对驱动能力较强的第二反相器对单元(clock inverter pair),这样,既能保证到达memory clock端口的clock transition time比较小,同时clock net的串扰也降到非常低,更容易满足minpulse width的要求。
在一示例中,如图7所示,描述对待分析元器件的输入时钟的时序进行分析的过程,包括:
步骤701:将缓存器单元替换为第一反相器对单元,并基于多个所述第一反相器对单元,构建时钟树;执行时钟树综合(CTS)。
这里,图8是构建的时钟树的示意图。所述时钟树用于向待分析元器件提供输入时钟。
这里,在步骤701之前,还可以对电路中的时钟树、待分析元器件等进行布置(FLOORPLAN)和布局(PLACE)。
这里,当待布线元器件为存储器时,为了满足存储器对最小脉冲宽度的严格要求,先在存储器的时钟端口设置至少一个驱动能力等级较大的第二反相器对单元,然后再利用多个第一反相器对单元构建存储器的时钟树。
步骤702:对所述时钟树和所述待分析元器件进行布线(ROUTE)。
步骤703:对布线后所述时钟树向所述待分析元器件提供的输入时钟进行静态时序分析(STA),得到分析结果。
其中,所述分析结果表征所述输入时钟的最小脉冲宽度大于或等于预设阈值。
这里,可以利用时钟约束文件对布线后所述时钟树向所述待分析元器件提供的输入时钟进行时序分析,图9是时钟约束文件的示意图,如图9所示,时钟约束文件中可以包含检查的内容即timing_type为“min_pulse_width”、上升时间的约束即rise_constraint、下降时间的约束即fall_constraint等等。
这里,基于多个第一反相器对单元构建待分析元器件的时钟树,具备以下优点:
(1)针对芯片后端设计中的最小脉冲宽度违例的修复提出了一种改进方案,即,在构建时钟树时采用多个第一反相器对单元(clock inverter cell)来构建clock tree,以消除最小脉冲宽度的违例,与相关技术中修改clock tree的方式相比,能够避免影响芯片的timing,缩短芯片timing signoff的时间。
(2)当对存储器(memory)的时钟的最小脉冲宽度进行检查时,提前在memory的时钟端口插入一对驱动能力等级较强的clock inverter pair来消除最小脉冲宽度的违例,满足memory对最小脉冲宽度的严格要求。
(3)在未引入额外芯片设计工作量的同时达到以下目标:改善寄存器和memory的clock结构;降低后端设计返工的可能性;减少后端timing eco的时间;提高芯片的性能和鲁棒性。
(4)提出了通过调整时钟树综合的方案,采取全反相器对单元(inverter paircell)的clock tree和提前给memory插上inverter pair的方式来改善芯片后端设计中minpulse width违例的情况,降低芯片返工的可能性,加速芯片的时序收敛。该方案可以应用于后续先进工艺,提高芯片设计收敛的时间。
采用本发明实施例的技术方案,将缓存器单元替换为第一反相器对单元,并基于多个所述第一反相器对单元,构建时钟树,能够消除缓存器单元导致的最小脉冲宽度违例情况的发生,从而保证时钟树向待分析元器件输入的时钟的最小脉冲宽度不违例,进而避免芯片后端设计占有较长时间。
为实现本发明实施例时序分析方法,本发明实施例还提供一种时序分析电路,图10为本发明实施例时序分析电路的组成结构示意图;如图10所示,所述电路包括:
时钟树电路101,由多个第一反相器对单元构成,用于向所述待分析元器件提供输入时钟;
待分析元器件102,与所述时钟树电路相连,用于进行布线,以及对布线后所述待分析元器件的输入时钟的时序进行分析;所述分析结果表征所述输入时钟的最小脉冲宽度大于或等于预设阈值。
实际应用时,当所述待分析元器件为存储器(memory)时,考虑到memory对输入时钟的最小脉冲宽度的要求及其严格,以及memory的时钟网络信号(clock net)容易产生串扰,可以构建memory的时钟树之前,可以在memory的时钟输入端口放置驱动能力等级较强的反相器对单元,以保证到达memory的时钟信号的最小脉冲宽度不违例,且减小时钟信号的串扰。
基于此,在一实施例中,所述待分析元器件为存储器;所述电路还包括:
驱动电路,由至少一个第二反相器对单元构成,用于与所述存储器的时钟端口相连;所述时钟端口用于输入所述时钟树提供的输入时钟。
举例来说,图11是存储器对应的时序分析电路的结构示意图,如图11所示,时序分析电路包括时钟树电路、待分析元器件(存储器)、驱动电路组成。其中,驱动电路中的反相器对单元的驱动能力等级高于时钟树电路中的反相器对单元的驱动能力等级。
为实现本发明实施例时序分析方法,本发明实施例还提供一种时序分析装置,图12为本发明实施例时序分析装置的组成结构示意图;如图12所示,所述装置包括:
时钟树单元121,包括多个第一反相器对单元,用于基于多个第一反相器对单元,构建时钟树;所述时钟树用于向待分析元器件提供输入时钟;
布线单元122,用于对所述时钟树和所述待分析元器件进行布线;
时序分析单元123,用于对布线后所述待分析元器件的输入时钟的时序进行分析,得到分析结果;所述分析结果用于使所述待分析元器件的输入时钟的最小脉冲宽度大于或等于预设阈值。
在一实施例中,所述时序分析单元123,具体用于:
确定所述时钟树输入的原始时钟的周期,并确定所述原始时钟经过所述时钟树中各个第一反相器对单元的第一上升时间和第一下降时间;基于所述周期、第一上升时间和第一下降时间,对布线后到达所述待分析元器件的输入时钟的时序进行分析。
在一实施例中,所述时序分析单元123,具体用于:
基于所述原始时钟的周期,确定所述原始时钟的高电平脉冲宽度和低电平脉冲宽度;基于所述高电平脉冲宽度,以及所述高电平脉冲对应的第一上升时间和第一下降时间,对所述高电平脉冲的最小脉冲宽度进行分析;
基于所述低电平脉冲宽度,以及所述低电平脉冲对应的第一上升时间和第一下降时间,对所述低电平脉冲的最小脉冲宽度进行分析。
在一实施例中,所述装置还包括:
判断单元,用于判断所述高电平脉冲的最小脉冲宽度和所述低电平脉冲的最小脉冲宽度是否均大于或等于预设阈值;当确定所述高电平脉冲的最小脉冲宽度和所述低电平脉冲的最小脉冲宽度均大于或等于预设阈值时,确定所述输入时钟的最小脉冲宽度大于或等于预设阈值。
在一实施例中,所述判断单元,还用于:
当确定所述高电平脉冲的最小脉冲宽度和所述低电平脉冲的最小脉冲宽度中至少之一小于所述预设阈值时,对所述时钟树中最后一级的第一反相器对单元的时钟参数进行调整;基于调整后的第一反相器对单元,重新构建所述时钟树。
在一实施例中,所述待分析元器件为存储器;所述装置还包括:
确定单元,用于确定驱动能力等级大于或等于等级阈值的至少一个第二反相器对单元;其中,所述第二反相器对单元的驱动能力等级大于所述第一反相器对单元的驱动能力等级;
将所述至少一个第二反相器对单元设置在所述存储器的时钟端口;所述时钟端口用于输入所述时钟树提供的输入时钟。
实际应用时,所述时钟树单元121、布线单元122、时序分析单元123、判断单元、确定单元可由所述装置中的处理器实现;所述处理器可以是中央处理器(CPU,CentralProcessing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable Gate Array)。
需要说明的是:上述实施例提供的装置在进行时序分析时,仅以上述各程序模块的划分进行举例说明,实际应用时,可以根据需要而将上述处理分配由不同的程序模块完成,即将终端的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的装置与时序分析方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述设备的硬件实现,本发明实施例还提供了一种时序分析装置,图13为本发明实施例的时序分析装置的硬件组成结构示意图,如图13所示,时序分析装置130包括存储器133、处理器132及存储在存储器133上并可在处理器132上运行的计算机程序;所述处理器132执行所述程序时实现上述一个或多个技术方案提供的方法。
需要说明的是,所述处理器132执行所述程序时实现的具体步骤已在上文详述,这里不再赘述。
可以理解,时序分析装置130还包括通信接口131,所述通信接口131用于和其它设备进行信息交互;同时,时序分析装置130中的各个组件通过总线系统134耦合在一起。可理解,总线系统134配置为实现这些组件之间的连接通信。总线系统134除包括数据总线之外,还包括电源总线、控制总线和状态信号总线等。
可以理解,本实施例中的存储器133可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,ReadOnly Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,RandomAccess Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
上述本发明实施例揭示的方法可以应用于处理器132中,或者由处理器132实现。处理器132可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器132中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器132可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器102可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器132读取存储器中的信息,结合其硬件完成前述方法的步骤。
本发明实施例还提供了一种存储介质,具体为计算机存储介质,更具体的为计算机可读存储介质。其上存储有计算机指令,即计算机程序,该计算机指令被处理器执行时上述一个或多个技术方案提供的方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种时序分析方法,其特征在于,所述方法包括:
基于多个第一反相器对单元,构建时钟树;所述时钟树用于向待分析元器件提供输入时钟;
对所述时钟树和所述待分析元器件进行布线;
对布线后所述待分析元器件的输入时钟的时序进行分析,得到分析结果;所述分析结果表征所述输入时钟的最小脉冲宽度大于或等于预设阈值。
2.根据权利要求1所述的方法,其特征在于,所述对布线后所述待分析元器件的输入时钟的时序进行分析,包括:
确定所述时钟树输入的原始时钟的周期,并确定所述原始时钟经过所述时钟树中各个第一反相器对单元的第一上升时间和第一下降时间;
基于所述周期、第一上升时间和第一下降时间,对布线后到达所述待分析元器件的输入时钟的时序进行分析。
3.根据权利要求2所述的方法,其特征在于,所述基于所述周期、第一上升时间和第一下降时间,对布线后到达所述待分析元器件的输入时钟的时序进行分析,包括:
基于所述原始时钟的周期,确定所述原始时钟的高电平脉冲宽度和低电平脉冲宽度;
基于所述高电平脉冲宽度,以及所述高电平脉冲对应的第一上升时间和第一下降时间,对所述高电平脉冲的最小脉冲宽度进行分析;
基于所述低电平脉冲宽度,以及所述低电平脉冲对应的第一上升时间和第一下降时间,对所述低电平脉冲的最小脉冲宽度进行分析。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
判断所述高电平脉冲的最小脉冲宽度和所述低电平脉冲的最小脉冲宽度是否均大于或等于预设阈值;
当确定所述高电平脉冲的最小脉冲宽度和所述低电平脉冲的最小脉冲宽度均大于或等于预设阈值时,确定所述输入时钟的最小脉冲宽度大于或等于预设阈值。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当确定所述高电平脉冲的最小脉冲宽度和所述低电平脉冲的最小脉冲宽度中至少之一小于所述预设阈值时,对所述时钟树中最后一级的第一反相器对单元的时钟参数进行调整;
基于调整后的第一反相器对单元,重新构建所述时钟树。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定驱动能力等级大于或等于等级阈值的至少一个第二反相器对单元;其中,所述第二反相器对单元的驱动能力等级大于所述第一反相器对单元的驱动能力等级;
将所述至少一个第二反相器对单元设置在所述存储器的时钟端口;所述时钟端口用于输入所述时钟树提供的输入时钟。
7.一种时序分析电路,其特征在于,包括:
时钟树电路,由多个第一反相器对单元构成,用于向所述待分析元器件提供输入时钟;
待分析元器件,与所述时钟树电路相连,用于进行布线,以及对布线后所述待分析元器件的输入时钟的时序进行分析;所述分析结果表征所述输入时钟的最小脉冲宽度大于或等于预设阈值。
8.根据权利要求7所述的电路,其特征在于,所述待分析元器件为存储器;所述电路还包括:
驱动电路,由至少一个第二反相器对单元构成,用于与所述存储器的时钟端口相连;所述时钟端口用于输入所述时钟树提供的输入时钟。
9.一种时序分析装置,其特征在于,包括:
时钟树单元,包括多个第一反相器对单元,所述时钟树用于向待分析元器件提供输入时钟;
布线单元,用于对所述时钟树和所述待分析元器件进行布线;
时序分析单元,用于对布线后所述待分析元器件的输入时钟的时序进行分析,得到分析结果;所述分析结果用于使所述待分析元器件的输入时钟的最小脉冲宽度大于或等于预设阈值。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。
CN202010997373.6A 2020-09-21 2020-09-21 时序分析方法、电路、装置及存储介质 Pending CN112100969A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010997373.6A CN112100969A (zh) 2020-09-21 2020-09-21 时序分析方法、电路、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010997373.6A CN112100969A (zh) 2020-09-21 2020-09-21 时序分析方法、电路、装置及存储介质

Publications (1)

Publication Number Publication Date
CN112100969A true CN112100969A (zh) 2020-12-18

Family

ID=73756431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010997373.6A Pending CN112100969A (zh) 2020-09-21 2020-09-21 时序分析方法、电路、装置及存储介质

Country Status (1)

Country Link
CN (1) CN112100969A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116306417A (zh) * 2023-05-23 2023-06-23 南京芯驰半导体科技有限公司 时钟延时方法、装置、电子设备及存储介质
CN117688893A (zh) * 2024-02-01 2024-03-12 成都电科星拓科技有限公司 芯片转换时间违例修复方法、装置、电子设备及存储介质
EP4369602A1 (en) * 2022-11-09 2024-05-15 Macronix International Co., Ltd. Managing signal transfers in semiconductor devices

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4369602A1 (en) * 2022-11-09 2024-05-15 Macronix International Co., Ltd. Managing signal transfers in semiconductor devices
CN116306417A (zh) * 2023-05-23 2023-06-23 南京芯驰半导体科技有限公司 时钟延时方法、装置、电子设备及存储介质
CN116306417B (zh) * 2023-05-23 2023-08-22 南京芯驰半导体科技有限公司 时钟延时方法、装置、电子设备及存储介质
CN117688893A (zh) * 2024-02-01 2024-03-12 成都电科星拓科技有限公司 芯片转换时间违例修复方法、装置、电子设备及存储介质
CN117688893B (zh) * 2024-02-01 2024-04-26 成都电科星拓科技有限公司 芯片转换时间违例修复方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN112100969A (zh) 时序分析方法、电路、装置及存储介质
US7117466B2 (en) System and method for correlated process pessimism removal for static timing analysis
US7784003B2 (en) Estimation of process variation impact of slack in multi-corner path-based static timing analysis
US20070277144A1 (en) Conversion of circuit description to an abstract model of the circuit
CN112100158B (zh) 一种标准单元库的建立方法、装置、电子设备及存储介质
Rodopoulos et al. Time and workload dependent device variability in circuit simulations
US8196077B2 (en) Cell-library-for-statistical-timing-analysis creating apparatus and statistical-timing analyzing apparatus
US20060253823A1 (en) Semiconductor integrated circuit and method for designing same
JP2002222230A (ja) 不要輻射最適化方法および不要輻射解析方法
US10740520B2 (en) Pessimism in static timing analysis
US7930665B2 (en) Method and program for designing semiconductor integrated circuit
JP2005352787A (ja) タイミング解析方法およびタイミング解析装置
US7747972B2 (en) Methods and apparatuses for timing analysis of electronic circuits
CN109753675B (zh) 逻辑门假信号建模的方法
JP4264436B2 (ja) フリップフロップ機能素子、半導体集積回路、半導体集積回路設計方法及び半導体集積回路設計装置
JP2004185374A (ja) クロストークチェック方法
CN113946200B (zh) 电路动态电压降的检测方法、装置及电子设备和存储介质
US7024337B2 (en) System and method for analyzing noise
Voyiatzis An accumulator-based compaction scheme for online BIST of RAMs
US10176284B2 (en) Semiconductor circuit design and manufacture method
CN112580278B (zh) 逻辑电路的优化方法、优化装置以及存储介质
US20080141199A1 (en) Methods and apparatuses for timing analysis of electronics circuits
JP2010055206A (ja) 回路設計装置及び回路設計方法
CN112069752B (zh) 静态时序分析方法和装置
CN112134557B (zh) 基于脉冲锁存器时序监测的宽电压自适应调节系统及方法

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