SOC设计中Word格式.docx
《SOC设计中Word格式.docx》由会员分享,可在线阅读,更多相关《SOC设计中Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
现在的ATPG工具可以检测如下几种不同类型的生产故障。
在深亚微米工艺中,与at-speed相关的故障比率不断上升.
“Stack-at”模型
最长见的一类故障模型.它分为”Stuck-at1”和”Stack-at0”,用来模拟器件间互连的短路和断路的故障.
“IDDQ”模型
通过对静态电流的测量来发现电路故障,可以覆盖CMOS晶体管的”stack-on”和相邻”bridging”的制造缺陷.但随着小尺寸工艺中漏电流较高的问题,使得”IDDQ”的测试效果下降.
“TransitionDelay”模型
“TransitionDelay”模型是在”Stack-at”模型的基础上,引入了对时间延迟的要求.可分为”slow-to-risetransition”和”slow-to-falltransition”两类,用来检测某一节点从”1”到”0”和从”0”到”1”的转换是否过慢.其测试的时序波形见图1.
“PathDelay”模型
“PathDelay”模型测试的是测试某一路径的AC性能.通常用来对器件成品进行运行速度的选择.该类型测试通过触发一个状态变化,然后在路径的后端进行捕获以验证时序.其测试的时序波形参见图2.
3、At-speed测试技术
如上所述,at-speed扫描测试支持两种故障模型:
“TransitionDelay”模型和“PathDelay”模型。
“PathDelay”模型用来检查通过一系列预定义的门的集总延迟。
随着电路规模的增大,电路中存在的时序路径也越多,期望对每一个时序路径都进行测试是不现实的。
因此,通常的做法是利用STA工具选定有限数目的最大延迟路径进行测试。
大多数路径的起点和终点都是时序单元如触发器,少数路径的起点是基本输入,少数路径的终点是基本输出。
“TransitionDelay”模型代表了每一个门端点的集总延迟,通常会采用类似于测试路径延迟的方法对“TransitionDelay”进行测试,不同的是在进行transition测试时,由ATPG工具自行选择测试路径而不需要预先定义。
通常,工程师借助于“TransitionDelay”测试向量发现与时间相关的生产故障,采用“PathDelay”测试向量更多是为了检测和保证电路的最大工作速度。
At-speed扫描测试要求测试向量能够从一个扫描单元或一个基本输入触发一个信号变化:
从”1”到”0”或从”0”到”1”的转换,然后在一个扫描单元或一个基本输出进行扑获检测。
进行at-speed测试的关键在于产生一对用于触发和采样的时钟脉冲信号,当设计中存在多个不同工作频率的时钟信号时产生这样的时钟脉冲信号会变得更加复杂。
一种常见的at-speed测试向量时序如图2所示。
launch-off-shift测试利用shift的最后一个时钟沿进行触发。
其优点处理时测试向量的生成比较简单,容易达到更高的测试覆盖率。
缺点是在进行DFT处理时必须把SE信号作为关键时间信号进行布局布线处理,同时会由于SE不能够及时拉低带来过紧的路径延迟约束而导致测试成品率比实际水平偏低。
随着工艺尺寸越来越小,电路的工作频率越来越高,人们更多倾向于采用如图3所示的at-speed测试向量时序。
Broadside测试利用在功能模式下的一对时钟脉冲分别进行触发和扑获。
优点是对SE信号的时序要求大大降低,缺点是向量生产算法复杂,测试覆盖率较低,ATPG工具运行时间较长。
4、一个SOC设计实例的ATPG策略和方法
DFT越来越成为SOC设计中重要的组成部分,必须在SOC设计的初始阶段从芯片级对测试进行规划,确定测试策略和设计方法.DFT的策略和方法反过来对芯片设计的过程也有着很大的影响.
3.1“at-speed”扫描测试的一般设计要求
SOC设计中实现at-speed的扫描测试所要面临的问题可分为两个层次:
一方面,设计要满足通常扫描测试的要求;
另一方面,针对at-speed,要在测试结构和DFT流程上进行有针对性的处理.下面分别列出一些要点.
通常扫描测试的问题
设计满足扫描测试的基本规则;
芯片级的扫描链的划分(grouppartition);
芯片级IO的分配;
芯片级的测试控制;
测试时钟的安排,包括对设计过程中对片上时钟的要求(clocktreegeneration);
“At-Speed”测试的问题
逻辑设计中避免”multi-cycle”的路径,不然需在ATPG时对相关路径进行处理(masking);
扫描链插入避免不同时钟域(clockdomain)混在一起;
由于通过IO的路径延迟大,在ATPG中将其掩盖;
由于”path-delay”和”transition”测试不能覆盖”stuck-at”的所有故障,所以”stack-at”的测试依然需要.但同时为了减少测试向量,可以在进行”stack-at”ATPG时,先去除前面测试向量中已覆盖的测试点;
关于两种”at-speed”扫描测试模式(launchmode)的选择.“lastshift”模式类似”stack-at”测试,只是捕获(capture)的脉冲与”lastshift”的脉冲更接近,以达到”at-speed”的速度.该模式ATPG的效率高,相同的测试覆盖率,测试向量少,缺点是”scan_enable”信号的速度要求高,也要”at-speed”;
另一种模式”broadside”有一对时钟脉冲”launch”和“capture”,“scan_enable”在这两个时钟周期之前变低,不需太高的速度,该模式的ATPG效率较”lastshift”低.见图4,对于大规模的SOC设计,“scanenable”信号很难做到”at-speed”,所以“broadside”模式更为可行.
3.2“at-speed”扫描测试的设计实现
在MX21的设计中,依照上述原则,结合本芯片的特点,进行了下面几个主要方面的DFT设计.
扫描链基本结构
下图中的扫描链结构被用于MX21.其中IO_SE用来提高IO相关逻辑的测试覆盖率.“head”和”tail”寄存器用来改善扫描链两端到IO的时序.
分组(grouping)
根据芯片的规模和结构,MX21化分了三个扫描组(group),见图5.分组主要考虑到测试时的功耗,而且在IO资源一定的情况下,分组可以避免扫描链过长,提高测试效率.
测试模式
配合扫描链分组和不同的测试要求,我们设计了下表中的多种测试模式.共有四个引脚”boot[3:
0]”用来设置芯片工作模式.其中,“scan_mode_1”,“scan_mode_2”和”scan_mode_ARM”对应三个扫描分组.“IDDQ-burninmode”不需高速度,三个分组的扫描链在这个模式下被连接起来.
Mode
Boot[3:
0]
Functional
0000-0111
Functionalmodebasedonbootconfiguration
FunctionTest
1000
Productiontestoffunctionalpatternsattester
Scan_mode_1
1001
AHB-IP1scanmode
Scan_mode_2
1010
AHB-IP2scanmode
Scan_mode_ARM
1011
ARM929platformtestmode
IDDQ-burninmode
1100
IDDQandburn-intestmode
MBISTmode
1101
MemoryBISTtestmode
Analogtestmode
1110
Analogmodulestestmode
PLLtestmode
1111
PLLandDFT-CHOPtest
表1.测试模式选择
IO分配
测试信号在相应测试模式下对IO资源进行复用,设计中注意避免对IO性能的不利影响.而有关测试信号(scan_enable,testclock等)所用的IO,则需用满足一定的性能要求.
片上存储器的测试
片上的存储器用BIST方式测试,采用Mentor公司提供的MBISTArchitect同样可以做”at-speed”测试.对于存储器周围的影子逻辑,在扫描测试时,存储器的”wrapper”起作用.如下图,存储器的输入信号被接入”observeregisters”.输出”Dout”接到对应的”Din”的”wrapperregisters”.这样既保证了存储器周边逻辑的可测试性,也可进行”at-speed”的测试.
片上PLL产生高速测试时钟的设计
由片上产生高速测试时钟可以大大降低对测试设备的要求,从而减少测试成本.在MX21中,片上的PLL和一个称为”dft-chop”的模块来完成”at-speed”测试时钟的产生(见图8).
进入PLL的参考时钟(referenceclock)由测试设备从IO输入,PLL被设置为整数倍的倍频,在MX21中为”4”,以达到”at-speed”的速度.而”dft-chop”的作用就是根据设置从PLL输出的每”4”个时钟中,选择某一个送出,作为测试时钟.图8中的”mux_sel”就是用来选择哪一个时钟脉冲送出,而”scan_in”和”scan_out”用来在测试中对”dft-chop”进行配置的改变.这些信号当然也需求连接到IO上.
具体的测试时钟时序如图9.所示,扫描链“shift”时,“dft-chop”选择第”4”个时钟脉冲,直到”capture”时,选择第”1”个时钟脉冲,这样一来便实现了”at-speed”的测试时钟.可以看到所有外部信号都不需要”at-speed”的速度,从而只需要低速的测试设备.
5、小结
l一般的DFT流程如图10所示.在扫描链的插入中应用MENTOR的DFTADVISER,对不同的分组和时钟域进行.新的DFTADVISER版本可接受布局后的DEF文件,根据位置连接扫描链,则可免去”reorder”的步骤.
lATPG同样是MENTOR的FASTSCAN,其中,“path-delay”和”transition”的ATPG是对每一个时钟域独立进行,而”stack-at”则是对整个分组进行,以提高效率.如果不同的时钟域之间有确定的相位关系和时序要求,也可进行时钟域之间的”at-speed”的测试.同样的芯片设计,Fastscan一般可以提供较高的测试覆盖率以保证测试质量;
同时,Fastscan在测试向量压缩方面效果最好;
而且其运行时间也比其他ATPG工具要快上数倍。
设计师开始SOC设计时,必须对DFT给予充分的考虑,当然这也要求设计师对现代SOC测试方法有足够的知识和理解;
充分利用工具的各种报告,及时及早发现问题;
SOC设计通常集成了大量的模块(IP),必须保证模块级达到DFT的设计要求.在模块级进行DFT规则和测试覆盖率的检查对芯片级的DFT工作非常重要;
针对”at-speed”测试,借助STA工具确定扫描测试模式下的”multi-cycle”路径,避免在测试向量验证时才发现问题,可以节约很多debug的时间;
如果设计允许,则尽量实现”scan_enable”的”at-speed”,这样”pathdelay”和”transition”的ATPG将更有效率.而且”stack-at”的测试也可以实现”at-speed”,可以弥补上两种测试所不能覆盖的时序故障;
测试向量的验证(verification)应用并形方式(parallelpattern)可以大大节约验证时间,同时最好结合STA进行时序分析;
随着SOC规模的进一步增大,过多的扫描链数量和分组会需要更多的IO资源复用,影响IO的性能.同时扫描链长度过长,会增加测试时间.将来来可以考虑应用类似MENTOR的Testkompress,该工具与Fastscan完全兼容,提供的EDT技术可以对Fastscan的测试向量压缩上百倍。
在工艺节点在130nm以下的时候,很多情形下的物理缺陷都是由于延时来引起的。
因此在对这种类型的chip做dft的时候,需要建立一个新的故障模型,业内称之为延时故障模型(timedelaymodel)。
解决的方法就是全速测试,所谓的全速测试就是让芯片工作在自己高倍时钟频率上,这个频率往往是要高过ATE的时钟的。
这样对扫描模型的建立就提出了新的要求。
即至少要保证芯片的latchclock和captureclock为芯片内部的高倍时钟。
synopsys对此种问题的解决方法就是OCC(onchipclocking)。
DFTCompiler支持两种模式的带OCC的扫描链插入,一种是自身的设计已经带上OCC电路的,另一种是不带OCC电路的。
下面分别说说这两种插入的流程。
1.OCC的自动插入
∙使能occ的插入,使用的命令是
set_dft_configuration-clock_controllerenable
∙定义时钟,包括参考时钟,ATE时钟,PLL产生的时钟。
参考时钟的定义:
如果周期跟默认的测试周期相同,定义方法
set_dft_signal-viewexisting_dft-typeMasterClock-portmy_clock-timing{4555}
set_dft_signal-viewexsiting_dft-typerefclock-portmy_clock-period100-timing{4555}
如果周期不同,就只需要定义refclock,不需要定义MasterClock
set_dft_signal-viewexsiting_dft-typerefclock-portmy_clock-period10-timing{46}
ATE时钟的定义:
set_dft_signal-viewexsiting_dft-typeScanClock-portate_clock-timing{4555}
set_dft_signal-viewexsiting_dft-typeOscillator-portate_clock
PLL产生时钟的定义:
set_dft_signal-viewexisting_dft-typeOscillator-hookup_pinpll/clk1
set_dft_signal-viewexisting_dft-typeOscillator-hookup_pinpll/clk2
∙指定全局信号,包括pll_bypass,pll_reset,ScanEnble,TestMode
set_dft_signal-viewspec-typepll_reset-portpll_rst
set_dft_signal-viewspec-typepll_bypass-portpll_bp
set_dft_signal-viewspec-typeScanEnable-portscan_en
set_dft_signal-viewspec-typeTestMode-porttest_en
∙clockcontroller的设置
set_dft_clock_controller-cell_nameu1-design_nameocc_clock_mux
-pllclocks[pll/clk1pll/clk2]-ateclocks[ate_clock]
-cycles_per_clock2
∙scan_configuration的设置
2.OCC已经存在
这种情况下由于OCC已经插入,因此命令set_dft_clock_controller在这里已经没有意义了,这里需要让DFT知道occ输出时钟信号的属性,使用的方法还是set_dft_signal。
另外需要指定clockchains,使用set_scan_path来指定,将其complete化。
另外如果使用到adaptivescan,注意testmode在两种模式下都必须指定啊。
系统分类:
资源共享
|
用户分类:
DFT
来源:
转贴
【推荐给朋友】
【添加到收藏夹】
该用户于2009/5/1110:
00:
43编辑过该文章
SoC(系统级芯片)已成为超大规模集成电路设计的主流方法。
随着工艺和系统性能的不断提高,对更复杂、更高速SoC的可测性设计提出了更高的要求,本文将讨论为什么要实时(at-speed)的测试,它对设计的要求、实现方式如何?
本文结合一个SoC设计的实例进行讨论。
今天的SoC设计运行频率不断提高,设计的时序收敛则依赖于EDA工具,而EDA工具在优
化时序时,一旦设计中的关键路径满足了约束,就停止继续优化。
这意味着设计的余量很小。
当设计余量如此之小时,现代工艺的小尺寸影响将使多种因素可能导致生产出来的芯片达不到设计的性能要求,这些因素包括:
∙工艺库参数的误差;
∙时序计算的误差;
∙参数提取的误差;
∙制造缺陷导致阻容值与工艺标准的误差,互连线的延时超过门延时起主导作用;
∙串扰;
所有这些对测试提出了更高的要求,必须保证芯片达到设计性能要求,因此测试必须覆盖与速度相关的缺陷,而这同时面对芯片不断提高的性能,往往需要更高测试频率的测试设备,测试成本的增加对芯片制造成本的控制的压力也越来越大,为此必须对过去的测试策略进行检讨以适应现代SoC设计的挑战。
本文将结合一个SoC设计实例来讨论实时测试的策略和方法。
该设计是飞思卡尔半导体公司(Freescale--原摩托罗拉SPS部门)Dragonball系列应用处理器MX21,该芯片以ARM926EJ-S为核,外加多媒体视频处理、LCD控制器、USTOTG、CMOS影像传感器接口等大量丰富的外设和接口。
扫描测试
扫描测试是进行生产测试的一种结构化测试方法,它通过ATPG产生测试向量。
现在的ATPG工具可以检测不同类型的生产故障,图1给出了这几类故障的示意图,在现在的工艺中,与实时相关的故障的比率不断上升。
“Stack-at”模型:
最常见的一类故障模型,它分为”Stuck-at1”和”Stack-at0”,用来模拟器件间互连的短路和断路的故障。
“IDDQ”模型:
通过对静态电流的测量来发现电路故障,可以覆盖CMOS晶体管的”stack-on”和相邻”bridging”的制造缺陷,但随着小尺寸工艺中漏电流较高的问题,使得”IDDQ”的测试效果下降。
“TransitionDelay”模型:
“TransitionDelay”模型是在“Stack-at”模型的基础上,引入了对时间延迟的要求,可分为“slow-to-risetransition”和“slow-to-falltransition”两类,用来检测某一节点从“1”到“0”和从“0”到“1”的转换是否过慢,其测试的时序波形见图2。
“PathDelay”模型:
“PathDelay”模型测试的是某一路径的AC性能,通常用来对器件成品进行运行速度的选择。
该类型测试通过触发一个状态变化,然后在路径的后端进行捕获以验证时序。
“At-Speed”测试:
与芯片运行于工作频率相对应,在“at-speed”测试中,触发(launchevent图3)到捕获(captureevent图2)的时间间隙等于工作频率的周期,而“shift”的测试时钟周期则不必相同。
测试频率与工作频率有所不同,或者说低于工作频率,使得应用低端测试设备成为可能,这将大大降低测试成本。
本文将介绍一种利用片上PLL生成高速测试时钟的方法,而不必使用更高速度的测试设备。
设计策略和方法
DFT越来越成为SoC设计中重要的组成部分,必须在SoC设计的初始阶段从芯片级对测试
进行规划,确定测试策略和设计方法。
DFT的策略和方法反过来对芯片设计的过程也有着很
大的影响。
实时扫描测试的一般设计要求
SoC设计中实现实时的扫描测试所要面临的问题可分为两个层次:
一方面,设计要满足通常扫描测试的要求;
另一方面,针对实时要在测试结构和DFT流程上进行有针对性的处理。
下面分别列出一些要点。
通常扫描测试的问题包括:
∙设计满足扫描测试的基本规则;
∙芯片级的扫描链的划分;
∙芯片级IO的分配;
∙芯片级的测试控制;
∙测试时钟的安排,