一种数字电路关键路径时序分析方法和装置与流程

文档序号:33494080发布日期:2023-03-17 20:42阅读:81来源:国知局
一种数字电路关键路径时序分析方法和装置与流程

1.本技术涉及数字电路故障分析技术领域,具体而言,涉及一种数字电路关键路径时序分析方法和装置。


背景技术:

2.随着电路的进一步集成化,电路设计愈发复杂,如何实现高可靠性的大型集成电路设计是当前的研究重点。
3.时序分析是电子工程中对数字电路的时序进行计算、预计的工作流程。关键路径通常是指同步逻辑电路中组合逻辑时延最大的路径,也就是说关键路径是对设计性能起决定性影响的时序路径。数字电路关键路径时序分析实质上是对数字电路系统中的发生系统故障概率进行分析。
4.系统级故障事件往往基于单元级故障事件的发生才能成立,现有技术中采用重要采样法(bs)、边界搜索法(bs)和子集模拟算法(sus)分析系统级故障事件,且在计算系统故障率时往往假设单元级故障率事件之间是彼此独立的,因此,现有技术的这些方法在计算系统故障率时均忽略了单元之间的相关性。


技术实现要素:

5.为了解决传统算法存在的只关注单元级故障事件而忽略单元级之间的相关性的问题,本技术提供了一种数字电路关键路径时序分析方法和装置。
6.本技术的实施例是这样实现的:本技术一实施例提供一种数字电路关键路径时序分析方法,所述方法包括:获取数字电路系统中单元的单元数量和系统级故障率的阶数d;估计与所述单元级数目相同数目的单元故障率和同时故障率,所述单元故障率用于表征数字电路发生单元级故障事件的概率,所述同时故障率为对所有所述单元故障率进行线性组合后得到的;基于所述同时故障率计算d阶局部失效率和d-1阶局部失效率,所述d阶和d-1阶的局部失效率用于计算d阶系统故障率第一估值,所述局部失效率对应的局部空间包括多个所述单元;基于d阶局部失效率和d-1阶局部失效率计算d+1阶局部失效率上限值,所述d+1阶局部失效率上限值和所述d阶的局部失效率用于计算d阶系统故障率第二估值;从所述d阶系统故障率第一估值和d阶系统故障率第二估值组成的区间中选取最小值,所述最小值为渐进概率近似值。
7.在一些实施例中,所述单元故障率和同时故障率,通过以下步骤确定:将数字电路系统划分为多个由多个单元组成的中间失效区域,从中间失效区域中抽取样本得到第一样本集;基于子集模拟算法,计算所述第一样本集中的所有样本的单元故障率,基于所述
第一样本集中所有样本对应的单元故障率生成第一组样本,所述第一组样本均落入所述中间失效区域;基于metropolis算法将所述第一组样本生成马尔科夫链蒙特卡洛样本序列,得到马尔科夫链;基于所述子集模拟算法,计算所述马尔科夫链中每个样本的单元故障率;对所述单元故障率进行线性组合,计算线性组合后的单元故障率的乘积即为所述同时故障率。
8.在一些实施例中,所述方法还包括计算所述渐进概率近似值在预设置信度时的置信区间。
9.在一些实施例中,所述计算所述渐进概率近似值在预设置信度时的置信区间,进一步包括:基于d阶系统故障率第一估值和d阶系统故障率第二估值计算所述单元故障率的对数;计算所述单元故障率的对数的均值估值和方差估值;基于所述均值估和所述方差估值建立正态分布函数,所述正态分布函数近似所述均值估值的分布区间;基于所述分布区间计算所述渐进概率近似值在预设置信度的置信区间。
10.在一些实施例中,所述计算所述单元故障率的对数的均值估值和方差估值,进一步包括:在所述d阶系统故障率第一估值小于所述d阶系统故障率第二估值时,基于所述对数计算d阶的均值估值,所述d阶的均值估值在数值上等于d阶的方差估值,所述方差估值用于评价所述均值估值的可靠性;或者,在d为偶数时,基于d-1的对数和所述单元故障率的对数计算d阶的均值估值,所述d阶的均值估值在数值上等于d阶的方差估值,所述方差估值用于评价所述均值估值的可靠性。
11.在一些实施例中,基于所述子集模拟算法,计算所述马尔科夫链中每个样本的单元故障率,进一步包括:从第一样本中选取样本组成样本子集;基于所述样本子集的样本总数和第一样本集的样本总数求取样本失效率;基于metropolis算法和所述样本失效率生成马尔科夫链蒙特卡洛样本序列,得到马尔科夫链,所述马尔科夫链的样本总数等于所述中间失效区域中的单元数;从马尔科夫链包含的样本中选取出次样本子集,所述次样本子集中的样本落入所述中间失效区域;基于次样本集的样本总数和马尔科夫链的样本总数,计算中间失效区域包含的单元的单元故障率;基于所述中间失效区域包含的单元的单元故障率计算所述马尔科夫链中每个样本的单元故障率。
12.本技术又一实施例提供一种数字电路关键路径时序分析装置,包括:获取模块,用于获取数字电路系统中单元的单元数量和系统级故障率的阶数d;
估计模块,用于估计与所述单元级数目相同数目的单元故障率和同时故障率,所述单元故障率用于表征数字电路发生单元级故障事件的概率,所述同时故障率为对所有所述单元故障率进行线性组合后得到的;第一计算模块,用于基于所述同时故障率计算d阶局部失效率和d-1阶局部失效率,所述d阶和d-1阶的局部失效率用于计算d阶系统故障率第一估值,所述局部失效率对应的局部空间包括多个所述单元;第二计算模块,用于基于d阶局部失效率和d-1阶局部失效率计算d+1阶局部失效率上限值,所述d+1阶局部失效率上限值和所述d阶的局部失效率用于计算d阶系统故障率第二估值;选取模块,用于从所述d阶系统故障率第一估值和d阶系统故障率第二估值组成的区间中选取最小值,所述最小值为渐进概率近似值。
13.在一些实施例中,所述估计模块,包括:抽取单元,用于将数字电路系统划分为多个由多个单元组成的中间失效区域,从中间失效区域中抽取样本得到第一样本集;第一生成单元,用于基于子集模拟算法,计算所述第一样本集中的所有样本的单元故障率,基于所述第一样本集中所有样本对应的单元故障率生成第一组样本,所述第一组样本均落入所述中间失效区域;第二生成单元,用于基于metropolis算法将所述第一组样本生成马尔科夫链蒙特卡洛样本序列,得到马尔科夫链;第一计算单元,用于基于所述子集模拟算法,计算所述马尔科夫链中每个样本的单元故障率;第二计算单元,用于对所述单元故障率进行线性组合,计算线性组合后的单元故障率的乘积即为所述同时故障率。
14.本技术的又一实施例提供一种终端装置,包括:至少一个处理器和存储器;所述存储器,用于存储程序指令;所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述终端装置执行如上所述的数字电路关键路径时序分析方法。
15.本技术的又一实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行如上任一项所述的数字电路关键路径时序分析方法。
16.本技术的有益效果:通过估算单元故故障率,以及将单元故故障率进行线性组合获得同时故障率,可实现将单元件进行关联的目的;进一步通过构基于同时故障率和阶数计算d阶系统故障率第一估值和d阶系统故障率第二估值,从第一估值和d阶系统故障率第二估值选取最小值作为渐进概率近似值,可实现对系统故障率的估算。
附图说明
17.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申
请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
18.图1为根据本技术一个或多个实施例的一种数字电路关键路径时序分析方法流程图;图2为蒙特卡洛方法与本技术算法的计算效率对比;图3为蒙特卡洛方法、传统的lf算法以及本技术算法计算的失效率对比图。
具体实施方式
19.为使本技术的目的、实施方式和优点更加清楚,下面将结合本技术示例性实施例中的附图,对本技术示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本技术一部分实施例,而不是全部的实施例。
20.需要说明的是,本技术中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本技术的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
21.本技术中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
22.术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
23.术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本技术中的具体含义。
24.如图1所示,本技术提供的一种数字电路关键路径时序分析方法流程图。本技术提供的一种数字电路关键路径时序分析方法通过以下步骤实现:在步骤110中,获取数字电路系统中的单元数目n且预设系统级故障率的阶数d;在步骤120中,估计与单元级数目相同数目个的单元故障率和同时故障率,单元故故障率用于表征数字电路发生单元级故障事件的概率,同时故障率为经线性组合后的所有单元故故障率的乘积;其中单元概率表示为;同时故障率表示为;高效的分层子集模拟算法(h-sus)过程中,其原理基于分层子集模拟算法(sus)的思路,通过将整体分成不同的层,按规定的比例对每一层进行随机抽取样品,利用该算法估计和,同时使得样品具有较好的代表性,h-sus基于sus的扩展基础上,基于一组精心定义的概率事件来近似整体的失效率,从而实现渐进概率逼近方法(apa)。
25.在一些实施例中,计算单元故障率和同时故障率通过以下步骤实现:在步骤210中,将数字电路系统划分为多个由多个单元组成的中间失效区域,从中间失效区域中抽取样本得到第一样本集;其中,中间失效区域概率表示为其中,中间失效区域概率表示为代表第
个单元,为中间失效区域;第一样本集中包括个样本,分别记为。
26.在步骤220中,基于子集模拟算法,计算第一样本集中的所有样本的单元故障率,基于所有样本的单元故障率生成第一组样本,第一组样本均落入中间失效区域;应用子集模拟算法估计第一个样本集中所有样本的单元故障率,如第一样本集中的第一个样本表示为i=1时,则第一个样本的单元故障率为;基于所有样本的单元故障率生成第一组样本,第一组样本表示为,表示子集的个数,通过定义子集个数可以计算出所在样本的失效率,第一组样本均落入中间失效区域通过定义子集个数可以计算出所在样本的失效率,第一组样本均落入中间失效区域。
27.由于定义场景不同表示在第1个单元失效时,第个单元的失效概率;当=1,满足,也等于下面的的用法。
28.为单元故障率,是通过样本定义的一个点的子集,其研究的性能表现位于中间失效区域,相当于以较小的样本值替代原本较大的数据样本参与计算,减少了计算量。
29.在步骤230中,基于metropolis算法将第一组样本生成马尔科夫链蒙特卡洛样本序列,得到马尔科夫链;其中马尔科夫链中的所有样本表示为。
30.在步骤240中,基于子集模拟算法,计算马尔科夫链中每个样本的单元故障率;在步骤250中,对马尔科夫链中每个样本的单元故障率进行线性组合,求取线性组合后的单元故障率的乘积即为同时故障率,用公式表示为: 。
31.在一些实施例中,基于子集模拟算法,计算马尔科夫链中每个样本的单元故障率,通过以下步骤实现:在步骤310中,从第一样本集为表示第一样本集总数;在步骤320中,从第一样本中通过晶体管级模拟选取样本组成样本子集,样本子集表示为,样本子集中的样本落入中间失效区域,表示样本子集中样本总数;在步骤330中,基于样本子集的样本总数和第一样本集的样本总数求样本失效率;第一样本集中包括个样本,分别记为表示第一样本集的样本总数,当k =1时,样本失效率表示为:;在步骤340中,继续从中间失效区域中抽取样本得到第二、第三样本集,并从第二、第三样本集中分别选取样本子集,基于样本集和样本子集计算

