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

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

Info

Publication number
CN102054089A
CN102054089A CN2010105102963A CN201010510296A CN102054089A CN 102054089 A CN102054089 A CN 102054089A CN 2010105102963 A CN2010105102963 A CN 2010105102963A CN 201010510296 A CN201010510296 A CN 201010510296A CN 102054089 A CN102054089 A CN 102054089A
Authority
CN
China
Prior art keywords
clock period
circuit
optimum
integrated circuit
clock cycle
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.)
Granted
Application number
CN2010105102963A
Other languages
English (en)
Other versions
CN102054089B (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 Delay Test 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 in VLSI (ARVLSI'95)上第342页的文章“On the performance of level-clocked circuits”) 的电平敏感的透明锁存器作为时序单元。因此,如何对带有透明锁存器的电路进行速度分级优化,即找到一个最优的分级方法使得电路产品收益最大化,成为当前集成电路产业亟待解决的关键问题之一。
已有的传统速度分级策略通常将电路设计的收益定义为销售利润,即在制定的价格上卖掉所有电路产品的销售所得。销售利润完全依赖于每一个周期等级的电路产品数目和出售价格。基于这一理论,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 Variations Considering Speed Binning”一文中提出通过定义与电路正常工作周期相关的价格函数和基于该函数的价格加权模型来评价电路设计的收益。但是仅考虑销售利润的收益模型在实际生产应用中是不够完整的。在现代集成电路生产中,在电路总成本中所占比重日益显著的频率测试成本必须被纳入收益模型的考量范围。为了进行正确的速度分级,需要在各等级分界处的时钟周期点对电路进行功能或结构测试。测试成本会随着周期等级数目的增加而上升,从而降低设计收益。因此一个具有实际意义的收益模型不仅包括销售利润,还必须计入测试成本。
目前,就我们所知,仅A. Datta等人发表的“Profit Aware Circuit Design Under Process Variations Considering Speed Binning”一文在速度分级优化方面进行了简单的探讨,提出了一种启发式方法,通过优化周期等级分界点来最大化销售利润。即每次按指定步长移动一个周期分界点,若能够提高销售利润,则认为这一移动是可以接受的。但这一方法的最优性难以保证,且每次移动的步长也难以预测。
此外,为了顺利完成速度分级,首先需要采用统计静态时序分析(SSTA)预测电路的最小时钟周期的统计分布。目前已有的绝大多数统计静态时序分析算法都是针对边沿触发器电路的。但速度分级方法通常更多地用于处理带有透明锁存器的电路系统。由于锁存器的信号输出时间与其输入时间有关,在进行时序分析时需要同时考察所有回路上的时间约束,因此对这种电路的统计静态时序分析是一个更加复杂的问题。传统方法,如R. Chen和H. Zhou在2006年发表于IEEE Trans. on CAD第25(9)期1847-1855页的“Statistical Timing Verification of Transparently Latched Circuits”一文中所提出的锁存器电路时序分析方法等,通常是针对时钟验证问题,通过不断迭代更新透明锁存器输入、输出端的统计到达时间和检测电路中的负环来计算某个给定时钟周期处的电路良产率。但这一类方法难以得到包含所有时钟频率点的随机时钟周期分布,除非在每一个可能的时钟周期点都采用这类SSTA方法以求得该处的良率,而这是非常耗时的。此外,由于在迭代过程中,时序随机变量需要根据前数次的迭代结果进行更新,而前数次的该变量本身和本次迭代的变量之间具有统计相关性,这将引起这类算法中的统计自相关现象,最后或多或少地导致这些算法的随机到达时间的无法收敛的问题。另外,已有方法通常假设工艺偏差具有高斯分布的特性,而这一假设在实际IC生产中并不一定满足。
因此,亟需一种改进的速度分级优化方法,用于处理带有透明锁存器的电路系统进行优化速度分级,克服现有技术的不足,提高效益,降低生产成本。
发明内容
本发明的主要目的是针对上述带有透明锁存器的数字集成电路的速度分级优化问题,在同时考虑销售利润和测试成本的前提下,寻找最优的时钟周期等级分界点和测试顺序以最大化电路设计的收益,从而提出在工艺偏差影响下的带有透明锁存器的数字集成电路的速度分级优化方法。
为实现上述发明目的,本发明所提出的带有透明锁存器的数字集成电路速度分级优化方法,主要包括以下步骤:
步骤1:采用基于通用随机配置法和稀疏网格采样技术的SSTA方法对工艺偏差影响下的带有透明锁存器的数字集成电路进行分析,通过将随机问题转化为一组在特定采样点处的固定问题来求出最小时钟周期累计密度分布函数CDF。与已有技术相比,这一方法不仅能够避免随机到达时间的收敛性问题,还能够以很低的计算复杂度和较高的求解精度得到任意分布的工艺偏差影响下的透明锁存器电路工作时钟周期的随机分布。
步骤2:根据步骤1得出的最小时钟周期累计密度分布函数CDF,采用贪婪算法确定时钟周期等级分界点的最优位置,从而最大化销售利润。在每次优化过程中,针对目标函数的单峰性,从理论上保证每次求解的最优性。而已有的启发式方法不具有理论最优性的保证。
步骤3:将测试成本的优化问题转化为基于时钟周期等级的字母序二叉树带权最短路径问题,以计算复杂度仅为的优化方法确定周期等级分界点的最优测试顺序,从而最小化测试成本。传统的速度分级方法通常不考虑测试成本的最小化。
有利的是,应用本发明提出的方法,通过对时钟周期等级分界点以及测试顺序的优化,最大化销售利润的同时最小化测试成本,不仅能够通过随机配置法以很低的计算复杂度和很高的求解精度得到透明锁存器电路的工作时钟周期分布,避免随机到达时间求解中的收敛性问题;而且能够从理论上保证在采用贪婪算法确定周期等级分界点以最大化销售利润时,每次迭代计算的最优性;还能够以计算复杂度仅为
Figure 274641DEST_PATH_IMAGE002
的优化方法确定周期等级分界点的最优测试顺序,从而最小化测试成本。
另外,这一方法同样适用于任意分布工艺偏差影响下的边沿触发器电路的速度分级优化,只需要将触发器断开,并将其输入输出作为电路的基本输入和基本输出处理即可。
附图说明
图1是本发明所提出的速度分级优化方法的步骤流程图;
图2是计算最小时钟周期累计密度分布函数CDF的步骤流程图;
图3是计算最优时钟周期等级分界点的步骤流程图;
图4是确定时钟周期等级分界点的最优测试顺序的步骤流程图;
图5是一个电路设计的速度等级划分示意图,包括该电路设计的工作周期累计密度分布函数、电路价格函数和划分为六个等级的速度分级策略; 
图6的示意图是针对图2中电路设计的最优字母序二叉树;
图7是s13207电路的时钟周期统计分布CDF函数和三种价格曲线(线性曲线、二阶曲线和三阶曲线);以及
图8是s13207电路的速度分级优化结果。
具体实施方式
本发明针对带有透明锁存器的数字集成电路的速度分级优化问题,在同时考虑销售利润和测试成本的前提下,寻找最优的时钟周期等级分界点和测试顺序以最大化电路设计的收益。
根据本发明的原理,其技术方案主要包括统计周期计算,销售利润最大化计算,以及测试成本最小化计算三个方面。下面结合图1-图4的方法流程图来描述其如下具体步骤:
步骤1:计算带有透明锁存器的数字集成电路的最小时钟周期的统计分布,可以采用基于通用随机配置法(gSCM,generalized Stochastic Collocation Method)和稀疏网格采点技术(Sparse-Grid Sampling)的统计静态时序分析方法计算透明锁存器电路的最小时钟周期的统计分布。
Figure 537312DEST_PATH_IMAGE006
表示通过PCA或ICA对具有相关性的工艺偏差处理后得到的一组独立的具有任意分布的随机变量,则给定锁存器电路的随机最小时钟周期
Figure 675032DEST_PATH_IMAGE008
可以采用
Figure 527451DEST_PATH_IMAGE006
的通用多项式展开(gPC, generalized Polynomial Chaos来逼近,如(1.1)所示,
                    
Figure 16201DEST_PATH_IMAGE009
                     (1.1)
这里的表示时钟周期的真实值,而
Figure DEST_PATH_IMAGE011
是近似值。
Figure DEST_PATH_IMAGE013
是随机工艺参数的个数,
Figure DEST_PATH_IMAGE015
是所采用的多项式的最高阶数,
Figure DEST_PATH_IMAGE017
表示
Figure 135652DEST_PATH_IMAGE013
阶的通用多项式展开,
Figure DEST_PATH_IMAGE019
是这一多项式的阶数。未知系数
Figure 893393DEST_PATH_IMAGE021
如图2所示,可通过以下三个分步骤求出:
分步骤101:采用通用稀疏网格技术生成
Figure 603860DEST_PATH_IMAGE023
的一组配置点
Figure 738038DEST_PATH_IMAGE025
,这里
Figure 115930DEST_PATH_IMAGE027
是配置点的数目。令
Figure 185517DEST_PATH_IMAGE029
Figure 242335DEST_PATH_IMAGE031
表示第
Figure 55570DEST_PATH_IMAGE033
Figure 147023DEST_PATH_IMAGE035
阶精度高斯积分所对应的配置点(即多项式
Figure 121932DEST_PATH_IMAGE037
的根)和权重,则由稀疏网格技术所产生
Figure 931625DEST_PATH_IMAGE039
阶精度
Figure 282972DEST_PATH_IMAGE041
维积分的配置点可由
Figure 635456DEST_PATH_IMAGE029
张量积的线性组合得到,如(1.2)所示,
                             
Figure DEST_PATH_IMAGE042
                              (1.2)
这里
Figure 374742DEST_PATH_IMAGE044
。配置点
Figure 406152DEST_PATH_IMAGE046
对应的权重如式(1.3)所示,
                                       (1.3)
分步骤102:在每一个配置点
Figure 92348DEST_PATH_IMAGE049
处,求解固定工艺参数下的静态时序分析问题,得到最小时钟周期
Figure 768180DEST_PATH_IMAGE051
。固定工艺参数下透明锁存器电路的静态时序分析需分别检测建立时间约束和保持时间约束是否满足,其主要步骤如下:
子步骤1021:建立SMO约束形式所对应的有向时序图
Figure 881629DEST_PATH_IMAGE053
。顶点集合表示电路的基本输入、输出,和所有元器件(包括门和锁存器)的输出端。边集合
Figure 624643DEST_PATH_IMAGE057
表示门和锁存器端点之间的时间弧。
子步骤1022:根据SMO模型中的建立时间约束和有向时序图
Figure 420561DEST_PATH_IMAGE053
,构造建立时间约束图
Figure 704912DEST_PATH_IMAGE059
时序图
Figure DEST_PATH_IMAGE060
中,令
Figure DEST_PATH_IMAGE062
表示
Figure DEST_PATH_IMAGE064
顶点处的最晚(最早)到达时间,
Figure DEST_PATH_IMAGE066
表示时间弧上的最大(最小)延迟。假设所有的锁存器由同一时钟控制,该时钟的周期为
Figure DEST_PATH_IMAGE070
,使能时间为。令,则SMO模型中的建立时间约束可表示如下:
Figure 976493DEST_PATH_IMAGE075
是一个门单元,
                                
Figure DEST_PATH_IMAGE076
                                  (1.4)
Figure 597967DEST_PATH_IMAGE078
是一个锁存器,
                                                                   (1.5)
基于以上不等式,构造新的建立时间约束图。顶点集合
Figure 603467DEST_PATH_IMAGE055
与图
Figure DEST_PATH_IMAGE083
的顶点集合是一样的。令
Figure DEST_PATH_IMAGE085
Figure DEST_PATH_IMAGE087
分别代表边
Figure DEST_PATH_IMAGE089
所对应的成本函数(cost function)和利润函数(gain function),边集合
Figure 231894DEST_PATH_IMAGE090
可以由如下步骤建立:1)增加一个源顶点,令其到达时间
Figure 267983DEST_PATH_IMAGE092
。2)对每一个不等式
Figure 487612DEST_PATH_IMAGE094
,增加从顶点
Figure 609152DEST_PATH_IMAGE096
到顶点
Figure 447795DEST_PATH_IMAGE098
的边。3)对于每一条新增加的边,令其成本函数
Figure 603970DEST_PATH_IMAGE100
,利润函数
Figure 994500DEST_PATH_IMAGE102
 
