CN115204083B - 芯片静态时序分析方法、装置、电子设备及存储介质 - Google Patents

芯片静态时序分析方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115204083B
CN115204083B CN202211106768.8A CN202211106768A CN115204083B CN 115204083 B CN115204083 B CN 115204083B CN 202211106768 A CN202211106768 A CN 202211106768A CN 115204083 B CN115204083 B CN 115204083B
Authority
CN
China
Prior art keywords
clock
jitter value
chip
minimum edge
time difference
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.)
Active
Application number
CN202211106768.8A
Other languages
English (en)
Other versions
CN115204083A (zh
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.)
Moore Threads Technology Co Ltd
Original Assignee
Moore Threads Technology Co 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 Moore Threads Technology Co Ltd filed Critical Moore Threads Technology Co Ltd
Priority to CN202211106768.8A priority Critical patent/CN115204083B/zh
Publication of CN115204083A publication Critical patent/CN115204083A/zh
Application granted granted Critical
Publication of CN115204083B publication Critical patent/CN115204083B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R29/00Arrangements for measuring or indicating electric quantities not covered by groups G01R19/00 - G01R27/00
    • G01R29/02Measuring characteristics of individual pulses, e.g. deviation from pulse flatness, rise time or duration
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • G01R31/31726Synchronization, e.g. of test, clock or strobe signals; Signals in different clock domains; Generation of Vernier signals; Comparison and adjustment of the signals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31727Clock circuits aspects, e.g. test clock circuit details, timing aspects for signal generation, circuits for testing clocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本申请提供一种芯片静态时序分析方法、装置、电子设备及存储介质,能够通过基于芯片实际处理信号实时使用的发射时钟和捕获时钟计算得到第一时钟抖动值,并基于第一时钟抖动值对芯片进行静态时序分析,从而能够更为准确地对芯片所实际的时钟抖动进行分析,进而提高对芯片进行静态时序分析的有效性。

Description

