一种基于多起始点重要性采样技术的快速计算SRAM失效概率的方法与流程

文档序号:13804967阅读:584来源:国知局
一种基于多起始点重要性采样技术的快速计算SRAM失效概率的方法与流程

本发明属半导体及集成电路可制造性设计领域,涉及考虑纳米工艺扰动下sram失效概率快速计算方法。具体涉及设计中考虑纳米工艺扰动情况下sram(静态随机访问存储器)失效概率计算方法,尤其是一种利用重要性采样技术,并采用多起始点序列二次规划方法(multiplestartingpoint-sequentialquadraticprogramming,msp-sqp)构建转移概率密度函数,该方法能大幅减小采样量,获得符合精度要求的sram失效概率。



背景技术:

随着集成电路制造技术向纳米尺度推进,工艺波动导致的集成电路鲁棒性和良率问题变得日益显著。通常在sram电路设计中,sram存储单元一般采用最小尺寸设计,因此它们的性能极易受纳米尺寸工艺波动的影响;同时,由于sram芯片中通常包含上百万个存储单元,因此一个sram芯片为获得90%的良率,需要单个存储单元的失效概率低至10-7,这属于极小概率事件,若采用传统montecarlo方法计算存储单元的失效概率,需数百万次采样才可能得到一个失效采样点,因此如何在高维参数空间中,快速计算存储单元的失效概率属极端事件仿真,是本技术领域中的一个具有挑战性的难题。

为了提高仿真速度,减少对sram的采样次数,国际上对sram良率分析提出了若干方法,如:

重要性采样(importancesampling)方法是一种有效估计极小概率的方法。kanj等提出了混合重要性采样方法,通过原始分布、均匀分布和偏移分布的线性组合构建偏移概率分布密度函数,提高重要性采样的效率;dolecek等通过最小二范数来估计重要性采样的偏移量,构建出较优的偏移概率分布密度函数,提高重要性采样的效率;qazi等提出了基于球坐标的重要性采样方法,并结合循环扁平化(loopflattening)技术降低电路分析难度,从而提高估计速度;gong等将概率总体(probabilitycollectives)技术估计应用于sram良率分析,提高了重要性采样的收敛速度;dong等通过有选择的gibbs采样方法遍历每个维度的失效区域,以逼近最优的偏移概率分布密度函数进行采样;yao等提出ibs(importanceboundarysampling)方法,将边界方法与重要性采样结合,通过采用边界模型减少了重要性采样所需的调用spice仿真次数。由于sram存储单元具有很强的非线性特性,在所有采样方法中,核心的问题是如何找到最合适的概率密度函数,以及合适的起始采样点。实践显示,上述采样方法寻找合适概率密度函数的过程复杂,难以处理工艺波动空间中的多个失效区域,并且在高维下存在运算量急剧增大的困难。

在改进montecarlo方法方面,sun等提出了采用子集模拟sus(subsetsimulation)方法,它通过一系列中间失效事件估计sram的良率。但是因为该方法采用马尔科夫链蒙特卡洛(markovchainmontecarlo)技术,样本之间相关性高,得到的结果有较大的方差。

针对上述方法存在的不足,本申请的发明人拟提供一种基于多起始点重要性采样技术计算sram存储单元失效概率的方法。本发明的优势将在于:(1)适用于单个或多个失效区域的sram良率分析问题,用户不需要事先知道失效区域的数量;(2)实验证实本方法需要的采样数量与参数空间的维度之间基本呈线性关系,而不是传统方法的指数关系,因此可以高效、高精度地分析高维参数空间中sram的良率;(3)在达到同等精度的条件下,计算量(采样点数)少于目前主流方法。

与本发明相关的参考文献有:

[1]a.p.chandrakasan,w.j.bowhill,andf.fox,designofhighperformancemicroprocessorcircuits.wiley-ieeepress,2000.

