一种基于集成电路功耗分析的故障诊断建库方法与流程

文档序号:12668279阅读:146来源:国知局
一种基于集成电路功耗分析的故障诊断建库方法与流程

本发明涉及集成电路技术领域,具体地说是一种适用于对组合逻辑电路、时序逻辑电路以及混合逻辑电路的集成电路功耗分析的故障诊断建库方法。



背景技术:

半导体工艺的发展,特别是深亚微米加工工艺的实现提升了超大规模集成电路VLSI(Very Large Scale Integrated circuits)的运行速率,降低了电路的功耗,使电路的集成度也有了很大幅度的提高。深亚微米技术是通过降低晶体管和互连的最小尺寸和供电电压以及提高电路的运行频率实现。然而这些技术的实现也使得集成电路发生故障的概率大大的提高,尤其是使得电路容易受到瞬态故障的影响,例如由于空间辐射而引发的单粒子效应SEU(Single Event Upsets)等。同时伴随着半导体技术的发展,片上逻辑也变得越来越复杂,由此所造成的影响也已经成为阻碍芯片技术发展的最重要原因之一。

在集成电路的故障诊断中,离线诊断测试和在线诊断测试是两种最常用的诊断测试方法。离线故障诊断测试指的是当被测电路CUT(Circuit Under Test)不在正常工作时对电路进行故障诊断测试,而在线故障诊断测试是在当被测电路正在工作或者处于工作间隙时对电路进行故障诊断测试。

由于电路加工工艺的进步,在电路的正常运行过程中发生永久性故障的概率越来越低,而瞬态故障和间歇性故障的发生概率逐渐提高。离线故障检测只能在电路不工作时发生,所以离线测试不能检测出电路在正常工作时发生的瞬态故障和间歇性故障。由于在线故障检测是对被测电路持续进行监测,所以瞬态故障和间歇性故障可以通过在线故障检测出来。为了提高集成电路的可靠性,希望在集成电路芯片工作过程中能够对故障进行在线检测,所以功耗分析检测方法具有十分诱人的应用前景。而功耗分析故障检测方法的首要任务是建立功耗分析的故障库,本发明主要是给出一种基于功耗分析的故障库构建方法。

过去几十年中,随着数字集成电路的发展,集成电路的在线测试方法也取得了长足的进步。在众多的在线测试方法中,在线内建自测试方法On-Line BIST(Built-InSelf-Test)、全自检TSC(Totally Self Checking)在线测试方法以及基于扫描设计的时序电路在线测试方法是其中最具有典型代表性的三种在线测试方法。本发明所做的研究属于基于功耗分析在线内建自检测方法的关键部分—功耗分析故障建库技术。

在线内建自测试在过去几十多年中取得了长足的发展,Saluja等人最早在1988年提出了输入向量监测并发内建自检测方法,这种在线监测方法可以对电路进行并发检测,即在电路正常工作时完成对电路的故障检测。

随后国内外的专家学者们又提出了多硬件信号分析法MHSAT(Multiple Hardware Signature Analysis Technique)于窗比较并发内建自测试法w-CBIST(Windowed-Comparative Concurrent BIST)以及基于存储器的并发内建自测试法R-CBIST(RAM-based Concurrent BIST)等在线内建自测试方法。在近些年中,雅典大学的Ioannis Voyiatzis和Constantin Halatsis等人对在线内建自测试方法进行了深入的研究。在2008年,他们首次提出了基于确定测试集并可以进行在线测试和离线测试的在线测试方法MICSET(Monitoring Input vectors for concurrent testing based on a preComputed test SET)。2010年,Voyiatzis等人又提出了基于监测平方窗的并发内建自测试方法SWiM(Square-Windows Monitoring concurrent BIST)。SWiM在线测试方法具有和MICSET相同的总体测试测试结构。与之前的方法相比,SWiM将被测电路的测试集存储在平方窗中,进一步降低了测试电路的硬件成本,但是它的在线测试延时会比较大。与之前提出的在线内建自测试方法相比,Voyiatzis等人提出的方法可以在一定程度上降低测试电路的硬件成本和在线测试延时。



技术实现要素:

本发明的目的是解决上述现有技术的不足,提供一种建库简单易行、延时时间短、硬件成本低的基于集成电路功耗分析的故障诊断建库方法。

本发明解决其技术问题所采用的技术方案是:

一种基于集成电路功耗分析的故障诊断建库方法,包括集成电路板,其特征在于集成电路板上的芯片内嵌有对集成电路进行功耗曲线建库分析步骤,其步骤包括:

1)DC综合门级网表的功耗数据采集步骤,

2)时序仿真故障门级网表的流程步骤,

3)故障功耗故障采集步骤,