子步骤1023:采用R. A. Howard在1960年出版的Dynamic Programming and Markov Process一书中给出的Howard’s算法求解建立时间约束图的最小周期率问题,得到建立时间约束所对应的最小工作周期
Figure DEST_PATH_IMAGE106
对于图中的环
Figure DEST_PATH_IMAGE108
,定义周期率
Figure 573565DEST_PATH_IMAGE110
为所有边的成本函数之和与利润函数之和的比例, 
                                                 (1.6)
采用Howard’s 算法求解图
Figure 21044DEST_PATH_IMAGE059
的最小周期率,得到建立时间约束所对应的最小工作周期
                                                              (1.7)
子步骤1024:采用与子步骤1022和子步骤1023完全类似的方法求出保持时间约束所对应的最小工作周期
Figure 422256DEST_PATH_IMAGE115
子步骤1025:根据步骤1023得到的
Figure 553023DEST_PATH_IMAGE106
和子步骤1024得到的
Figure DEST_PATH_IMAGE116
,确定电路在配置点
Figure 160722DEST_PATH_IMAGE117
处的最小工作周期:如果
Figure 587341DEST_PATH_IMAGE119
,则电路的最短周期是
Figure 572614DEST_PATH_IMAGE121
;如果,则由于同时满足建立时间约束和保持时间约束的时钟周期不存在,这个电路设计是失败的。
接下来,回到图2中所示,步骤1的分步骤103:
分步骤103:采用Galerkin算法计算式(1.1)中的未知系数
Figure 156359DEST_PATH_IMAGE125
,得到透明锁存器电路的随机最小时钟周期
Figure DEST_PATH_IMAGE127
的表达式,并根据表达式计算
Figure 803241DEST_PATH_IMAGE127
的CDF。
Galerkin方法通过最小化
Figure 111863DEST_PATH_IMAGE051
Figure 592523DEST_PATH_IMAGE129
之间的误差来求得最优解,即令,
                            
