专利名称:标准单元时序数据测试方法
技术领域:
本发明属于微电子领域,涉及一种标准单元库设计中时序数据测试方法。
背景技术:
随着集成电路设计的规模越来越大,设计流程分工越来越明确,越来越多的超大规模数字、数模混合电路设计采用基于单元库和IP (Intellectual Property)库的半定制设计方法实现。在电路设计过程中,设计公司首先选择工艺厂商,并根据需要选定工艺、单元库版本和各种数模IP,设计公司无需担心单元库和IP库的功能、性能参数及参数的准确性,这些是由工艺厂商来提供并负责,设计者只调用单元库和IP库时序模型、物理模型用于设计。时序模型的准确程度,即模型数据与工艺制造结果的差异对基于其设计的芯片有很大影响,一方面,当模型数据过分乐观估计工艺制造结果时,芯片的性能会发生偏离,严重时功能出现错误;另一方面,当模型数据过分悲观估计工艺制造结果时,设计裕量预留过大大,工艺潜力未被充分挖掘出来,因此,提供准确的库时序信息是非常必要的。对库时序信息的验证是复杂的过程,不仅需要设计测试电路,还要多次流片来验证电路的性能。常用的验证单元库时序模型的准确度的电路结构有环振和计数器,分别用于验证逻辑单元的时序单元输入到输出的延迟。对典型单元如反相器、2输入或非门、3输入或非门、2输入与非门、3输入与非门、触发器等进行测试,找出测试结果的规律,来修正其他单元的时序模型。组合逻辑单元的平均传播延时用奇数个相同组合逻辑单元构成的环形振荡器来测量,输出端被连接到示波器上测量振动周期T,振动周期T = 2η τ d,其中τ d为平均传播延时,η为环振的级数。组合逻辑单元的上升延时和下降延时的测量方法是由其与时钟反相器交叉构成环振电路,再通过计算得到。调节各级组合逻辑单元的负载值,能得到其在驱动不同负载时的平均传播延时。触发器从时钟端到输出端的延时用计数器形式的电路来测量。环振和计数器测试电路的缺点是测试得到的数据类型单一、数据量少,并且测试结构不可扩展,电路在特殊工作状态得到的测试数据不满足分析需要,例如若评估辐照对器件、电路的影响,环振和计数器电路的测试数据则过于简单。为了获得更多测试数据,设计了基于自产生可调频时钟电路来捕捉关键路径的测试方案。该方案可不使用外部晶振时钟,使用少量外部引脚,采用环振电路自产生可调频时钟的手段,通过测试逻辑功能电路正常工作时的极限工作频率,来捕捉关键路径。汇总各种测试条件下的测试数据,分析标准单元的时序特性的趋势,修正单元库时序模型。同时该测试电路具有测试得到的数据量大、逻辑功能模块电路可扩展、可利用时序分析工具辅助分析测试结果、可对测试电路进行特殊工作条件下进行试验、可插入 DFT (Design For Test)测试结构等优点。
发明内容
本发明提供了一种通过设计自产生可调频时钟,以测试电路的极限工作频率,从而捕捉关键路径的方法。本发明的目的在于克服上述现有技术的缺点,提供一种外接时钟信号CLK_IN与外接时钟选择信号0SC_sel分别接入时钟自产生模块,时钟自产生模块的输出CLK_out连接测试逻辑电路的时钟端L0GIC_clk,可测试性结构设计模块产生的测试激励TESTjn与测试逻辑电路连接,测试逻辑电路根据测试激励TESTjn产生的结果数据TEST_out输出至可测性结构设计模块,以确定测试逻辑电路工作的正确性。所述时钟自产生模块,包括用于时钟产生的环振阵列0SC_ARRAY和用于多路时钟选则的时钟选则电路MUX ;其中,环振阵列0SC_ARRAY的χ路输出0SC_out[l:x]分别接入 MUX的χ个输入端IN_[2:x+l],y路0SC_sel信号分别连接MUX的y个选择端sel [l:y], CLK_IN连接MUX的输入端IN_1 ;0SC_ARRAY模块结构由χ个环振逻辑0SC_TYPE组成,输出χ个时钟信号0SC_ out [1 χ];其中,0SC_TYPE实现基于振荡电路产生时钟信号,其结构由η个反相器单元INV, 按照串行连接,组成一个环振电路,其中,η表示环振的级数;通过改变护环振的级数η,可构成不同的输出时钟信号0SC_out ;其中0SC_TYPE a、0SC_TYPE b以及0SC_TYPE d分别表示不同级数的环振逻辑;MUX模块结构实现时钟信号的选择,其中,外接时钟CLK_IN连接MUX的输入端 IN_1, 0SC_ARRAY的χ个输出0SC_out[l:x]分别连接MUX的χ个输入端IN_[2 x+1],y夕卜接选择信号0SC_sel [1 y],分别连接MUX的y的选择端sel [1 y];由0SC_sel [1 y],选择χ 个输入信号ΙΝ_[1:Χ]中的某一个输出致MUX_out,由此实现为测试逻辑模块提供一个可调频率的时钟。选择含运算功能的电路作为测试逻辑电路,利用静态时序分析理论,通过调节输入到模块的时钟频率,测量模块的功能输出,即可得到模块正常工作时的极限频率,捕捉其关键路径。由于该测试方法需要大量的晶振时钟,为了避免寻找晶振时钟带来的工作,将时钟自产生模块中的一系列环振电路的频率中心值按照测试逻辑电路需求的频率来设计,并通过多路选择器来控制时钟的输出。可测性设计模块包含了能增强电路可测量性、可控制性和可观察性的测试电路。 若测试逻辑电路不包含存储器,可选择扫描设计策略为每个寄存器提供可观察性和可控制性,扫描测试结构的测试生成可以高度自动获得,因此额外增加的工作量较少。有选择性的使用边界扫描技术,排除由I/Oanput/Output)单元引入的不确定因素。本发明具有如下优点1)、电路的时钟是通过环振自产生,时钟的周期变化随着工艺、温度、电压的变化而变化,同时关键路径长度也随着上述的三个因素变化而变化,即电路的时钟与关键路径长度具有一致的趋势。将仿真电路表现出来的性能记为S,分为SWOrSt、Styp、SbeSt,生产制造后电路的性能记为M,分为Mworst、Mtyp, Mbest0 S与M虽然存在偏差,这一般由仿真使用的器件模型、寄生参数估计的准确度决定,也受到工艺偏差的影响,但S是对M的一种估计,即两片电路的Sl与S2的性能相当,则同一圆片上Ml与M2的性能匹配。自产生时钟周期的仿真结果与制造结果分别记ST和MT,关键路径长度的仿真结果与制造结果分别记SK和MK。在仿真时,通过反复的调整达到了仿真的目标,使得ST与 SK相匹配,由S与M之间相关性可得出MT与MK之间相差不大。2)、根据“一个功能健全的正常芯片会随着电压的增高运行在不断增高的频率中” 这一思路,可将测试电路放置在一个电源电压能够渐变的测试系统中,随着电源电压的升高或降低,环振电路产生的时钟频率会随之升高或降低,达到了电路时钟与电源电压同时变化的目的,此时观测电路是否能正常工作,记录时钟输出,将测试结果与仿真结果做对比。同理,亦可将电路放置在一个温度渐变的系统中,测量由温度引起的电路特性变化。若时序分析结果与测试结果偏差较大,则需要使用电路仿真工具 SPICE (Simulation Program with Integrated Circuit Emphasis)对其进行仿真,再与狈Ij 试结果进行比对,因此电路规模要控制在适当的范围内。电路实现采用自上而下的设计方法,通过逻辑综合、DFT插入、布局布线、静态时序分析、后仿真等步骤,设计工作量较小。3)、设计中应用了 DFT插入的手段,具有以下优点(1)、可以先期排除由制造引入的电路节点、触发器等制造故障;(2)、能自动加入测试结构;(3)、能较便捷产生测试向量;(4)、可实现IO电路扫描测试。在测试之后,详细对比仿真结果与实测结果的差异,参照实测结果修改仿真设置, 修正仿真结果。目前设计通常采用worst-best方法来约束时序,因此修正得到较准确的 worst和best结果尤为重要。在电路设计不变的情况下,仿真结果由模型、寄生参数及仿真环境配置决定。若需修正仿真结果,可对模型中典型参数进行修改,或根据需要来增大或减小寄生参数的影响,或调整仿真环境,如温度、工艺偏差等。在测试逻辑电路极限工作频率的同时,还可以用来测试输出IO单元的频率特性, 通过配置不同的负载,测量输出IO单元在驱动不同负载时的极限频率。当输出单元测试结束后,由于电路内时钟端只路过一个多路选择器直接连接到输出IO单元,因此可利用不同频率晶振的输入,观测输出端的变化,来确定时钟输入IO单元的频率特性。
图1、本发明所述方法示意2、所述时钟自产生模块结构示意3 (a)所述0SC_ARRAY结构示意图
图3 (b)所述0SC_TYPE结构示意4、所述MUX电路结构示意
具体实施例方式下面结合附图对本发明做进一步详细描述本发明所述方法如附图1所示,其中包括时钟自产生模块、测试逻辑电路、可测性设计模块。时钟自产生模块,包括用于时钟产生的环振阵列0SC_ARRAY和用于多路时钟选则的时钟选则电路MUX,结构如附图2所示。其中,0SC_ARRAY的χ路输出0SC_out [1 χ]分别接入MUX的χ个输入端IN_[2 x+1],y路0SC_sel信号分别连接MUX的y个选择端sel [1 y], CLK_IN连接MUX的输入端IN_1。0SC_ARRAY模块结构如附图3 (a)所示,由χ个环振逻辑0SC_TYPE组成,输出χ个时钟信号0SC_out[l:X]。其中,0SC_TYPE实现基于振荡电路产生时钟信号,其结构如附图 3(b)所示,由η个反相器单元INV,按照串行连接,组成一个环振电路,其中,η表示环振的级数。通过改变护环振的级数η,可构成不同的输出时钟信号0SC_out。附图3(a)中0SC_ TYPE a、0SC_TYPE b以及0SC_TYPE d分别表示不同级数的环振逻辑。MUX模块结构如附图4所示,实现时钟信号的选择。其中,外接时钟CLK_IN连接 MUX的输入端IN_1,0SC_ARRAY的χ个输出0SC_out [1 χ]分别连接MUX的χ个输入端ΙΝ_ [2 x+1],y外接选择信号0SC_sel [1 y],分别连接MUX的y的选择端sel [1 y]。由0SC_ sel[l:y],选择χ个输入信号IN_[l:x]中的某一个输出致MUX_out,由此实现为测试逻辑模块提供一个可调频率的时钟。所述发明的方法中,加入了外部时钟信号CLK_IN,这样处理的优点在于加入该信号后,可区分保障测试逻辑电路与时钟自产生模块功能的正确性。即首先采用CLK_IN作为测试逻辑电路的时钟信号,以确保测试逻辑电路功能的正确性。之后, 才采用0SC_ARRAY产生的信号作为测试逻辑电路的时钟,此时测试未通过,可定位为0SC_ ARRAY模块出错。该发明用于基于某集成电路生产线的标准单元库验证芯片设计中。设计了用于产生可调频时钟的时钟自产生模块、用于测试的测试逻辑电路以及为确保测试逻辑电路的可测试性结构设计模块,如附图1所示。外接时钟信号CLK_IN与外接时钟选择信号0SC_sel分别接入时钟自产生模块,时钟自产生模块的输出CLK_out连接测试逻辑电路的时钟端L0GIC_clk,可测试性结构设计模块产生的测试激励TEST_in与测试逻辑电路连接,测试逻辑电路根据此激励产生的结果数据TEST_out输出至可测性结构设计模块,以确定测试逻辑电路工作的正确性。调节环振的级数或更换组合逻辑单元电路可调节其频率,通过对测试逻辑电路进行逻辑综合,估算得到其典型工艺条件、常温、常压下工作频率为44M,时钟自产生模块中由 113级INVX4组成的环振与所需频率相匹配,并围绕中心值选取频率间隔和范围,该电路的输出频率最低24. 8M,最高达到111. IM0设计了实现32位X 32位的有符号整点运算乘法器作为测试逻辑电路,由外部输入来选择内部固化的初始操作数及操作数的变化形式,乘法操作调用乘法模块来实现,最终输出乘法计算结果的高32位或低32位。规模电路规模1. 5万门,调用了标准单元库中单元数的3/4,和所有IO单元。可测性设计模块应用了并行扫描测试和边界扫描技术,增加了少量的电路开销和弓丨脚开销,加快合格芯片的选择工作。以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施方式
仅限于此,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的权利要求书确定专利保护范围。
权利要求
1.标准单元时序数据测试方法,其特征在于外接时钟信号CLK_IN与外接时钟选择信号0SC_sel分别接入时钟自产生模块,时钟自产生模块的输出CLK_out连接测试逻辑电路的时钟端L0GIC_clk,可测试性结构设计模块产生的测试激励TESTjn与测试逻辑电路连接,测试逻辑电路根据测试激励TESTjn产生的结果数据TEST_out输出至可测性结构设计模块,以确定测试逻辑电路工作的正确性。
2.如权利要求1所述标准单元时序数据测试方法,其特征在于所述时钟自产生模块, 包括用于时钟产生的环振阵列0SC_ARRAY和用于多路时钟选则的时钟选则电路MUX ;其中, 环振阵列0SC_ARRAY的χ路输出0SC_out [1 χ]分别接入MUX的χ个输入端IN_[2χ+1],y 路0SC_sel信号分别连接MUX的y个选择端sel [1 y],CLK_IN连接MUX的输入端IN_1 ;0SC_ARRAY模块结构由χ个环振逻辑0SC_TYPE组成,输出χ个时钟信号0SC_out [1 χ]; 其中,0SC_TYPE实现基于振荡电路产生时钟信号,其结构由η个反相器INV,按照串行连接, 组成一个环振电路,其中,η表示环振的级数;通过改变护环振的级数η,可构成不同的输出时钟信号0SC_out ;其中0SC_TYPE a、0SC_TYPE b以及0SC_TYPEd分别表示不同级数的环振逻辑;MUX模块结构实现时钟信号的选择,其中,外接时钟CLK_IN连接MUX的输入端IN_1, 0SC_ARRAY的χ个输出0SC_out [1 χ]分别连接MUX的χ个输入端IN_[2χ+1],y外接选择信号0SC_sel [1 y],分别连接MUX的y的选择端sel [1 y];由0SC_sel [1 y],选择χ个输入信号ΙΝ_[1:Χ]中的某一个输出致MUX_out,由此实现为测试逻辑模块提供一个可调频率的时钟。
全文摘要
本发明公开了一种标准单元时序数据测试方法,外接时钟信号CLK_IN与外接时钟选择信号OSC_sel分别接入时钟自产生模块,时钟自产生模块的输出CLK_out连接测试逻辑电路的时钟端LOGIC_clk,可测试性结构设计模块产生的测试激励TEST_in与测试逻辑电路连接,测试逻辑电路根据测试激励TEST_in产生的结果数据TEST_out输出至可测性结构设计模块,以确定测试逻辑电路工作的正确性。该方法通过设计自产生可调频时钟,以测试电路的极限工作频率,从而捕捉关键路径的方法。
文档编号G06F17/50GK102254062SQ201110154869
公开日2011年11月23日 申请日期2011年6月10日 优先权日2011年6月10日
发明者吴龙胜, 唐威, 宋森, 岳红菊, 张洵颖, 汪西虎, 裴茹霞, 赵德益 申请人:中国航天科技集团公司第九研究院第七七一研究所