芯片静态时序分析方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种芯片的静态时序分析方法、装置、电子设备及存储介质。
背景技术
在芯片设计、测试过程中,对芯片的时钟信号进行的静态时序分析是其中必不可少的一个步骤。其中,时钟抖动(Clock jitter)是芯片静态时序分析时所需的一个重要参数,用于表示时钟信号不随时间积累的、时而超前、时而滞后的偏移。
如何提高时钟抖动值的精确度,以提高对芯片进行静态时序分析的有效性,是本领域需要解决的技术问题。
发明内容
本申请提供一种芯片的静态时序分析方法、装置、电子设备及存储介质,用于提高对芯片进行静态时序分析时使用的时钟抖动值的精度,以提高对芯片进行静态时序分析的有效性。
本申请第一方面提供一种芯片的静态时序分析方法,包括:获取芯片的第一时钟抖动值;第一时钟抖动值是根据对芯片进行静态时序分析时使用的发射时钟和捕获时钟的最小沿时差确定的;基于第一时钟抖动值,对芯片进行静态时序分析。
在本申请第一方面一实施例中,确定第一时钟抖动值的步骤包括:获取发射时钟和捕获时钟之间的至少一个最小沿时差、发射时钟和捕获时钟对应的时钟源的周期和时钟源的第二时钟抖动值;针对每个最小沿时差,根据最小沿时差、周期和第二时钟抖动值,确定第一时钟抖动值,其中,第一时钟抖动值是基于发射时钟和捕获时钟确定的与最小沿时差对应的时钟抖动值。
在本申请第一方面一实施例中,根据最小沿时差、周期和第二时钟抖动值,确定第一时钟抖动值,包括:根据最小沿时差以及周期,确定目标系数;根据目标系数以及第二时钟抖动值,确定设定比例;根据最小沿时差以及设定比例,确定第一时钟抖动值。
在本申请第一方面一实施例中,根据最小沿时差、周期和第二时钟抖动值,确定第一时钟抖动值,包括:根据最小沿时差以及周期,确定目标系数,并根据目标系数、周期以及第二时钟抖动值,确定第一时钟抖动值;或者,根据最小沿时差以及周期,确定目标系数,并根据目标系数、最小沿时差以及第二时钟抖动值,确定第一时钟抖动值。
在本申请第一方面一实施例中,设定比例的确定方式是通过时钟抖动值的误差传播线性组合方程推导得到的。
在本申请第一方面一实施例中,获取芯片的时钟抖动值,包括:接收芯片的时钟抖动值。
在本申请第一方面一实施例中,最小沿时差包括以下至少一种:发射时钟的上升沿到捕获时钟的上升沿的最小沿时差;发射时钟的上升沿到捕获时钟的下降沿的最小沿时差;发射时钟的下降沿到捕获时钟的上升沿的最小沿时差;发射时钟的下降沿到捕获时钟的下降沿的最小沿时差。
在本申请第一方面一实施例中,方法还包括:获取用于对芯片进行静态时序分析的时钟组,其中,时钟组包括目标时钟源以及通过对目标时钟源分频得到的多个时钟;分别将时钟组作为第一时钟组中的时钟与时钟组作为第二时钟组中的时钟进行两两组合,以得到多个时钟组合;针对多个时钟组合中每个时钟组合,将相应的时钟组合中的第一个时钟确定为发射时钟以及将第二个时钟确定为捕获时钟。
在本申请第一方面一实施例中,基于时钟抖动值,对芯片进行静态时序分析之后,还包括:存储发射时钟的周期、捕获时钟的周期和时钟抖动值之间的对应关系。
本申请第二方面提供一种芯片的静态时序分析装置,用于执行如本申请第一方面任一项的方法。
本申请第三方面提供一种电子设备,包括:通信连接的处理器以及存储器;其中,存储器中存储有计算机程序,当处理器执行计算机程序时,处理器执行如本申请第一方面任一项的方法。
本申请第四方面提供一种存储介质,存储有计算机指令,计算机指令被计算机执行时,使计算机执行如本申请第一方面任一项的方法。
综上,本申请提供的芯片静态时序分析方法、装置、电子设备及存储介质,能够通过基于芯片实际处理信号实时使用的发射时钟和捕获时钟的最小沿时差计算得到第一时钟抖动值对芯片进行静态时序分析,从而能够更为准确地对芯片所实际的时钟抖动进行分析,进而提高对芯片进行静态时序分析的有效性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为时钟信号的时钟抖动示意图;
图2为时钟信号分频的示意图;
图3为芯片的时钟信号进行分频的示意图;
图4为本申请提供的芯片的静态时序分析方法一实施例的流程示意图;
图5为本申请提供的芯片的静态时序分析方法另一实施例的流程示意图;
图6为本申请实施例中最小沿时差一实施例的时序示意图;
图7为本申请实施例中最小沿时差另一实施例的时序示意图;
图8为本申请提供的芯片的静态时序分析装置一实施例的结构示意图;
图9为本申请提供的电子设备一实施例的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在芯片设计过程中,对芯片进行的静态时序分析是其中必不可少的一个步骤。其中,对于时钟的不确定性值的计算,对芯片的静态分析的准确性至关重要。具体地,时钟不确定性可用于表征时钟抖动(clock jitter),时钟倾斜(clock skew),时间余量(margin)等因素对时钟到达时间的影响。
由于时钟不确定性的设定值的大小在芯片设计的不同阶段由不同的因素所决定,而时钟抖动这个影响因素贯穿始终。因此,时钟抖动(clock jitter)是芯片静态时序分析时所需的一个重要参数,其定义为时钟信号不随时间积累的、时而超前、时而滞后的偏移。例如,芯片的测试设备对芯片进行静态时序分析时,可以对芯片所处理的信号全都加上一个时钟抖动值后再进行分析,以抵消时钟抖动对芯片所处理的信号产生的影响。
进一步地,芯片中每个时钟源的时钟抖动都是该时钟源信号的固有属性或者物理属性。例如,当芯片使用的时钟信号的时钟源是锁相环,时钟信号的抖动值可以来源于该锁相环ip厂商提供,或者通过测试确定。当芯片使用的时钟信号是片外时钟,则可以根据芯片的应用场景来确定该时钟信号的抖动值。时钟信号的抖动数值以芯片的时钟源的周期为标准,用于指示实际的时钟源周期长度的波动值与理想的时钟源信号的周期长度的比值。
示例性地,图1为时钟信号的时钟抖动示意图,如图1所示,记理想时钟信号C0的周期为T1,图中第一个、第二个和第三个上升沿时刻分别为u1、u2和u3。从u1时刻到u2时刻之间的时间长度为周期T1。从u2时刻到u3时刻之间的时间长度也为周期T1。而时钟在实际工作时,由于存在时钟抖动,时钟信号的实际波形图可能为C0’形态,其第一个、第二个和第三个上升沿分别为u1’、u2’和u3’。从u1’时刻到u2’时刻的实际周期为T1’,从u2’时刻到u3’时刻的实际周期为T1’’。T1’和T1’’的实际周期长度与理想时钟的理想周期T1相比均存在一定的偏差且偏差不同。
在相关技术中,时钟信号的抖动值的表征,可以通过时钟信号的抖动值与整个时钟信号的周期T1的时间长度之比的形式得到(形式为抖动值的百分比)。其中,抖动值为实际各周期长度与理想周期之间的差值的均值,可以通过测试得到。
而在芯片实际工作时,时钟源信号经常会进行分频处理得到一个或多个分频时钟。分频后时钟与时钟源信号相比周期发生变化。分频后时钟的抖动值与时钟源相比也发生了变化。分频后的时钟还可以继续分频得到更多的分频时钟。例如,图2为时钟信号分频的示意图,如图2所示,芯片中可以包括多个时钟源,每个时钟源均可进行分频处理,得到不同的时钟信号。每个时钟源及其分频后的各个时钟可以作为一个时钟组,例如,时钟源1、时钟1、时钟2、时钟11和时钟22可以作为一个时钟组。每一个组内的时钟可以两两排列,并分别作为时序分析时所需的发射时钟和捕获时钟。发射时钟用于时序路径上触发发送信号,捕获时钟用于时序路径上触发接收信号。
图3为芯片的时钟信号进行分频的示意图,如图3所示,芯片对时钟源信号C0进行二分频后,得到时钟信号C1,时钟信号C1的频率为时钟源时钟信号C0的频率的一半,时钟信号C1的周期T2为时钟源时钟信号C0的周期T1的两倍。
因此,当芯片的时钟信号进行分频后,分频后的时钟信号的时钟抖动值,与该时钟信号对应的时钟源的时钟抖动值相比发生了变化。如果仍然以时钟源的时钟抖动值时钟的时序路径进行静态时序分析,由于时钟源的时钟抖动值不能准确地反应分频后时钟信号的时钟抖动,其精确程度较差。另外,对芯片进行静态时序分析时,一条时序路径的时钟抖动值,还与实际进行时序分析时所采用的发射时钟和捕获时钟之间的沿时差有关,而当静态时序分析基于沿时差时,所以时钟抖动值的计算也要基于沿时差。因此,使用根据发射时钟、捕获时钟对应的源时钟的时钟抖动值对芯片进行时序分析,会降低时序分析的准确性和有效性较低。而如何提高时钟抖动值百分比的精确度,从而提高对芯片进行静态时序分析的有效性,是本领域需要解决的技术问题。
基于此,本申请提供一种芯片的静态时序分析方法,用于解决现有技术中,对芯片进行静态时序分析时使用的时钟抖动值的精度较差,对芯片进行静态时序分析的有效性较低的技术问题。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图4为本申请提供的芯片的静态时序分析方法一实施例的流程示意图,如图4所示的方法的执行主体可以是任一能够对芯片进行分析处理的电子设备,例如:电脑、服务器、工作站等。本申请实施例中以电子设备为执行主体进行说明,而非对其进行限定。如图4所示的芯片的静态时序分析方法包括:
S101:电子设备在对芯片进行静态时序分析之前,首先获取芯片中各个时序路径上所需要设定的第一时钟抖动值,其中,本申请实施例中电子设备使用的第一时钟抖动值是根据芯片实际进行静态分析时所涉及的时序路径上所使用的多个时钟进行计算后得到的。
在一种实施例中,第一时钟抖动值是在对芯片进行静态时序分析时,由时钟抖动引起的一种时钟不确定性值。因此,对芯片进行静态时序分析之前,可以单独根据第一时钟抖动值设置时钟不确定性值,或者,根据第一时钟抖动值与其他因素共同设置时钟不确定性值。
在一种实施例中,本申请实施例中的多个时钟包括:对芯片进行静态时序分析时使用的发射时钟和捕获时钟。所述第一时钟抖动值是根据对所述芯片进行静态时序分析时使用的发射时钟和捕获时钟的最小沿时差确定的。其中,发射时钟是芯片时序分析时用于发送信号时使用的时钟,捕获时钟是芯片时序分析时用于接收信号时使用的时钟。发射时钟和捕获时钟可以是图2所示的一个时钟源本身和分频后的时钟所组成的时钟组中的任意两个时钟。一个发射时钟和一个捕获时钟可以确定至少一个第一时钟抖动值。每一个第一时钟抖动值均为一个发射时钟和一个捕获时钟组成的时钟对所确定的。同时,发射时钟和捕获时钟是带方向的,例如,时钟11作为发射时钟、时钟22作为捕获时钟,以及时钟22作为发射时钟、时钟11作为捕获时钟时,可以得到不同的时钟对,进而得到不同的第一时钟抖动值。
在一种实施例中,在对芯片进行静态时序分析时,发射时钟和捕获时钟还可以是电子设备所确定的。例如,电子设备可以获取对芯片进行静态时序分析时对应的时钟组,并将该时钟组作为第一时钟组的时钟与该时钟组作为第二时钟组中的时钟进行两两组合,从而得到多个时钟组合后,针对多个时钟组合中的每个时钟组合,将相应的时钟组合中的第一个时钟确定为发射时钟,以及将第二个时钟确定为捕获时钟。这里所确定的时钟组可以是图2所示的示例中,包括目标时钟源以及通过目标时钟源分频后得到的多个时钟的时钟组。
在一种实施例中,发射时钟和捕获时钟还可以是同一个时钟。
需要说明的是,发射时钟和捕获时钟是两个通用的概念,并不是特指的两个时钟。指的是分析某一条时序路径的时候,发射数据所用的时钟和接收数据所用的时钟。对于某一条特定时序路径,也就只存在一个发射时钟和一个捕获时钟,且不存在其他时钟。
S102:电子设备在S101中获取第一时钟抖动值后,即可根据第一时钟抖动值对芯片进行后续进一步的静态时序分析。其中,对芯片进行静态时序分析时的具体处理可以参照现有技术,本申请对静态时序分析的方式及内容不做限定。例如,在一种实施例中,电子设备对芯片进行静态时序分析时,可以将发射时钟的周期、捕获时钟的周期、第一时钟抖动值等所有所需的数值输入到静态时序分析程序中,最终由程序根据这些数值完成对芯片的静态时序分析、并输出静态时序分析结果等。
综上,通过本申请实施例提供的芯片的静态时序分析方法,能够通过基于芯片实际处理信号实时使用的多个时钟计算得到第一时钟抖动值对芯片进行静态时序分析,因此能够通过芯片实际的时序路径的时钟信号,更为准确地对芯片所实际的时钟抖动进行分析,从而提高分析的精确程度,进而提高对芯片进行静态时序分析的有效性。
在一种实施例中,芯片的第一时钟抖动值还可以由其他设备计算出,电子设备在S101中接收其他设备计算的时钟抖动值,并随后在S102中基于该接收的第一时钟抖动值对芯片进行静态时序分析等。
在一种实施例中,电子设备还可以在S101中计算出时钟抖动分析之后,再通过S102基于该计算得到的第一时钟抖动值对芯片进行静态时序分析。
如前所述,第一时钟抖动值是根据对所述芯片进行静态时序分析时使用的发射时钟和捕获时钟的最小沿时差确定的。示例性的,对于任意发射时钟和捕获时钟的时钟对,可以确定至少一个最小沿时差。
针对每个最小沿时差,可以将其与一个参考数值之积作为与该最小沿时差对应的第一时钟抖动值,还可以根据该最小沿时差、所述发射时钟和所述捕获时钟对应的时钟源的周期和所述时钟源的第二时钟抖动值,确定与该最小沿时差对应的第一时钟抖动值,还可以结合上述两种方式,例如,可以基于最小沿时差以及发射时钟和所述捕获时钟对应的时钟源的周期,确定目标系数,并针对目标系数大于或等于参考阈值(例如,2)对应的最小沿时差,将其与一个参考数值(例如,发射时钟和所述捕获时钟对应时钟源的第二时钟抖动值)之积作为与该最小沿时差对应的第一时钟抖动值,针对目标系数小于参考阈值对应的最小沿时差,根据该最小沿时差、所述发射时钟和所述捕获时钟对应的时钟源的周期和所述时钟源的第二时钟抖动值,确定与该最小沿时差对应的第一时钟抖动值。本公开对根据对所述芯片进行静态时序分析时使用的发射时钟和捕获时钟的最小沿时差确定对应第一时钟抖动值的方式不作限制。其中,第二时钟抖动值可以为百分数。
例如,图5为本申请提供的芯片的静态时序分析方法另一实施例的流程示意图。如图5示出了一种电子设备在图4所示的S101中计算得到芯片的第一时钟抖动值的方法,该方法具体包括:S1011:电子设备首先确定对芯片进行静态时序分析时使用的发射时钟和捕获时钟,并确定发射时钟和捕获时钟之间的时序分析所使用的至少一个最小沿时差、发射时钟和捕获时钟对应的时钟源的周期,以及发射时钟和捕获时钟对应的该时钟源的第二时钟抖动值。
图6为本申请实施例中最小沿时差一实施例的时序示意图,如图6所示,以芯片的发射时钟CT和捕获时钟CR为例,芯片的最小沿时差包括以下的至少一种:发射时钟CT的上升沿ta到捕获时钟CR的上升沿tg的最小沿时差Y1;或者,发射时钟CT的上升沿ta到捕获时钟CR的下降沿tf的最小沿时差Y2;或者,发射时钟CT的下降沿tb到捕获时钟CR的上升沿tg的最小沿时差Y3;或者,发射时钟CT的下降沿tb到捕获时钟CR的下降沿th的最小沿时差Y4。则当确定芯片的发射时钟CT和捕获时钟CR后,即可根据发射时钟CT和捕获时钟CR在时序约束中的时钟定义计算得到上述多个最小沿时差。其中,时钟定义中包括了时钟信号的周期、上升沿和下降沿的位置。如图6所示的示例中,发射时钟CT的周期为T1,捕获时钟CR的周期为T2,且得到的最小沿时差均为时钟源周期T/2的整数倍。
在一种实施例中,当发射时钟CT和捕获时钟CR按照时钟周期不同时,还可以将发射时钟CT和捕获时钟CR按照时钟周期进行最小公倍数展开。由于部分时钟的定义,存在非0时刻产生上升沿或者下降沿的情况,即有相位偏移,因此,在计算沿时差时,还可以在最小公倍数的基础上,多加几个时钟周期作为选取发射时钟CT和捕获时钟CR的最小沿时差的计算参考时间。在此参考时间长度上,选取发射时钟CT和捕获时钟CR的最小沿时差等。
例如,图7为本申请实施例中最小沿时差另一实施例的时序示意图,如图7所示,发射时钟CT的周期为时钟源信号C0的2倍,捕获时钟的周期CR的周期为时钟源信号C0的3倍。则可以取最小公倍数为6。即,取时钟源信号C0的6个周期的时间长度,根据该时间长度内的3个周期的发射时钟CT和2个周期的捕获时钟CR之间,按照图6中相同的方式确定沿时差。
在一种实施例中,芯片的时钟源的时钟周期、上升沿和下降沿的位置,以及第二时钟抖动值等信息可以记录在芯片的手册上、存储在芯片中等。则电子设备可以从芯片中获取这些信息,或者,电子设备还可以接收操作人员通过鼠标、键盘等交互设备输入的这些信息等。
随后,在S1012中,针对S1011中确定的至少一个最小时沿差中每个最小时沿差,即可根据该最小沿时差,以及所获取的发射时钟和捕获时钟对应的时钟源的周期,以及获取的发射时钟和捕获时钟对应的该时钟源的第二时钟抖动值,确定芯片的第一时钟抖动值。则第一时钟抖动值是基于发射时钟和捕获时钟确定的与最小沿时差对应的时钟抖动值,且第一时钟抖动值的形式可以是以百分比形式表示的。
在一种实施例中,在S1012中,首先可以根据最小沿时差t及时钟源的周期T,确定目标系数n。其中,
Figure 747178DEST_PATH_IMAGE001
,t为最小沿时差,T为时钟源的周期,n为正整数。
随后,根据目标系数n和第二时钟抖动值r确定第一时钟抖动值对应的设定比例为
Figure 410241DEST_PATH_IMAGE002
。其中,r为时钟源第二时钟抖动值。
最终,根据确定出的设定比例以及最小沿时差t,即可得到第一时钟抖动值。例如,可以将最小沿时差t、目标系数n以及第二时钟抖动值r代入如下公式一,即可得到第一时钟抖动值:
Figure 670321DEST_PATH_IMAGE003
公式一
例如,若对芯片进行静态时序分析时使用的发射时钟在上升沿发送数据、捕获时钟在下降沿接收数据,则确定发射时钟的所有上升沿到该上升沿时刻之后的捕获时钟的所有下降沿的沿时差中的最小值为所需要确定的最小沿时差,并使用该发射时钟的上升沿到捕获时钟的下降沿的最小沿时差代入公式一后所计算得到的所分析的时序路径的时钟抖动百分比值,最终基于所得到的时钟抖动值用于对芯片进行静态时序分析等。
在一种实施例中,公式一中第一抖动值对应的设定比例
Figure 280294DEST_PATH_IMAGE004
是通过时钟抖动值的误差传播的线性组合方程推导得到。具体地,由于芯片所使用的发射时钟和捕获时钟都是从芯片的同一个时钟源产生的,所在静态时序分析中,实际最小沿时差一定为时钟源的时钟半周期的整数倍。实际计算的发射时钟和捕获时钟的时钟抖动就是从时钟源传递过来的。时钟抖动对于时钟周期为误差,所以传递过程符合误差传播理论的计算方法的线性组合情况。根据相关技术,误差传播的线性组合方程可以通过如下公式二表示。
Figure 309430DEST_PATH_IMAGE005
公式二
具体到本申请实施例中,
Figure 612235DEST_PATH_IMAGE006
为传递后的时钟抖动值,
Figure 297294DEST_PATH_IMAGE007
为第i周期的时钟源的时钟抖动值,
Figure 507696DEST_PATH_IMAGE008
为第i周期的时钟源抖动值的传递系数,
Figure 391338DEST_PATH_IMAGE009
为第i周期和第j周期的时钟源的时钟抖动值的相关性系数,依此类推。
由于时钟源各个周期时间的时钟抖动不存在相关性,故取相关性系数为0后,可以将公式二简化为如下公式三。
Figure 865045DEST_PATH_IMAGE010
公式三
进一步地,由于时钟抖动在传递过程中,不存在单个时钟抖动呈倍数缩放的变化,因此取
Figure 834138DEST_PATH_IMAGE011
,各周期的时钟抖动值均相同。记时钟源的第二时钟抖动值为r,时序分析的最小沿时差为t,时钟源的周期为T,则公式三可以变化为如下公式四。
Figure 785913DEST_PATH_IMAGE012
公式四
由于沿时差t为时钟源的时钟周期T/2的整数倍,因此可以令
Figure 789641DEST_PATH_IMAGE013
,则公式四可以变化为如下公式五。
Figure 168670DEST_PATH_IMAGE014
公式五
最终得到可通过公式五得到用于计算芯片的第一时钟抖动值的公式一。结合上述推导过程,公式一可以理解为,第一时钟抖动值
Figure 625059DEST_PATH_IMAGE015
Figure 380526DEST_PATH_IMAGE016
。并且该第一时钟抖动值作用的对象为对芯片进行时序分析时的最小沿时差。
在一种实施例中,在S1012中,电子设备还可以将S1011所计算得到的最小沿时差,以及所获取的发射时钟和捕获时钟对应的时钟源的周期,以及获取的发射时钟和捕获时钟对应的该时钟源的第二时钟抖动值,通过如公式五的计算方式,同样可以得到芯片的第一时钟抖动值。例如,可以将周期T、目标系数n以及第二时钟抖动值r代入公式五中,即可得到第一时钟抖动值。
在一些实施例中,确定第一时钟抖动值的步骤可以包括:
获取所述发射时钟和所述捕获时钟之间的至少一个最小沿时差、所述发射时钟和所述捕获时钟对应的时钟源的周期和所述时钟源的第二时钟抖动值;
针对每个最小沿时差,根据所述最小沿时差以及所述周期,确定目标系数;
在所述目标系数大于或等于参考阈值的情况下,将所述最小沿时差与所述第二时钟抖动值之积确定为所述第一时钟抖动值;
在所述目标系数小于参考阈值的情况下,根据所述目标系数以及所述第二时钟抖动值,确定设定比例,并将所述最小沿时差与所述设定比例之积确定为所述第一时钟抖动值,其中,所述第一时钟抖动值是基于所述发射时钟和所述捕获时钟确定的与所述最小沿时差对应的时钟抖动值。
其中,确定目标系数、设定比例的方式可以参见前文,在此不再赘述。参考阈值可以是根据设定比例确定的。例如,根据误差传播线性组合方程推导得到设定比例的确定方式,例如,确定公式,该公式的参数包括目标系数以及第二时钟抖动值,确定设定比例等于第二时钟抖动值对应的目标系数的数值,将该数值确定为参考阈值,参考阈值还可以为经验值,本公开对此不作限制。
综上,本实施例提供的芯片的静态时序分析方法,通过时序分析中使用的发射时钟和捕获时钟所组成的时钟对的最小沿时差,根据误差传播理论得到时序分析所用第一时钟抖动值,并用于后续对芯片的静态时序分析。与现有技术中只使用时钟源的第二时钟抖动值直接对芯片进行静态时序分析相比,能够更加准确地计算出芯片实际进行静态时序分析时的发射时钟和捕获时钟,在不同沿方向的时序路径上的第一时钟抖动值,提高了对芯片进行静态时序分析的精确程度,进而提高对芯片进行静态时序分析的有效性。
在一种实施例中,当电子设备需要通过公式一的方式计算第一时钟抖动值时,可以在每次计算出第一时钟抖动值后,在电子设备的存储空间中存储当前计算得到的第一时钟抖动值、发射时钟的周期和捕获时钟的周期之间的对应关系。使得后续如果电子设备再对芯片进行静态分析时,如果芯片当前发射时钟的周期和捕获时钟的周期与存储的对应关系中相同,即可直接从对应关系中确定第一时钟抖动值后,基于对应关系中的第一时钟抖动值直接进行后续计算。从而不需要电子设备再通过公式一的方式实时计算第一时钟抖动值,因此能够减少芯片进行静态时序分析时的计算量,提高对芯片进行静态时序分析的效率。而后续如果电子设备再对芯片进行静态分析时,如果芯片当前发射时钟的周期和捕获时钟的周期与存储的对应关系中不同,则需要重新按照公式一的方式计算得到多个时钟抖动值百分比百分比。
在前述实施例中,对本申请实施例提供的芯片的静态时序分析方法进行了介绍,而为了实现上述本申请实施例提供的方法中的各功能,作为执行主体的电子设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
例如,图8为本申请提供的芯片的静态时序分析装置一实施例的结构示意图,如图8所示的装置100包括:确定模块101和分析模块102,其中,确定模块101可用于确定时钟抖动值,分析模块102可用于基于时钟抖动值,对芯片进行静态时序分析等。
本申请提供的芯片的静态时序分析装置各实施例中的具体实现及原理可以参照本申请前述实施例中提供的芯片的静态时序分析方法,其具体实现方式及原理相同,不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上确定模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessing unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk (SSD))等。
例如,图9为本申请提供的电子设备一实施例的示意图,如图9所示的电子设备200包括:处理器201以及存储器202;其中,存储器202中存储有计算机程序,当处理器201执行计算机程序时,处理器201可用于执行如本申请前述实施例中任一的芯片的静态时序分析方法。电子设备200还包括通信接口203,处理器201可以通过通信接口203与芯片通信。
本申请还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令被执行时可用于执行如本申请前述实施例中任一的芯片的静态时序分析方法。
本申请实施例还提供一种运行指令的芯片,所述芯片用于执行如本申请前述任一的芯片的静态时序分析方法。
本申请实施例还提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在存储介质中,至少一个处理器可以从所述存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序时可实现如本申请前述任一的芯片的静态时序分析方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (11)

