CN102054089B - 对带有透明锁存器的数字集成电路进行优化的速度分级的方法 - Google Patents

对带有透明锁存器的数字集成电路进行优化的速度分级的方法 Download PDF

Info

Publication number
CN102054089B
CN102054089B CN 201010510296 CN201010510296A CN102054089B CN 102054089 B CN102054089 B CN 102054089B CN 201010510296 CN201010510296 CN 201010510296 CN 201010510296 A CN201010510296 A CN 201010510296A CN 102054089 B CN102054089 B CN 102054089B
Authority
CN
China
Prior art keywords
clock period
circuit
integrated circuit
clock cycle
optimum
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.)
Expired - Fee Related
Application number
CN 201010510296
Other languages
English (en)
Other versions
CN102054089A (zh
Inventor
曾璇
周海
陶俊
龚旻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Fudan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fudan University filed Critical Fudan University
Priority to CN 201010510296 priority Critical patent/CN102054089B/zh
Publication of CN102054089A publication Critical patent/CN102054089A/zh
Application granted granted Critical
Publication of CN102054089B publication Critical patent/CN102054089B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及针对工艺偏差影响下带有透明锁存器的数字集成电路进行速度分级的方法,包括:步骤1,计算带有透明锁存器的数字集成电路的最小时钟周期累计密度分布函数;步骤2,根据上述最小时钟周期累计密度分布函数采用贪婪算法来计算最优时钟周期等级分界点以最大化销售利润;步骤3,通过求解字母序二叉树带权最短路径问题确定时钟周期等级分界点的最优测试顺序以最小化测试成本,从而在同时考虑销售利润和测试成本的情况下,以低计算复杂度和高计算精度最大化集成电路的设计价值。

Description

对带有透明锁存器的数字集成电路进行优化的速度分级的方法
技术领域
本发明属于集成电路领域,具体涉及一种针对考虑工艺偏差影响下的带有透明锁存器的数字集成电路进行最优化速度分级的方法。
背景技术
随着集成电路工艺进入纳米量级,电路制造中的工艺偏差日益严重,带来了严重的电路性能不确定性和电路工作频率分散性。为了提高电路制造的收益,B.D.Cory,R.Kapur和B.Underwood于2003年提出了速度分级的概念(B.D.Cory,R.Kapur,and B.Underwood,“Speed Binning with Path DelayTest in 150-nm Technology”,IEEE Design Test Comput.,20(5),pp.41-45,2003.),即可将所有的产出电路根据各自可正常工作的最小时钟周期进行排序,并划分周期等级,然后为不同周期等级中的电路制定不同的出售价格。速度分级通常应用于以微处理器为代表的高性能流水线系统。而在这些系统中,广泛采用了具有时序借用和低功耗特性(参见C.Ebeling和B.Lockyear于1995年发表在Proceedings of the 16th Conference on Advanced Research inVLSI(ARVLSI'95)上第342页的文章“On the performance of level-clockedcircuits”)的电平敏感的透明锁存器作为时序单元。因此,如何对带有透明锁存器的电路进行速度分级优化,即找到一个最优的分级方法使得电路产品收益最大化,成为当前集成电路产业亟待解决的关键问题之一。
已有的传统速度分级策略通常将电路设计的收益定义为销售利润,即在制定的价格上卖掉所有电路产品的销售所得。销售利润完全依赖于每一个周期等级的电路产品数目和出售价格。基于这一理论,A.Davoodi和A.Srivastava于2008年在IEEE Trans.on VLSI第16(6)期683-692页的“Variability Driven Gate Sizing for Binning Yield Optimization”文章中提出了一种基于销售利润的收益模型,采用线性罚函数计算分级策略的利益损失。A.Datta等人进一步发展了该模型,在2008年IEEE Trans.on VLSI第16(7)期806-815页的“Profit Aware Circuit Design Under Process VariationsConsidering Speed Binning”一文中提出通过定义与电路正常工作周期相关的价格函数和基于该函数的价格加权模型来评价电路设计的收益。但是仅考虑销售利润的收益模型在实际生产应用中是不够完整的。在现代集成电路生产中,在电路总成本中所占比重日益显著的频率测试成本必须被纳入收益模型的考量范围。为了进行正确的速度分级,需要在各等级分界处的时钟周期点对电路进行功能或结构测试。测试成本会随着周期等级数目的增加而上升,从而降低设计收益。因此一个具有实际意义的收益模型不仅包括销售利润,还必须计入测试成本。
目前,就我们所知,仅A.Datta等人发表的“Profit Aware Circuit DesignUnder Process Variations Considering Speed Binning”一文在速度分级优化方面进行了简单的探讨,提出了一种启发式方法,通过优化周期等级分界点来最大化销售利润。即每次按指定步长移动一个周期分界点,若能够提高销售利润,则认为这一移动是可以接受的。但这一方法的最优性难以保证,且每次移动的步长也难以预测。
此外,为了顺利完成速度分级,首先需要采用统计静态时序分析(SSTA)预测电路的最小时钟周期的统计分布。目前已有的绝大多数统计静态时序分析算法都是针对边沿触发器电路的。但速度分级方法通常更多地用于处理带有透明锁存器的电路系统。由于锁存器的信号输出时间与其输入时间有关,在进行时序分析时需要同时考察所有回路上的时间约束,因此对这种电路的统计静态时序分析是一个更加复杂的问题。传统方法,如R.Chen和H.Zhou在2006年发表于IEEE Trans.on CAD第25(9)期1847-1855页的“StatisticalTiming Verification of Transparently Latched Circuits”一文中所提出的锁存器电路时序分析方法等,通常是针对时钟验证问题,通过不断迭代更新透明锁存器输入、输出端的统计到达时间和检测电路中的负环来计算某个给定时钟周期处的电路良产率。但这一类方法难以得到包含所有时钟频率点的随机时钟周期分布,除非在每一个可能的时钟周期点都采用这类SSTA方法以求得该处的良率,而这是非常耗时的。此外,由于在迭代过程中,时序随机变量需要根据前数次的迭代结果进行更新,而前数次的该变量本身和本次迭代的变量之间具有统计相关性,这将引起这类算法中的统计自相关现象,最后或多或少地导致这些算法的随机到达时间的无法收敛的问题。另外,已有方法通常假设工艺偏差具有高斯分布的特性,而这一假设在实际IC生产中并不一定满足。
因此,亟需一种改进的速度分级优化方法,用于处理带有透明锁存器的电路系统进行优化速度分级,克服现有技术的不足,提高效益,降低生产成本。
发明内容
本发明的主要目的是针对上述带有透明锁存器的数字集成电路的速度分级优化问题,在同时考虑销售利润和测试成本的前提下,寻找最优的时钟周期等级分界点和测试顺序以最大化电路设计的收益,从而提出在工艺偏差影响下的带有透明锁存器的数字集成电路的速度分级优化方法。
为实现上述发明目的,本发明所提出的带有透明锁存器的数字集成电路速度分级优化方法,主要包括以下步骤:
步骤1:采用基于通用随机配置法和稀疏网格采样技术的SSTA方法对工艺偏差影响下的带有透明锁存器的数字集成电路进行分析,通过将随机问题转化为一组在特定采样点处的固定问题来求出最小时钟周期累计密度分布函数CDF。与已有技术相比,这一方法不仅能够避免随机到达时间的收敛性问题,还能够以很低的计算复杂度和较高的求解精度得到任意分布的工艺偏差影响下的透明锁存器电路工作时钟周期的随机分布。
步骤2:根据步骤1得出的最小时钟周期累计密度分布函数CDF,采用贪婪算法确定时钟周期等级分界点的最优位置,从而最大化销售利润。在每次优化过程中,针对目标函数的单峰性,从理论上保证每次求解的最优性。而已有的启发式方法不具有理论最优性的保证。
步骤3:将测试成本的优化问题转化为基于时钟周期等级的字母序二叉树带权最短路径问题,以计算复杂度仅为O(nlogn)的优化方法确定周期等级分界点的最优测试顺序,从而最小化测试成本。传统的速度分级方法通常不考虑测试成本的最小化。
有利的是,应用本发明提出的方法,通过对时钟周期等级分界点以及测试顺序的优化,最大化销售利润的同时最小化测试成本,不仅能够通过随机配置法以很低的计算复杂度和很高的求解精度得到透明锁存器电路的工作时钟周期分布,避免随机到达时间求解中的收敛性问题;而且能够从理论上保证在采用贪婪算法确定周期等级分界点以最大化销售利润时,每次迭代计算的最优性;还能够以计算复杂度仅为O(nlogn)的优化方法确定周期等级分界点的最优测试顺序,从而最小化测试成本。
另外,这一方法同样适用于任意分布工艺偏差影响下的边沿触发器电路的速度分级优化,只需要将触发器断开,并将其输入输出作为电路的基本输入和基本输出处理即可。
附图说明
图1是本发明所提出的速度分级优化方法的步骤流程图;
图2是计算最小时钟周期累计密度分布函数CDF的步骤流程图;
图3是计算最优时钟周期等级分界点的步骤流程图;
图4是确定时钟周期等级分界点的最优测试顺序的步骤流程图;
图5是一个电路设计的速度等级划分示意图,包括该电路设计的工作周期累计密度分布函数、电路价格函数和划分为六个等级的速度分级策略;
图6的示意图是针对图2中电路设计的最优字母序二叉树;
图7是s13207电路的时钟周期统计分布CDF函数F(x)和三种价格曲线(线性曲线、二阶曲线和三阶曲线);以及
图8是s13207电路的速度分级优化结果。
具体实施方式
本发明针对带有透明锁存器的数字集成电路的速度分级优化问题,在同时考虑销售利润和测试成本的前提下,寻找最优的时钟周期等级分界点和测试顺序以最大化电路设计的收益。
根据本发明的原理,其技术方案主要包括统计周期计算,销售利润最大化计算,以及测试成本最小化计算三个方面。下面结合图1-图4的方法流程图来描述其如下具体步骤:
步骤1:计算带有透明锁存器的数字集成电路的最小时钟周期的统计分布,可以采用基于通用随机配置法(gSCM,generalized Stochastic CollocationMethod)和稀疏网格采点技术(Sparse-Grid Sampling)的统计静态时序分析方法计算透明锁存器电路的最小时钟周期的统计分布。
Figure GDA00003495046500051
表示通过PCA或ICA对具有相关性的工艺偏差处理后得到的一组独立的具有任意分布的随机变量,则给定锁存器电路的随机最小时钟周期
Figure GDA00003495046500052
可以采用
Figure GDA00003495046500053
的通用多项式展开(gPC, generalized Polynomial Chaos来逼近,如(1.1)所示,
T work ( ξ r ) ≈ T ^ work ( ξ r ) Σ i 1 + . . . i N = 0 M t i 1 , . . . , i N H N i 1 , . . . , i N ( ξ r ) - - - ( 1.1 )
这里的
Figure GDA00003495046500055
表示时钟周期的真实值,而
Figure GDA00003495046500056
是近似值。N是随机工艺参数的个数,M是所采用的多项式的最高阶数,
Figure GDA00003495046500057
表示N阶的通用多项式展开,(i1+...+iN)是这一多项式的阶数。未知系数
Figure GDA00003495046500058
如图2所示,可通过以下三个分步骤求出:
分步骤101:采用通用稀疏网格技术生成
Figure GDA00003495046500059
的一组配置点
Figure GDA000034950465000510
这里P是配置点的数目。令
Figure GDA000034950465000511
Figure GDA000034950465000512
表示第j维ij阶精度高斯积分所对应的配置点(即多项式
Figure GDA000034950465000513
的根)和权重,则由稀疏网格技术所产生k阶精度d维积分的配置点可由
Figure GDA00003495046500061
张量积的线性组合得到,如(1.2)所示,
Θ d k = U k + 1 ≤ | i r | ≤ d + k ( Θ 1 i 1 × . . . × Θ 1 i d ) - - - ( 1.2 )
这里配置点
Figure GDA00003495046500064
对应的权重如式(1.3)所示,
w j i 1 , . . . , j i d i 1 , . . . , i d = ( - 1 ) d + k - | i r | d - 1 d + k - | i r | ( w j i 1 i 1 . . . w j i d i d ) - - - ( 1.3 )
分步骤102:在每一个配置点
Figure GDA00003495046500066
处,求解固定工艺参数下的静态时序分析问题,得到最小时钟周期
Figure GDA00003495046500067
固定工艺参数下透明锁存器电路的静态时序分析需分别检测建立时间约束和保持时间约束是否满足,其主要步骤如下:
子步骤1021:建立SMO约束形式所对应的有向时序图G=(V,E)。顶点集合V表示电路的基本输入、输出,和所有元器件(包括门和锁存器)的输出端。边集合E表示门和锁存器端点之间的时间弧。
子步骤1022:根据SMO模型中的建立时间约束和有向时序图G=(V,E),构造建立时间约束图GS。
时序图G=(V,E)中,令Ai(ai)表示i顶点处的最晚(最早)到达时间,△jiji)表示时间弧(j,i)上的最大(最小)延迟。假设所有的锁存器由同一时钟控制,该时钟的周期为TC,使能时间为TP=0..5TC。令
Figure GDA00003495046500068
则SMO模型中的建立时间约束可表示如下:
若(j,i)是一个门单元,
A i % ≤ A i % + ( - Δ ji ) + 0 · T C - - - ( 1.4 )
若(j,i)是一个锁存器,
A i % ≤ A j % + ( - Δ ji ) + 1 · T C
A i % ≤ 0 + 0 + 0.5 . T C - - - ( 1.5 )
0 ≤ A j % + ( - S ) + 1 · T C
基于以上不等式,构造新的建立时间约束图GS=(V,ES,wS,rS)。顶点集合V与图G的顶点集合是一样的。令wS和rS分别代表边ES所对应的成本函数(cost function)和利润函数(gain function),边集合ES可以由如下步骤建立:1)增加一个源顶点,令其到达时间2)对每一个不等式增加从顶点p到顶点q的边。3)对于每一条新增加的边,令其成本函数wS(p,q)=w,利润函数rS(p,q)=r。
子步骤1023:采用R.A.Howard在1960年出版的Dynamic Programmingand Markov Process一书中给出的Howard’s算法求解建立时间约束图GS=(V,ES,wS,rS)的最小周期率问题,得到建立时间约束所对应的最小工作周期Twork,setup
对于图GS中的环C,定义周期率RO(C)为所有边的成本函数之和与利润函数之和的比例,
R O ( C ) = w ( C ) r ( C ) = Σ ( p , q ) ∈ C w ( p , q ) Σ ( p , q ) ∈ C r ( p , q ) - - - ( 1.6 )
采用Howard’s算法求解图GS的最小周期率,得到建立时间约束所对应的最小工作周期Twork,setup
Twork,setup=-min(RO(C))                (1.7)
子步骤1024:采用与子步骤1022和子步骤1023完全类似的方法求出保持时间约束所对应的最小工作周期Twork,hold
子步骤1025:根据步骤1023得到的Twork,setup和子步骤1024得到的Twork,hold,确定电路在配置点
Figure GDA00003495046500074
处的最小工作周期
Figure GDA00003495046500075
如果Twork,setup≤Twork,hold,则电路的最短周期是
Figure GDA00003495046500076
如果Twork,setup≥Twork,hold,则由于同时满足建立时间约束和保持时间约束的时钟周期不存在,这个电路设计是失败的。
接下来,回到图2中所示,步骤1的分步骤103:
分步骤103:采用Galerkin算法计算式(1.1)中的未知系数
Figure GDA00003495046500081
得到透明锁存器电路的随机最小时钟周期
Figure GDA00003495046500082
的表达式,并根据表达式计算
Figure GDA00003495046500083
的CDF。
Galerkin方法通过最小化
Figure GDA00003495046500084
Figure GDA00003495046500085
之间的误差来求得最优解,即令,
t i 1 , . . . , i N = < T work ( &xi; r ) , H N i 1 , . . . , i N ( &xi; r ) > - - - ( 1.8 )
上式是一个多维积分,可通过数值积分计算得到,
t i 1 , . . . , i N = &Sigma; k = 1 P w k T work ( &xi; r ) H N i 1 , . . . , i N ( &xi; r ) - - - ( 1.9 )
其中
Figure GDA00003495046500088
表示第k个配置点,wk是其对应的权重,
Figure GDA00003495046500089
是子步骤102中求出的Twork在配置点处的真实值。得到未知系数
Figure GDA000034950465000811
后即可根据式(1.1)求出
Figure GDA000034950465000812
的CDF。
下面,仍回到图1所示根据本发明的透明锁存器数字集成电路速度分级优化方法的主流程图中。
步骤2:根据步骤1所得出的最小时钟周期累计密度分布函数来确定速度分级的最优分界点以最大化销售利润,可以采用贪婪算法进行计算。
设x为电路可正常工作的最短时钟周期,F(x)为步骤1计算出的工作周期的累计密度分布函数CDF,f(x)为相应的概率密度分布函数PDF。P(x)为电路价格函数,n为所需划分的速度等级个数。则使得销售利润 Pro ( X ) = &Sigma; i = 1 n P ( x i ) ( F ( x i ) - F ( x i - 1 ) ) 最大化的最优时钟周期分界点X=[x0,x1,L,xn-1,xn]可通过以下2个分步骤确定,如图3所示:
分步骤201:确定周期分界点x0,x1,xn-1和xn
x0=0,x1=Tleak,xn-1=Ttarg,xn=+∞,其中Ttarg是可被售出的所有电路的最短时钟周期的最大值,由设计者确定。Tleak是由漏电功耗约束决定的电路可正常工作的最短时钟周期,通过将功耗约束简化为最小周期约束Pr{Pwork≤Pleak}≈Pr{Twork≥Tleak}即可得到。
分步骤202:运行贪婪算法确定时钟周期等级分界点x2,x3,L,xn-2的位置。主要步骤是通过不断循环迭代求解两个相邻周期等级间的利润优化问题,直到优化目标不能再被改进为止。
其中,两个相邻周期等级间的利润优化问题,可以定义为:给定定义在区间[a,b]上的F(x)和P(x),寻找最优的x∈[a,b],从而最大化销售利润Pro(x)=P(x)(F(x)-F(a))+P(b)(F(b)-F(x))。这个问题可以通过在区间[a,b]内求解Pro'(x)=0得到最优解。
这种做法的前提是Pro(x)在区间[a,b]内是单峰的,这里给出Pro(x) 峰性证明,以保证上述方法的理论正确性:
Pro(x)=P(x)(F(x)-F(a))+P(b)(F(b)-F(x))       (2.1)
假设F(x)和P(x)都是二接可导的,F(x)、P(x)和f(x)是非负的,那么Pro(x)的单峰性可以证明如下:
引理1:Pro(x)是单峰的,当且仅当:
Figure GDA00003495046500091
使Pro'(x)=0且Pro"(x)>0。证明:如果Pro(x)不是单峰的,那么至少存在一个极小值
Figure GDA00003495046500092
根据极小值点的定义,可得Pro'(x)=0且Pro"(x)>0。
引理2:如果P(x)是单调递减的,且
Figure GDA00003495046500093
都满足则Pro(x)在(a,b)上是单峰的。
证明:反证法。假设有Pro(x),
Figure GDA00003495046500095
满足上式条件但不是单峰的,则根据引理1有,
Figure GDA00003495046500096
使Pro'(x)=0且Pro"(x)>0,那么
Pro &prime; ( x ) = 0
&DoubleRightArrow; ( P ( x ) - P ( b ) ) f ( x ) + P &prime; ( x ) ( F ( x ) - F ( a ) ) = 0 - - - ( 2.2 )
&DoubleRightArrow; P ( x ) - P ( b ) = - P &prime; ( x ) ( F ( x ) - F ( a ) ) f ( x )
将P(x)-P(b)代入Pro"(x),可得
Pro &prime; &prime; ( x ) = P &prime; &prime; ( x ) ( F ( x ) - F ( a ) ) + f &prime; ( x ) ( P ( x ) - P ( b ) ) + 2 f ( x ) P &prime; ( x )
= P &prime; &prime; ( F ( x ) - F ( a ) ) - f &prime; ( x ) f ( x ) P &prime; ( x ) ( F ( x ) - F ( a ) ) + 2 f ( x ) P &prime; ( x ) > 0 - - - ( 2.3 )
由于P'(x)<0且F(x)-F(a)>0,和题干条件相悖,由此得出引理2正确。
定理1:如果P(x)是单调递减的凸函数,f(x)在其定义域满足f'(x)F(x)-2f(x)2≤0,则Pro(x)是单峰的。
证明:因为P'(x)<0、P"(x)<0、F(x)>F(a)>0,可得
f &prime; ( x ) F ( x ) - 2 f ( x ) 2 &le; 0
&DoubleRightArrow; f &prime; ( x ) f ( x ) - 2 f ( x ) F ( x ) &le; 0 - - - ( 2.4 )
&DoubleRightArrow; f &prime; ( x ) f ( x ) - 2 f ( x ) F ( x ) - F ( a ) &le; 0 < P &prime; &prime; ( x ) P &prime; ( x )
根据引理2,可得Pro(x)是单峰的。
推论1:如果P(x)是单调递减的凸函数,f(x)是高斯、Rayleigh或者均匀分布的,则Pro(x)是单峰的
证明:高斯函数 f G ( x ) = 1 2 &pi;&sigma; exp ( ( x - &mu; ) 2 2 &sigma; 2 ) , Rayleigh函数 f R ( x ) = x &sigma; 2 exp ( x 2 2 &sigma; 2 ) 和均匀分布函数fU(x)=a都满足f'(x)F(x)-2f(x)2≤0,由此可得此推论。
最后,再回到图1所示根据本发明的透明锁存器数字集成电路速度分级优化方法的主流程图中,步骤3的具体如下:
步骤3:基于字母序二叉树的带权最短路径求解方法确定时钟周期等级分界点的最优测试顺序,例如,采用O(nlogn)计算复杂度的算法,以最小化测试成本。
设X为步骤2计算出的最优时钟周期等级分界点,则为了完成电路的速度划分,需要进行测试的时钟周期分界点为X-=(x1,x2,...,xn-1)。设Bi,j表示处于边界xi和xj之间的所有时钟周期等级,Ni,j表示处于Bi,j中的电路占所有电路的百分比。这样对于第i个等级,Ni-1,i=F(xi)-F(xi-1)。假设单个电路在一个频率测试点处的测试成本设为1,那么测试成本
Figure GDA00003495046500111
这里hi-1,i表示在Bi-1,i中每个电路所需的测试次数。则通过以下三个子步骤可以求出使得测试成本最小化的最优阶数分配R(X-):X-aN+,进而求出最优测试顺序。步骤3的分步骤如图4所示:
分步骤301:由F(x)和X计算出每一个时钟周期等级Bi-1,i(i=1,2,L,n)内的电路数目占所有电路数目的百分比Ni-1,i,并由此确定一棵字母序二叉树的所有叶节点。
这字母序二叉树由两类节点组成,叶节点和内部节点。第i个叶节点表示第i个时钟周期Bi-1,i,其权重为Ni-1,i。所有的叶节点按字母序顺序(B0,1,B1,2,...,Bn-1,n)排列。内部节点Bi,j可由子步骤302得到。
分步骤302:采用基于Hu-Tucker理论的复杂度为O(nlogn)的优化算法求解上述字母序二叉树的带权最短路径问题,由此得到各时钟周期等级分界点的最优阶数分配R(X-)。其主要子步骤如下:
子步骤3021:等级合并。给定叶节点的初始序列(B0,1,B1,2,...,Bn-1,n),不断重复选取相邻的两个节点Bi,j和Bk,l,使得这两个节点的权重之和Ni,j+Nk,l是所有可能的组合中最小的。将这两个节点合并成一个超等级Bi,l,其权重为Ni,l=Ni,j+Nk,l。然后删去节点Bk,l,并用节点Bi,l替换节点Bi,j。如果在节点序列中的两个节点之间仅有内部节点,则认为这两个节点是相邻的。当所有的叶节点最后组合成一个根节点时,该步骤结束。
子步骤3022:阶数标注。根节点的阶数标注为0,然后按照与步骤3021中相反的顺序,从根节点开始标注所有内部节点的阶数。如果一个节点的阶数为r,则其两个子节点的阶数为r+1。最终可以得到所有叶节点的阶数。
子步骤3023:确定时钟周期等级分界点的最优阶数分配。首先删除步骤3021和步骤3022中所有的内部节点及其对应的阶数。然后将满足如下三个条件的Bi,j和Bj,k合并产生新的超等级Bi,k:1)Bi,j和Bj,k之间没有其他节点;2)Bi,j和Bj,k的阶数是确定的,并且是所有现有节点阶数里面最小的;3)i和j是所有满足1)和2)的可能组合中数值最小的。这里Bi,k的阶数是Bi,j的阶数减1。这样可以构造一棵新的树,并得到所有内部节点的最优阶数,即各时钟周期等级分界点的最优阶数分配R(X-)。
分步骤303:根据子步骤302得到的最优阶数分配R(X-)求得各时钟周期等级分界点的最优测试顺序,其主要步骤如下:
子步骤3031:将阶数等于0的分界点作为第一个测试点。
子步骤3032:阶数增加1,将所有具有该阶数的等级分界点按任意顺序列到紧接着的测试序列中。也就是说,具有同样阶数的等级分界点可以以任何顺序进行测试,总的测试成本相同。重复该步骤,直到所有的等级分界点都被赋予了相应的测试顺序。
实例一:
为使本发明的特征和优点更为明显易懂,下面结合具体的测试电路和实施方式对本发明做进一步说明。
对于65纳米工艺下ISCAS’89测试电路实例中的s13207电路,假设该电路中的边沿触发器单元全部换成电平敏感的透明锁存器,并采用50%占空比的单相时钟驱动。同时假设采用二阶延迟模型,其中包含利用PCA或者ICA得到的6个独立的随机变量(即(1.1)式中N=6,M=2),假定这6个随机变量都具有高斯分布的特性,方差设为对应均值的10%。则采用本发明方法,对该电路进行速度分级优化的具体步骤如下:
步骤1:计算s13207电路的时钟周期统计分布。
分步骤101:采用通用稀疏网格技术得到6个独立随机变量对应的2阶精度配置点共72个,对应的权重是 w j i 1 , . . . , j i 6 i 1 , . . . , i 6 = ( - 1 ) 8 - | i r | 5 8 - | i r | ( w j i 1 i 1 . . . w j i 6 i 6 ) .
分步骤102:在每一个配置点处,求得该电路的最小时钟周期Twork
分步骤103:采用(1.9)式计算式(1.1)中的未知系数
Figure GDA00003495046500133
并最终得到s13207电路的时钟周期统计分布CDF函数F(x),如图7所示。
与采样点为10000的蒙特卡洛方法相比,本发明采用的SSTA算法得到的s13207电路时钟周期均值相对误差为0.19%,方差的相对误差为0.97%。另定义F(x)的相对误差为式(1.10)所示,则s13207的ferr为0.93%,但运行速度提高了177倍。
ferr = &Sigma; i = 1 S ( F ( T i ) - F MC ( T i ) ) 2 &Sigma; i = 1 S F MC ( T i ) 2 - - - ( 1.10 )
这里S是用于比较的点的个数,Ti是第i个点对应的时钟周期。F(·)表示采用本方法得到的CDF函数,FMC(·)表示采用蒙特卡罗采样方法得到的CDF。
为了进一步验证这一SSTA算法在特定工艺偏差分布下的计算精度,表格I给出了ISCAS’89的所有30个电路实例中的10个计算结果,包括最好和最差的精度,以及30个电路的平均结果。每个电路均考虑6个随机变量,包括三种分布,高斯分布,均匀分布和Rayleigh分布,方差设为对应均值的10%。从表格中可以看出本发明提出的SSTA方法在三种不同的工艺偏差随机分布情况下都具有很好的逼近精度。与蒙特卡洛方法相比能够在110倍的速度提升中达到0.07%的误差。
表格I ISCAS’89电路实例的SSTA计算结果比较
Figure GDA00003495046500141
步骤2:采用贪婪算法确定s13207电路速度分级的最优分界点。
假定s13207电路需要划分的时钟周期等级数目为5,价格函数设为二阶凸函数,并且是递减的,如式(2.2)所示,
Quadratic:P(x)=a3(x-a4)2+a5           (2.2)
价格函数同样可以设置为线性或三阶的递减凸函数,如式(2.3)所示,
Linear : P ( x ) = a 1 x + a 2 Cubic : P ( x ) = a 6 x 3 + a 7 - - - ( 2.3 )
价格函数中的系数a1,...,a7都采用A.Datta等在2008年IEEE Trans.onVLSI第16(7)期806-815页发表的”Profit Aware Circuit Design Under ProcessVariations Considering Speed Binning”一文中提出的方法来确定,即保证最短时钟周期的电路与最长时钟周期的电路价格比值为5,Ratio=P(Tleak)P(Ttarg)=5。图7给出了电路s13207的工作周期Twork所对应的归一化后的三条价格函数,分别为线性、二阶和三阶函数。
分步骤201:确定周期分界点x0=0,x1=Tleak,x4=Ttarg,x5=+∞,这里为简化实验,假设Tleak=u-3σ=3.69ns和Ttarg=u+3σ=9.18ns,其中u和σ指的是Twork的均值和方差。实际生产中可根据具体的电路设计及功耗约束确定。
分步骤202:根据图2所示的贪婪算法确定时钟周期等级分界点x2,x3的位置。
令Pro+表示相对于初始设定的时钟周期等级分界点Xinit而言,通过步骤2调整后得到的利润升值比率。
Pro+=(Pro(Xopt)-Pro(Xinit))Pro(Xinit)          (2.4)
其中,通过使得每个时钟周期等级具有相同的良率设定初始的时钟周期等级分界点Xinit。图8给出步骤2完成后的速度分级优化后的等级分界点结果。Xinit和优化后的时钟周期等级分界点分别用虚线和实线表示。步骤2完成后,s13207的销售利润可提高Pro+=9.92%。
表格II给出了ISCAS’89测试电路采用步骤2得到的利润升值比率。每个电路同样具有6个随机变量,并假设为高斯分布。用于速度等级划分的时钟周期等级数目分别设为5,6,7,价格函数可为线性、二次型或三次型。从表格II中可以看出平均能够得到6.69%的利润提升。并且采用二阶或三阶的价格函数能够得到更高的利润提升。这是因为非线性的价格函数使得具有不同时钟周期的电路销售价格之间的差异更大,从而使得时钟周期等级分界点的位置对销售利润的影响更为重要。
表格II利润升值比率
Figure GDA00003495046500151
Figure GDA00003495046500161
为进一步验证本发明在最大化销售利润方面的优化特性,表格III给出了本发明方法与A.Datta等在2008年IEEE Trans.on VLSI第16(7)期806-815页发表的“Profit Aware Circuit Design Under Process Variations ConsideringSpeed Binning”一文中所提出的方法在销售利润和运行时间方面的比较结果。其中,△Pro+=Pro+1-Pro+AD,Pro+1表示本发明方法的利润升值比率,Pro+AD表示A.Datta等所提出方法的利润升值比率,SpUp表示与A.Datta的方法相比,本发明方法计算速度的提升倍数。这里的时钟周期等级数目定为n=6及n=7。A.Datta的方法中的分界点每次移动的距离设为间距(xn-1-x1)的110或1100。但这一距离是完全由经验确定的,距离太大(110)可能会错过最优位置,距离太小(1100)则会大大降低算法的运行速度。从表格III中可以看出,本发明所采用的算法能够在远远小于A.Datta等所提出方法的运行时间内,取得更高的利润。
表格III两种方法的销售利润和运行时间比较
Figure GDA00003495046500162
步骤3:基于字母序二叉树的带权最短路径求解方法,确定时钟周期等级分界点的最优测试顺序。
分步骤301:由步骤2确定时钟周期等级分界点x1,x2,x3,x4后,可以得到一棵字母序二叉树的所有叶节点Bi-1,i和对应的权重Ni-1,i
分步骤302:求解上述字母序二叉树的带权最短路径问题,由此得到各时钟周期等级分界点的最优阶数分配R(X-)。
子步骤3021:等级合并。按照相邻两个节点的权重之和最小的原则,依次得到内部节点B3,5、B0,2、B2,5和B0,5(其中B0,5是根节点)。
子步骤3022:阶数标注。令根节点B0,5的阶数为0,则内部节点B0,2、B2,5的阶数为1,B3,5的阶数为2,叶节点B0,1、B1,2和B2,3的阶数为2,B3,4、B4,5的阶数为3。
子步骤3033:确定时钟周期等级分界点的最优阶数分配,构造最优字母序二叉树。叶节点的阶数依次为[2,2,2,3,3],则按照该阶数合并等级,最后确定四个等级分界点的阶数依次为[1,0,1,2]。
图8给出了子步骤3033完成后得到的测试电路s13207的速度分级优化结果。分界点的最优阶数分配标在对应边界上。对于最优的分界点阶数[1,0,1,2],各时钟周期等级中单个电路需要完成的测试次数为h=[2,2,2,3,3],则所有电路的平均测试次数为 Ct = &Sigma; i = 1 5 ( F ( X i ) - F ( X i - 1 ) ) L ( i ) = 2.12 .
与采用类二叉树搜索阶数Rbny=[2,1,0,1]得到的测试顺序相比,h=[3,3,2,2,2],Ct=2.57。子步骤3022得到的阶数分配能够使得测试成本降低17.34%。这里的Rbny定义如下:
n=5:Rbny=[2,1,0,1]
n=6:Rbny=[2,1,0,1,2]                  (3.1)
n=7:Rbny=[2,1,2,0,2,1]
分步骤303:确定各时钟周期等级分界点的最优测试顺序。根据子步骤302得到的最优阶数分配[1,0,1,2],最优测试顺序可以为x2,x1,x3,x4或者x2,x3,x1,x4
表格IV给出了采用步骤3得到的ISCAS’89电路的测试成本降低比率。这里定义成本降低比率为,
Ct-=(Ct(Rbny)-Ct(Ropt))Ct(Rbny)             (3.2)
从表格IV中可以看出采用最优测试顺序能够使成本平均降低14%。
表格IV测试成本降低比率
Figure GDA00003495046500181
应用本发明提出的方法,不仅能够通过随机配置法以很低的计算复杂度和很高的求解精度得到透明锁存器电路的工作时钟周期分布,避免求取随机到达时间的收敛性问题;而且能够从理论上保证在采用贪婪算法确定周期等级分界点以最大化销售利润时,每次迭代计算的最优性;还能够以计算复杂度仅为O(nlogn)的优化方法确定周期等级分界点的最优测试顺序,从而最小化测试成本。