其中,所述DC综合门级网表的功耗数据采集步骤为:采用Design Compiler 进行门级综合,并通过写脚本的方式控制DC综合工具,以利于通过占用内存低的命令行,达到数据采集速度快的作用,制作时,首先设置隐藏文件.synopsys_dc_.setup,将综合过程中搜索路径、工艺库各个步骤需要用到的命令和参数按参数初始化、读库和读文件优化的顺序写在一个以tcl为后缀的文本文件中,并将编写的文本文件命名为run.tcl;再编写综合的时序约束条件,在约束的文本文件中创建时钟,并依次设置时钟的频率、输入输出延时、综合后的电路所需要面积、连线负载模型,大小,延迟,上述步骤完成后,再通过命令dc_shell–t –f ./run.tcl自动化完成整个综合的过程; 最后通过area report查看电路所占用的面积,并通过timing report查看有无时序违反;

所述时序仿真故障门级网表的流程步骤为:

采用仿真器对DC综合门级网表进行SDF的标准延时文件反标,并生成所需要的故障VCD波形文件,以达到编译仿真速度快、调试速度快,延时时间短的作用;

所述故障功耗故障采集步骤为:

采用PrimeTime PX中的Time-based power analysis对动态功耗故障进行采集,采集时,首先设置PT的隐藏启动文件 .synopsys_pt.setup,脚本的启动文件内容同DC综合时类似完成参数初始化、读库和读文件;之后,再读取门级网表和故障VCD格式的波形文件,并对PrimeTime PX的一些时序参数进行设置,脚本文件运行完成后生成out格式的功耗文件,并通过该功耗文件采集动态功耗数据。

本发明可将所述步骤C中out格式的功耗文件通过格式转换成txt格式功耗文件,以利于直观的对比相同时刻的功耗数据,达到显著降低功耗的作用。

本发明所述仿真器采用ModelSim语言仿真器,以利于提供更宽泛的调试环境,支持PC和UNIX、LINUX平台,并采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真,由于编译的代码与平台无关,便于保护IP核,具有个性化的图形界面和用户接口,并能全面支持VHDL和Verilog语言的IEEE标准,以及IEEE VITAL 1076.4-95标准,支持C语言功能调用,C的模型,基于SWIFT的SmartModel逻辑模型和硬件模型,ModelSim同时还支持RTL仿真,门级仿真,时序仿真,为用户加快调试提供强有力的手段。

本发明所述EDA中的DC综合工具采用Synopsys公司制作的Design Compiler综合工具,以使命令行占用内存低、执行速度快。

本发明由于采用上述方法,具有建库简单易行、延时时间短、硬件成本低等优点。

附图说明

图1为本发明IU单元DC综合时序约束脚本。

图2为本发明IU单元综合后的面积报告。

图3为本发明IU单元综合后的时序报告。

图4为本发明中与运算的实例。

图5为本发明中与运算实例运用Modelsim进行仿真的结果。

图6为本发明中测试的电路正常工作处理不同数据时的功耗对比建库结果。

图7为本发明中测试的正常电路和故障电路功耗对比建库结果。

图8为本发明中测试的故障电路中强制转为逻辑0和强制转为逻辑1功耗对比建库结果。

具体实施方式

下面结合附图对本发明进一步说明:

一种基于集成电路功耗分析的故障诊断建库方法,包括集成电路板,其特征在于集成电路板上的芯片内嵌有对集成电路进行功耗曲线建库分析步骤,其步骤包括:

1)DC综合门级网表的功耗数据采集步骤,

2)时序仿真故障门级网表的流程步骤,

3)故障功耗故障采集步骤,

其中,所述DC综合门级网表的功耗数据采集步骤为:采用Design Compiler 进行门级综合,并通过写脚本的方式控制DC综合工具,以利于通过占用内存低的命令行,达到数据采集速度快的作用,制作时,首先设置隐藏文件.synopsys_dc_.setup,将综合过程中搜索路径、工艺库各个步骤需要用到的命令和参数按参数初始化、读库和读文件优化的顺序写在一个以tcl为后缀的文本文件中,并将编写的文本文件命名为run.tcl;再编写综合的时序约束条件,在约束的文本文件中创建时钟,并依次设置时钟的频率、输入输出延时、综合后的电路所需要面积、连线负载模型,大小,延迟,上述步骤完成后,再通过命令dc_shell–t –f ./run.tcl自动化完成整个综合的过程; 最后通过area report查看电路所占用的面积,并通过timing report查看有无时序违反;

所述时序仿真故障门级网表的流程步骤为:

采用ModelSim的仿真器对DC综合门级网表进行SDF的标准延时文件反标,并生成所需要的故障VCD波形文件,以达到编译仿真速度快、调试速度快,延时时间短的作用;