Figure DEST_PATH_IMAGE130
                             (1.8)
上式是一个多维积分,可通过数值积分计算得到,
                         
Figure DEST_PATH_IMAGE131
                          (1.9)
其中表示第
Figure 804379DEST_PATH_IMAGE039
个配置点,
Figure DEST_PATH_IMAGE133
是其对应的权重,是子步骤102中求出的
Figure 21000DEST_PATH_IMAGE135
在配置点处的真实值。得到未知系数
Figure 664788DEST_PATH_IMAGE125
后即可根据式(1.1)求出的CDF。
下面,仍回到图1所示根据本发明的透明锁存器数字集成电路速度分级优化方法的主流程图中。
步骤2:根据步骤1所得出的最小时钟周期累计密度分布函数来确定速度分级的最优分界点以最大化销售利润,可以采用贪婪算法进行计算。
为电路可正常工作的最短时钟周期,
Figure 162131DEST_PATH_IMAGE139
为步骤1计算出的工作周期的累计密度分布函数CDF,
Figure 829873DEST_PATH_IMAGE141
为相应的概率密度分布函数PDF。
Figure 498751DEST_PATH_IMAGE143
为电路价格函数,
Figure 492115DEST_PATH_IMAGE145
为所需划分的速度等级个数。则使得销售利润
Figure 839920DEST_PATH_IMAGE147
最大化的最优时钟周期分界点
Figure 842511DEST_PATH_IMAGE149
可通过以下2个分步骤确定,如图3所示:
分步骤201:确定周期分界点
Figure 834738DEST_PATH_IMAGE151
Figure 999003DEST_PATH_IMAGE153
Figure 834104DEST_PATH_IMAGE155
Figure 374806DEST_PATH_IMAGE157
Figure 822285DEST_PATH_IMAGE161
Figure 223497DEST_PATH_IMAGE165
,其中
Figure 455895DEST_PATH_IMAGE167
是可被售出的所有电路的最短时钟周期的最大值,由设计者确定。
Figure 227542DEST_PATH_IMAGE169
是由漏电功耗约束决定的电路可正常工作的最短时钟周期,通过将功耗约束简化为最小周期约束
Figure 647022DEST_PATH_IMAGE171
即可得到。
分步骤202:运行贪婪算法确定时钟周期等级分界点
Figure DEST_PATH_IMAGE173
的位置。主要步骤是通过不断循环迭代求解两个相邻周期等级间的利润优化问题,直到优化目标不能再被改进为止。
其中,两个相邻周期等级间的利润优化问题,可以定义为:给定定义在区间
Figure 123003DEST_PATH_IMAGE175
上的
Figure 475486DEST_PATH_IMAGE139
Figure 886876DEST_PATH_IMAGE143
,寻找最优的
Figure 324811DEST_PATH_IMAGE177
,从而最大化销售利润
Figure DEST_PATH_IMAGE179
。这个问题可以通过在区间
Figure 604482DEST_PATH_IMAGE175
内求解
Figure DEST_PATH_IMAGE181
得到最优解。
这种做法的前提是
Figure 280314DEST_PATH_IMAGE183
在区间
Figure 393764DEST_PATH_IMAGE175
内是单峰的,这里给出
Figure 912470DEST_PATH_IMAGE183
单峰性证明,以保证上述方法的理论正确性:
          (2.1)