Claims (3)

1.一种对带有透明锁存器的数字集成电路进行优化的速度分级的方法,其特征在于,其包括: 
步骤1:计算带有透明锁存器的数字集成电路的最小时钟周期累计密度分布函数CDF;包括分步骤: 
-通过稀疏网格技术选择工艺参数空间随机配置点; 
-计算每一个配置点处的最小时钟周期; 
-根据配置点处的最小时钟周期,利用随机配置法计算数字集成电路最小时钟周期累计密度分布函数CDF; 
步骤2:根据上述最小时钟周期累计密度分布函数计算最优时钟周期等级分界点以最大化销售利润,包括分步骤: 
-根据设计需求及漏电功耗约束确定数字集成电路正常工作时最短时钟周期的最大值和最小值边界点; 
-采用贪婪算法更新时钟周期等级分界点划分; 
步骤3:确定时钟周期等级分界点的最优测试顺序以最小化测试成本,包括分步骤: 
-根据时钟周期等级分界点建立字母序二叉树; 
-采用基于Hu-Tucker编码的复杂度为O(nlogn)的算法求解字母序二叉树的带权最短路径,以得到时钟周期等级分界点最优阶数分配;以及 
-根据最优阶数分配求出能够使得测试成本最小化的最优的时钟周期等级分界点测试顺序。 
2.根据权利要求1所述的方法,其特征在于,所述的步骤2中的分界点划分步骤还包括根据最小时钟周期累计密度分布函数CDF计算销售利润。 
3.根据权利要求1所述的方法,其特征在于,所述步骤3中还包括根据最小时钟周期累计密度分布函数CDF以及时钟周期等级分界点的测试顺序计算测试成本。 
CN 201010510296 2009-10-28 2010-10-18 对带有透明锁存器的数字集成电路进行优化的速度分级的方法 Expired - Fee Related CN102054089B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010510296 CN102054089B (zh) 2009-10-28 2010-10-18 对带有透明锁存器的数字集成电路进行优化的速度分级的方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200910197837 2009-10-28
CN200910197837.9 2009-10-28
CN 201010510296 CN102054089B (zh) 2009-10-28 2010-10-18 对带有透明锁存器的数字集成电路进行优化的速度分级的方法