所述故障功耗故障采集步骤为:

采用PrimeTime PX中的Time-based power analysis对动态功耗故障进行采集,采集时,首先设置PT的隐藏启动文件 .synopsys_pt.setup,脚本的启动文件内容同DC综合时类似完成参数初始化、读库和读文件;之后,再读取门级网表和故障VCD格式的波形文件,并对PrimeTime PX的一些时序参数进行设置,脚本文件运行完成后生成out格式的功耗文件,并通过该功耗文件采集动态功耗数据。

本发明可将所述步骤C中out格式的功耗文件通过格式转换成txt格式功耗文件,以利于直观的对比相同时刻的功耗数据,达到显著降低功耗的作用。

本发明所述仿真器采用ModelSim语言仿真器,以利于提供更宽泛的调试环境,支持PC和UNIX、LINUX平台,并采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真,由于编译的代码与平台无关,便于保护IP核,具有个性化的图形界面和用户接口,并能全面支持VHDL和Verilog语言的IEEE标准,以及IEEE VITAL 1076.4-95标准,支持C语言功能调用,C的模型,基于SWIFT的SmartModel逻辑模型和硬件模型,ModelSim同时还支持RTL仿真,门级仿真,时序仿真,为用户加快调试提供强有力的手段。

本发明所述EDA中的DC综合工具采用Synopsys公司制作的Design Compiler综合工具,以使命令行占用内存低、执行速度快。

实施例:本发明以SoC系统内部IU单元功耗故障诊断为例分析建库,其它组合逻辑电路和混合逻辑电路建库与此相同:针对SoC内部IU(Integer Unit)单元进行的功耗数据的采集,分为以下三步:

IU单元的DC综合门级网表的功耗数据采集步骤:基于smic18工艺,DC综合的时序约束脚本,如图1所示;依据综合的脚本文件,生成的IU单元综合后的面积报告内容如图2所示,该电路一共综合成了5个模块,共用了8587个基本单元,基本单元所占面积是232502.056123,电路占用的总面积是1468568.299379;图3是IU单元综合后的时序报告,由报告所示Slack值为正数,说明时序满足规定条件,故综合通过。

IU单元的时序仿真故障门级网表流程步骤:IU单元的时序仿真流程是用综合后的门级网表替换掉原来的SoC中的综合前的IU单元,还要更改与IU单元相关联部分的RTL级描述文件(因为门级网表并不能识别自定义数据类型,所以综合后和综合前的数据类型发生了变化),之后的步骤是与功能仿真一致的,首先编译器编译C语言,然后Testbench读取编译后的srec类型机器码,之后整个SoC通过指令做出相应的动作,通过Modelsim命令提示框里的汇编指令可以判断处理器工作是否正常。图4是通过C语言写的需要SPARC处理器来运行的C程序,为方便起见我们希望处理器做一个简单的与运算,6&5的正确结果是4。之后我们通过Modelsim进行仿真,运行结果如图5所示。从图中可以清楚地看到处理器将两个操作数5和6放入到相应的寄存器中并进行了&运算,将运算后的正确结果存储到了相应的地址中并结束了整个处理器的操作。

IU单元的故障功耗故障采集步骤:在本设计中可以通过force命令对IU单元进行故障注入,对寄存器的某些位数进行force操作来模拟瞬态故障,从而进行不同情况下的功耗的对比;本发明中分别对IU单元进行了单个位数的故障注入和3个位数的故障注入,以及由逻辑1向逻辑0翻转的故障注入和由逻辑0向逻辑1翻转的故障注入,并进行了大量的随机数仿真,通过对比功耗曲线,发现了故障电路和正常电路功耗曲线的显著不同;当SoC处理器正常工作但是在算不同的操作数的时候,功耗曲线的整体变化趋势是相同的,只是在某些时刻的对应位置峰值略有不同,如图6所示;但是当注入故障后,电路的功耗不仅仅是相应的峰值的大小不同,整个功耗曲线的变化趋势也发生了显著变化,如图7是正常电路:1位故障电路(强制将信号翻转为逻辑1)、3位故障电路(强制将信号翻转为逻辑1)的功耗对比图;本发明中研究发现,当注入的故障为由逻辑1强制翻转为逻辑0和由逻辑0强制翻转为逻辑1时的功耗曲线也是不同的,如图8所示。因此,建立不同情况下的故障库。

由此可见,对于组合逻辑电路、时序逻辑电路以及混合逻辑电路,正常电路和故障电路功耗曲线差异是很大的,而对于不同的故障,功耗曲线也是不同的,因此,通过功耗分析的方式能有效构建在线功耗分析故障检测的故障库,能够快速缩短在线延时、降低硬件成本,故障检测简单,显著降低了集成电路故障检测的功耗。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1