假设
Figure DEST_PATH_IMAGE187
都是二接可导的,
Figure 605619DEST_PATH_IMAGE185
Figure 544942DEST_PATH_IMAGE189
是非负的,那么
Figure 426311DEST_PATH_IMAGE191
的单峰性可以证明如下:
引理1:是单峰的,当且仅当:
Figure 635892DEST_PATH_IMAGE193
,使
Figure 684620DEST_PATH_IMAGE195
证明:如果
Figure 353816DEST_PATH_IMAGE191
不是单峰的,那么至少存在一个极小值,根据极小值点的定义,可得
Figure DEST_PATH_IMAGE199
 
引理2:如果
Figure 875113DEST_PATH_IMAGE200
是单调递减的,且
Figure 465494DEST_PATH_IMAGE202
都满足
Figure 835295DEST_PATH_IMAGE204
,则
Figure 584946DEST_PATH_IMAGE205
上是单峰的。
证明:反证法。假设有
Figure DEST_PATH_IMAGE208
满足上式条件但不是单峰的,则根据引理1有,
Figure 367591DEST_PATH_IMAGE210
,使
Figure DEST_PATH_IMAGE211
Figure 971748DEST_PATH_IMAGE212
,那么
                        (2.2)
Figure DEST_PATH_IMAGE215
代入
Figure 2020DEST_PATH_IMAGE217
,可得
Figure DEST_PATH_IMAGE218
     (2.3)
由于
Figure 98152DEST_PATH_IMAGE220
Figure 278598DEST_PATH_IMAGE222
,和题干条件相悖,由此得出引理2正确。
 
定理1:如果
Figure 143786DEST_PATH_IMAGE223
是单调递减的凸函数,
Figure DEST_PATH_IMAGE224
在其定义域满足,则是单峰的。
证明:因为
Figure DEST_PATH_IMAGE230
,可得
Figure 37158DEST_PATH_IMAGE231
                                      (2.4)
根据引理2,可得
Figure 225694DEST_PATH_IMAGE208
是单峰的。
 
推论1:如果
Figure 535453DEST_PATH_IMAGE223
是单调递减的凸函数,
Figure 199652DEST_PATH_IMAGE224
是高斯、Rayleigh或者均匀分布的,则
Figure 253059DEST_PATH_IMAGE208
是单峰的
证明:高斯函数
Figure 561681DEST_PATH_IMAGE233
、Rayleigh函数
Figure 42341DEST_PATH_IMAGE235
和均匀分布函数
Figure 600361DEST_PATH_IMAGE237
都满足
Figure DEST_PATH_IMAGE238
,由此可得此推论。
 