1.一种芯片的静态时序分析方法,其特征在于,包括:
获取所述芯片的第一时钟抖动值;所述第一时钟抖动值是根据对所述芯片进行静态时序分析时使用的发射时钟和捕获时钟的最小沿时差确定的;
基于所述第一时钟抖动值,对所述芯片进行静态时序分析;
确定第一时钟抖动值的步骤包括:
获取所述发射时钟和所述捕获时钟之间的至少一个最小沿时差、所述发射时钟和所述捕获时钟对应的时钟源的周期和所述时钟源的第二时钟抖动值;
针对每个最小沿时差,根据所述最小沿时差、所述周期和所述第二时钟抖动值,确定所述第一时钟抖动值,其中,所述第一时钟抖动值是基于所述发射时钟和所述捕获时钟确定的与所述最小沿时差对应的时钟抖动值。
2.根据权利要求1所述的方法,其特征在于,所述根据所述最小沿时差、所述周期和所述第二时钟抖动值,确定所述第一时钟抖动值,包括:
根据所述最小沿时差以及所述周期,确定目标系数;
根据所述目标系数以及所述第二时钟抖动值,确定设定比例;
根据所述最小沿时差以及所述设定比例,确定所述第一时钟抖动值。
3.根据权利要求1所述的方法,其特征在于,所述根据所述最小沿时差、所述周期和所述第二时钟抖动值,确定所述第一时钟抖动值,包括:
根据所述最小沿时差以及所述周期,确定目标系数,并根据所述目标系数、所述周期以及所述第二时钟抖动值,确定所述第一时钟抖动值;或者,
根据所述最小沿时差以及所述周期,确定目标系数,并根据所述目标系数、所述最小沿时差以及所述第二时钟抖动值,确定所述第一时钟抖动值。
4.根据权利要求2所述的方法,其特征在于,所述设定比例的确定方式是通过时钟抖动值的误差传播线性组合方程推导得到的。
5.根据权利要求1所述的方法,其特征在于,确定第一时钟抖动值的步骤包括:
获取所述发射时钟和所述捕获时钟之间的至少一个最小沿时差、所述发射时钟和所述捕获时钟对应的时钟源的周期和所述时钟源的第二时钟抖动值;
针对每个最小沿时差,根据所述最小沿时差以及所述周期,确定目标系数;
在所述目标系数大于或等于参考阈值的情况下,将所述最小沿时差与所述第二时钟抖动值之积确定为所述第一时钟抖动值;
在所述目标系数小于参考阈值的情况下,根据所述目标系数以及所述第二时钟抖动值,确定设定比例,并将所述最小沿时差与所述设定比例之积确定为所述第一时钟抖动值,其中,所述第一时钟抖动值是基于所述发射时钟和所述捕获时钟确定的与所述最小沿时差对应的时钟抖动值。
6.根据权利要求1所述的方法,其特征在于,所述获取所述芯片的时钟抖动值,包括:接收所述芯片的时钟抖动值。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述最小沿时差包括以下至少一种:
所述发射时钟的上升沿到所述捕获时钟的上升沿的最小沿时差;
所述发射时钟的上升沿到所述捕获时钟的下降沿的最小沿时差;
所述发射时钟的下降沿到所述捕获时钟的上升沿的最小沿时差;
所述发射时钟的下降沿到所述捕获时钟的下降沿的最小沿时差。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取用于对芯片进行静态时序分析的时钟组,其中,所述时钟组包括目标时钟源以及通过对所述目标时钟源分频得到的多个时钟;
分别将所述时钟组作为第一时钟组中的时钟与所述时钟组作为第二时钟组中的时钟进行两两组合,以得到多个时钟组合;
针对所述多个时钟组合中每个时钟组合,将相应的时钟组合中的第一个时钟确定为所述发射时钟以及将第二个时钟确定为所述捕获时钟。
9.根据权利要求1所述的方法,其特征在于,所述基于所述时钟抖动值,对所述芯片进行静态时序分析之后,还包括:
存储所述发射时钟的周期、所述捕获时钟的周期和所述时钟抖动值之间的对应关系。
10.一种电子设备,其特征在于,包括:通信连接的处理器以及存储器;其中,所述存储器中存储有计算机程序,当所述处理器执行所述计算机程序时,所述处理器执行如权利要求1-9任一项所述的方法。
11.一种存储介质,其特征在于,存储有计算机指令,所述计算机指令被计算机执行时,使所述计算机执行如权利要求1-9任一项所述的方法。
CN202211106768.8A 2022-09-13 2022-09-13 芯片静态时序分析方法、装置、电子设备及存储介质 Active CN115204083B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211106768.8A CN115204083B (zh) 2022-09-13 2022-09-13 芯片静态时序分析方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211106768.8A CN115204083B (zh) 2022-09-13 2022-09-13 芯片静态时序分析方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN115204083A CN115204083A (zh) 2022-10-18
CN115204083B true CN115204083B (zh) 2023-02-28