[2]r.healdandp.wang,“variabilityinsub-100nmsramdesigns,”inproceedingsofthe2004ieee/acminternationalconferenceoncomputer-aideddesign.ieeecomputersociety,2004,pp.347–352.

[3]d.sylvester,k.agarwal,ands.shah,“variabilityinnanometercmos:impact,analysis,andminimization,”integration,thevlsijournal,vol.41,no.3,pp.319–339,2008.

[4]r.kanj,r.joshi,ands.nassif,“mixtureimportancesamplinganditsapplicationtotheanalysisofsramdesignsinthepresenceofrarefailureevents,”inproceedingsofthe43rdannualdesignautomationconference.acm,2006,pp.69–72.

[5]l.dolecek,m.qazi,d.shah,anda.chandrakasan,“breakingthesimulationbarrier:sramevaluationthroughnormminimization,”ininternationalconferenceoncomputeraideddesign,2008,pp.322–329.

[6]m.qazi,m.tikekar,l.dolecek,d.shah,anda.chandrakasan,“loopflattening&sphericalsampling:highlyefficientmodelreductiontechniquesforsramyieldanalysis,”inproceedingsoftheconferenceondesign,automationandtestineurope.europeandesignandautomationassociation,2010,pp.801–806.

[7]f.gong,s.basir-kazeruni,l.dolecek,andl.he,“afastestimationofsramfailurerateusingprobabilitycollectives,”inproceedingsofthe2012acminternationalsymposiumoninternationalsymposiumonphysicaldesign.acm,2012,pp.41–48.

[8]c.dongandx.li,“efficientsramfailureratepredictionviagibbssampling,”inproceedingsofthe48thdesignautomationconference.acm,2011,pp.200–205.

[9]j.yao,z.ye,andy.wang,“importanceboundarysamplingforsramyieldanalysiswithmultiplefailureregions,”computer-aideddesignofintegratedcircuitsandsystems,ieeetransactionson,vol.33,no.3,pp.384–396,2014.

[10]s.sunandx.li,“faststatisticalanalysisofrarecircuitfailureeventsviasubsetsimulationinhigh-dimensionalvariationspace,”incomputeraideddesign(iccad),2014ieee/acminternationalconferenceon.ieee,2014,pp.324–331.

[11]i.m.sobol,“onthedistributionofpointsinacubeandtheapproximateevaluationofintegrals,”ussrcomputationalmathematicsandmathematicalphysics,vol.7,no.4,pp.86–112,1967.

[12]j.a.hartiganandm.a.wong,“algorithmas136:ak-meansclusteringalgorithm,”appliedstatistics,pp.100–108,1979.

[13]l.radoslav,sequentialquadraticprogramming.springernewyork,2008.

[14]r.w.kennardandl.a.stone,“computeraideddesignofexperiments,”technometrics,vol.11,no.1,pp.137–148,1969.

[15]y.wang,m.orshansky,andc.caramanis,“enablingefficientanalogsynthesisbycouplingsparseregressionandpolynomialoptimization,”indesignautomationconference(dac),201451stacm/edac/ieee.ieee,2014,pp.1–6.。



技术实现要素:

本发明的目的在于克服现有技术的不足与缺陷,提出一种考虑纳米工艺扰动下快速计算sram失效概率的方法。具体涉及一种基于多起始点重要性采样技术的快速计算sram失效概率的方法,本发明方法利用重要性采样技术,并采用多起始点序列二次规划方法(multiplestartingpoint-sequentialquadraticprogramming,msp-sqp)构建转移概率密度函数,该方法能大幅减小采样量,获得符合精度要求的sram失效概率。

本方法的基本技术方案是:首先在sram存储单元电路工艺扰动参数空间中进行多起始点优化搜索,找到每一个失效区域对应的偏移向量;然后根据偏移向量构建混合高斯概率密度分布函数,最后根据此概率密度分布函数进行重要性采样并估计sram失效概率;为了进一步提高在低维参数空间中的性能,加入自适应建模技术。