=2,3,...,
퐾푖
时的样本失效率,基于metropolis算法和样本失效率生成马尔科夫链蒙特卡洛样本序列,得到马尔科夫链。其中,马尔科夫链的样本总数等于所有样本集中的样本数;在步骤350中,从马尔科夫链包含的样本中选取出次样本子集,次样本子集中的样
本落入中间失效区域;次样本子集表示为表示次样本子集的样本总数;通过马尔科夫链规则进行单元概率采样,可以大大减小的采样数据量,提高运算速度。
32.在步骤360中,基于次样本子集的样本总数和马尔科夫链的样本总数,计算中间失效区域包含的单元的单元故障率,表示为:;在步骤370中,基于中间失效区域包含的单元的单元故障率计算马尔科夫链中每个样本的单元故障率:其中,x表示关注单元的某一个性能,如寿命,性能等,y表示该性能所具有的性质,如寿命对应的失效率等,x、y可以考虑多个独立变量。
33.当i=1时,代入上式(7)即得到第一样本集中的所有样本的单元故障率。
34.在步骤130中,基于同时故障率计算d阶局部失效率和d-1阶局部失效率,d阶和d-1阶的局部失效率用于计算d阶系统故障率第一估值,局部失效率对应的局部空间包括多个单元;d阶局部失效率表示为、d-1阶局部失效率表示为以及d阶系统故障率第一估值表示为。
35.其中基于同时故障率计算,然后基于和计算d阶系统故障率第一估值n表示重复单元的数量,此处的故障率用两个线性函数近似,系数(n-d+1)、(n-d)与d阶中重复单元个数有关。
36.其中,,,