Family

ID=83572733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211106768.8A Active CN115204083B (zh) 2022-09-13 2022-09-13 芯片静态时序分析方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115204083B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206958B1 (en) * 2003-10-21 2007-04-17 Sun Microsystems, Inc. Determining cycle adjustments for static timing analysis of multifrequency circuits
CN101645281A (zh) * 2008-08-04 2010-02-10 联发科技股份有限公司 用以校正光学储存设备的方法以及装置
CN101779376A (zh) * 2007-08-09 2010-07-14 高通股份有限公司 测量时钟抖动的电路装置和方法
CN106802972A (zh) * 2015-11-25 2017-06-06 美商新思科技有限公司 时钟抖动仿真

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060247906A1 (en) * 2005-04-27 2006-11-02 International Business Machines Corporation Method for estimating clock jitter for static timing measurements of modeled circuits

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206958B1 (en) * 2003-10-21 2007-04-17 Sun Microsystems, Inc. Determining cycle adjustments for static timing analysis of multifrequency circuits
CN101779376A (zh) * 2007-08-09 2010-07-14 高通股份有限公司 测量时钟抖动的电路装置和方法
CN101645281A (zh) * 2008-08-04 2010-02-10 联发科技股份有限公司 用以校正光学储存设备的方法以及装置
CN106802972A (zh) * 2015-11-25 2017-06-06 美商新思科技有限公司 时钟抖动仿真

