一种工艺参数变化下成品率驱动的时钟偏差安排方法

文档序号:6572391阅读:389来源:国知局
专利名称:一种工艺参数变化下成品率驱动的时钟偏差安排方法
技术领域
本发明属集成电路技术领域,具体涉及一种成品率驱动的时钟偏差安排方法。
背景技术
在同步数字集成电路设计中,通常要求所有触发器的时钟信号都是同时到达的即零偏差,以保证时序电路的功能正确。但是,零偏差限制了时序电路中可以正常工作的信号的最高频率,从而影响了电路的性能。安排有用的时钟偏差是提高数字集成电路性能的一种非常有效的手段。
当前先进的集成电路工艺水平已经进入深亚微米阶段,而光刻精度并没有相应的提高,使得集成电路工艺参数与设计值有一定的偏差。这导致制造出来的芯片中的数据信号的延迟和时钟信号的延迟呈现一定的概率分布特性。这种信号延迟的随机变化性可能导致电路时序的不正确。而时序不正确是高速数字集成电路成品率损失的主要因素。因此,在对时钟系统的时钟偏差安排时有必要考虑信号延迟的不确定性,以提高最终芯片的成品率。
在安排时钟偏差时,时钟周期和成品率是两个互相制约的优化目标。早期文献中的算法基本上都是以减小时钟周期为主要优化目标,但是都没有去验证最后的成品率。考虑到工艺参数的不确定性,文献[1][2]预先给每个时钟偏差的可行范围的上下边界设定一个安全余量(slack),即有意的预先缩紧时钟偏差的可行范围。然后在新的可行范围中去优化时钟周期,这样可以保证电路有一定的工艺偏差容忍性。另外一种方法认为,如果把所有的时钟偏差安排在其可行范围的中点,会增强电路对工艺偏差的容忍性。据此,文献[3]把时钟偏差安排问题归结为最小平方误差问题,[3][4]提出不同的优化总的中值误差平方之和的算法。但是,这种算法为了减小总的中值误差平方和,使得某些时钟偏差的安全余量接近零,这不利于提高成品率。
在实际的集成电路设计中,时钟周期通常是固定的。针对这种情况,文献[5]提出在一定时钟周期下的成品率驱动的时钟偏差安排的算法,其中的Prop算法首先按比例分配最关键环中的时钟偏差的安全余量,然后用基于最小均值环(minimum mean cycle)的算法平均的分配剩下的时钟偏差的安全余量。
参考文献 J.P.Fishbum.Clock skew optimization[J].IEEE Transaction on Computers,1990,39(7)945-951[2]R.B.Deokar and S.S.Sapatnekar.A graph-theoretic approach to clock skew optimization[C]//Proceedings of IEEE International Symposium on Circuits and Systems,London,1994407-410[3]J.L.Neves and E.G.Friedman.Optimal clock skew scheduling tolerant to process variations[C]//Proceedings of IEEE/ACM International Conference on Design Automation,Las Vegas,NV,1996623-628[4]I.S.Kourtev,and E.G.Friedman.Clock skew scheduling for improved reliability via quadraticprogramming[C]//Proceedings of IEEE/ACM International Conference on Computer AidedDesign,San Jose,CA,1999239-243[5]J.-L.Tsai,D.H.Baik,C.C.-P.Chen and K.K.Saluja.Yield-driven,false-path-aware clock skewscheduling[J].IEEE Design & Test of Computers,2005,22(3)214-222[6]T.H.Cormen,C.E.Leiserson,R.L.Riverst and C.Stein.Introduction to Algorithms[M].Second Edition.Cambridge,MassachusettsMcGraw-Hill Book Company,2001[7]M.Hartmann,J.B.Orlin.Finding minimum cost to time ratio cycles with small integraltransit times[J].Networks,1993,23567-574发明内容本发明的目的在于提出一种在工艺参数变化下成品率驱动的时钟偏差安排的方法。
下面首先介绍本发明要解决的问题,然后介绍本发明提出的统计时序约束图的概念及建立方法,然后在此基础上,提出一种考虑工艺参数变化的时钟偏差安排方法。
一、本发明要解决的问题图1所示的是一个简单的同步时序电路。其中,时钟信号没有画出来,带有阴影的椭圆表示触发器之间的组合电路。
在同步时序电路中,时钟信号到达每个触发器的时延通常不会是完全一致的,即有一定的偏差sij=Ti-Tj(1)其中,Ti和Tj分别是时钟信号到达触发器FFi和触发器FFj的时间,这种偏差被称为时钟偏差。通常,我们只关心时序相邻(sequential adjacent)的触发器之间的时钟偏差。如果两个触发器之间有组合电路相连,则称这两个触发器是时序相邻的。
为了保证数据被完整的接收和发送,时钟偏差要满足建立时间和保持时间的约束Thold-dij≤sij≤TCP-Dij-Tsetup(2)其中Thold和Tsetup分别指数据的保持时间和建立时间,TCP表示时钟周期。Dij和dij分别表示触发器和FFi触发器FFj之间的组合电路的最大时延和最小时延。
当工艺参数变化时,不等式(2)中的Dij和dij都不是固定的,而是呈现一定的概率分布特性。另外,即使在安排好时钟偏差后,一方面由于指定偏差的时钟布线算法的不完善,另一方面由于不同时钟路径的时延受工艺参数的影响不同,最终的时钟偏差与预先设定值sij不可能完全一致。这两种不确定性就会导致在工艺参数变化时有一定概率破坏触发器的建立时间和保持时间的约束条件,即时钟偏差的约束条件。
在实际的集成电路设计中,时钟周期通常是固定的。本发明针对这种情况,提出一种在给定时钟周期下合理安排有用时钟偏差的方法,以助于提高集成电路的成品率。
二、统计时序约束图的建立方法形如不等式(2)所示的约束条件是一个差值约束系统(difference constraint system),可以用一个带权的有向图来表示[6]。由此,一个电路图可转换成一个时序约束图GC[2]。假如数据由触发器FFi流向触发器FFj,那么由FFi指向FFj的边被称作h边,其权值为dij-Thold,由FFj指向FFi的边被称作s边,其权值为TCP-Dij-Tsetup。
假设进行统计静态时序分析后,触发器FFi和触发器FFj之间的组合电路的时延近似服从高斯分布。最大时延 的均值和方差分别是 和 最小时延 的均值和方差分别是 和 这样, 的均值和方差分别是 和 的均值和方差分别是 和 由此,我们把传统的时序约束图延伸为统计的时序约束图。每条边的权重由均值和标准偏差组成,即(μ,σ)。图2表示图1电路对应的统计时序约束图。其中,T1,T2,T3和T4表示相对的时钟到达时间。
三、时钟偏差安排方法安排时钟偏差,是要确定统计时序约束图中所有时序相邻的触发器之间的时钟偏差。下面具体介绍本发明时钟偏差安排的方法及步骤。先根据静态时序分析的结果建立统计时序结束图。
1.1寻找关键环在安排时钟偏差前,需要先找出关键环。在统计时序约束图中,一个环是否是关键环由两个因素决定边的权重的均值和标准偏差。不考虑各条边的相关性,一个环中所有边的权重之和的均值为 标准偏差为 因此,比值
Σe∈ckμ(e)Σe∈ckσ2(e)---(3)]]>最小的环即是关键环。但是,在图中寻找上述比值最小的环的难度很大。
为此,我们定义下面的比值b=Σe∈ckμ(e)Σe∈ckσα(e)---(4)]]>最小的环为最关键环c,ck表示一个环中的所有的边的集合,μ(e)和σ(e)分别表示边e的权重的均值和标准偏差,α取值范围为1≤α≤2。在实际过程中,α可以任取一个在1和2之间的值,比如1.5。还可以采用二分查找法,寻找一个使得 和 接近的α值。
如果把均μ(e)当作费用,而把标准偏差的幂σα(e)当作时间。这样,在统计时序约束图中寻找关键环的问题就转换成最小费用/时间比值环问题。最小费用/时间比值环问题可参见文献[7]。
1.2分配安全余量环中的一条边evi,vj对应的时钟偏差的安全余量定义为Tslack(evi,vj)=μ(evi,vj)-(Tvj-Tvi)---(5)]]>那么,环上的所有的边的安全余量之和为Ttot_slack(c)=Σevi,vj∈cTslack(evi,vj)=Σevi,vj∈cμ(evi,vj)---(6)]]>通常,触发器之间的组合电路的长路径的时延随机变化性比短路径的大,所以平均分配环里的每条边的安全余量不利于提高成品率[5]。在本发明的算法中,每次找到最关键环c后,按照下式Tslack(evi,vj)=σα(evi,vj)Σe∈cσα(e)Ttot_slack(c)=σα(evi,vj)Σe∈cσα(e)Σe∈cμ(e)---(7)]]>即根据路径时延的标准偏差按比例分配每条边的安全余量。
1.3压缩统计时序约束图与文献[5]中的最小均值环算法类似,分配好关键环中每条边的安全余量后,将关键环压缩成一个超点。同时,要更新环内的点与环外的点相连的边的权重。假设在分配安全余量后环内一个顶点vi的时钟到达时间为Tvi,那么由环外点vj指向环内点vi的边的权重的均值变为μ(evj,vi)Tvi,由环内点vi指向环外点vj的边的权重的均值变为μ(evj,vi)+Tvi。但是,边的权重的标准偏差保持不变。
每当将关键环压缩成一个超点时,需要将关键环中的点和压缩得到的超点的关系插入到一棵关系树(森林)中,如图3所示。其中,关键环中的点是压缩得到的超点的孩子节点。注意,孩子节点也可能是前面过程压缩得到的超点。每个节点中的数值表示本次迭代过程中暂时设定的时钟到达时间。
1.4重复上述过程、计算最终的时钟偏差将关键环压缩成一个超点并更新相应的边的权重后,在新的图中继续寻找最小费用/时间比值环,然后按照公式(7)分配安全余量,直到图中只剩下一个超点或者图的边的条数为0。注意,如果算法结束时超点个数大于1而边的条数为0,则说明原始电路是由若干个没有数据交换的部分组成的。
在分配好所有的时钟偏差的安全余量后,还需要重新去计算时钟信号到所有的触发器的相对到达时间。最后,通过遍历这棵树(森林)获得最终的时钟到达时间。每个叶节点代表一个触发器,它的真实时钟到达时间是它的所有上层节点时钟到达时间之和。
综上,本发明关于时钟偏差安排方法可归纳为如下具体步骤步骤1根据统计静态时序分析的结果建立统计时序约束图;步骤2根据(4)式查找关键环;步骤3根据(7)式分配安全余量;步骤4将关键环压缩成一个超点,更新相应边的权重的均值;步骤5重复步骤2到步骤4,直到图中只剩下一个超点或者图的边的条数为0;步骤6遍历如图3所示的树(森林),计算所有叶节点(代表触发器)的真实的时钟到达时间。根据每个触发器的时钟到达时间,即可按(1)式得到时序相邻的触发器的时钟偏差。
发明的特点是1、提出统计时序约束图的概念,每条边的权重由均值和标准偏差组成。利用统计时序分析的结果,将时序电路转换成统计时序约束图。
2、寻找关键环时,同时考虑每条数据路径时延的均值和标准偏差的影响。并且,判断关键环的公式中包含一个调节因子α(1≤α≤2)。这样可以根据不同电路和工艺条件而设置不同的因子,使得寻找到的关键环是最接近真实的关键环。
3、根据各条边所对应的数据时延的标准偏差不同而按一定比例分配关键环中每条边的安全余量,即每条边的安全余量的比值等于相应的时延的标准偏差的比值的α次方。
本发明具有如下优点1、提出统计时序约束图的概念,能够清晰准确的描述统计时序分析的结果对时钟偏差的约束关系。
2、给出一种新的判断关键环的标准,根据不同电路和工艺条件而设置不同的因子,使得寻找到的关键环是最接近真实的关键环。同时,按照这种新的标准,可以直接利用计算机图论中的最小费用/时间比值环(minimum cost-to-time ratio cycle)算法寻找关键环。
3、在关键环中安排时钟偏差时,使得每条边的安全余量的比值等于相应的数据路径时延的标准偏差的比值的α次方,这样可以使得在工艺偏差下电路时序满足要求的概率增大,有助于提高芯片的成品率。而且,计算工作量大为减少。