最后,再回到图1所示根据本发明的透明锁存器数字集成电路速度分级优化方法的主流程图中,步骤3的具体如下:
步骤3:基于字母序二叉树的带权最短路径求解方法确定时钟周期等级分界点的最优测试顺序,例如,采用
Figure DEST_PATH_IMAGE240
计算复杂度的算法,以最小化测试成本。
Figure DEST_PATH_IMAGE242
为步骤2计算出的最优时钟周期等级分界点,则为了完成电路的速度划分,需要进行测试的时钟周期分界点为
Figure DEST_PATH_IMAGE244
。设表示处于边界
Figure DEST_PATH_IMAGE248
Figure DEST_PATH_IMAGE250
之间的所有时钟周期等级,
Figure DEST_PATH_IMAGE252
表示处于中的电路占所有电路的百分比。这样对于第
Figure 604275DEST_PATH_IMAGE255
个等级,
Figure 521415DEST_PATH_IMAGE257
。假设单个电路在一个频率测试点处的测试成本设为1,那么测试成本
Figure 769994DEST_PATH_IMAGE259
,这里
Figure 165203DEST_PATH_IMAGE261
表示在
Figure DEST_PATH_IMAGE263
中每个电路所需的测试次数。则通过以下三个子步骤可以求出使得测试成本最小化的最优阶数分配
Figure 573051DEST_PATH_IMAGE265
,进而求出最优测试顺序。步骤3的分步骤如图4所示:
分步骤301:由
Figure 864355DEST_PATH_IMAGE242
计算出每一个时钟周期等级
Figure DEST_PATH_IMAGE268
内的电路数目占所有电路数目的百分比
Figure DEST_PATH_IMAGE270
,并由此确定一棵字母序二叉树的所有叶节点。
这字母序二叉树由两类节点组成,叶节点和内部节点。第
Figure 724864DEST_PATH_IMAGE255
个叶节点表示第
Figure 923764DEST_PATH_IMAGE255
个时钟周期
Figure 61484DEST_PATH_IMAGE263
,其权重为
Figure 54848DEST_PATH_IMAGE270
。所有的叶节点按字母序顺序
Figure DEST_PATH_IMAGE272
排列。内部节点
Figure 402653DEST_PATH_IMAGE253
可由子步骤302得到。
分步骤302:采用基于Hu-Tucker理论的复杂度为
Figure DEST_PATH_IMAGE273A
的优化算法求解上述字母序二叉树的带权最短路径问题,由此得到各时钟周期等级分界点的最优阶数分配
Figure DEST_PATH_IMAGE274
。其主要子步骤如下:
子步骤3021:等级合并。给定叶节点的初始序列
Figure DEST_PATH_IMAGE275
,不断重复选取相邻的两个节点
Figure 670823DEST_PATH_IMAGE253
Figure DEST_PATH_IMAGE277
,使得这两个节点的权重之和
Figure DEST_PATH_IMAGE279
是所有可能的组合中最小的。将这两个节点合并成一个超等级
Figure DEST_PATH_IMAGE281
,其权重为
Figure DEST_PATH_IMAGE283
。然后删去节点
Figure 256525DEST_PATH_IMAGE277
,并用节点
Figure DEST_PATH_IMAGE284AA
替换节点
Figure 748686DEST_PATH_IMAGE253
。如果在节点序列中的两个节点之间仅有内部节点,则认为这两个节点是相邻的。当所有的叶节点最后组合成一个根节点时,该步骤结束。
子步骤3022:阶数标注。根节点的阶数标注为0,然后按照与步骤3021中相反的顺序,从根节点开始标注所有内部节点的阶数。如果一个节点的阶数为
Figure DEST_PATH_IMAGE285
,则其两个子节点的阶数为
Figure DEST_PATH_IMAGE286
。最终可以得到所有叶节点的阶数。
子步骤3023:确定时钟周期等级分界点的最优阶数分配。首先删除步骤3021和步骤3022中所有的内部节点及其对应的阶数。然后将满足如下三个条件的
Figure DEST_PATH_IMAGE284AAA
Figure 646104DEST_PATH_IMAGE288
合并产生新的超等级
Figure DEST_PATH_IMAGE284AAAA
:1)
Figure 390069DEST_PATH_IMAGE253
Figure 627015DEST_PATH_IMAGE288
之间没有其他节点;2)
Figure 962182DEST_PATH_IMAGE253
的阶数是确定的,并且是所有现有节点阶数里面最小的;3)
Figure DEST_PATH_IMAGE289
是所有满足1)和2)的可能组合中数值最小的。这里
Figure DEST_PATH_IMAGE284AAAAA
的阶数是
Figure 799054DEST_PATH_IMAGE253
的阶数减1。这样可以构造一棵新的树,并得到所有内部节点的最优阶数,即各时钟周期等级分界点的最优阶数分配
Figure DEST_PATH_IMAGE274A
分步骤303:根据子步骤302得到的最优阶数分配
Figure DEST_PATH_IMAGE274AA
求得各时钟周期等级分界点的最优测试顺序,其主要步骤如下:
子步骤3031:将阶数等于0的分界点作为第一个测试点。
子步骤3032:阶数增加1,将所有具有该阶数的等级分界点按任意顺序列到紧接着的测试序列中。也就是说,具有同样阶数的等级分界点可以以任何顺序进行测试,总的测试成本相同。重复该步骤,直到所有的等级分界点都被赋予了相应的测试顺序。
 