,, 表示第d个单元的单元故障率。
37.在步骤140中,基于d阶局部失效率和d-1阶局部失效率计算d+1阶局部失效率上限值,d+1阶局部失效率上限值和d阶的局部失效率用于计算d阶系统故障率第二估值。
38.其中,d+1阶局部失效率上限表示为、d阶系统故障率第二估值表示为、渐进概率近似值表示为。
39.当

为奇数时,当

为偶数时,;其中,与是p
d+1
的分别为d为奇数和偶数时的上限值。
40.然后基于和计算。
41.在步骤150中,从d阶系统故障率第一估值和d阶系统故障率第二估值组成
的区间中选取最小值,最小值为渐进概率近似值,表示为:。
42.在一些实施例中,在确定渐进概率近似值之后本技术方法还包括:计算渐进概率近似值在预设置信度时的置信区间。
43.置信区间是指由样本统计量所构造的总体参数的估计区间。在统计学中,一个概率样本的置信区间(confidence interval)是对这个样本的某个总体参数的区间估计。置信区间展现的是这个参数的真实值有一定概率落在测量结果的周围的程度,其给出的是被测量参数的测量值的可信程度,即前面所要求的“一个概率”。
44.在一些实施例中,计算渐进概率近似值在预设置信度时的置信区间,通过以下步骤实现:在步骤410中,基于d阶系统故障率第一估值和d阶系统故障率第二估值计算单元故故障率(表示为)的对数(表示为)。
45.在步骤420中,计算对数的均值估值,用公式表示为:在步骤420中,计算对数的均值估值,用公式表示为:的正态分布函数,正态分布函数里面的两个值分别代表h-sus计算出的对数均值与方差均值,分别反映数据的分布情况与对分布情况可靠性的验证。
46.通过研究单元故障率的对数分布,可以将其近似为正态分布的形式进行处理,其中代表通过h-sus方法计算出的单元故障率。
47.其中,;表示方差是创建的马尔科夫链数,也代表落入中间失效区域的样本数,代表马尔科夫链的失效概率;其中q代表样本数,为指示函数;代表着当样本落入失效区域即为失效状态且失效概率为1,反之则是未失效状况。
48.在一些实施例中,计算对数的均值估值,进一步包括:在d阶系统故障率第一估值小于d阶系统故障率第二估值时,基于对数计算均值估值,用公式表示为:如果,通过公式(13)计算 的均值估值,用公式表示为:在满足公式(8)的前提下,,且log()=,此时满足公式
(13),公式(13)左式代表对d阶系统部分抽样的均值(下标为d,d),其在数值上等于d阶方差(下标为d)。
49.퐿