具体而言,本发明提出的一种基于多起始点重要性采样技术的快速计算sram失效概率的方法其流程图如图1所示,包含如下步骤。

输入参数:

1.sram存储单元电路网表、spice电路仿真器;

2.由仿真电路的n个工艺扰动参数构成一个向量x,该向量的维度为n。x-、x+分别是参数扰动的上下界、电路参数服从概率分布密度函数p(x)的概率分布;

3.每个性能参数的指标yp,p=1,...,np,其中np为关心性能参数的数量,并假设对第p个性能yp,如果仿真结果yp<yp则认为电路失效;

4.sobol序列采样数量m1、聚类中心数量m2、滤除多余聚类中心的检测数ntrial、模型精度阈值te、目标品质因数qtarget;

输出结果:

sram失效概率pfail

步骤1:通过多起始点序列二次规划搜索每一个失效区域对应的最优偏移向量;

步骤2:基于步骤1中得到的偏移向量,构建混合高斯偏移概率分布密度函数;

步骤3:根据步骤2所构建的偏移概率分布密度函数进行重要性采样,并采用自适应建模技术,估计sram的失效概率。

更具体的,步骤1中,本发明采用多起始点序列二次规划方法,搜索参数空间中的失效区域,在每个失效区域中生成一个初始点,并从每个初始点开始通过序列二次规划算法找到该失效区域对应的最优偏移向量s*;具体包括如下步骤:

步骤1.1:采用sobol序列[11]在参数空间rn中由[x-,x+]确定的子集内采m1个采样点,对每个采样点调用spice仿真,记录所有的失效采样点xi,如图2(a)所示;

步骤1.2:采用k-means聚类方法[12],将目前采到的所有失效采样点聚为m2类,每个聚类中心标记为cm,如图2(b)所示;

步骤1.3:对所有cm,两两判断它们之间的连线上的ntrial个等分点,如果不存在非失效的等分点,则移除距离参数空间较远的聚类中心,如图2(c)所示,聚类中心点c4由于与聚类中心点c1之间的连线上均为失效点,因此,合并聚类c4和c1,由于c4距离参数空间较远而被删除(合并入c1)。

步骤1.4:对所有剩余的聚类中心点cm,以它为初始点进行序列二次规划[13],求解问题(1),得到对应的最优偏移向量s*m,如图2(d)所示;

s*=argminx||x||(1)

s.t.x∈ω

其中ω是sram存储单元的失效区域,对于x,如果该点的任意电路性能yp<yp,则x∈ω,||x||是x的l2范数。

假设共得到m个最优偏移向量,且目前为止通过步骤1.1得到的sobol采样点总数为m0。如果满足m0>m+2且满足不等式(2),则跳转步骤2,否则,跳转步骤1.1;

m+0.5>m(m0-1)/(m0-m-2)(2)

本发明步骤2中,根据公式(3)构建重要性采样的偏移概率分布密度函数q(x),为一个混合高斯分布;

其中m为步骤1中最优偏移向量的个数,为步骤1中得到的第i个最优偏移向量,p(x)为给定的电路参数概率分布密度函数,ωi由公式(4)计算得到:

本发明步骤3中,根据步骤2中构建的偏移概率分布密度函数q(x),利用下述子步骤,采用自适应建模技术进行重要性采样,估计sram失效概率;

步骤3.1:根据步骤2中构建的偏移概率分布密度函数q(x)在参数空间中生成一个采样点x,如果此时模型分类错误率小于模型精度阈值,则跳转步骤3.2,否则跳转步骤3.4;在步骤3开始时,模型分类错误率初始化为无穷大;

步骤3.2:采用spice仿真对x进行电路性能评估,得到电路性能yp,p=1,...,np,其中np为关心性能参数的数量,将仿真数据对<x,yp>加入模型的训练数据集中;

