发明内容
本发明提供一种基于结构和时序的时钟树质量检测方法及装置,以解决现有技术对时钟树质量的检测结果不可靠的技术问题。
本发明的第一实施例提供了一种基于结构和时序的时钟树质量检测方法,包括:
抓取待检测时钟树的扇出,并对所有所述扇出进行分析得到所述待检测时钟树的实际参数;所述实际参数包括实际时钟树级数、实际时钟树单元数、实际时钟树总延时长和实际时钟树最大延时差;
根据所述待测时钟树的叶节点总数和预设的扇出约束数,计算得到所述待测时钟的理论级数和理论时钟树单元数;
根据所述待检测时钟树的时钟域面积,计算得到所述待检测时钟树的物理需求级数;
根据所述物理需求级数、所述理论级数,计算得到所述待检测时钟树的理论时钟树级数和理论时钟树总延时长;
获取所述待检测时钟树的引入延时、OCV参数和目标差,根据所述理论级数、所述引入延时、所述OCV参数和所述目标差,计算得到理论时钟树最大延时;
将所述理论时钟级数、所述理论时钟树单元数、所述理论时钟树总延时长和所述理论时钟树最大延时作为所述待检测时钟树的理论参数,将所述实际参数与所述理论参数一一对应进行比对,根据每一参数的比对结果得到所述待检测时钟树的质量检测结果。
进一步地,所述抓取待检测时钟树的扇出,并对所有所述扇出进行分析得到所述待检测时钟树的实际参数,具体为:
逐级按照所述待检测时钟的层次抓取扇出,得到所述待检测时钟树的扇出层次级数以及每一级扇出的数量;
根据所述扇出层次级数以及所述每一级扇出的数量得到所述待检测时钟树的实际时钟树级数、实际时钟树单元数、实际时钟树总延时长和实际时钟树最大延时差。
进一步地,所述根据所述待检测时钟树的时钟域面积,计算得到所述待检测时钟树的物理需求级数,具体为:
获取所述待检测时钟树的时钟域在芯片上的跨度范围,根据所述跨度范围的宽与高之和,结合每级单元的推动距离计算得到物理需求级数。
进一步地,所述根据所述物理需求级数、所述理论级数,计算得到所述待检测时钟树的理论时钟树级数和理论时钟树总延时长,具体为:
将所述物理需求级数与所述理论级数进行累加得到理论时钟树级数;
将所述理论时钟级数与引入延时的乘积作为理论时钟树总时长。
进一步地,所述将所述实际参数与所述理论参数一一对应进行比对,根据每一参数的比对结果得到所述待检测时钟树的质量检测结果,具体为:
将所述实际时钟树级数与所述理论时钟树级数进行比对,根据比对结果检测所述待检测时钟树的时钟树级数是否正常;
将所述实际时钟树单元数与所述理论时钟树单元数进行比对,根据比对结果检测所述待检测时钟树的时钟树单元数是否正常;
将所述实际时钟树总延时长与所述理论时钟树总延时长进行比对,根据比对结果检测所述待检测时钟树的时钟树总延时长是否正常;
将所述实际时钟树最大延时差与所述理论时钟树最大延时差进行比对,根据比对结果检测所述待检测时钟树的时钟树最大延时差是否正常。
本发明的第二的实施例提供了一种基于结构和时序的时钟树质量检测装置,包括:
分析模块,用于抓取待检测时钟树的扇出,并对所有所述扇出进行分析得到所述待检测时钟树的实际参数;所述实际参数包括实际时钟树级数、实际时钟树单元数、实际时钟树总延时长和实际时钟树最大延时差;
第一计算模块,用于根据所述待测时钟树的叶节点总数和预设的扇出约束数,计算得到所述待测时钟的理论级数和理论时钟树单元数;
第二计算模块,用于根据所述待检测时钟树的时钟域面积,计算得到所述待检测时钟树的物理需求级数;
第三计算模块,用于根据所述物理需求级数、所述理论级数,计算得到所述待检测时钟树的理论时钟树级数和理论时钟树总延时长;
第四计算模块,用于获取所述待检测时钟树的引入延时、OCV参数和目标差,根据所述理论级数、所述引入延时、所述OCV参数和所述目标差,计算得到理论时钟树最大延时;
比对模块,用于将所述理论时钟级数、所述理论时钟树单元数、所述理论时钟树总延时长和所述理论时钟树最大延时作为所述待检测时钟树的理论参数,将所述实际参数与所述理论参数一一对应进行比对,根据每一参数的比对结果得到所述待检测时钟树的质量检测结果。
进一步地,所述分析模块,具体用于:
逐级按照所述待检测时钟的层次抓取扇出,得到所述待检测时钟树的扇出层次级数以及每一级扇出的数量;
根据所述扇出层次级数以及所述每一级扇出的数量得到所述待检测时钟树的实际时钟树级数、实际时钟树单元数、实际时钟树总延时长和实际时钟树最大延时差。
进一步地,所述第二计算模块,具体用于:
获取所述待检测时钟树的时钟域在芯片上的跨度范围,根据所述跨度范围的宽与高之和,结合每级单元的推动距离计算得到物理需求级数。
进一步地,所述第三计算模块,具体用于:
将所述物理需求级数与所述理论级数进行累加得到理论时钟树级数;
将所述理论时钟级数与引入延时的乘积作为理论时钟树总时长。
进一步地,所述比对模块,具体用于:
将所述实际时钟树级数与所述理论时钟树级数进行比对,根据比对结果检测所述待检测时钟树的时钟树级数是否正常;
将所述实际时钟树单元数与所述理论时钟树单元数进行比对,根据比对结果检测所述待检测时钟树的时钟树单元数是否正常;
将所述实际时钟树总延时长与所述理论时钟树总延时长进行比对,根据比对结果检测所述待检测时钟树的时钟树总延时长是否正常;
将所述实际时钟树最大延时差与所述理论时钟树最大延时差进行比对,根据比对结果检测所述待检测时钟树的时钟树最大延时差是否正常。
本发明实施例基于时钟树的结构和时序将时钟树实际参数与理论参数进行比对,并根据比对结果得到时钟树的质量检测结果,实现准确、快速得到时钟树的质量检测结果。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
请参阅图1,本发明的第一实施例,图1示出了一种基于结构和时序的时钟树质量检测方法,包括:
S1、抓取待检测时钟树的扇出,并对所有扇出进行分析得到待检测时钟树的实际参数;实际参数包括实际时钟树级数、实际时钟树单元数、实际时钟树总延时长和实际时钟树最大延时差;
需要说明的是,时钟树是由时钟缓冲器即时钟单元一级一级地串行驱动级联组成,从时钟源到时钟树叶节点的时序单元路径下所需要的缓冲器数量记为时钟树级数,本发明实施例基于时钟树的结构和时序,对时钟树进行静态时序分析抓取时钟树的扇出,并根据扇出得到时钟树的实际参数。
S2、根据待测时钟树的叶节点总数和预设的扇出约束数,计算得到待测时钟的理论级数和理论时钟树单元数;
具体的,理论级数的计算公式为:理论级数L=Log(叶节点总数)/Log(时钟树扇出约束数);第n级的单元数bn=叶节点总数叶节点总数/16(L-n),理论时钟单元数B=∑bn。
S3、根据待检测时钟树的时钟域面积,计算得到待检测时钟树的物理需求级数;
在本发明实施例中,根据时钟树的时钟域在芯片上的跨度范围,能够计算得到时钟树的物理需求级数。具体的例子:时钟树的时钟域在X*Y的矩形内,计算得到时钟树的最远距离为X+Y,根据芯片工艺库的时钟树缓冲器特性,如每级单元可以推动距离M,计算得到物理需求级数K=(X+Y)/M。
S4、根据物理需求级数、理论级数,计算得到待检测时钟树的理论时钟树级数和理论时钟树总延时长;
理论时钟树级数=物理需求级数+理论级数;理论时钟树总延时长=(物理需求级数+理论级数)*引入延时,其中引入延时可以通过对时钟树静态分析获得。
S5、获取待检测时钟树的引入延时、OCV参数和目标差,根据理论级数、引入延时、OCV参数和目标差,计算得到理论时钟树最大延时;
在本发明实施例中,通过对时钟树进行静态分析,得到引入时延、OCV参数和目标差,理论时钟树最大延时=理论级数*引入延时*OCV参数+目标差。
S6、将理论时钟级数、理论时钟树单元数、理论时钟树总延时长和理论时钟树最大延时作为待检测时钟树的理论参数,将实际参数与理论参数一一对应进行比对,根据每一参数的比对结果得到待检测时钟树的质量检测结果。
在本发明实施例中,将实际参数和理论参数一一对应进行比对得到时钟树的质量检测结果,如将实际时钟树级数与理想时钟树级数进行比对,若实际时钟树级数与理想时钟树级数的差值超出预设范围,则得到时钟树级数过多的质量检测结果;将实际时钟树单元数与理论时钟树单元数进行比对,若实际时钟树单元数与理论时钟树单元数的差值超出预设范围,则得到时钟树单元数过多的时钟树质量检测结果;将实际时钟树总延时长与理论时钟树总延时长进行比对,若实际时钟树总延时长与理论时钟树总延时长的差值超出预设范围,则得到时钟树级数过多引入的质量检测结果;将实际时钟树最大延时差与理论时钟树最大延时差进行比对,在实际时钟树最大延时差与理论时钟树最大延时差的差值超出预设范围时,则得到时钟树分叉过早的时钟树质量检测结果。本发明实施例能够准确得到时钟树结构和时钟树时序上的时钟树质量检测结果,根据时钟树质量结果对时钟树执行相应的措施,能够有效提高时钟树的质量。
作为本发明实施例的一种具体实施方式,抓取待检测时钟树的扇出,并对所有扇出进行分析得到待检测时钟树的实际参数,具体为:
逐级按照待检测时钟的层次抓取扇出,得到待检测时钟树的扇出层次级数以及每一级扇出的数量;
根据扇出层次级数以及每一级扇出的数量得到待检测时钟树的实际时钟树级数、实际时钟树单元数、实际时钟树总延时长和实际时钟树最大延时差。
作为本发明实施例的一种具体实施方式,根据待检测时钟树的时钟域面积,计算得到待检测时钟树的物理需求级数,具体为:
获取待检测时钟树的时钟域在芯片上的跨度范围,根据跨度范围的宽与高之和,结合每级单元的推动距离计算得到物理需求级数。
在本发明实施例中,根据时钟树的时钟域在芯片上的跨度范围,能够计算得到时钟树的物理需求级数。具体的例子:时钟树的时钟域在X*Y的矩形内,计算得到时钟树的最远距离为X+Y,根据芯片工艺库的时钟树缓冲器特性,如每级单元可以推动距离M,计算得到物理需求级数K=(X+Y)/M。
作为本发明实施例的一种具体实施方式,根据物理需求级数、理论级数,计算得到待检测时钟树的理论时钟树级数和理论时钟树总延时长,具体为:
将物理需求级数与理论级数进行累加得到理论时钟树级数;
将理论时钟级数与引入延时的乘积作为理论时钟树总时长。
作为本发明实施例的一种具体实施方式,将实际参数与理论参数一一对应进行比对,根据每一参数的比对结果得到待检测时钟树的质量检测结果,具体为:
将实际时钟树级数与理论时钟树级数进行比对,根据比对结果检测待检测时钟树的时钟树级数是否正常;
将实际时钟树单元数与理论时钟树单元数进行比对,根据比对结果检测待检测时钟树的时钟树单元数是否正常;
将实际时钟树总延时长与理论时钟树总延时长进行比对,根据比对结果检测待检测时钟树的时钟树总延时长是否正常;
将实际时钟树最大延时差与理论时钟树最大延时差进行比对,根据比对结果检测待检测时钟树的时钟树最大延时差是否正常。
本发明实施例通过利用静态时序分析得到多种实际参数,并根据时钟树的特性计算时钟树的多种理论参数,将多种实际参数与多种理论参数进行一一对应比对,能够准确得到时钟树在结构和时序上的质量检测结果,有利于提高时钟树质量检测的全面性和可靠性。
在其中一种实施例中,获取到一个时钟树的节点总数为10000,时钟扇出约束数为16,时钟树建立目标差为0.1ns,时钟域在芯片上的跨度范围在3mm*5mm内,当前芯片使用工艺库一级时钟缓冲器推动距离为400um,引入延时约为0.05ns;当前工艺OCV参数为10%,且本发明实施例获取到时钟树的实际参数为:时钟树级数为30,时钟树单元为701,时钟树总延时长为1.5ns,时钟树最大延时差为0.15ns。
计算本实施例中时钟树的理想参数如下:
理论级数L=Log(10000)/Log(16)=4;
理论时钟单元数B=10000/163+10000/162+10000/16,约为668个;
物理需求级数K=(3+5)/0.4=20;
时钟树总延时长=(20+4)*0.05=1.2ns;
时钟树最大延时=4*0.05*10%+0.1=0.12ns。
请参阅表1,为本发明实施例中实际参数与理论参数的比对示意表。
表1时钟树中实际参数与理论参数比对示意表
根据上表可以准确得到时钟树的结构和时序质量检测结果。
作为本发明实施例的一种具体实施方式,为了进一步提高时钟树的质量检测,还可以根据预设的命名规则扫描时钟树库单元文档,在选择出不符合预设命名规则的阈值电压单元时,得到时钟树存在单元使用不当质量检测结果。将不符合预设命名规则的阈值电压电源统一更换为低压阈值电压单元,能够进一步提高时钟树的质量。
实施本发明实施例,具有以下有益效果:
本发明实施例基于时钟树的结构和时序将时钟树实际参数与理论参数进行比对,并根据比对结果得到时钟树的质量检测结果,实现准确、快速得到时钟树的质量检测结果。本发明实施例通过将实际参数与理论参数进行比对,能够准确检测时钟树的质量问题,包括时钟树是否级数过多、分叉过早,在检测到时钟树存在质量问题时,采取相应的措施改进时钟树的结构和时序,降低每个分支的延时差,从而降低时钟树上由片上变化带来的影响,在收敛时序时,有利于降低整个芯片的功耗和面积需求。
请参阅图2,本发明的第二实施例,图2示出了一种基于结构和时序的时钟树质量检测装置,包括:
分析模块10,用于抓取待检测时钟树的扇出,并对所有扇出进行分析得到待检测时钟树的实际参数;实际参数包括实际时钟树级数、实际时钟树单元数、实际时钟树总延时长和实际时钟树最大延时差;
需要说明的是,时钟树是由时钟缓冲器即时钟单元一级一级地串行驱动级联组成,从时钟源到时钟树叶节点的时序单元路径下所需要的缓冲器数量记为时钟树级数,本发明实施例分析模块10基于时钟树的结构和时序,对时钟树进行静态时序分析抓取时钟树的扇出,并根据扇出得到时钟树的实际参数。
第一计算模块20,用于根据待测时钟树的叶节点总数和预设的扇出约束数,计算得到待测时钟的理论级数和理论时钟树单元数;
具体的,第一计算模块20计算理论级数的计算公式为:理论级数L=Log(叶节点总数)/Log(时钟树扇出约束数);第n级的单元数bn=叶节点总数叶节点总数/16(L-n),理论时钟单元数B=∑bn。
第二计算模块30,用于根据待检测时钟树的时钟域面积,计算得到待检测时钟树的物理需求级数;
在本发明实施例中,第二计算模块30根据时钟树的时钟域在芯片上的跨度范围,能够计算得到时钟树的物理需求级数。具体的例子:时钟树的时钟域在X*Y的矩形内,计算得到时钟树的最远距离为X+Y,根据芯片工艺库的时钟树缓冲器特性,如每级单元可以推动距离M,计算得到物理需求级数K=(X+Y)/M。
第三计算模块40,用于根据物理需求级数、理论级数,计算得到待检测时钟树的理论时钟树级数和理论时钟树总延时长;
本发明实施例中,理论时钟树级数=物理需求级数+理论级数;理论时钟树总延时长=(物理需求级数+理论级数)*引入延时,其中引入延时可以通过对时钟树静态分析获得。
第四计算模块50,用于获取待检测时钟树的引入延时、OCV参数和目标差,根据理论级数、引入延时、OCV参数和目标差,计算得到理论时钟树最大延时;
在本发明实施例中,通过对时钟树进行静态分析,得到引入时延、OCV参数和目标差,理论时钟树最大延时=理论级数*引入延时*OCV参数+目标差。
比对模块60,用于将理论时钟级数、理论时钟树单元数、理论时钟树总延时长和理论时钟树最大延时作为待检测时钟树的理论参数,将实际参数与理论参数一一对应进行比对,根据每一参数的比对结果得到待检测时钟树的质量检测结果。
在本发明实施例中,将实际参数和理论参数一一对应进行比对得到时钟树的质量检测结果,如将实际时钟树级数与理想时钟树级数进行比对,若实际时钟树级数与理想时钟树级数的差值超出预设范围,则得到时钟树级数过多的质量检测结果;将实际时钟树单元数与理论时钟树单元数进行比对,若实际时钟树单元数与理论时钟树单元数的差值超出预设范围,则得到时钟树单元数过多的时钟树质量检测结果;将实际时钟树总延时长与理论时钟树总延时长进行比对,若实际时钟树总延时长与理论时钟树总延时长的差值超出预设范围,则得到时钟树级数过多引入的质量检测结果;将实际时钟树最大延时差与理论时钟树最大延时差进行比对,在实际时钟树最大延时差与理论时钟树最大延时差的差值超出预设范围时,则得到时钟树分叉过早的时钟树质量检测结果。本发明实施例能够准确得到时钟树结构和时钟树时序上的时钟树质量检测结果,根据时钟树质量结果对时钟树执行相应的措施,能够有效提高时钟树的质量。
作为本发明实施例的一种具体实施方式,分析模块10,具体用于:
逐级按照待检测时钟的层次抓取扇出,得到待检测时钟树的扇出层次级数以及每一级扇出的数量;
根据扇出层次级数以及每一级扇出的数量得到待检测时钟树的实际时钟树级数、实际时钟树单元数、实际时钟树总延时长和实际时钟树最大延时差。
作为本发明实施例的一种具体实施方式,第二计算模块30,具体用于:
获取待检测时钟树的时钟域在芯片上的跨度范围,根据跨度范围的宽与高之和,结合每级单元的推动距离计算得到物理需求级数。
在本发明实施例中,根据时钟树的时钟域在芯片上的跨度范围,能够计算得到时钟树的物理需求级数。具体的例子:时钟树的时钟域在X*Y的矩形内,计算得到时钟树的最远距离为X+Y,根据芯片工艺库的时钟树缓冲器特性,如每级单元可以推动距离M,计算得到物理需求级数K=(X+Y)/M。
作为本发明实施例的一种具体实施方式,第三计算模块40,具体用于:
将物理需求级数与理论级数进行累加得到理论时钟树级数;
将理论时钟级数与引入延时的乘积作为理论时钟树总时长。
作为本发明实施例的一种具体实施方式,比对模块60,具体用于:
将实际时钟树级数与理论时钟树级数进行比对,根据比对结果检测待检测时钟树的时钟树级数是否正常;
将实际时钟树单元数与理论时钟树单元数进行比对,根据比对结果检测待检测时钟树的时钟树单元数是否正常;
将实际时钟树总延时长与理论时钟树总延时长进行比对,根据比对结果检测待检测时钟树的时钟树总延时长是否正常;
将实际时钟树最大延时差与理论时钟树最大延时差进行比对,根据比对结果检测待检测时钟树的时钟树最大延时差是否正常。
本发明实施例通过利用静态时序分析得到多种实际参数,并根据时钟树的特性计算时钟树的多种理论参数,将多种实际参数与多种理论参数进行一一对应比对,能够准确得到时钟树在结构和时序上的质量检测结果,有利于提高时钟树质量检测的全面性和可靠性。
在其中一种实施例中,获取到一个时钟树的节点总数为10000,时钟扇出约束数为16,时钟树建立目标差为0.1ns,时钟域在芯片上的跨度范围在3mm*5mm内,当前芯片使用工艺库一级时钟缓冲器推动距离为400um,引入延时约为0.05ns;当前工艺OCV参数为10%,且本发明实施例获取到时钟树的实际参数为:时钟树级数为30,时钟树单元为701,时钟树总延时长为1.5ns,时钟树最大延时差为0.15ns。
本实施例中计算时钟树的理想参数如下:
理论级数L=Log(10000)/Log(16)=4;
理论时钟单元数B=10000/163+10000/162+10000/16,约为668个;
物理需求级数K=(3+5)/0.4=20;
时钟树总延时长=(20+4)*0.05=1.2ns;
时钟树最大延时=4*0.05*10%+0.1=0.12ns。
请参阅表1,为本发明实施例中实际参数与理论参数的比对示意表。
表1时钟树中实际参数与理论参数比对示意表
根据上表可以准确得到时钟树的结构和时序质量检测结果。
作为本发明实施例的一种具体实施方式,为了进一步提高时钟树的质量检测,还可以根据预设的命名规则扫描时钟树库单元文档,在选择出不符合预设命名规则的阈值电压单元时,得到时钟树存在单元使用不当质量检测结果。将不符合预设命名规则的阈值电压电源统一更换为低压阈值电压单元,能够进一步提高时钟树的质量。
实施本发明实施例,具有以下有益效果:
本发明实施例基于时钟树的结构和时序将时钟树实际参数与理论参数进行比对,并根据比对结果得到时钟树的质量检测结果,实现准确、快速得到时钟树的质量检测结果。本发明实施例通过将实际参数与理论参数进行比对,能够准确检测时钟树的质量问题,包括时钟树是否级数过多、分叉过早,在检测到时钟树存在质量问题时,采取相应的措施改进时钟树的结构和时序,降低每个分支的延时差,从而降低时钟树上由片上变化带来的影响,在收敛时序时,有利于降低整个芯片的功耗和面积需求。
以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。