Publications (2)

Publication Number Publication Date
CN102054089A CN102054089A (zh) 2011-05-11
CN102054089B true CN102054089B (zh) 2013-08-21

Family

ID=43958404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010510296 Expired - Fee Related CN102054089B (zh) 2009-10-28 2010-10-18 对带有透明锁存器的数字集成电路进行优化的速度分级的方法

Country Status (1)

Country Link
CN (1) CN102054089B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9032358B2 (en) * 2013-03-06 2015-05-12 Qualcomm Incorporated Integrated circuit floorplan for compact clock distribution
CN106326535B (zh) * 2016-08-16 2019-08-06 北京航空航天大学 一种提升高性能集成电路产出的速度分级优化结构及方法
CN113239655A (zh) * 2020-05-21 2021-08-10 台湾积体电路制造股份有限公司 半导体电路的约束确定系统和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7269805B1 (en) * 2004-04-30 2007-09-11 Xilinx, Inc. Testing of an integrated circuit having an embedded processor

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Binning Optimization based on SSTA for Transparently-Latched Circuits;Min Gong et al.;《ICCAD 2009》;20091105;摘要、正文第I-V节 *
Min Gong et al..Binning Optimization based on SSTA for Transparently-Latched Circuits.《ICCAD 2009》.2009,摘要、第I-V节.