步骤3.3:从现存所有训练数据,采用kennardandstone算法[14]选取其中的80%作为训练集,剩余的作为测试集,采用稀疏多项式回归方法[15]训练数学模型f′(x)。用数学模型f′(x)估计测试集中的样本的电路性能。根据电路性能是否满足指标进行非失效/失效的分类,并计算分类错误率ec。对一个样本x,如果按照spice仿真结果得到的性能属于非失效,而按照f′(x)估计得到的性能属于失效,则x被错误分类,反之类似,若spice仿真结果为失效而按照模型f′(x)的结果为非失效,同样x被错误分类。分类错误率ec为测试集合中被错误分类的测试实例占所有测试实例的比例。随着训练数据集的不断增加,模型分类错误率将不断下降,直到若模型分类错误率ec≤te,则认为模型足够精确,之后执行步骤3.1时会跳转至步骤3.4;

步骤3.4:采用数学模型f′(x)对x进行电路性能评估,得到电路性能yp,p=1,...,np,其中np为关心性能参数的数量;

步骤3.5:根据公式(5)计算sram失效概率pfail,

其中n为目前通过步骤3.1生成的采样点总数,xi为第i个采样点,i(x)为判别函数,当x为失效点时取值1,否则取值0;

步骤3.6:根据公式(6)计算重要性采样的品质因数fom,

如果pfail>0且fom≤qtarget,则算法结束,输出结果,否则跳转步骤3.1。

本发明提拱了一种基于多起始点重要性采样技术的快速计算sram失效概率的方法,利用重要性采样技术,并采用多起始点序列二次规划方法(multiplestartingpoint-sequentialquadraticprogramming,msp-sqp)构建转移概率密度函数,该方法能大幅减小采样量,获得符合精度要求的sram失效概率。

本发明的优点在于:

1.适用于单个或多个失效区域的sram良率分析问题,用户不需要事先知道失效区域的数量;

2.需要的采样数量与参数空间的维度之间基本呈线性关系,可以高效、高精度地分析高维参数空间中sram的良率;

3.在达到同等精度的条件下,计算量(采样数)少于目前的主流方法。

附图说明

图1为本发明方法流程图。

图2为本发明采用的多起始点序列二次规划方法寻找最优偏移向量的示意图。

图3为本发明实施算例1采用的sram单元电路图。

图4为本发明与montecarlo方法估计sram读取电流、静态噪声容限、读取噪声容限对应的失效概率的结果仿真图。

图5为本发明与mnis、ibs、sus方法估计sram读取电流、静态噪声容限、读取噪声容限对应的失效概率的结果统计表。

图6为本发明实施算例2和算例3采用的sram列电路图。

图7为本发明与montecarlo方法估计sram多性能参数共同决定的失效概率的结果仿真图。

图8为本发明与mnis、ibs、sus方法估计sram多性能参数共同决定的失效概率的结果统计表。

图9为本发明与ibs方法估计sram失效概率所需的spice仿真次数与参数空间维度关系的结果仿真图。

具体实施方式

通过具体实例的实施过程,详细描述本发明方法。

实施算例1

采用一个6管静态存储器单元,电路图如图3所示,需计算该存储器单元在晶体管阈值电压工艺扰动下的失效概率。在该实例中,晶体管m1~m6的阈值电压vth1~vth6为扰动的工艺参数变量,是一个六维参数空间求解问题,每个变量的上下界为±8σ,其中σ为阈值电压分布的标准差。计算得到sram读取电流(iread)、静态噪声容限(snm)、读取噪声容限(rnm)三个性能参数的对应失效概率,与montecarlo、mnis、ibs、以及sus方法之间的比较。

