转载Adaptive Scan Technique.docx

上传人:b****5 文档编号:6408109 上传时间:2023-01-06 格式:DOCX 页数:10 大小:168.82KB
下载 相关 举报
转载Adaptive Scan Technique.docx_第1页
第1页 / 共10页
转载Adaptive Scan Technique.docx_第2页
第2页 / 共10页
转载Adaptive Scan Technique.docx_第3页
第3页 / 共10页
转载Adaptive Scan Technique.docx_第4页
第4页 / 共10页
转载Adaptive Scan Technique.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

转载Adaptive Scan Technique.docx

《转载Adaptive Scan Technique.docx》由会员分享,可在线阅读,更多相关《转载Adaptive Scan Technique.docx(10页珍藏版)》请在冰豆网上搜索。

转载Adaptive Scan Technique.docx

转载AdaptiveScanTechnique

使用层次自适应扫描压缩技术减少运行时间、降低测试向量和测试成本的方法

UseHierarchicalAdaptiveScanTechniquetoSpeedupRuntime,ReduceTestPatternsandTestCost

林召才

海思半导体

linzhaocai@

Abstract

At130nmandabove,designersgenerallyuseStuck-AttestsandsomeTransitionDelaytestinguptothememorylimitsoftheirtester.Below130nm,TransitiondelayandBridgingtestsbecomecritical.TheTransitionDelaytestscanreplacesomeofourStuck-Attests,buttestermemoryisusuallyfarexceeded.Withthegrowingcomplexityofdesigns,moretransistorshavebeenintegratedintoanIC.Theruntimeforgeneratingtestpatternsbecomeslonger.Byaddingcompression,testqualityismaintainedandthecostofupgradingthetesterconfigurationisavoided.Thispaperwillshowyou:

1.Whycompressionscanskillisimportant?

2.HowtodocompressionscaninDFT-Compile?

3.What’stheresultafterusingTeTraMAX?

摘要

随着IC设计进步到130nm及以下工艺,以及设计规模越来越大,DFT向量验证和测试机测试的运行时间越来越长,让人无法接受。

本文介绍以下的内容:

1.为什么压缩扫描技术对我如此重要?

2.怎么使用DFTCompiler实现压缩扫描,为我所用?

3.DFTCompiler和TetraMAX给我带来了什么样的好处?

1.简述

本文主要是介绍DFTCompiler和TetraMAX工具所支持的扫描压缩技术,对我的测试时间和测试成本降低等方面所带来的好处。

文章将从以下几个方面进行讲述:

1.为什么压缩扫描技术对我如此重要?

2.怎么使用DFTCompiler实现压缩扫描,为我所用?

3.DFTCompiler和TetraMAX给我带来了什么样的好处?

2.为什么压缩扫描技术对我如此重要?

随着IC设计进步到130nm及以下工艺,以及设计规模越来越大,DFT向量验证和测试机测试的运行越来越长,已经到了简直让人无法接受的地步,主要原因如下:

1.DFT向量产生和仿真时间太长,延长了项目开发周期;

2.DFT向量超大,超出ATE测试机memory能接受的范围;

3.ATE测试时间长,测试成本降不下来。

2.1DFT向量产生和仿真时间太长,延长了项目开发周期

下面用一个实际例子来说明这个问题。

我刚刚完成的一个项目,该项目是一个40M(4千万)门规模的设计。

光是memoryBIST的后仿真,我跑一遍就要花21天,跑了570K(57万)个时钟周期(clockcycle)。

对这样的设计,如果按照传统的扫描技术,跑一遍ATPG验证需要多长时间?

我不敢想象!

有没有解决办法?

有!

我们想到了采用压缩扫描技术!

2.2DFT向量超大,超出ATE测试机memory能接受的范围

还是我刚刚说的这个项目,寄存器超过320K个。

由于IO管脚有限,我们只能做23条扫描链。

按照传统扫描做法,平均每条链上有近15K个寄存器。

谁能想象一条链上有近15K个寄存器的设计,其覆盖率能达到多高?

要达到你想要的覆盖率,测试向量该有多少?

所生成的测试向量ATEmemory能容得下吗?

所有这些疑问,都要求我们必须寻找到有效的解决办法——采用压缩扫描技术。

2.3ATE测试时间长,测试成本降不下来

大家都清楚,现在的芯片利润越来越低,我们必须想尽一切办法降成本。

降低测试成本是其中的一个途径。

请大家算一下,还是上面这个例子,扫描链长度达15K,测试向量数高达8K,要完成stuck-at测试,需要多少个时钟周期?