实例一:
为使本发明的特征和优点更为明显易懂,下面结合具体的测试电路和实施方式对本发明做进一步说明。
对于65纳米工艺下ISCAS’89测试电路实例中的s13207电路,假设该电路中的边沿触发器单元全部换成电平敏感的透明锁存器,并采用50%占空比的单相时钟驱动。同时假设采用二阶延迟模型,其中包含利用PCA或者ICA得到的6个独立的随机变量(即(1.1)式中
Figure DEST_PATH_IMAGE290A
Figure 226493DEST_PATH_IMAGE292
),假定这6个随机变量都具有高斯分布的特性,方差设为对应均值的10%。则采用本发明方法,对该电路进行速度分级优化的具体步骤如下:
步骤1:计算s13207电路的时钟周期统计分布。
    分步骤101:采用通用稀疏网格技术得到6个独立随机变量对应的2阶精度配置点共72个,对应的权重是
Figure DEST_PATH_IMAGE294
    分步骤102:在每一个配置点处,求得该电路的最小时钟周期
Figure 645973DEST_PATH_IMAGE295
    分步骤103:采用(1.9)式计算式(1.1)中的未知系数
Figure 528478DEST_PATH_IMAGE125
,并最终得到s13207电路的时钟周期统计分布CDF函数,如图7所示。
与采样点为10000的蒙特卡洛方法相比,本发明采用的SSTA算法得到的s13207电路时钟周期均值相对误差为0.19%,方差的相对误差为0.97%。另定义
Figure 428704DEST_PATH_IMAGE139
的相对误差为式(1.10)所示,则s13207的
Figure 335481DEST_PATH_IMAGE298
为0.93%,但运行速度提高了177倍。
                         
Figure DEST_PATH_IMAGE299
                         (1.10)
这里
Figure DEST_PATH_IMAGE301
是用于比较的点的个数,是第
Figure 822143DEST_PATH_IMAGE255
个点对应的时钟周期。
Figure 404434DEST_PATH_IMAGE305
表示采用本方法得到的CDF函数,
Figure 329664DEST_PATH_IMAGE307
表示采用蒙特卡罗采样方法得到的CDF。
为了进一步验证这一SSTA算法在特定工艺偏差分布下的计算精度,表格I给出了ISCAS’89的所有30个电路实例中的10个计算结果,包括最好和最差的精度,以及30个电路的平均结果。每个电路均考虑6个随机变量,包括三种分布,高斯分布,均匀分布和Rayleigh分布,方差设为对应均值的10%。从表格中可以看出本发明提出的SSTA方法在三种不同的工艺偏差随机分布情况下都具有很好的逼近精度。与蒙特卡洛方法相比能够在110倍的速度提升中达到0.07%的误差。
表格I     ISCAS’89电路实例的SSTA计算结果比较
Figure DEST_PATH_IMAGE308A
步骤2:采用贪婪算法确定s13207电路速度分级的最优分界点。
假定s13207电路需要划分的时钟周期等级数目为5,价格函数设为二阶凸函数,并且是递减的,如式(2.2)所示,
                       
Figure DEST_PATH_IMAGE309
                         (2.2)
价格函数同样可以设置为线性或三阶的递减凸函数,如式(2.3)所示,
                                
Figure DEST_PATH_IMAGE310A
                                 (2.3)
价格函数中的系数
Figure DEST_PATH_IMAGE311
都采用A.Datta等在2008年IEEE Trans. on VLSI第16(7)期806-815页发表的”Profit Aware Circuit Design Under Process Variations Considering Speed Binning”一文中提出的方法来确定,即保证最短时钟周期的电路与最长时钟周期的电路价格比值为5,
Figure DEST_PATH_IMAGE312A
。图7给出了电路s13207的工作周期
Figure DEST_PATH_IMAGE313
所对应的归一化后的三条价格函数,分别为线性、二阶和三阶函数。
分步骤201:确定周期分界点
Figure 395895DEST_PATH_IMAGE316
,这里为简化实验,假设
Figure DEST_PATH_IMAGE318A
Figure 561614DEST_PATH_IMAGE319
,其中
Figure 183089DEST_PATH_IMAGE321
Figure 364671DEST_PATH_IMAGE323
指的是
Figure 23186DEST_PATH_IMAGE295
的均值和方差。实际生产中可根据具体的电路设计及功耗约束确定。
分步骤202:根据图2所示的贪婪算法确定时钟周期等级分界点
Figure DEST_PATH_IMAGE324
的位置。
表示相对于初始设定的时钟周期等级分界点
Figure 985325DEST_PATH_IMAGE326
而言,通过步骤2调整后得到的利润升值比率。
                 