通过比较本方法与montecarlo方法,计算sram失效概率估计值随着采样点数增加的收敛情况。从图4上子图中可以看到,对每个性能对应的失效概率,本方法与montecarlo方法的收敛位置靠近(纵坐标上),表明本方法有极高的精确度。同时,比较本方法与montecarlo方法,在计算得到同等精度的sram失效概率情况下(即fom下降到相同水平),所需要的采样点数(横坐标),图4中下子图的结果显示在达到同样的品质因数(0.0865)的前提下,本方法的收敛速度比montecarlo方法快约7.8×104倍。

进一步,将本方法得到的sram各个性能对应的失效概率与mnis、ibs、以及sus方法的结果进行比较,比较结果如图5所示。图5中第3列给出montecarlo方法得到结果作为参考值,4~6列给出各个方法估计值的均值、平均相对误差和标准差,7~9列给出各个方法所需进行的spice仿真数、模型计算次数和总运行时间。结果显示对各个性能对应的失效概率,本方法均可以给出精确度不低于现有其他方法的估计值,并且在精度相当的前提下,本方法的收敛速度比mnis和sus更快,与ibs持平。

实验数据验证了本方法在低维参数空间中,在精确性得到保证的前提下,计算速度与现有最快方法(ibs)持平,并优于其他方法。

实施算例2

采用的电路如图6所示,图中电路为一条由n个sram存储单元组成的sram列。本方法计算得到的sram单元读取电流(iread)与读取节点电压(vread)两个性能参数共同决定的失效概率,与montecarlo、mnis、ibs、以及sus方法之间的比较。本实例中,读取电流与读取节点电压中任一性能不满足指标即认为电路失效,因此本实例是一个多失效区域的实例。本实例中n=64,每个sram存储单元的六个晶体管的vth作为工艺参数,因此本实例是一个64×6=384维参数空间求解问题。每个变量的上下界为±8σ,其中σ为阈值电压分布的标准差。

通过本方法得到的sram失效概率与montecarlo方法进行比较。比较结果如图7所示,图7中上子图给出本方法与montecarlo方法估计得到的失效概率的比较,结果显示本方法与montecarlo方法的收敛位置靠近,表明本方法有极高的精确度。图7中下子图给出本方法与montecarlo方法的品质因数的比较,结果显示在达到同样的品质因数(0.0865)的前提下,本方法的收敛速度比montecarlo方法快约1.7×104倍。

通过本方法得到的sram失效概率与mnis、ibs、以及sus方法进行比较,比较结果如图8所示。图8中第3列给出montecarlo方法得到的结果作为参考值,4~6列给出各个方法估计值的均值、平均相对误差和标准差,7~9列给出各个方法所需进行的spice仿真数、模型计算次数和总运行时间。结果显示在该实例中,在可接受的spice仿真次数内,仅有本发明方法可得到精确结果,且spice仿真次数远少于其他方法,实际运行时间也比当前最快的方法快约3倍。

实验数据表明本发明方法可以在高维空间中,在达到高精确性的同时,以优于目前已知方法的高效率估计sram失效概率,并且可以处理多个失效区域。

实施算例3

采用的电路如图6所示,评估本方法效率与参数空间维度的关系与ibs方法比较。图6中电路为一条由n个sram存储单元组成的sram列,通过增加n的取值,提升参数空间的维度,并在每一维度采用本方法与ibs方法估计sram失效概率,记录两种方法的精确度达到品质因数0.0865时所需的spice仿真次数。

通过本方法得到品质因数为0.0865的估计值时所需的spice仿真次数与ibs方法进行比较,比较结果如图9所示。结果显示在参数空间维度小于24时,本方法的效率与ibs基本持平,在参数空间维度大于等于24时,本方法的效率远高于ibs,并且,本方法得到精确结果所需要的spice仿真次数与参数空间维度大致呈线性关系,而非指数关系。

实验数据表明本发明方法的效率对于问题的维度由较高的鲁棒性,估计sram失效概率所需的spice仿真次数与参数空间维度大致呈线性关系。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1