表示计算置信区间引入的变量,用于表征失效率与均值之间的关系。其中u为均值估值,ν代表方差估值,中*代表使用h-sus(分层子集模拟)方法计算的单元故障率,且该方法对应的方差估值表示为。下文公式中带有*的变量也同样表示该变量是通过h-sus算法计算得到的。
50.在d为偶数时,基于d-1的对数和对数计算的d阶均值估值,用公式(14)计算;在d为奇数时,;在除d阶系统故障率第一估值小于d阶系统故障率第二估值、d为偶数之外的其它情况下,方差估值约等于最高阶方差值,用公式表示为:情况下,方差估值约等于最高阶方差值,用公式表示为:表示样本失效率的方差,反应数据在一定范围内的可靠程度,的上限。
51.基于均值估值和方差估值建立正态分布函数,基于正态分布函数近似均值估值的分布区间;对于

=


1,


2,...,1,用正态分布,公式(16)表示: ;通过正态分布近似所求的函数,可以更加方便的进行预测和分析。
52.通过正态分布 近似分布,s代表系统, 用公式(17)-(19)表示:通过正态分布近似分布,公式(20)表示:通过正态分布区间近似分布,公式(21)、(22)表示:

53.基于分布区间计算渐进概率近似值在预设置信度的置信区间,具体包括:如果,由公式(23)、(24)计算预设置信度为95%的置信区间,否则通过公式(25)、(26)计算预设置信度为95%的置信区间。
54.其中,近似正态分布后的两个参数值,近似正态分布后的两个参数值。
55.系统故障率代表着研究对象整体的性能情况,而系统是由多个单元以及多个部分组成的,因此系统故障率与单元的故障率存在一定关系。apa方法通过定义多个故障失效事件来近似整体的故障率,大大的减少了采样计算成本,同时保持相当高的精度。宽松的apa方法是在apa基础上,将单元的部分失效率放宽到上界的推导。通过估算单元故障率,以及将单元故障率进行线性组合获得同时故障率,可实现将单元件进行关联的目的;进一步通过构基于同时故障率和阶数计算d阶系统故障率第一估值和d阶系统故障率第二估值,从第一估值和d阶系统故障率第二估值选取最小值作为渐进概率近似值,可实现对系统故障率的估算。
56.图2为蒙特卡洛方法与本技术算法的计算效率对比;图3为蒙特卡洛方法、传统的lf算法以及本技术算法计算的失效率对比图。
57.蒙特卡洛方法是被公认为计算方法中最为准确的模拟方法,如图2所示为在计算相同单元数时,蒙特卡洛方法与本技术方法所需要的样本数量,即计算成本的变化,蒙特卡洛算法需要的计算量特别大,随着单元数量增加发生指数级增长,尤其是利用蒙特卡洛方法计算小概率事件时,所需要的样本数量也会更多,且计算成本随时样本数的增加而呈现指数增加。而本文中的算法在实现中,计算成本仅仅是样本数的简单线性关系,因此相比于蒙特卡洛方法,本技术方法能够极大的减少了模拟计算的成本。
58.如图3所示,本技术算法不仅在计算成本上远小于蒙特卡洛算法,同时在计算精度上也与蒙特卡洛方法极为接近,体现出了优异的计算效率与精确度。与传统的lf算法对比,在计算效率与准确度均得到了大幅度的提升。
59.lf算法(loop flattening methon,循环平化方法),lf算法忽略了单元之间的相关性,因此将lf算法与本技术方法比较可见,本技术在考虑单元之间相关性的基础上计算系统级故障率时的计算效率和准确度均得到大幅度地提升。
60.而蒙特卡洛算法相当于是完全的随机抽样算法,其计算量非常大,但是其结果一
般是作为验证其他算法的准确性的唯一标准,因此,将本技术算法与蒙特卡洛算法的计算精度做比较,如图3所示,本技术算法的计算精度比lf算法更接近蒙特卡洛方法。
61.通过分层子集模拟算法、子集模拟算法和metropolis算法从数字电路系统中的全部单元中选取样本,进而基于样本计算渐进概率近似值,能够比基于全部样本进行计算时的工作量小,因此,本技术方法可以独立模拟大量随机变量的系统故障,减少计算成本,提高运行效率。
62.在一些实施例中,本技术还提供一种数字电路关键路径时序分析装置,包括:获取模块,用于获取数字电路系统中单元的单元数量和系统级故障率的阶数d;估计模块,用于估计与所述单元级数目相同数目的单元故障率和同时故障率,所述单元故障率用于表征数字电路发生单元级故障事件的概率,所述同时故障率为对所有所述单元故障率进行线性组合后得到的;第一计算模块,用于基于所述同时故障率计算d阶局部失效率和d-1阶局部失效率,所述d阶和d-1阶的局部失效率用于计算d阶系统故障率第一估值,所述局部失效率对应的局部空间包括多个所述单元;第二计算模块,用于基于d阶局部失效率和d-1阶局部失效率计算d+1阶局部失效率上限值,所述d+1阶局部失效率上限值和所述d阶的局部失效率用于计算d阶系统故障率第二估值;选取模块,用于从所述d阶系统故障率第一估值和d阶系统故障率第二估值组成的区间中选取最小值,所述最小值为渐进概率近似值。
63.在一些实施例中,所述估计模块,包括:抽取单元,用于将数字电路系统划分为多个由多个单元组成的中间失效区域,从中间失效区域中抽取样本得到第一样本集;第一生成单元,用于基于子集模拟算法,计算所述第一样本集中的所有样本的单元故障率,基于所述第一样本集中所有样本对应的单元故障率生成第一组样本,所述第一组样本均落入所述中间失效区域;第二生成单元,用于基于metropolis算法将所述第一组样本生成马尔科夫链蒙特卡洛样本序列,得到马尔科夫链;第一计算单元,用于基于所述子集模拟算法,计算所述马尔科夫链中每个样本的单元故障率;第二计算单元,用于对所述单元故障率进行线性组合,计算线性组合后的单元故障率的乘积即为所述同时故障率。
64.在一些实施例中,本技术还提供一种终端装置,包括:至少一个处理器和存储器;所述存储器,用于存储程序指令;所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述终端装置执行上述的数字电路关键路径时序分析方法。
65.在一些实施例中,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行上述的数字电路关键路径时序分析。
66.在一些实施例中,本技术还提供.一种包含指令的计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备可实施上述的数字电路关键路径时序分析。
67.为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述在一些实施例中讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1