Figure DEST_PATH_IMAGE327A
                  (2.4)
    其中,通过使得每个时钟周期等级具有相同的良率设定初始的时钟周期等级分界点
Figure DEST_PATH_IMAGE324A
。图8给出步骤2完成后的速度分级优化后的等级分界点结果。
Figure 613753DEST_PATH_IMAGE326
和优化后的时钟周期等级分界点分别用虚线和实线表示。步骤2完成后,s13207的销售利润可提高
Figure DEST_PATH_IMAGE328A
9.92%。
表格II给出了ISCAS’89测试电路采用步骤2得到的利润升值比率。每个电路同样具有6个随机变量,并假设为高斯分布。用于速度等级划分的时钟周期等级数目分别设为5,6,7,价格函数可为线性、二次型或三次型。从表格II中可以看出平均能够得到6.69%的利润提升。并且采用二阶或三阶的价格函数能够得到更高的利润提升。这是因为非线性的价格函数使得具有不同时钟周期的电路销售价格之间的差异更大,从而使得时钟周期等级分界点的位置对销售利润的影响更为重要。
表格II 利润升值比率
Figure 508897DEST_PATH_IMAGE329
为进一步验证本发明在最大化销售利润方面的优化特性,表格III给出了本发明方法与A.Datta等在2008年IEEE Trans. on VLSI第16(7)期806-815页发表的“Profit Aware Circuit Design Under Process Variations Considering Speed Binning”一文中所提出的方法在销售利润和运行时间方面的比较结果。其中,
Figure DEST_PATH_IMAGE331
Figure DEST_PATH_IMAGE333
表示本发明方法的利润升值比率,表示A. Datta等所提出方法的利润升值比率,
Figure DEST_PATH_IMAGE337
表示与A. Datta的方法相比,本发明方法计算速度的提升倍数。这里的时钟周期等级数目定为
Figure DEST_PATH_IMAGE339
Figure DEST_PATH_IMAGE341
。A. Datta的方法中的分界点每次移动的距离设为间距
Figure DEST_PATH_IMAGE343
Figure DEST_PATH_IMAGE345
Figure DEST_PATH_IMAGE347
。但这一距离是完全由经验确定的,距离太大(
Figure 462946DEST_PATH_IMAGE345
)可能会错过最优位置,距离太小(
Figure 850065DEST_PATH_IMAGE347
)则会大大降低算法的运行速度。从表格III中可以看出,本发明所采用的算法能够在远远小于A. Datta等所提出方法的运行时间内,取得更高的利润。
表格III 两种方法的销售利润和运行时间比较
Figure 813342DEST_PATH_IMAGE348
步骤3:基于字母序二叉树的带权最短路径求解方法,确定时钟周期等级分界点的最优测试顺序。
分步骤301:由步骤2确定时钟周期等级分界点
Figure DEST_PATH_IMAGE350
后,可以得到一棵字母序二叉树的所有叶节点
Figure 703937DEST_PATH_IMAGE263
和对应的权重
Figure 969834DEST_PATH_IMAGE270
分步骤302:求解上述字母序二叉树的带权最短路径问题,由此得到各时钟周期等级分界点的最优阶数分配
Figure DEST_PATH_IMAGE352
子步骤3021:等级合并。按照相邻两个节点的权重之和最小的原则,依次得到内部节点
Figure DEST_PATH_IMAGE356
Figure 640987DEST_PATH_IMAGE358
(其中
Figure 418636DEST_PATH_IMAGE360
是根节点)。
子步骤3022:阶数标注。令根节点的阶数为0,则内部节点
Figure DEST_PATH_IMAGE361
Figure 951565DEST_PATH_IMAGE358
的阶数为1,
Figure 663169DEST_PATH_IMAGE354
的阶数为2,叶节点
Figure DEST_PATH_IMAGE363
Figure 590674DEST_PATH_IMAGE367
的阶数为2,
Figure 729531DEST_PATH_IMAGE369
Figure 906435DEST_PATH_IMAGE371
的阶数为3。
子步骤3033:确定时钟周期等级分界点的最优阶数分配,构造最优字母序二叉树。叶节点的阶数依次为,则按照该阶数合并等级,最后确定四个等级分界点的阶数依次为
图8给出了子步骤3033完成后得到的测试电路s13207的速度分级优化结果。分界点的最优阶数分配标在对应边界上。对于最优的分界点阶数
Figure 920024DEST_PATH_IMAGE375
,各时钟周期等级中单个电路需要完成的测试次数为,则所有电路的平均测试次数为
Figure 637630DEST_PATH_IMAGE379
与采用类二叉树搜索阶数
Figure 477410DEST_PATH_IMAGE381
得到的测试顺序相比,
Figure 426912DEST_PATH_IMAGE383
Figure 719353DEST_PATH_IMAGE385
。子步骤3022得到的阶数分配能够使得测试成本降低17.34%。这里的
Figure 576450DEST_PATH_IMAGE387
定义如下:
                              