图1同步时序电路。
图2统计时序约束图。
图3数据结构。
具体实施例方式
下面通过具体实例进一步说明本发明。
使用ISCAS’89的标准测试电路,其中包括触发器和组合电路。在安排时钟偏差前,需要做统计时序分析,获得时序相邻的触发器之间的最大时延和最小时延的概率分布信息。在做统计时序分析时,假设每个逻辑门的时延服从相互独立的高斯分布N(μ,σ2)。实验中,选取μ=1ps和σ=0.15ps。
我们使用本发明的方法安排时钟偏差,此外还采用文献[5]中的Prop算法安排时钟偏差,以进行比较。下表中第6列表示了直接设定α为1.5时采用本发明方法后所得到的时序成品率,第7列表示了采用二分查找法计算出的α值及相应的时序成品率。


从上面的实验结果可以看出,采用本发明方法安排时钟偏差,时序成品率平均可以提高5.6%左右。
实验结果表明,在成品率驱动的时钟网络设计中,可以首先应用本发明方法进行时钟偏差的安排,然后进行时钟布线及缓冲器插入。本发明方法有利于提高芯片的成品率。
权利要求
1.一种工艺参数变化下成品率驱动的时钟偏差安排方法,其特征在于具体步骤如下步骤1根据统计静态时序分析的结果建立统计时序约束图在同步时序电路中,时钟信号到达每个触发器的时延有一定的偏差sij=Ti-Tj(1)其中,Ti和Tj分别是时钟信号到达触发器FFi和触发器FFj的时间,这种偏差被称为时钟偏差;为了保证数据被完整的接收和发送,时钟偏差要满足建立时间和保持时间的约束Thold-dij≤sij≤TCP-Dij-Tsetup(2)其中Thold和Tsetup分别指数据的保持时间和建立时间,TCP表示时钟周期,Dij和dij分别表示触发器和FFi触发器FFj之间的组合电路的最大时延和最小时延;形如不等式(2)所示的约束条件是一个差值约束系统,用一个带权的有向图来表示,一个电路图转换成一个时序约束图GC,假如数据由触发器FFi流向触发器FFj,那么由FFi指向FFj的边被称作h边,其权值为dij-Thold,由FFj指向FFi的边被称作s边,其权值为TCP-Dij-Tsetup;步骤2计算根据(4)式查找关键环b=Σe∈ckμ(e)Σe∈ckσα(e)---(4)]]>最小的环为最关键环c,ck表示一个环中的所有的边的集合,μ(e)和σ(e)分别表示边e的权重的均值和标准偏差,α取值范围为1≤α≤2;步骤3根据(7)式分配安全余量环中的一条边evi,vj对应的时钟偏差的安全余量定义为Tslack(evi,vj)=μ(evi,vj)-(Tvj-Tvi)---(5)]]>那么,环上的所有的边的安全余量之和为Ttot_slack(c)=Σevi,vj∈cTslack(evi,vj)=Σevi,vj∈cμ(evi,vj)---(6)]]>每次找到最关键环c后,按照下式Tslack(evi,vj)=σα(evi,vj)Σe∈cσα(e)Ttot_slack(c)=σα(evi,vj)Σe∈cσα(e)Σe∈cμ(e)---(7)]]>即根据路径时延的标准偏差按比例分配每条边的安全余量;步骤4将关键环压缩成一个超点,更新相应边的权重的值;每当将关键环压缩成一个超点时,要将关键环中的点和压缩得到的超点的关系插入到关系树中;步骤5重复步骤2到步骤4,直到图中只剩下一个超点或者图的边的条数为0;步骤6遍历关系树,计算代表触发器的所有叶节点的真实的时钟到达时间。根据每个触发器的时钟到达时间,按(1)式得到时序相邻的触发器的时钟偏差。
全文摘要
本发明属于集成电路技术领域,具体为一种成品率驱动的时钟偏差安排方法。该方法的步骤包括根据统计静态时序分析的结果建立统计时序约束图;对该约束图寻找关键环,并重新分配安全余量;然后将关键环压缩成一个超点,更新相应边的权重的均值,将关键中的点和压缩得到的超点的关系插入关系树中;如此重复,直到图中只剩下一个超点或图中边的条数为0;最后遍历关系树,计算代表触发器的所有叶节点的真实的时钟到达时间,从而获得时序相邻的触发器的时钟偏差。本发明方法充分考虑了信号延迟的不确定性,有利于提高芯片的成品率。
文档编号G06F17/50GK101038602SQ200710039658
公开日2007年9月19日 申请日期2007年4月19日 优先权日2007年4月19日
发明者方君, 陆伟成, 赵文庆 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1