CN115455879A - 时序路径筛查方法及设备 - Google Patents
时序路径筛查方法及设备 Download PDFInfo
- Publication number
- CN115455879A CN115455879A CN202211134966.5A CN202211134966A CN115455879A CN 115455879 A CN115455879 A CN 115455879A CN 202211134966 A CN202211134966 A CN 202211134966A CN 115455879 A CN115455879 A CN 115455879A
- Authority
- CN
- China
- Prior art keywords
- clock
- path
- time sequence
- determining
- margin
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012216 screening Methods 0.000 title claims abstract description 35
- 230000000875 corresponding effect Effects 0.000 claims description 99
- 230000014759 maintenance of location Effects 0.000 claims description 61
- 230000000630 rising effect Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 230000002596 correlated effect Effects 0.000 claims description 5
- 238000013139 quantization Methods 0.000 claims description 5
- 230000003068 static effect Effects 0.000 claims description 3
- 238000012300 Sequence Analysis Methods 0.000 claims description 2
- 230000002123 temporal effect Effects 0.000 claims 3
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 238000013461 design Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012938 design process Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 101100391172 Dictyostelium discoideum forA gene Proteins 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3315—Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
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)
- Tests Of Electronic Circuits (AREA)
Abstract
本申请提供一种时序路径筛查方法及设备,涉及集成电路技术领域,包括:获取待测芯片中每个时钟对应的各个时钟端口,并确定与各个时钟端口对应的时序逻辑元件相关的时序路径;计算各个时序路径对应的时钟偏移;利用STA工具确定各个时序路径的实际保持时间裕量,根据各个时序路径对应的时钟偏移与所述实际保持时间裕量,确定各个时序路径是否存在时序违例风险。本申请可以准确筛查出因时钟偏移导致存在时序违例风险的时序路径,从而有利于提高芯片的良率。
Description
技术领域
本申请涉及集成电路技术领域,尤其涉及一种时序路径筛查方法及设备。
背景技术
在芯片设计过程中,通常需要采用静态时序分析(Static Timing Analysis,STA)工具,来检查整块芯片在各种应用场景中是否满足时序要求,如果芯片存在时间违例的时序路径,则可能会导致生产出的芯片良率过低甚至失效。
其中,时钟偏移(clock skew,CS)为同一个时钟产生的不同相位的子时钟之间的差异,在一定程度上会影响电路时序。在实际应用中,对于存在较大时钟偏移的时序路径而言,现有的STA工具难以算出其精准值,因此也就无法筛查出因时钟偏移导致存在时序违例风险的时序路径,导致工程师无法对相关的时序路径进行补偿,最终影响到芯片的良率。
发明内容
本申请提供了一种时序路径筛查方法及设备,可以准确筛查出因时钟偏移导致存在时序违例风险的时序路径,提高芯片的良率。
第一方面,本申请实施例提供一种时序路径筛查方法,该方法包括:
获取待测芯片中每个时钟对应的各个时钟端口,并确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径;
计算各个所述时序路径对应的时钟偏移;
利用STA工具确定各个所述时序路径的实际保持时间裕量,根据所述各个时序路径对应的时钟偏移与所述实际保持时间裕量,确定所述各个时序路径是否存在时序违例风险。
在一些实施例中,所述确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径,包括:
分别查找所述各个时钟端口对应的时序逻辑元件的非时钟的输入端口,并分别根据各个所述非时钟的输入端口的扇入,确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径;
和/或,分别查找所述各个时钟端口对应的时序逻辑元件的非时钟的输出端口,并分别根据各个所述非时钟的输出端口的扇出,确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径。
在一些实施例中,所述分别根据各个所述非时钟的输入端口的扇入,确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径,包括:
在一些实施例中,所述分别根据各个所述非时钟的输出端口的扇出,确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径,包括:
在一些实施例中,所述计算各个所述时序路径对应的时钟偏移,包括:
在一些实施例中,所述根据所述各个时序路径对应的时钟偏移与所述实际保持时间裕量,确定所述各个时序路径是否存在时序违例风险,包括:
当所述各个时序路径中存在实际保持时间裕量小于所述预设裕量阈值的第一时序路径时,按照预设补偿方式对所述第一时序路径的时钟偏移进行补偿,并将补偿后的时钟偏移大于所述预设时钟偏移阈值的第一时序路径添加至第一列表;
根据所述第一列表中的各个第一时序路径对应的时钟偏移与所述实际保持时间裕量,确定所述第一列表中的各个第一时序路径是否存在时序违例风险。
在一些实施例中,所述根据所述第一列表中的各个第一时序路径对应的时钟偏移与所述实际保持时间裕量,确定所述第一列表中的各个第一时序路径是否存在时序违例风险,包括:
确定所述第一列表中的各个第一时序路径对应的补偿延时值;
根据所述第一列表中的各个第一时序路径对应的实际保持时间裕量、补偿延时值、补偿后的时钟偏移以及预设量化参数,计算所述第一列表中的各个第一时序路径对应的目标保持时间裕量;
当所述目标保持时间裕量大于零时,确定所述目标保持时间裕量对应的第一时序路径不存在时序违例风险,当所述目标保持时间裕量小于或等于零时,确定所述目标保持时间裕量对应的第一时序路径存在时序违例风险。
第二方面,本申请实施例提供一种时序路径筛查装置,该装置包括:
确定模块,用于获取待测芯片中每个时钟对应的各个时钟端口,并确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径;
计算模块,用于计算各个所述时序路径对应的时钟偏移;
判断模块,用于利用STA工具确定各个所述时序路径的实际保持时间裕量,根据所述各个时序路径对应的时钟偏移与所述实际保持时间裕量,确定所述各个时序路径是否存在时序违例风险。
第三方面,本申请实施例提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面提供的时序路径筛查方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当计算机执行所述计算机执行指令时,实现如第一方面提供的时序路径筛查方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被计算机执行时,实现如第一方面提供的时序路径筛查方法。
本申请实施例提供的时序路径筛查方法及设备,可以实现:获取待测芯片中每个时钟对应的各个时钟端口,确定与各个时钟端口对应的时序逻辑元件相关的时序路径,并计算各个时序路径对应的时钟偏移,利用STA工具确定各个时序路径的实际保持时间裕量,根据各个时序路径对应的时钟偏移与所述实际保持时间裕量,确定各个时序路径是否存在时序违例风险,由此可以准确筛查出因时钟偏移导致存在时序违例风险的时序路径,从而有利于提高芯片的良率。
附图说明
图1为本公开实施例中时序逻辑元件的建立时间与保持时间示意图;
图2为本申请实施例中提供的一种时序路径示意图;
图3为本申请实施例中提供的一种时钟偏移筛查方法的步骤流程示意图;
图4为本申请实施例中提供的一种时钟偏移筛查装置的程序模块示意图;
图5为本公开实施例中提供的一种电子设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请实施例中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
本申请实施例中提供的时钟偏移筛查方法,可以适用于多种类型的芯片,例如先进高性能数字芯片、高性能中央处理器(Center Process Unit,CPU)、高性能图像处理器(Graphics Process Unit,GPU)、高性能人工智能(Artificial Intelligence,AI)芯片、高性能基带芯片等,本申请实施例中不做限制。
在半导体技术领域中,在进行基于标准单元库的专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC)设计流程中,芯片设计者通常采用硬件描述语言设计芯片,即对芯片功能进行建模,然后运用自动化设计软件将设计代码综合成标准单元电路,进而通过物理后端设计将标准单元电路转换成对应制程工艺下可制造的图形数据流文件(Graphic Data Stream,简称GDS)版图,最后交付代工厂(Foundry)生产芯片。
其中,在进行基于标准单元库的ASIC设计时,代工厂通常会预先提供工艺设计工具包(Process Design Kit,简称PDK),其会包含一些时序逻辑元件的设计和时序特性参数(如建立时间或保持时间等)。
可选的,上述时序逻辑元件可以为锁存器(Latch)、触发器(Flip Flop,简称FF)等。
其中,锁存器是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。锁存,就是把信号暂存以维持某种电平状态,在数字电路中则可以记录二进制数字信号“0”和“1”。
触发器也叫双稳态门,是一种具有两种稳态的用于储存的组件,可记录二进制数字信号“1”和“0”,其输出由输入时钟所规定的时刻的数据输入确定。
时序逻辑元件的建立时间(Setup Time)是指在时钟有效沿之前,数据输入端信号必须保持稳定的最短时间;保持时间(Hold time)是指在时钟有效沿之后,数据输入端信号必须保持稳定的最短时间。
可以理解的是,在理想情况下,只要在时钟有效沿来临时,有效数据也来临(时钟有效沿之前或同时),则时序逻辑元件便能够正确采集到数据;而在时钟有效沿之后(或同时),即使数据发生变化,也不会影响时序逻辑元件的输出了。
然而,在实际情况中,时钟沿打开开关需要时间,逻辑门的状态改变(电容充放电等)也都需要时间,因此数据的采集是需要一定时间的,在这个时间内数据不能发生变化,即在时钟有效沿来临之前,数据必须提前一个最小时间量“预先准备好”,这个最小时间量就是上述建立时间。另外,时钟沿关闭开关也需要时间,如果在这个时间段内数据有变化的话,那么新数据就有可能被传递到下一级,进而发生错误,所以数据必须保持一定时间不变,即在时钟有效沿来临之后,数据必须保持一个最小时间量“不能变化”,这个最小时间量就是上述保持时间。
为了更好的理解本申请实施例,参照图1,图1为本申请实施例中时序逻辑元件的建立时间与保持时间示意图。
在图1中,在时钟信号CK的上升沿来之前,数据信号D须提前一个最小时间量“预先准备好”,且不能变化,这个最小时间量就是建立时间;另外,在时钟信号CK的上升沿来之后,数据D仍旧须保持一个最小时间量不能变化,这个最小时间量就是保持时间。
在芯片设计过程中,通常需要根据半导体代工厂提供的相关约束及指导文件,利用STA工具检查整块芯片(Full Chip)在各种应用场景中是否满足时序要求,即检查时间裕量(Timing Slack)是否小于0,如果时间裕量小于0,则意味着芯片中存在时间违例的时序路径。
为了保证生产出来的芯片能够满足其功能及性能需求,在芯片设计文件递交给半导体代工厂前,需要保证最终STA检查中不存在时间违例的时序路径,否则生产出的芯片可能良率过低,甚至失效(Failed)。
其中,时钟偏移(Clock Skew)通常指同一个时钟产生的不同相位的子时钟之间的时间差异,其在一定程度上影响着电路时序。
尽管STA工具已几乎排查了所有可能存在违例的时序路径,但从最终的流片结果来看,有一部分失效芯片失效的原因仍旧是由于时钟偏移导致的,即在STA工具中,即使时钟偏移已被纳入时序分析,但对于较大时钟偏移的时序路径而言,STA工具无法算出其精准值。
面对上述技术问题,本申请实施例提供了一种时钟偏移筛查方法,可以准确筛查出因时钟偏移导致存在时序违例风险的时序路径,从而提高芯片流片的良率。具体实施方式请参见以下实施例中的内容。
可以理解的是,在芯片设计中,时序逻辑元件(如寄存器)的输出端口经过组合逻辑元件到下一个时序逻辑元件的输入端口之间的数据传输可以被认为是一条时序路径,对于一个芯片而言,其包含了大量的时序路径,这些时序路径均可以通过STA工具计算其时序是否存在时间违例。
为了更好的理解本申请实施例,参照图2,图2为本申请实施例中提供的一种时序路径示意图。在图2中,这类时序路径的起点,即提供数据输出的时序逻辑元件201被称作发射单元(Launch Cell),它的控制时钟的传输路径被称为发射时钟(Launch Clock),对应的时钟延时被标记为TL;相应的,另一个时序逻辑元件202被称为捕获单元(Capture Cell),它的控制时钟的传输路径被称为捕获时钟(Capture Clock),对应的时钟延时被标记为TC;中间经过组合逻辑元件203的数据传输路径被称为数据路径(Data Path),对应的数据传输延时被标记为TCO。另外,把输入时钟信号CLK的时钟周期记作T。
作为时序检查的关键参数,时序逻辑元件的建立时间裕量和保持时间裕量的计算,会决定时序路径是否存在违例。将建立时间裕量和保持时间裕量分别记作TSlack Setup和TSlack Hold,只有当这两个值同时大于0时才能满足时序检查,其计算公式如下:
TSlack Setup=T-TCO-(TL-TC) 公式1-1
TSlack Hold=TCO+(TL-TC) 公式1-2
将时钟偏移记为TCS,那么其计算公式如下:
TCS=TL-TC 公式1-3
则由公式1-1和1-2可直接导出为:
TSlack Setup=T-TCO-TCS 公式1-4
TSlack Hold=TCO+TCS 公式1-5
当TCS≥0时,TSlack Setup与TSlack Hold不会存在因为时钟偏移而出现时序违例的情况;当TCS<0时,TSlack Setup不存在因为时钟偏移而出现时序违例的情况,而TSlack Hold可能存在小于0的风险。
为了避免因为TCS为负值而导致TSlack Hold存在小于0的情况,首先需要筛查出哪些时序路径有潜在风险。在一些实施例中,引入检查的边界条件:时钟偏移阈值(Clock SkewLimit,以下简称为LCS),裕量阈值(Slack Limit以下简称为LS))和量化参数(FP)。其中,LCS用于限定哪些TCS为负值的情况可以被视为安全范围,LS用于限定哪些TSlack Hold可以被视为安全范围,而FP作为风险系数用于反馈TCS对TSlack Hold的影响,这三个边界条件的值根据具体的制造工艺、项目数据及经验来设定。由此,公示1-5可以演变为:
TSlack Hold Post=TCO+TCS-FP·|TCS| 公式1-6
对于处在LCS与LS之外的时序路径,会用公式1-6重新计算其保持时间裕量,当TSlack Hold Post为负值时,判定该时序路径存在时序违例的风险。
参照图3,图3为本申请实施例中提供的一种时钟偏移筛查方法的步骤流程示意图。在一种可行的实施方式中,上述时钟偏移筛查方法包括以下步骤:
S301、获取待测芯片中每个时钟对应的各个时钟端口,并确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径。
S303、计算各个时序路径对应的时钟偏移。
S304、利用静态时序分析STA工具确定各个所述时序路径的实际保持时间裕量,根据所述各个时序路径对应的时钟偏移与所述实际保持时间裕量,确定所述各个时序路径是否存在时序违例风险。
在一些实施例中,步骤S301包括:
分别查找所述各个时钟端口对应的时序逻辑元件的非时钟的输入端口,并分别根据各个所述非时钟的输入端口的扇入,确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径;和/或,分别查找所述各个时钟端口对应的时序逻辑元件的非时钟的输出端口,并分别根据各个所述非时钟的输出端口的扇出,确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径。
示例性的,可以确定时序逻辑元件的第j个非时钟的输入端口的最小保持时间裕量若小于或等于预设裕量阈值,则根据所述输入端口的扇入,确定与时序逻辑元件相关的时序路径;其中,为第x个时钟的第i个时钟端口所在的时序逻辑元件,为输入端口的上升沿触发保持时间裕量与下降沿触发保持时间裕量的最小值;x、i、j均为正整数。
确定时序逻辑元件的第j个非时钟的输出端口的最小保持时间裕量若小于或等于预设裕量阈值,则根据输出端口的扇出,确定与相关的时序路径;其中,为输出端口的上升沿触发保持时间裕量与下降沿触发保持时间裕量的最小值。
在一种可行的实施方式中,步骤S301具体包括:
1.1、获取待测芯片中每个时钟对应的各个时钟端口。
在一些实施方式中,先判断是哪种时钟触发类型,的时钟触发类型包括时钟上升沿触发、下降沿触发、高电平触发和低电平触发,通过获取的所有时钟延迟信息,然后根据的时钟触发类型从中选取有效信息,得到时钟x相应的时钟延迟信息
在一些实施方式中,为了提高芯片对SignOff对比(Silicon to SignOff,简称S2S)的精准度,加入了片上误差(On Chip Variation,OCV)的考量。受到OCV影响,时序路径中的TCO、TL和TC都是范围值而非常数,它们最终的值取决于最终制造出来的芯片,在考虑TSlack Hold时,最悲观的结果出现在TCO、TL最小且TC最大的情况,而TSlack Setup则相反。因此,对于的输入端口作为时序路径的终点,扮演捕获时钟(Capture Clock)角色的时钟x相应的时钟延迟信息需要取最大的值,以保证覆盖所有可能的最差情况,而对于输出端口而言则相反,的时钟x扮演着发起时钟(Launch Clock)的角色,其时钟延迟信息则取最小值。
其中,上述OCV指的是在工艺相同的前提下,芯片上两个完全相同的单元由于在芯片上的位置不同,即使在相同的输入信号和相同的负载的条件下,它们的实际的时序延时有所不同。由于片上误差会对设计中的时序产生直接的负面影响,这就使得片上误差的存在成为时序检查中的重要的工作。
本申请中,通过对时钟端口连接的时序逻辑元件进行扇入、扇出的彻底检索,可以保证不会漏掉任何可能存在风险的时序路径。通过设置边界条件LCS和LS可以得到合理且全覆盖的存在风险的时序路径列表,因为本次搜查取的结果都是取最差的。
在一些实施方式中,对上述各个时序路径,可以通过STA工具计算其实际保持时间裕量,因为有可能一些时序路径在STA中不需要检查,或者一些时序路径的保持时间裕量在实际仿真结果中没有筛查中计算的结果那么差,这时候就可以继续跳过一部分时序路径,减少检查的工作量。
具体检查流程如下:
1)如果该时序路径不存在或不需要检查,则直接跳过;
2)如果该时序路径的保持时间裕量为无穷大或非数值,则直接跳过;
3)如果该时序路径存在且保持时间裕量为有效数值,则判断其实际仿真的实际保持时间裕量,如果实际保持时间裕量大于设定的LS,则直接跳过;否则再继续判断其补偿了公共路径悲观度(Common Path Pessimism,CPP)后实际仿真的时钟偏移TCS Real,如果补偿后的时钟偏移TCS Real小于等于LCS则直接跳过。例如,当所述各个时序路径中存在实际保持时间裕量小于所述预设裕量阈值LS的第一时序路径时,按照预设补偿方式对所述第一时序路径的时钟偏移进行补偿,并将补偿后的时钟偏移大于所述预设时钟偏移阈值的第一时序路径添加至第一列表。
对以上3步筛查留下来的第一列表中的时序路径进行筛选,确定出存在时序违例风险的时序路径,包括:
确定所述第一列表中的各个第一时序路径对应的补偿延时值;根据所述第一列表中的各个第一时序路径对应的实际保持时间裕量、补偿延时值、补偿后的时钟偏移以及预设量化参数,计算所述第一列表中的各个第一时序路径对应的目标保持时间裕量;当所述目标保持时间裕量大于零时,确定所述目标保持时间裕量对应的第一时序路径不存在时序违例风险,当所述目标保持时间裕量小于或等于零时,确定所述目标保持时间裕量对应的第一时序路径存在时序违例风险。
示例性的,可以对第一列表中的时序路径进行以下更精准的计算:
获取时序路径每一个节点(输入、输出端口对)之间的延时,如寄存器的延时、组合逻辑模块的延时、线延时等一系列构成整个时序路径延时的各段延时。
获取每段延时的Derate值(用于为延时做约束调整的因子),还原不带Derate值的路径延时,而后通过设定好的用于补偿的Derate值得到最终的补偿延时值TOver Derate;
将FP引入到保持时间裕量TSlack Hold中,得到处理后的目标保持时间裕量TSlack Hold Post,计算公式如下:
TSlack Hold Oost=TSlack Hold+(TCS Real·FP+TOver Derate) 公式1-7
如果TSlack Hold Post>0,则认为该时序路径不存在风险;否则将判定该时序路径存在因Clock Skew引起的时序风险。
在一些实施方式中,为了在流片前能够合理避免上述时序风险,且不会对原设计有太大改动,需要重新定义该时序路径在保持时间检查时的时间余量,记为TPath Margin Fixed,公式如下:
TPath Margin Fixed=TSlack Hold+(TCS Real·FP+TOver Derate) 公式1-8
在一些实施方式中,后端的设计人员可以基于新的保持时间余量对存在风险的时序路径进行修正,保证在TPath Margin Fixed下的TSlack Hold不小于0即可。
本申请中,通过前面筛查的时序路径列表回归到STA工具,得到具体实际且准确的时序报告,再次判断检查的时序路径是否存在风险,同样通过边界条件LCS来筛查,再通过FP将潜在的时序偏移风险量化到保持时间裕量计算公式中,如果量化后的保持时间裕量仍然小于0,意味着需要为该时序路径补充足够的保持时间裕量,这样就可以将时序偏移风险结合到STA工具中的计算,保证芯片流片不会因此而降低良率。
本申请实施例提供的时序路径筛查方法,通过获取待测芯片中每个时钟对应的各个时钟端口,确定与各个时钟端口对应的时序逻辑元件相关的时序路径,并计算各个时序路径对应的时钟偏移,利用STA工具确定各个时序路径的实际保持时间裕量,根据各个时序路径对应的时钟偏移与所述实际保持时间裕量,确定各个时序路径是否存在时序违例风险,由此可以准确筛查出因时钟偏移导致存在时序违例风险的时序路径,从而有利于提高芯片的良率。
基于上述实施例中所描述的内容,本公开实施例中还提供一种时序路径筛查装置,参照图4,图4为本公开实施例中提供的一种时序路径筛查装置的程序模块示意图,该时序路径筛查装置包括:
确定模块401,用于获取待测芯片中每个时钟对应的各个时钟端口,并确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径。
计算模块402,用于计算各个所述时序路径对应的时钟偏移。
判断模块403,用于利用STA工具确定各个所述时序路径的实际保持时间裕量,根据所述各个时序路径对应的时钟偏移与所述实际保持时间裕量,确定所述各个时序路径是否存在时序违例风险。
在一种可行的实施方式中,确定模块401具体用于:
分别查找所述各个时钟端口对应的时序逻辑元件的非时钟的输入端口,并分别根据各个所述非时钟的输入端口的扇入,确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径;
和/或,分别查找所述各个时钟端口对应的时序逻辑元件的非时钟的输出端口,并分别根据各个所述非时钟的输出端口的扇出,确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径。
在一种可行的实施方式中,确定模块401具体用于:
在一种可行的实施方式中,确定模块401具体用于:
在一种可行的实施方式中,计算模块402具体用于:
在一种可行的实施方式中,判断模块403具体用于:
当所述各个时序路径中存在实际保持时间裕量小于所述预设裕量阈值的第一时序路径时,按照预设补偿方式对所述第一时序路径的时钟偏移进行补偿,并将补偿后的时钟偏移大于所述预设时钟偏移阈值的第一时序路径添加至第一列表;
根据所述第一列表中的各个第一时序路径对应的时钟偏移与所述实际保持时间裕量,确定所述第一列表中的各个第一时序路径是否存在时序违例风险。
在一种可行的实施方式中,判断模块403具体用于:
确定所述第一列表中的各个第一时序路径对应的补偿延时值;
根据所述第一列表中的各个第一时序路径对应的实际保持时间裕量、补偿延时值、补偿后的时钟偏移以及预设量化参数,计算所述第一列表中的各个第一时序路径对应的目标保持时间裕量;
当所述目标保持时间裕量大于零时,确定所述目标保持时间裕量对应的第一时序路径不存在时序违例风险,当所述目标保持时间裕量小于或等于零时,确定所述目标保持时间裕量对应的第一时序路径存在时序违例风险。
需要说明的是,本公开实施例中的确定模块401、计算模块402及判断模块403具体执行的内容可以参阅图3所示实施例中相关内容,此处不做赘述。
本申请实施例提供的时序路径筛查装置,通过获取待测芯片中每个时钟对应的各个时钟端口,确定与各个时钟端口对应的时序逻辑元件相关的时序路径,并计算各个时序路径对应的时钟偏移,利用STA工具确定各个时序路径的实际保持时间裕量,根据各个时序路径对应的时钟偏移与所述实际保持时间裕量,确定各个时序路径是否存在时序违例风险,由此可以准确筛查出因时钟偏移导致存在时序违例风险的时序路径,从而有利于提高芯片的良率。
进一步的,基于上述实施例中所描述的内容,本公开实施例中还提供了一种电子设备,该电子设备包括至少一个处理器和存储器;其中,存储器存储计算机执行指令;上述至少一个处理器执行存储器存储的计算机执行指令,以实现如上述实施例中描述的时序路径筛查方法中的各个步骤,本实施例此处不再赘述。
为了更好的理解本公开实施例,参照图5,图5为本公开实施例提供的一种电子设备的硬件结构示意图。
如图5所示,本实施例的电子设备50包括:处理器501以及存储器502;其中:
存储器502,用于存储计算机执行指令;
处理器501,用于执行存储器存储的计算机执行指令,以实现上述实施例中描述的时序路径筛查方法中的各个步骤,具体可以参见前述方法实施例中的相关描述。
可选地,存储器502既可以是独立的,也可以跟处理器501集成在一起。
当存储器502独立设置时,该设备还包括总线503,用于连接存储器502和处理器501。
进一步的,基于上述实施例中所描述的内容,本公开实施例中还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当计算机执行计算机执行指令时,以实现如上述实施例中描述的时序路径筛查方法中的各个步骤,本实施例此处不再赘述。
进一步的,基于上述实施例中所描述的内容,本公开实施例中还提供了一种计算机程序产品,包括计算机程序,当计算机执行该计算机程序时,可以实现如上述实施例中描述的时序路径筛查方法中的各个步骤,本实施例此处不再赘述。
在本公开所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,上述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。
Claims (11)
1.一种时序路径筛查方法,其特征在于,所述方法包括:
获取待测芯片中每个时钟对应的各个时钟端口,并确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径;
计算各个所述时序路径对应的时钟偏移;
利用静态时序分析STA工具确定各个所述时序路径的实际保持时间裕量,根据所述各个时序路径对应的时钟偏移与所述实际保持时间裕量,确定所述各个时序路径是否存在时序违例风险。
2.根据权利要求1所述的方法,其特征在于,所述确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径,包括:
分别查找所述各个时钟端口对应的时序逻辑元件的非时钟的输入端口,并分别根据各个所述非时钟的输入端口的扇入,确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径;
和/或,分别查找所述各个时钟端口对应的时序逻辑元件的非时钟的输出端口,并分别根据各个所述非时钟的输出端口的扇出,确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径。
6.根据权利要求5所述的方法,其特征在于,所述根据所述各个时序路径对应的时钟偏移与所述实际保持时间裕量,确定所述各个时序路径是否存在时序违例风险,包括:
当所述各个时序路径中存在实际保持时间裕量小于所述预设裕量阈值的第一时序路径时,按照预设补偿方式对所述第一时序路径的时钟偏移进行补偿,并将补偿后的时钟偏移大于所述预设时钟偏移阈值的第一时序路径添加至第一列表;
根据所述第一列表中的各个第一时序路径对应的时钟偏移与所述实际保持时间裕量,确定所述第一列表中的各个第一时序路径是否存在时序违例风险。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一列表中的各个第一时序路径对应的时钟偏移与所述实际保持时间裕量,确定所述第一列表中的各个第一时序路径是否存在时序违例风险,包括:
确定所述第一列表中的各个第一时序路径对应的补偿延时值;
根据所述第一列表中的各个第一时序路径对应的实际保持时间裕量、补偿延时值、补偿后的时钟偏移以及预设量化参数,计算所述第一列表中的各个第一时序路径对应的目标保持时间裕量;
当所述目标保持时间裕量大于零时,确定所述目标保持时间裕量对应的第一时序路径不存在时序违例风险,当所述目标保持时间裕量小于或等于零时,确定所述目标保持时间裕量对应的第一时序路径存在时序违例风险。
8.一种时序路径筛查装置,其特征在于,所述装置包括:
确定模块,用于获取待测芯片中每个时钟对应的各个时钟端口,并确定与所述各个时钟端口对应的时序逻辑元件相关的时序路径;
计算模块,用于计算各个所述时序路径对应的时钟偏移;
判断模块,用于利用STA工具确定各个所述时序路径的实际保持时间裕量,根据所述各个时序路径对应的时钟偏移与所述实际保持时间裕量,确定所述各个时序路径是否存在时序违例风险。
9.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至7任一项所述的时序路径筛查方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当计算机执行所述计算机执行指令时,实现如权利要求1至7任一项所述的时序路径筛查方法。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被计算机执行时,实现权利要求1至7任一项所述的时序路径筛查方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211134966.5A CN115455879A (zh) | 2022-09-19 | 2022-09-19 | 时序路径筛查方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211134966.5A CN115455879A (zh) | 2022-09-19 | 2022-09-19 | 时序路径筛查方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115455879A true CN115455879A (zh) | 2022-12-09 |
Family
ID=84304872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211134966.5A Pending CN115455879A (zh) | 2022-09-19 | 2022-09-19 | 时序路径筛查方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115455879A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116090399A (zh) * | 2023-04-06 | 2023-05-09 | 中国人民解放军国防科技大学 | 基于数据输出端建立时间裕量的触发器转换方法及装置 |
CN116187237A (zh) * | 2023-04-27 | 2023-05-30 | 芯耀辉科技有限公司 | 用于芯片设计的检查方法、设备及介质 |
CN118378581A (zh) * | 2024-06-26 | 2024-07-23 | 南京芯驰半导体有限公司 | 芯片时序的处理方法及装置 |
-
2022
- 2022-09-19 CN CN202211134966.5A patent/CN115455879A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116090399A (zh) * | 2023-04-06 | 2023-05-09 | 中国人民解放军国防科技大学 | 基于数据输出端建立时间裕量的触发器转换方法及装置 |
CN116187237A (zh) * | 2023-04-27 | 2023-05-30 | 芯耀辉科技有限公司 | 用于芯片设计的检查方法、设备及介质 |
CN116187237B (zh) * | 2023-04-27 | 2023-08-08 | 芯耀辉科技有限公司 | 用于芯片设计的检查方法、设备及介质 |
CN118378581A (zh) * | 2024-06-26 | 2024-07-23 | 南京芯驰半导体有限公司 | 芯片时序的处理方法及装置 |
CN118378581B (zh) * | 2024-06-26 | 2024-08-16 | 南京芯驰半导体有限公司 | 芯片时序的处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115455879A (zh) | 时序路径筛查方法及设备 | |
US7886246B2 (en) | Methods for identifying failing timing requirements in a digital design | |
US11989299B2 (en) | Verifying firmware binary images using a hardware design and formal assertions | |
US8539413B1 (en) | Frequency optimization using useful skew timing | |
US7873926B2 (en) | Methods for practical worst test definition and debug during block based statistical static timing analysis | |
KR20150145179A (ko) | 정적 타이밍 분석의 타이밍 디레이트 조정방법 | |
Gayathri et al. | RTL synthesis of case study using design compiler | |
Kleeberger et al. | Workload-and instruction-aware timing analysis: The missing link between technology and system-level resilience | |
CN117094269B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
CN117350208A (zh) | 时序逻辑元件性能检查方法及设备 | |
Gaur et al. | Efficient hardware verification using machine learning approach | |
US8346527B2 (en) | Simulating an operation of a digital circuit | |
CN117907812B (zh) | 电路检测方法及装置、电子设备、存储介质、程序产品 | |
US9305125B2 (en) | Integrated circuit design timing path verification tool | |
CN115455880A (zh) | 时序路径筛查方法及设备 | |
US9449127B1 (en) | System for verifying timing constraints of IC design | |
US10963610B1 (en) | Analyzing clock jitter using delay calculation engine | |
US9104829B2 (en) | Method of validating timing issues in gate-level simulation | |
US12073159B2 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US20090037860A1 (en) | Apparatus, system and method for simulating operation of circuit | |
US7080333B1 (en) | Verifying logic synthesizers | |
US20080069277A1 (en) | Method and apparatus for modeling signal delays in a metastability protection circuit | |
US9710580B2 (en) | Timing analysis method for digital circuit design and system thereof | |
US7840925B1 (en) | Source specific timing checks on synchronous elements using a static timing analysis engine | |
US7246053B2 (en) | Method for transforming behavioral architectural and verification specifications into cycle-based compliant specifications |
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 |