时钟频率按照20MHz计算,测试时间多长?

简直让人无法接受!

怎么办?

还是采用压缩扫描技术!

3.怎么使用DFTCompiler实现压缩扫描,为我所用?

考虑到前面的种种问题,我们决定采用压缩扫描技术。

经过仔细评估业界几个扫描压缩工具,发现DFTCompiler和TetraMAX性价比、易用性都是最好,最合适我们。

于是,我们引进了这个工具。

接下来的问题是,如何使用DFTCompiler实现扫描压缩?

3.1DFTCompiler能做什么?

DFTCompiler的压缩功能有以下几个特点:

1.压缩率在10—20倍区间的测试向量数量和压缩率比最优。

2.支持多种压缩结构。

3.允许压缩和非压缩扫描链并存。

4.对压缩链保留bypass模式,同时支持压缩和非压缩测试。

3.1.1压缩率在10—20倍区间的测试向量数量和压缩率比最优

经过前面几个项目的实践,我们发现DFTCompiler能够很好地支持压缩率在10—20倍的压缩,这个区间的测试向量数量和压缩率比最优。

就如我前面提到的那个项目,我设计了压缩扫描链和不压缩扫描链并存的模式:

CRG、OCC相关的100多个寄存器不能放到压缩电路里面,属于不压缩扫描链。

其他所有32万个寄存器,在内部加了504条扫描链,每条链长650(压缩模式);在外部加21条扫描链,每条链长15,000(bypass模式);使用压缩扫描技术。

3.1.2支持多种压缩结构

DFTCompiler既支持Flatten结构,即整个设计只有一个压缩电路在顶层的结构;也支持Hierarchy结构,即支持多个子模块分别单独压缩、多个子模块一起压缩,顶层单独压缩或者顶层不压缩等多种压缩结构。

如下图:

图1:

Flatten扫描压缩结构

图2:

多个子模块一起压缩,顶层分别单独压缩的Hierarchy结构

 

图3:

多个子模块一起压缩,顶层不压缩的Hierarchy结构

图4:

多个子模块和顶层分别单独压缩的Hierarchy结构

图5:

多个子模块单独压缩,顶层不压缩的Hierarchy结构

设计者可以根据自己的设计需要,选择合适的压缩结构。

就如前面的例子里,我自己的压缩结构如下图所示:

图6:

设计中的压缩结构

3.1.3允许压缩和非压缩扫描链并存

DFTCompiler允许你的设计包含压缩扫描链和不压缩扫描链。

就如上图6所示,我在我的设计里设计了2条不压缩的扫描链,和21条带压缩扫描链。

可能有人会问:

为什么会有这种需求呢?

其实不奇怪,因为130nm及一下工艺,要求我们的扫描电路必须支持transition测试。

要支持transition测试,就必须使用高频时钟。

而这些时钟往往是PLL输出,这时就需要插入一个DFTOn-Chip-ControlClock模块,专门用于DFT时,控制和配置高频transition时钟(capturecycle)。

而这个OCC时钟控制模块,最好是不要放到压缩电路里面的。

而为了提高覆盖率,我们又要对OCC里面的寄存器插入扫描链。

那怎么办?

只能采用这种不压缩扫描链的方法了。

3.1.4对压缩链保留bypass模式,同时支持压缩和非压缩测试

DFTCompiler为扫描压缩电路提供了压缩模式和非压缩模式(即Bypass模式),一般由scan_compress_enable来实现切换。

就拿我前面3.1.1一节里提到的例子来说:

在压缩模式下,总共是504条扫描链;在非压缩模式下,有21条扫描链。

可能有人觉得保留bypass模式没必要,但我认为这还是很有用的。

因为扫描电路有些复杂,有时产生向量时不好调试。

这时候,Bypass模式能让你的调试变得容易一些,可以让你先确定问题是在扫描链上,还是在压缩模块里。

缩小问题定位范围,能让你更快地找到问题、解决问题。

3.2怎么使用DFTCompiler实现扫描压缩?

其实,DFTCompiler实现扫描压缩,相较于传统的扫描插入,只增加了以下几条命令:

1.在定义完clock、reset、test-mode、scan_enable、constant等等扫描相关信号以后,增加以下命令:

set_dft_configuration-scan_compressionenable

2.使用set_scan_configuration-chain_count

比如,我前面举的例子里,我在这个地方写“21”(外部总共23条扫描链,但正如图6所示,有两条链是不压缩,需要单独插扫描链,不能在这里定义)。

3.增加一条设置:

set_scan_compression_configuration-minimum_compression<期望压缩倍数>

就如前面的例子里,我的压缩率是25。

可能有人会奇怪,为什么我反复说,DFTCompiler最好的压缩倍数是20,可为什么我的是25倍?

这其实是跟我的设计有关。

我的设计里,只有这么多IO管脚可供我做扫描复用,实属没办法,才用了25这个值。

4.还要增加一个压缩/非压缩模式切换信号:

create_portscan_compress_en-dirin

set_dft_signal-viewspec-typeTestMode-active_state1\

-port[get_portsscan_compress_en]

做完以上这四步,再按照传统的扫描插入方法,定义scan_in、scan_out、扫描链,用create_test_protocol命令产生测试协议(testprotocol),以及执行insert_dft命令插入扫描链就可以了。

3.3DFTCompiler实现的压缩效果如何呢?

做完扫描链和压缩电路插入后,接下来就是使用TetraMAX生成测试向量。

这可是验证DFTCompiler压缩效果如何的方法。

到底DFTCompiler压缩效果如何呢?

大家知道,我前面提到过,我的设计非常大,如果不使用压缩技术,我的向量将非常多。

为了说明DFTCompiler压缩效果,我把上面举例的那个项目,在压缩模式和Bypass模式都分别生成里向量。

两种模式的向量数量和覆盖率情况,对比如下:

压缩模式

Bypass模式

扫描链长

Test覆盖率

向量数量

向量大小

扫描链长

Test覆盖率

向量数量

向量大小

650

97%

4655

3,025,750

15000

97%

1248

18,720,000

650

97.86%

6148

3,996,200

15000

97.86%

2460

36,900,000

通过以上这组数据,大家可以清楚地看到,压缩之后,向量的深度缩短达6倍之多。

象这样的情况,如果ATE测试,使用Bypass模式的测试向量,93K测试机的memory装不下,但使用压缩模式的测试向量就没问题。

相应地,测试时间也就一目了然。

4.DFTCompiler和TetraMAX给我带来了什么样的好处?

3.3节的表格里的数据,已经给我们提供了一个很好的明证:

使用DFTCompiler和TetraMAX压缩技术,可以显著地缩短ATPG测试向量的大小,更容易满足ATETester的memory要求。

同时,显著地缩短ATE测试时间,节约测试成本。

当然,对于我们DFT工程师本身能直接体会到的还有,ATPG测试向量生成和后仿真的时间明显缩短:

我这个例子里,非压缩模式跑4天,压缩模式跑不到2天时间(当然,这跟机器资源有关)。

其实,说到DFTCompiler和TetraMAX的好处,还不得不提一点:

走Hierarchicalflow,DFTCompiler把sub-chip的scansignals集成到顶层有很好的自动化水平。

由于开发进度等各方面的要求,我们一般会对设计patition出多个sub-chip单独hardening。

这些sub-chip也就需要单独做扫描链插入,而且往往还需要带扫描压缩电路。

而在做顶层扫描链插入时,工具如能自动把这些已经做好扫描链的sub-chip的相关扫描信号连接到顶层,就能避免用户手工连接错误。

DFTCompiler在这方面做得相当好:

只要用户读入sub-chiptest模型,在顶层把相关扫描信号定义好,DFTCompiler就能够在做顶层扫描链插入的同时,把sub-chip的相关扫描信号集成到顶层。

这能省去我们很多手工集成sub-chip扫描信号的时间,而且能避免人为引入错误。

DFTCompiler能自动集成处理各种各样的扫描插入方案,包括图1-图6所示的方案。

DFTCompiler这方面的能力,其他扫描压缩工具是不具备的。

5.结论和建议

1.为了保证压缩效果,建议每个压缩电路(不管是子模块还是top-level)至少要保证5个以上的scan-in/scan-out管脚。

2.压缩率定在20倍效果最好。

如果设计允许,应尽量按照这个标准来做。

3.为了比较容易解决时序问题,我们建议在scan-out上增加pipeline寄存器。

4.DFTCompiler和TetraMAX报告的覆盖率是包含压缩和解压缩模块的。

其他工具的报告,为了显示覆盖率高,可能不包含这些模块。

6.致谢

感谢SynopsysVictorYu一直以来的鼎力支持,为我们顺利、正确使用DFTCompile和TetraMAX提供了不可或缺的帮助。

同时,也感谢VictorYu对这篇paper的指导。

7.参考文献

[1]《DFTCompileUserGuide》

[2]《TetraMAXUserGuide》

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1