Also Published As

Publication number Publication date
CN115204083A (zh) 2022-10-18

Similar Documents

Publication Publication Date Title
US7594146B2 (en) Apparatus, method, and program for correcting time of event trace data
US8453085B2 (en) Method for estimating the latency time of a clock tree in an ASIC design
Poess et al. Analysis of tpcx-iot: The first industry standard benchmark for iot gateway systems
Rico-Gallego et al. A survey of communication performance models for high-performance computing
CN105431819A (zh) 异步处理器消除亚稳态的方法和装置
CN101233714A (zh) 测试通信设备过程中的抖动补偿和生成
CN1936752A (zh) 处理度量流数据的方法及采样设备
WO2024078164A1 (zh) 芯片测试机信号延迟测量方法、装置及计算机设备
US20090144684A1 (en) Clock model for formal verification of a digital circuit description
CN108647422B (zh) 端口时延约束方法及装置
CN115204083B (zh) 芯片静态时序分析方法、装置、电子设备及存储介质
Lorenz et al. Data-and state-dependent power characterisation and simulation of black-box RTL IP components at system level
CN117200755A (zh) 一种irig-b直流时钟码的解码方法及装置
JP6458626B2 (ja) デバッグ回路、半導体装置及びデバッグ方法
CN107566199B (zh) 信号处理装置和方法及包括该装置的电子设备
CN107769987B (zh) 一种报文转发性能评估方法和装置
US9244727B2 (en) Method and apparatus for implementing task-process-table based hardware control
Méndez et al. A new approach for Analyzing I/O in parallel scientific applications
CN112612673B (zh) 拨测日志的分析方法及装置、存储介质及电子装置
CN109726693B (zh) 用于评估设备环境噪声的方法、装置、介质及电子设备
CN115144739A (zh) 芯片功耗获取方法、电路、装置及设备
JP5373967B2 (ja) 終了されるまで深さ優先探索を実行するスフィア検出器
US10430313B2 (en) System for correlation of operating system and hardware trace events
CN116932417B (zh) 一种性能调优方法及装置
US10033778B2 (en) Real-time statistical analysis on high speed streaming data

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