Figure DEST_PATH_IMAGE388
                               (3.1)
分步骤303:确定各时钟周期等级分界点的最优测试顺序。根据子步骤302得到的最优阶数分配
Figure 864212DEST_PATH_IMAGE375
,最优测试顺序可以为
Figure DEST_PATH_IMAGE390
或者
Figure 984615DEST_PATH_IMAGE392
表格IV给出了采用步骤3得到的ISCAS’89电路的测试成本降低比率。这里定义成本降低比率为,
                        
Figure DEST_PATH_IMAGE393
                          (3.2)
从表格IV中可以看出采用最优测试顺序能够使成本平均降低14%。
表格IV 测试成本降低比率
Figure 623407DEST_PATH_IMAGE394
应用本发明提出的方法,不仅能够通过随机配置法以很低的计算复杂度和很高的求解精度得到透明锁存器电路的工作时钟周期分布,避免求取随机到达时间的收敛性问题;而且能够从理论上保证在采用贪婪算法确定周期等级分界点以最大化销售利润时,每次迭代计算的最优性;还能够以计算复杂度仅为的优化方法确定周期等级分界点的最优测试顺序,从而最小化测试成本。

Claims (6)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105074704A (zh) * 2013-03-06 2015-11-18 高通股份有限公司 用于紧凑时钟分布的集成电路平面图
CN106326535A (zh) * 2016-08-16 2017-01-11 北京航空航天大学 一种提升高性能集成电路产出的速度分级优化结构及方法
CN113239655A (zh) * 2020-05-21 2021-08-10 台湾积体电路制造股份有限公司 半导体电路的约束确定系统和方法

Citations (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

Patent Citations (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 (3)

* Cited by examiner, † Cited by third party
Title
A.RAYCHOWDHURY ET AL.: "A Novel On-chip Delay Measurement Hardware for Efficient Speed-binning", 《IEEE IOLTS"05》 *
ANIMESH DATTA ET AL.: "Speed Binning Aware Design Methodology to Improve Profit under Parameter Variations", 《IEEE》 *
MIN GONG ET AL.: "Binning Optimization based on SSTA for Transparently-Latched Circuits", 《ICCAD 2009》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105074704A (zh) * 2013-03-06 2015-11-18 高通股份有限公司 用于紧凑时钟分布的集成电路平面图
CN105074704B (zh) * 2013-03-06 2017-04-26 高通股份有限公司 用于紧凑时钟分布的集成电路平面图
CN106326535A (zh) * 2016-08-16 2017-01-11 北京航空航天大学 一种提升高性能集成电路产出的速度分级优化结构及方法
CN106326535B (zh) * 2016-08-16 2019-08-06 北京航空航天大学 一种提升高性能集成电路产出的速度分级优化结构及方法
CN113239655A (zh) * 2020-05-21 2021-08-10 台湾积体电路制造股份有限公司 半导体电路的约束确定系统和方法

Also Published As

Publication number Publication date
CN102054089B (zh) 2013-08-21

Similar Documents

Publication Publication Date Title
Chen et al. Data quality of electricity consumption data in a smart grid environment
CN103176974A (zh) 优化数据库中访问路径的方法和装置
Lu et al. Fast power-and slew-aware gated clock tree synthesis
CN105373601A (zh) 一种基于关键字词频特征的多模式匹配方法
Yang et al. Forecast of freight volume in Xi’an based on gray GM (1, 1) model and Markov forecasting model
Miao et al. Answering skyline queries over incomplete data with crowdsourcing
CN102054089B (zh) 对带有透明锁存器的数字集成电路进行优化的速度分级的方法
Ward et al. Clock power minimization using structured latch templates and decision tree induction
CN103353895A (zh) 一种配电网线损数据的预处理方法
CN102142046A (zh) 对带有透明锁存器的数字集成电路进行优化的速度分级的方法
Cao et al. A timing prediction framework for wide voltage design with data augmentation strategy
Gong et al. Binning optimization for transparently-latched circuits
CN102054090A (zh) 基于改进自适应随机配置法的统计时序分析方法及装置
Deng et al. Improved topology identification algorithm of distribution network mutual information
Wu et al. Optimization and improvement based on K-Means Cluster algorithm
CN105930941A (zh) 一种适用于风电场多变量输入的风能间接预测方法
Yu et al. High performance indexing for massive audio fingerprint data
Xu et al. NWP feature selection and GCN-based ultra-short-term wind farm cluster power forecasting method
Lu et al. Assessment of urban water supply system based on query optimization strategy
Cai et al. Big data mining analysis method based on cloud computing
Pu et al. [Retracted] Analysis of the Development Level of Green Economy in Different Regions Based on the GA‐BP Model
Zhou et al. A rough-set-basedclustering algorithm for multi-stream
Xu et al. Diststream: an order-aware distributed framework for online-offline stream clustering algorithms
Liu et al. An Improved Data Discretization Algorithm based on Rough Sets Theory
Liu et al. Node importance measurement and simulation of complex network based on k-index expansion

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