CN114792084A - 一种针对大规模sram阵列电路后仿真的高效良率分析方法 - Google Patents
一种针对大规模sram阵列电路后仿真的高效良率分析方法 Download PDFInfo
- Publication number
- CN114792084A CN114792084A CN202110106298.4A CN202110106298A CN114792084A CN 114792084 A CN114792084 A CN 114792084A CN 202110106298 A CN202110106298 A CN 202110106298A CN 114792084 A CN114792084 A CN 114792084A
- Authority
- CN
- China
- Prior art keywords
- circuit
- scale
- small
- sram
- model
- 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
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/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/08—Probabilistic or stochastic CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/02—Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Geometry (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Medical Informatics (AREA)
- Probability & Statistics with Applications (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明属于集成电路技术领域,涉及一种针对大规模SRAM阵列电路后仿真的高效良率分析方法。本发明利用小规模SRAM阵列电路和大规模SRAM阵列电路的相关性,将小规模SRAM电路作为低置信度源,大规模SRAM电路作为高置信度源,对小规模和大规模SRAM电路的性能关于工艺参数构造多置信度高斯过程模型;采用自适应迭代的策略,以小规模SRAM电路的最优偏移向量作为起始点,迭代地搜索和更新大规模SRAM电路的最优偏移向量,并迭代地构造及更新多置信度高斯过程模型,提出通过求解一个多模态优化问题,得到小规模SRAM电路最优偏移向量附近的失效边界,将其加入大规模SRAM电路的初始建模中,进一步提高算法的收敛速度。该方法能大幅减少大规模SRAM阵列后仿真良率分析所需仿真次数。
Description
技术领域
本发明属于集成电路技术领域,涉及集成电路可制造性设计中静态随机存储(Static Random Access Memory,SRAM)电路良率分析方法,尤其涉及一种针对大规模SRAM阵列电路后仿真的高效良率分析方法。本发明方法能够大幅减少大规模SRAM阵列后仿真良率分析所需仿真次数。
背景技术
随着半导体制造工艺的特征尺寸缩小到纳米尺度,工艺扰动对SRAM电路性能和可靠性的影响日益显著。为了节约成本和提高集成密度,SRAM单元通常采用最小工艺尺寸设计,使其更易受到工艺波动的影响。
现有技术公开了电路良率分析需要对电路进行仿真,电路仿真可分为前仿真和后仿真,前仿真基于电路的原理图,只针对电路中的晶体管而不考虑寄生参数,而后仿真基于电路的版图,通过参数提取获得晶体管和互连线的寄生参数并进行仿真,因此电路后仿真的良率更接近真实良率,对于实际生产更有价值。传统SRAM良率分析仅针对单列电路的前仿真,实践显示,SRAM电路良率分析极具挑战性,因为工艺空间维度很高且属于极端事件仿真,若采用蒙特卡洛方法所需仿真次数极多;且每次SPICE瞬态仿真所需时间长,因此,如何提高大规模SRAM电路良率分析效率是SRAM良率分析的核心问题。
目前本领域学术界针对SRAM电路良率分析主要方法有三类,分别为蒙特卡洛方法、重要性采样方法和贝叶斯方法,其中,蒙特卡洛方法(Monte Carlo,MC)是被广泛使用的良率分析方法,然而针对SRAM极端失效率(<10-6),蒙特卡洛方法需要107甚至108次仿真,这对于大规模SRAM电路来说是不可接受的。
重要性采样方法(Importance Sampling,IS)也是被广泛使用的良率分析方法,所述重要性采样方法的基本思想是寻找“最优偏移向量”(Optimal Shift Vector,OSV),并在最优偏移向量附近采样。在已有重要性采样方法中,边界重要性采样[6](ImportanceBoundary Sampling,IBS)可以高效地针对小规模SRAM电路处理多失效区域的问题,但是针对大规模SRAM电路则由于无法建立模型而失效。有研究提出了多起始点(MultipleStarting Points,MSP)结合序列二次规划(Sequential Quadratic Programming,SQP)的方法(文献[2]),针对维度为N的高维SRAM电路,可以在线性时间复杂度O(N)内找到最优偏移向量。
有研究提出了基于贝叶斯的SRAM良率分析方法(文献[1]),将小规模SRAM的性能分布采用贝叶斯推断迁移学习到大规模SRAM的性能分布建模中,可以高效地解决大规模SRAM电路的良率分析问题,相比上述文献[2]中的方法具有6倍加速比。然而所述文献[1]的方法在求解最优偏移向量时使用了与所述文献[2]相同的方法,因此对于大规模SRAM阵列的后仿真问题,求解其最优偏移向量将成为此方法最耗时的步骤,并将消耗大部分的仿真点,使得所述文献[1]方法的效率大幅降低。
在实际的工业生产中,由于考虑了互连线和寄生参数的影响,结果显示后仿真比前仿真具有更高的可信度,图1展示了SRAM阵列的版图和示意图,如图1所示,在SRAM阵列中水平方向的字线连接了所有的列,在前仿真中,由于假定字线是理想导线,无法体现列与列之间在进行读写操作时的相互影响,由此错误假设SRAM的每一列都是完全独立的,与实际情况差距甚远。而在后仿真中,SRAM电路的不同列之间具有较强的相关性,且性能最差的列不一定总是最后一列,实验表明以8列SRAM为例,假设信号从左至右传播,则最右边的四列均有可能是性能最差的列,因此,后仿真SRAM阵列的良率分析是一个多失效区域的良率分析问题。
有研究显示,多失效区会导致最优偏移向量搜索过程的仿真数成倍增加。对于单一失效区域,所述文献[2]的时间复杂度为O(N),其中N为电路的维度,若有M个失效区,则所述文献[2]的复杂度变为O(M×N),因此,对于大规模SRAM阵列的后仿真良率分析,搜索最优偏移向量将消耗大量的仿真点数,并成为良率分析过程中最耗时的步骤,因此如何提高高维SRAM电路最优偏移向量的计算效率,成为提升良率分析效率的关键。
基于现有技术的现状和基础,本申请的发明人拟提供集成电路可制造性设计中静态随机存储(Static Random Access Memory,SRAM)电路良率分析方法,尤其是一种针对大规模SRAM阵列电路后仿真的高效良率分析方法。本发明方法能够大幅减少大规模SRAM阵列后仿真良率分析所需仿真次数。
与本申请相关的文献有:
[1]J.Zhai,C.Yan,S.-G.Wang,and D.Zhou,“An efficient bayesian yieldestimation method for high dimensional and high sigma sram circuits,”in 55thACM/EDAC/IEEE DesignAutomation Conference(DAC).IEEE,2018,pp.1–6.
[2]M.Wang,C.Yan,X.Li,D.Zhou,and X.Zeng.2017.High-Dimensional andMultiple-Failure-Region Importance Sampling for SRAM Yield Analysis.IEEETransactions on Very Large Scale Integration(VLSI)Systems,vol.25,no.3,pp.806–819.
[3]Solido Design Automation Inc.,“High-sigma monte carlo for highyield and performance memorydesign,”Tech.Rep.,2011.
[4]S.Sun and X.Li,“Fast statistical analysis ofrare circuit failureevents via subset simulation in high-dimensional variation space,”inProceedings of the 2014IEEE/ACM International Conference on Computer-AidedDesign(ICCAD,2014).
[5]L.Dolecek,M.Qazi,D.Shah,and A.Chandrakasan,“Breaking thesimulation barrier:Sram evaluation through norm minimization,”in Proceedingsof the 2008IEEE/ACM International Conference on Computer-Aided Design(ICCAD,2008).
[6]J.Yao,Z.Ye,and Y.Wang,“Importance boundary sampling for sram yieldanalysis with multiple failure regions,”IEEE Transactions on Computer-AidedDesign ofIntegratedCircuits and Systems,vol.33,no.3,pp.384–396,2014.
[7]P.Perdikaris,M.Raissi,A.Damianou,N.D.Lawrence,and G.E.Karniadakis,“Nonlinear information fusion algorithms for data-efficient multi-fidelitymodelling,”Proceedings of the royal society A-mathwmatical Physical andEneineering Sciences,2017.
[8]M.Qazi,M.Tikekar,L.Dolecek,D.Shah,and A.Chandrakasan,“Loopflattening&spherical sampling:Highly efficient model reduction techniques forsram yield analysis,”in Proceedings ofthe Conference on Design,Automation andTest in Europe(DATE,2010).
[9]C.E.Rasmussen,Gaussian Processes in Machine Learning.Berlin,Heidelberg:Springer Berlin Heidelberg,2004,pp.63–71.
[10]L.Le Gratiet,“Recursive co-kriging model for design of computerexperiments with multiple levels offidelity,”Int J Uncertain Quantif,vol.4,102012.
[11]K.Swersky,J.Snoek,and R.P.Adams,“Multi-task bayesianoptimization,”in Advances in neural information processing systems,2013.
[12]J.E.Fieldsend,“Running up those hills:Multi-modal search with theniching migratory multi-swarm optimiser,”in 2014 IEEE Congress onEvolutionary Computation(CEC).
[13]G.Singh and K.Deb,“Comparison ofmulti-modal optimizationalgorithms based on evolutionary algorithms,”in Proceedings of the 8th AnnualConference on Genetic and Evolutionary Computation(Seattle,Washington,USA)(GECCO’06).
[14]J.Tao,H.Yu,D.Zhou,Y.Su,X.Zeng,and X.Li,“Correlated rare failureanalysis via asymptotic probability evaluation,”in ACM/EDAC/IEEE DesignAutomation Conference(DAC),2017.
[15]X.Jing and R.Yao,“A fast-simulation model for post-layout sram,”in 2007 7th International Conference on ASIC,2007.
[16]M.Kennedy and A.O’Hagan,“Predicting the output from a complexcomputer code when fast approximations are available,”Biometrika,vol.87,no.1,pp.1–13,2000.
[17]B.C.Ross,“Mutual information between discrete and continuousdatasets,”PLOS ONE,vol.9,no.2,pp.1–5,022014.
[18]Marc C Kennedy and Anthony Ohagan.2000.Predicting the output froma complex computer code when fast approximations are available.Biometrika 87,1(2000),1–13.。
发明内容
本发明的目的在于基于现有技术的现状和基础,提供集成电路可制造性设计中静态随机存储(Static Random Access Memory,SRAM)电路良率分析方法,尤其是一种针对大规模SRAM阵列电路后仿真的高效良率分析方法。本发明方法能够大幅减少大规模SRAM阵列后仿真良率分析所需仿真次数。
本发明提出的一种针对大规模SRAM阵列电路后仿真良率分析方法,同时考虑了前仿真和后仿真、单列与多列的SRAM电路良率分析问题,主要包括:(1)将小规模SRAM电路作为低置信度源,大规模SRAM电路作为高置信度源,对小规模和大规模SRAM电路的性能关于工艺参数构造多置信度高斯过程模型;(2)采用自适应迭代的策略,以小规模SRAM电路的最优偏移向量作为起始点,迭代地搜索和更新大规模SRAM电路的最优偏移向量,并迭代地构造及更新多置信度高斯过程模型,(3)提出通过求解一个多模态优化问题,得到小规模SRAM电路最优偏移向量附近的失效边界,将其加入大规模SRAM电路的初始建模中,可进一步提高算法的收敛速度。
具体的,本发明的分析方法中,
首先,为了利用小规模SRAM电路和大规模SRAM电路在性能上的相关性,采用多置信度高斯过程模型分别对小规模和大规模SRAM电路性能进行建模,以小规模SRAM电路为低置信度数据源,大规模SRAM电路为高置信度数据源,两个模型之间的非线性映射也被建模为高斯过程;
其次,采用自适应迭代框架,以小规模SRAM电路的最优偏移向量(Optimal ShiftVector,OSVs)作为大规模SRAM电路OSV搜索的起始点,在迭代的过程中,不断逼近大规模SRAM电路的最优偏移向量,并补充和更新样本集,提高多置信度高斯过程模型的精度,从而进一步节约仿真点数;
最后,由于小规模SRAM电路仿真速度极高、仿真所需仿真时间可忽略,因此,可在小规模SRAM电路上进行更全面的数据挖掘。
本发明提出通过求解一个多模态优化问题,得到小规模SRAM电路最优偏移向量附近的失效边界,将找到的失效边界加入到多置信度训练模型集中,可提高高置信度模型的准确性,并提高建模和迭代搜索的效率。
更具体的,
本发明的大规模SRAM阵列电路后仿真良率分析方法的流程图如图2所示。其中包括,
输入参数:
1.大规模SRAM电路的版图文件;
2.工艺参数的概率分布密度函数p(x);
3.电路性能指标的测量时间th、电路性能指标的失效阈值yh0;
4.算法参数:互信息降维系数k、低置信度建模的初始数据集的点数Nini、迭代中每次添加的采样数ΔN、收敛判断条件中的阈值th||ΔOSV||;
输出结果:
大规模SRAM阵列电路后仿真良率。
具体步骤包括:
步骤1:建立大规模SRAM阵列电路后仿真良率分析模型;
步骤2:利用互信息降维(Mutual Information,MI)方法对大规模SRAM电路进行降维;
步骤3:绘制小规模SRAM阵列电路的版图,在标准(Typical Typical,TT)工艺角上仿真,确定小规模SRAM阵列电路的测量时间tl和阈值电压差yl0;
步骤4:在小规模SRAM阵列电路上,应用文献[2](MFRIS)中的算法,搜索小规模SRAM电路的最优偏移向量(OSV),然后应用多模态优化算法,求解得到小规模电路失效边界上的点;
步骤5:利用多置信度高斯过程模型迭代求解大规模SRAM电路最优偏移向量;
步骤6:根据迭代过程输出的最优偏移向量和性能模型,在最优偏移向量附近采样求解最终良率。
本发明步骤1中,工艺参数x=[x1,…,xD]T是D维随机变量,包括所有的工艺参数,例如晶体管的阈值电压等等。不失一般性的,假设这些工艺参数彼此独立且属于正态分布,则工艺参数x的联合概率密度函数为
其中,pd(xd)是针对每个独立的工艺参数随机变量的概率密度分布函数,由代工厂提供。SRAM阵列的失效率可以表示为
Pfail=∫Ωp(x)dx=∫I(x∈Ω)p(x)dx (2)
其中Ω代表失效空间,I(x∈Ω)表示失效的指示函数,当x∈Ω时,I(x∈Ω)取值为1,否则为0。如果有多个性能,则当其中任意一个违背了对应的性能指标时,电路即失效。因此,在这种情况下,电路有多个失效区,失效空间可以记作,其中N为失效区的个数。
本发明步骤2中,在大规模SRAM阵列电路中应用文献[1]的互信息(MutualInformation)降维方法进行降维,其中,离散变量X和Y的互信息值定义为
其中p(x,y)是联合分布,p(x)和p(y)是边缘分布。本发明中,针对SRAM阵列中每一列的性能,对于所有工艺参数分别计算互信息值,筛选出互信息值大于等于k*最大互信息值的参数,其中系数k可取0.1或0.2;选择包含这些被筛选出的参数的SRAM单元作为重要单元,选取包含重要单元的行和列组成小规模SRAM电路作为低置信度数据源。
本发明步骤3中,根据步骤2中确定的小规模SRAM电路,绘制相应的小规模SRAM电路的版图,并对其在TT标准工艺角下进行仿真,确定小规模SRAM阵列电路的测量时间tl和阈值电压差yl0。
本发明中,对于待求解的大规模SRAM阵列后仿真电路,采用SPICE进行瞬态仿真,对于读失效而言,给定测量时间th,如果此测量时间内最大位线电压差yh小于给定的阈值yh0,则此读操作失败,通常测量时间位于位线电压差变化曲线的线性区域,如图3中(th,yh)点所示。图3为标准TT工艺角下的时序仿真图,红线为1行x8列小SRAM阵列电路读操作中第七列位线电压差关于时间的变化曲线,黑线为4行x8列大SRAM阵列电路读操作中第七列位线电压差关于时间的变化曲线。可以看到,在真实的后仿真中,大规模SRAM电路的延时要大于小规模SRAM电路。如果简单将大规模SRAM电路的测量时间施加于小规模SRAM电路,则小规模电路的电压差yl接近1,这会导致小规模电路的失效边界和大规模电路的失效边界相差很远。因此本发明采用一种人工设置小规模电路的测量时间tl和电压差yl的方法,直接选取yl0=yh0,然后通过黑色水平虚线yl=yh在红线上找到点(tl,yl),从而得到tl的值。在本发明的设置下,小规模电路和大规模电路失效边界具有较强的相似性,从而使得小规模SRAM电路和大规模SRAM电路的多置信度高斯过程模型更具有合理性。
本发明步骤4中,在小规模SRAM阵列电路上求解OSV和失效边界点,包含以下子步骤:
步骤4.1:在小规模SRAM阵列电路上应用文献[2](MFRIS)中的算法,得到小规模SRAM电路的最优偏移向量(OSV),并将其作为大规模SRAM电路最优偏移向量的初始点。
由于在小规模SRAM电路上进行仿真的代价很低,并且小规模SRAM电路和大规模SRAM电路的性能之间存在强相关性,因此应当先从小规模SRAM电路中挖掘隐藏的知识。
图4展示了小规模电路和大规模电路的失效边界和最优偏移向量,其中红色曲线对应1行x8列的SRAM阵列电路,蓝色曲线对应4行x8列的SRAM阵列电路。最优偏移向量(OSV)等价于求解优化问题
其中v为参数空间中的一个点,||·||代表2-范数,此优化问题是寻找距离原点最近的失效点。如图4所示,小规模电路和大规模电路的失效边界及对应的最优偏移向量具有很强的相似性,因此将小规模SRAM电路的最优偏移向量作为大规模SRAM电路最优偏移向量的搜索初始点是合理的。
步骤4.2:在小规模SRAM电路上应用多模态优化算法,求解得到小规模SRAM电路失效边界上的点;
本发明将寻找小规模SRAM电路失效边界的问题建模为多模态问题[12-13]:
y=|perfL-yl0| (6)
采用文献[13]提出的NMMSO(Niching Migratory Multi-Swarm Optimizer)方法,求解上述多模态问题从而求解小规模SRAM电路的失效边界。首先随机产生多组工艺参数,对应多个种群,每个种群基于粒子群优化算法单独搜索局部最优值。然后在每次迭代过程中尝试与其它种群合并或分离,当种群中的元素被识别出处在某个新的峰或谷附近时,它将被移除出父代种群,形成一个新的种群;当两个种群被识别为相关时,它们将被合并在一起。多次迭代后,NMMSO方法便可以定位小规模SRAM电路的失效边界。将小规模SRAM电路失效边界上的点加入多置信度高斯过程模型的初始训练集以提高模型精度和收敛速度。
本发明步骤5中开始迭代过程,迭代过程中迭代的搜索大规模电路的最优偏移向量并更新模型,在每次迭代中,包含如下几个子步骤:
步骤5.1:以大规模SRAM电路的当前最优偏移向量为均值,进行方差为1的正态分布采样,得到ΔN个采样点;在大规模SRAM电路和小规模SRAM电路上分别对这些采样点进行仿真得到对应的性能,其中小规模SRAM电路对应低置信度数据,大规模SRAM电路对应高置信度数据,将这些数据补充到多置信度高斯模型的训练集中;
步骤5.2:用当前数据集训练小规模SRAM电路和大规模SRAM电路的多置信度高斯模型,本发明采用多置信度高斯过程建模方法对小规模SRAM电路性能和大规模SRAM电路性能建立模型;
高斯过程(Gaussian process,GP)模型是一种有监督学习方法,对于中等大小样本集尤其高效。假定数据集{X,Y}由一个未知的黑盒函数生成
Y=f(X) (7)
一个典型的高斯模型由均值函数μ和协方差矩阵K定义:
f(X)~gp(μ(X),K(X)) (8)
X={x1,...,xn}代表了一个大小为N的训练集,μ为均值函数,通常为了简化会设置μ为0,K为核函数可以被写作
其中k通常选定为径向基函数(Radial Basis Function,RBF)
其中δf,和Λ是超参数,通过最大似然法确定。对于一个新的样本点x*,高斯模型的输出[y,y*]为
对于SRAM电路而言,由于它有着规则的电路结构,小规模SRAM电路和大规模SRAM电路之间存在着很强的联系,为了利用这个特点,采用多置信度模型对SRAM电路性能建模,图5展示了小规模和大规模SRAM电路性能关于工艺参数的热力图,其中小规模电路为1行x4列的SRAM阵列,大规模电路为8行x4列的SRAM阵列,参数1和参数2分别为单元<1,2>和单元<1,3>中的晶体管M2的阈值电压(如图6),性能为所有列位线电压差的最小值,图5显示了,小规模和大规模SRAM电路的性能关于参数的热力图有明显的相似性。
基于上述小规模和大规模SRAM电路关于性能的相关性,本发明采用多置信度模型对SRAM电路性能建模,由于小规模SRAM阵列电路的仿真时间是可以忽略的,本发明在小规模电路上进行充分的采样从而提高大规模电路建模的精度和效率。
文献[7]提出了非线性自回归高斯过程(Nonlinear Autoregressive GaussianProcess,NARGP)模型,能够学习不同信息源之间的复杂非线性关系,进一步扩展了传统的GP模型。不失一般性地假设存在两个不同置信度的数据源,Xl和Yl为低置信度模型的输入和输出,Xh和Yh为高置信度模型的输入和输出。低置信度模型和高置信度模型的关系可以写作
fh(x)=zl(fl(x))+δh(x) (12)
其中zl(·)表示从低置信度模型到高置信度模型的映射,δh(x)为表示高置信度模型偏差的GP模型,fh(x)和fl(x)是高置信度和低置信度的模型。由于fl(x)也是高斯模型,上述函数由两个高斯模型组成,因此又称为深度高斯(deep Gaussian)。假设模型zl和δh是独立的,则自回归框架可以写为
fh(x)=gh(x,fl(x)) (13)
其中gh(·)表示建立在工艺参数x和低置信度模型输出fl(x)上的高斯模型。考虑到这两个变量来自不同的空间,gh(·)的核函数kh被修改为
其中{kh,i,i=1,2,3}均为标准RBF核函数,{θh,i,i=1,2,3}为模型超参数,可以通过极大似然法获得;
步骤5.3:基于当前的多置信度高斯过程模型,利用多起始点序列二次规划(Multiple Starting Points-Sequential Quadratic Programming,MSP-SQP)搜索并更新大规模电路最优偏移向量,此过程无需额外的仿真;
步骤5.4:判断收敛条件:若大规模SRAM电路最优偏移向量长度的变化小于阈值th||ΔOSV||则跳转至步骤6,否则跳转至步骤5.1;
本发明步骤6中,根据得到的大规模SRAM电路的最优偏移向量和性能模型,计算大规模SRAM电路良率。该步骤在输出的多失效区最优偏移向量附近,构造混合高斯分布;在混合高斯分布上进行采样,这些采样点通过性能模型得到性能;依据性能判断该采样点是否失效,即可统计得到最终的良率;。假定M个失效区和相应的最优偏移向量混合高斯分布为
最终的失效率估计为
其中N为总的采样个数,I为基于模型的失效指示函数,p为工艺参数的概率密度分布函数。由于采样点的性能是通过模型得到,因此本步骤不需要额外的仿真次数。
本发明的优点在于:
(1)首次提出大规模SRAM阵列后仿真良率分析问题;
(2)提出多置信度高斯过程模型;小规模SRAM电路OSV作为大规模SRAM电路OSV搜索起始点;构造多模态问题求解小规模SRAM电路失效边界点作为大规模SRAM电路高斯模型的热启动点;通过这一系列方法挖掘小规模SRAM电路和大规模SRAM电路的内在联系;
(3)实验结果表明本方法可大幅降低大规模SRAM电路所需仿真时间,相比当前最好方法加速比约为5-7倍。
附图说明
图1为4行x4列的SRAM阵列示意图和版图。
图2为本发明方法的流程图。
图3为小规模SRAM电路测量时间设置示意图。
图4为小规模SRAM电路和大规模SRAM电路失效边界及最优偏移向量对比图。
图5为小规模SRAM电路和大规模SRAM电路性能热力图对比。
图6为带有灵敏放大器的SRAM阵列示意图。
具体实施方式
通过具体实例的实施过程描述本发明方法。
实施算例1
本算例采用28nm工艺下由8行x8列的六管单元组成的SRAM阵列。本算例中,以读失效作为良率分析目标。输入参数中的工艺参数为所有晶体管的阈值,对于8行x8列的SRAM阵列电路,工艺参数维度为6*8*8=共384维。
对于SRAM读操作,性能为给定测量时间内的最大位线电压差,大于给定阈值则为成功,否则则失效。为了最大化漏电流的影响,对于阵列的第i列,我们在单元<1,i>中存储0,在此列的其他行的单元存储1。本发明与文献[1],文献[2]在8行x8列的SRAM电路上读失效分析的对比参见表1。文献[2]中的MFRIS方法消耗2398次仿真,失效率的相对误差为11.0%,文献[1]中的贝叶斯方法消耗1798次仿真,失效率的相对误差为11.7%。文献[1]的效率比原始论文低,这是因为SRAM后仿真良率分析是一个多失效区问题,多失效区的最优偏移向量搜索占据了主要的消耗仿真数。
本发明方法仅需要340次仿真,相比于目前最先进的文献[1]的方法加速比为5.3倍,失效率的相对误差为2.7%,精度优于文献[1]和[2]的方法。本发明还需要额外的在小规模SRAM电路(1行x8列SRAM)上进行3000次仿真,仿真时间约为0.6小时,与总时长(28.4小时)相比可以忽略。
表1 8x8 SRAM阵列读操作失效率分析精度及速度对比表
实施算例2
本算例使用电路与算例1相同,以写失效作为良率分析目标。输入参数与算例1相同。
对于SRAM阵列的第i列,单元<1,i>中存储1,向其写入0。将字线BL和BLB充电至1,选中字线WL1,写入数据。写入节点在给定测量时间内的最小电压值为性能,小于给定的阈值则成功,否则失效。本发明与文献[1],文献[2]在8行x8列的SRAM电路上写失效分析的对比参见表2。文献[2]中的MFRIS方法消耗2746次仿真,失效率的相对误差为5.7%,文献[1]中的贝叶斯方法消耗2206次仿真,失效率的相对误差为8.1%。本发明方法仅需要320次仿真,相比于目前最先进的文献[1]的方法加速比为6.9倍,失效率的相对误差为3.7%,精度优于文献[1]和[2]中的方法。
表2 8x8 SRAM阵列写操作失效率分析精度及速度对比表
Claims (7)
1.一种针对大规模SRAM阵列电路后仿真的高效良率分析方法,其特征是,该方法采用多置信度高斯过程建模方法对小规模SRAM电路性能和大规模SRAM电路性能建模,构造自适应迭代框架,以小规模电路的最优偏移向量为起始点,迭代地搜索和更新大规模电路的最优偏移向量并更新多置信度模型,同时利用多模态优化问题求解技术,搜索小规模电路的失效边界并将其加入多置信度高斯过程建模中,从而大幅减小采样量,提高SRAM后仿真良率分析的速度和精度,其包括:
输入参数:
1)大规模SRAM电路的版图文件;
2)工艺参数的概率分布密度函数p(x);
3)电路性能指标的测量时间th、电路性能指标的失效阈值yh0;
4)算法参数:互信息降维系数k、低置信度建模的初始数据集的点数Nini、迭代中每次添加的采样数ΔN、收敛判断条件中的阈值th||ΔOSV||;
输出结果:
大规模SRAM阵列电路后仿真良率;
按下述步骤:
步骤(1)建立大规模SRAM阵列电路后仿真良率分析模型;
步骤(2)利用互信息降维方法对大规模SRAM电路进行降维;
步骤(3)绘制小规模SRAM阵列电路的版图,在标准工艺角上仿真,确定小规模SRAM阵列电路的测量时间tl和阈值电压差yl0;
步骤(4)在小规模SRAM阵列电路上,应用MFRIS算法,搜索小规模SRAM电路的最优偏移向量OSV,然后应用多模态优化算法,求解得到小规模电路失效边界上的点;
步骤(5)利用多置信度高斯过程模型迭代求解大规模SRAM电路最优偏移向量;
步骤(6)根据迭代过程输出的最优偏移向量和性能模型,在最优偏移向量附近采样求解最终良率。
2.按权利要求1所述的方法,其特征是,所述步骤(1)中,建立针对大规模SRAM电路后仿真良率分析问题的模型;
工艺参数x=[x1,…,xD]T是D维随机变量,包括所有的工艺参数,例如晶体管的阈值电压等等;不失一般性的,假设这些工艺参数彼此独立且属于正态分布,则工艺参数x的联合概率密度函数为
其中,pd(xd)是针对每个独立的工艺参数随机变量的概率密度分布函数,由代工厂提供;SRAM阵列的失效率可以表示为
Pfail=∫Ωp(x)dx=∫I(x∈Ω)p(x)dx (2)
4.按权利要求1所述的方法,其特征是,所述步骤(3)中,根据步骤(2)中确定的小规模SRAM电路,绘制相应的小规模SRAM电路的版图,并对其在TT标准工艺角下进行仿真,确定小规模SRAM阵列电路的测量时间tl和阈值电压差yl0;
对于待求解的大规模SRAM阵列后仿真电路,采用SPICE进行瞬态仿真,对于读失效而言,给定测量时间th,如果此测量时间内最大位线电压差yh小于给定的阈值yh0,则此读操作失败,通常测量时间位于位线电压差变化曲线的线性区域;在真实的后仿真中,大规模SRAM电路的延时要大于小规模SRAM电路;如果简单将大规模SRAM电路的测量时间施加于小规模SRAM电路,则小规模电路的电压差yl接近1,这会导致小规模电路的失效边界和大规模电路的失效边界相差很远,则采用人工设置小规模电路的测量时间tl和电压差yl的方法,对于大规模SRAM电路TT工艺角下的位线电压差变化曲线,点(th,yh)代表大规模SRAM电路测量时间及对应位线电压差,直接选取yl0=yh0,然后在小规模SRAM电路TT工艺角下的位线电压差变化曲线上找到点(tl,yl)使得yl=yh,从而得到tl的值;在所述的设置下,小规模电路和大规模电路失效边界具有较强的相似性,从而使得小规模SRAM电路和大规模SRAM电路的多置信度高斯过程模型更具合理性。
5.按权利要求1所述的方法,其特征是,所述步骤(4)中,在小规模SRAM阵列电路上求解OSV和失效边界点,包含以下子步骤:
步骤(4.1):在小规模SRAM阵列电路上应用MFRIS算法,得到小规模SRAM电路的最优偏移向量OSV,并将其作为大规模SRAM电路最优偏移向量的初始点;
由于在小规模SRAM电路上进行仿真的代价低,并且小规模SRAM电路和大规模SRAM电路的性能之间存在强相关性,先从小规模SRAM电路中挖掘隐藏的知识;
最优偏移向量OSV等价于求解优化问题
其中v为参数空间中的一个点,||·||代表2-范数,此优化问题是寻找距离原点最近的失效点;
步骤(4.2):在小规模SRAM电路上应用多模态优化算法,求解得到小规模SRAM电路失效边界上的点;
将寻找小规模SRAM电路失效边界的问题建模为多模态问题:
y=|perfL-yl0| (6)
采用NMMSO方法,求解上述多模态问题从而求解小规模SRAM电路的失效边界;
首先随机产生多组工艺参数,对应多个种群,每个种群基于粒子群优化算法单独搜索局部最优值;然后在每次迭代过程中尝试与其它种群合并或分离,当种群中的元素被识别出处在某个新的峰或谷附近时,它将被移除出父代种群,形成一个新的种群;当两个种群被识别为相关时,它们将被合并在一起;多次迭代后,NMMSO方法可定位小规模SRAM电路的失效边界;将小规模SRAM电路失效边界上的点加入多置信度高斯过程模型的初始训练集以提高模型精度和收敛速度。
6.按权利要求1所述的方法,其特征是,所述步骤(5)中,开始迭代过程,迭代过程中迭代的搜索大规模电路的最优偏移向量并更新模型,在每次迭代中,包含如下子步骤:
步骤(5.1):以大规模SRAM电路的当前最优偏移向量为均值,进行方差为1的正态分布采样,得到ΔN个采样点;在大规模SRAM电路和小规模SRAM电路上分别对这些采样点进行仿真得到对应的性能,其中小规模SRAM电路对应低置信度数据,大规模SRAM电路对应高置信度数据,将这些数据补充到多置信度高斯模型的训练集中;
步骤(5.2):用当前数据集训练小规模SRAM电路和大规模SRAM电路的多置信度高斯模型;采用多置信度高斯过程建模方法对小规模SRAM电路性能和大规模SRAM电路性能建立模型;
所述高斯过程模型为有监督学习方法,对于中等大小样本集尤其高效;假定数据集{X,Y}由一个未知的黑盒函数生成
Y=f(X) (7)
一个典型的高斯模型由均值函数μ和协方差矩阵K定义:
f(X)~gp(μ(X),K(X)) (8)
X={x1,...,xn}代表一个大小为N的训练集,μ为均值函数,简化设置μ为0,K为核函数可以被写作
其中k选定为径向基函数
其中δf,和Λ是超参数,通过最大似然法确定;对于一个新的样本点x*,高斯模型的输出[y,y*]为
对于SRAM电路,其有规则的电路结构,小规模SRAM电路和大规模SRAM电路之间存在着很强的联系;利用该特点,采用多置信度模型对SRAM电路性能建模;由于小规模SRAM阵列电路的仿真时间可以忽略,因此在小规模电路上进行充分的采样从而提高大规模电路建模的精度和效率;
非线性自回归高斯过程模型能够学习不同信息源之间的复杂非线性关系,进一步扩展传统的GP模型;不失一般性地假设存在两个不同置信度的数据源,Xl和Yl为低置信度模型的输入和输出,Xh和Yh为高置信度模型的输入和输出;低置信度模型和高置信度模型的关系可以写作
fh(x)=zl(fl(x))+δh(x) (12)
其中zl(·)表示从低置信度模型到高置信度模型的映射,δh(x)为表示高置信度模型偏差的GP模型,fh(x)和fl(x)是高置信度和低置信度的模型;由于fl(x)是高斯模型,上述函数由两个高斯模型组成,因此又称为深度高斯;假设模型zl和δh是独立的,则自回归框架可以写为
fh(x)=gh(x,fl(x)) (13)
其中gh(·)表示建立在工艺参数x和低置信度模型输出fl(x)上的高斯模型;基于所述两个变量来自不同的空间,gh(·)的核函数kh被修改为
其中{kh,i,i=1,2,3}均为标准RBF核函数,{θh,i,i=1,2,3}为模型超参数,可以通过极大似然法获得;
步骤(5.3):基于当前的多置信度高斯过程模型,利用多起始点序列二次规划搜索并更新大规模电路最优偏移向量,此过程无需额外的仿真;
步骤(5.4):判断收敛条件:若大规模SRAM电路最优偏移向量长度的变化小于阈值th||ΔOSV||则跳转至步骤(6),否则跳转至步骤(5.1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110106298.4A CN114792084A (zh) | 2021-01-26 | 2021-01-26 | 一种针对大规模sram阵列电路后仿真的高效良率分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110106298.4A CN114792084A (zh) | 2021-01-26 | 2021-01-26 | 一种针对大规模sram阵列电路后仿真的高效良率分析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114792084A true CN114792084A (zh) | 2022-07-26 |
Family
ID=82460756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110106298.4A Pending CN114792084A (zh) | 2021-01-26 | 2021-01-26 | 一种针对大规模sram阵列电路后仿真的高效良率分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114792084A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116384312A (zh) * | 2023-04-20 | 2023-07-04 | 山东大学 | 一种基于并行异构计算的电路良率分析方法 |
-
2021
- 2021-01-26 CN CN202110106298.4A patent/CN114792084A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116384312A (zh) * | 2023-04-20 | 2023-07-04 | 山东大学 | 一种基于并行异构计算的电路良率分析方法 |
CN116384312B (zh) * | 2023-04-20 | 2023-11-17 | 山东大学 | 一种基于并行异构计算的电路良率分析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mrazek et al. | Design of power-efficient approximate multipliers for approximate artificial neural networks | |
JP5734503B2 (ja) | 語義推定装置、方法及びプログラム | |
US20090307636A1 (en) | Solution efficiency of genetic algorithm applications | |
Sun et al. | PGCNet: patch graph convolutional network for point cloud segmentation of indoor scenes | |
US20240078362A1 (en) | Systems and methods for machine learning based fast static thermal solver | |
CN112424784A (zh) | 用于使用神经网络的改进的表标识的系统、方法和计算机可读介质 | |
CN114925205B (zh) | 基于对比学习的gcn-gru文本分类方法 | |
US20200364394A1 (en) | Pin Accessibility Prediction Engine | |
Shim et al. | Active cluster annotation for wafer map pattern classification in semiconductor manufacturing | |
US11651129B2 (en) | Selecting a subset of training data from a data pool for a power prediction model | |
CN115795065A (zh) | 基于带权哈希码的多媒体数据跨模态检索方法及系统 | |
CN114792084A (zh) | 一种针对大规模sram阵列电路后仿真的高效良率分析方法 | |
KR20190021095A (ko) | 이미지 분류 장치와 방법 및 이미지 분류를 위한 이미지 학습 장치 | |
Lyu et al. | Prior knowledge regularized self-representation model for partial multilabel learning | |
Wang et al. | An efficient and robust yield optimization method for high-dimensional SRAM circuits | |
US10318690B2 (en) | Partitioning using a correlation meta-heuristic | |
US11120184B2 (en) | Satisfiability sweeping for synthesis | |
CN115543762A (zh) | 一种磁盘smart数据扩充方法、系统及电子设备 | |
Jiang et al. | Fault Diagnosis of Gearbox in Multiple Conditions Based on Fine‐Grained Classification CNN Algorithm | |
CN111476035B (zh) | 中文开放关系预测方法、装置、计算机设备和存储介质 | |
CN110275957B (zh) | 姓名消歧方法、装置、电子设备及计算机可读存储介质 | |
Weller et al. | Bayesian optimized mixture importance sampling for high-sigma failure rate estimation | |
CN114139482A (zh) | 一种基于深度度量学习的eda电路失效分析方法 | |
Fredriksson et al. | Machine learning algorithms for labeling: Where and how they are used? | |
Islam | Early Stage DRC Prediction Using Ensemble Machine Learning Algorithms |
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 |