Also Published As

Publication number Publication date
CN102054089A (zh) 2011-05-11

Similar Documents

Publication Publication Date Title
US7685549B2 (en) Method of constrained aggressor set selection for crosstalk induced noise
CN102054089B (zh) 对带有透明锁存器的数字集成电路进行优化的速度分级的方法
CN107069716A (zh) 一种计及注入转移分布因子估计误差的鲁棒实时调度方法
Yang et al. Forecast of freight volume in Xi’an based on gray GM (1, 1) model and Markov forecasting model
CN109921426A (zh) 基于cv-kde的风电并网系统概率潮流计算方法
CN102737063A (zh) 一种日志信息的处理方法及系统
Chen et al. N‐1 security‐constrained coordinated scheduling of integrated electricity and natural gas system considering gas dynamics and wind power uncertainty
Liu et al. A parallel approximate evaluation-based model for multi-objective operation optimization of reservoir group
CN106056305A (zh) 一种基于状态聚类的发电系统可靠性快速评估方法
CN102142046A (zh) 对带有透明锁存器的数字集成电路进行优化的速度分级的方法
Hua et al. The robust model of continuous transportation network design problem with demand uncertainty
CN102054090A (zh) 基于改进自适应随机配置法的统计时序分析方法及装置
Wu et al. Optimization and improvement based on K-Means Cluster algorithm
Xu et al. NWP feature selection and GCN-based ultra-short-term wind farm cluster power forecasting method
CN111222550B (zh) 一种用户用电行为确定方法和装置
Pu et al. Analysis of the Development Level of Green Economy in Different Regions Based on the GA-BP Model
Meng et al. When will China fulfill its carbon‐related intended nationally determined contributions? An in‐depth environmental Kuznets curve analysis
Aragone et al. An approximation scheme for uncertain minimax optimal control problems
CN105468871B (zh) 一种动量轮成功包络分析与应用方法
Liu et al. An Improved Data Discretization Algorithm based on Rough Sets Theory
Zhou et al. Diformer: A dynamic self-differential transformer for new energy power autoregressive prediction
Zhou et al. A rough-set-basedclustering algorithm for multi-stream
Du et al. A novel timing series calculation algorithm based on statistical extremum for process object
Li et al. An Algorithm for Minimum Vertex Cover Based on Max-I Share Degree.
Zhang et al. Study on Tourist Volume Forecasting Based on ABA-SVR Model Within Network Environment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130821

Termination date: 20161018

CF01 Termination of patent right due to non-payment of annual fee