DFT 问答 III
1.Boundary scan
Boundary Scan就是我们俗称的边界扫描。Boundary Scan是上世纪90年代由 Joint Test Action Group(JTAG)提出的,它的初衷是为了解决在PCB上各个大规模集成电路间的信号互联测试需求,所以往往也被叫做JTAG(JTAG更是指由IEEE1149.1标准规定的4线接口极其控制逻辑如TAP、TDR等)。现在 JTAG / BScan 已被绝大多数芯片设计公司和系统厂商所采用,作为一种芯片 IO PAD connectivity测试、DC Characterization、内部逻辑电路debug、在线系统 PRGM 和系统级测试的一种高效手段和业界标准。
个人认知,JTAG/BScan 的实现主要有两种实现方式:一是RTL hand coding,一般从算法开始到系统的全系列公司常用;二是借助 EDA 厂商提供的 tools 来实现。这里要特别提及一下,非常佩服前任大牛老大,在项目间隙大家都在放羊的间隙,楞是用C写了一个 In-house BScan insertion 定制化工具。非常感慨:聪明的人不可怕,可怕的比我们聪明的人还比我们更勤奋!
JTAG/BScan 在DFT领域里面相对比较简单,所以没有多少挑战,作为新工程师了解和进入项目的初始工作任务是非常不错的一个task。 特别注意一些弯弯绕的地方,个人认为可能就在于:
越来越多的MCP产品测试需要,在die的不同阶段BScan的不同测试方法和pattern准备;
除了基本的In/Out/OEN的测试外,对PAD其他控制信号的测试实现。

2.MBIST
MBIST就是Memory Build In Test简称。随着集成电路规模和复杂程度的不断提高,在ASIC/SoC 中集成的 memory 数量和所占的die size比例非常高(例如>40% in AP),同时 memory 本身的 cell density 也比较高,那么相应地在 memory 上面的制造 defect 在SoC的比例也较大。
MBIST 从上世纪90年代末发展起来、为实现对IC 内部集成memory 的测试而生。
MBIST design 的实现,主要靠EDA工具来完成,最早做的很好的一家是 Syntest 的TurboBIST, 不过好像现在这家EDA公司日渐式微,奈何美人迟暮英雄末路。 目前EDA三巨头各家都有自己MBIST的解决方案。
对于MBIST design过程中和芯片测试过程中的挑战,个人认为还是在diagnosis, auto-repaire和FA了。

LBIST:
A:LBIST 顾名思义就是LogicBIST,实现靠Tool。挑战主要是LBIST design overhead, Test coverage 以及最终的测试时间等.

Analog DFT:
Analog DFT,常常也把一些数模混合的IP归集到这一范畴,这部分基本不太可能依赖EDA tool来实现,往往都基于RTL coding 完成。Analog/IP DFT比较常用的架构有Internal/External Loopback, JTAG program test,IO pin test muxing, embedded reg/mem sampling 等等。这部分重点是需要和 Analog/IP designer 紧密合作,共同确定后续lab和量产测试的spec;还有就是因为包含了Analog部分,如何完成仿真验证需要特别注意。
scan chain,stuck-at跟at-speed test各是什么?分别如何实现?挑战是什么?
A:Scan chain即是由芯片中的寄存器串在一起组成的扫描链; stuck-at和at-speed指的是ATPG 当中的fault model。Scan chain insertion 同样是靠工具完成。
压缩/解压缩的概念是什么:
这里所说的压缩是专指 Scanchain 的压缩(Compressor)。由于集成电路规模的不断增大,内部的寄存器数量也越来越庞大,如果没有压缩技术, Scan chain会非常长,相应的在ATE 上的test time就长,而ATE test time是影响整个芯片成本的一个关键因素。
具体压缩比的定义,还是要看是用那种架构来实现。比如M的TK,由于它使用LFSM电路结构,所以它能够做到比较高的压缩如数百倍或更高,工具同时支持用户利用analyze方式来提前评估各压缩比例的优劣。近年来S和C家也改进了压缩解压缩的电路结构,加入了时序逻辑到压缩解压缩电路中,压缩比都能做到足够高。

ATPG是什么?用于DFT的哪个方面?在电路结构上如何体现?如今业界算法是否大同小异?最流行的算法是什么?
A:ATPG 是Auto Test Pattern generation即测试向量生成的简称,用于DFT Scan 设计的验证和测试pattern的产生阶段。由于Scan是基于基本的数字逻辑电路Flip Flop以及之间的datapath完成测试的,所以据个人认知,Scan的算法也是基于Digital 电路的基本测试原理,比如D算法, Fan算法等等,各家无出其右。

测试时间跟哪些因素相关?缩短测试时间的办法有哪些?
A:测试时间相关因素有:SoC的规模,Test Plan和DFT Spec的要求,DFT design实现架构,具体DFT各项实现方法,DFT mode SDC和 timing signoff,还有Physical floor plan和IR drop影响等等。
与此对应的,努力减少测试时间和陈本的关键就是首先case by case定义好该芯片的DFTSpec,然后基于芯片实际情况选择最合理的design flow和EDA tools, 与STA 攻城狮一起评估和定义高效而又合理的SDC,结合后端的情况和将来 ATEpattern program的考虑,调整DFT design 情况和后面的pattern生成等等。
OCC/OPCG/scan clock mux用途是什么?工作原理是什么?如何实现?
A: OCC/OPCG/SCAN mux等等首先是实现Scan DRC fixing,然后是根据不同 clock domain 的具体要求,决定是仅仅进行 stuck-a t还是更一步的 at-speed 测试。
它的工作原理是采用一组串在Scan Chain上的FF,作为pulse数量控制寄存器来 Shiftin 预设数值,再结合一组 function clock 的 pulse counter 寄存器,共同完成在 ATEclock 和 PLL/Func clock 之间的glitch free 的clock 切换。
在实现方式上,前端设计公司大多用 RTL hand coding module 在 clock gen 设计过程中就放入RTL database当中去;如果用EDA tool实现的话,S家的OCC跟C家的OPCG都是比较普遍的做法。
MBIST RTL flow跟netlistflow各有什么优劣?更推荐哪种flow?为什么?
A:从各种不同类型项目在RTL和netlist 上MBIST实现的工作经验来看,两者互有优劣。 个人感觉基于RTLflow更为清晰、灵活,对于复杂结构更容易完成工程师的特殊定义和约束要求;而基于netlist flow比较单纯、简单,但对一些额外要求实现就比较困难。具体用那种flow,要根据该次项目的实际情况和整个DFT flow的具体情况来分析,以真实项目经验来说,两种还都在使用中的。
MBIST时,Memory partition要考虑哪些因素?推荐的做法是什么?
A:MBIST设计中的memory partition 因素主要有:
memory instance 在floor plan中的location (DEF + more) ,主要是解决绕线长度( timing / transition ) 和congestion问题;
memory 所处的power domain和clock domain,主要是满足atspeed test 要求;
memory type 和Group balance,主要是优化test time,同时也考虑physicalrouting和测试power consumption/IR drop 等等;
其他还需要参考的因素还有部分 User-defined/programming Algorithm要求, MBIST diagnosis 以及memory redundancy repair要求等等
DFT的标准都有哪些?分别是什么?用于什么?
A: DFT 的标准,如上面提到的每一种测试项,分别从不同角度去考量;
如Scan,最主要就是 Stuck-at 和 At-speed 分别test coverage是多少,这点是决定量产 Yield 的关键;还有是 pattern volume 和相应 test coverage 的可实现程度;
MBIST 标准主要有 100% memory instance 已经被覆盖到;各个MBIST case / pattern 的设计频点 ( timing closurd );各个group采用的 MBIST Algorithm, 是否 Repairable 及其策略;
BSCAN,主要就是各组 pattern involved IO list, pattern类型等;
对Analog & IP DFT 差异比较大,个人认为考量标准有能够 cover 的 digital/analog path范围;lpbk可以配置的pattern种类;数据的 sampling rate和可配置频率等。

除了以上提到的,DFT还有哪些类别?
A: 群主所提问题已经非常专业全面了,如果非要再找一些边边角角,那想来DFT还必须包含内容:如BurnIn,结合CPU和Code的测试,OTP/DRO/Sensor IP等等;另Analog&IP DFT林林总总可能十几项也各不相同。
当前DFT的发展趋势是什么?
A: 个人想来应该有很多很多,还是仅仅抛砖引玉吧:
随着集成电路规设计技术的发展,芯片的运行频率越来越高如2GHz以上,DFT design 电路和实现策略要相应发展;
随着集成电路规模的持续迅速发展,ATE上 DFT pattern 的量产封测当中的花费以及在整个芯片中的成本比重越来越高(如有些品线20%+),那么为了减少测试时间和想办法提高测试效率提高的DFT 技术和架构持续发展;
高速发展中的汽车电子、自动驾驶和AI 等集成电路,芯片的 Safety Critical 紧密关联的 DFT Design Solution要求也越来越急迫,如 ISO26262 Certified Testsolution 等等;
半导体制造工艺的持续快速发展到12nm、7nm等,工艺缺陷和foundry生产当中 defect方式、类型、分布,随之相对应的fault model、测试算法的发展;
个人认为,DFT 在以后集成电路发展中将会越来越重要, DFT 攻城狮需要掌握的基本技能和熟悉知识面要求越来越多。
无论是前面都提到的在芯片中的成本比重,对整个产品Yield的决定性,还是对整个系统工作的安全、可恢复性,以及最终的对某一款芯片是不是可以推进产品化,都将起到越来越重要的决定作用;
DFT 工作基本要求愈来愈广泛,例如必须完成在RTLCoding 和整个database DFT integration,熟练掌握实现过程中的 FV, Synthesis, SDC/STA 和 timing closure等,并熟悉后端 Physical 相关 floorplan, CTS, PGA 等等;
DFT 在 silicon, ATE 和 PCB 系统上面调试和 debug 工作将越来越重要。如在 silicon 回来之前进行的 ATE pattern generation 和全面的 verification;面向 ATE CP, FT 等 pattern programming;拿到silicon后第一时间的ATE testing bring up以及IC 量产中的FA等,都不断有新的技术发展和新要求,我们攻城狮必须保持一颗不断学习、紧跟技术潮流的心啊! :)
最后,做DFT和做silicon其他一样一样的,借用流行的话来说就是需要工匠精神。对于新技术、新工艺可能大家都能够掌握,但是仔细、耐心和要求尽善尽美,才是决定芯片是不是可以正常work、进一步产品化成功的最最关键因素。
DFT 问答 III的更多相关文章
- DFT 问答 I
Q: Boundary Scan是什么?应用场景是什么?实现的方法是什么?挑战是什么? A: Boundary Scan就是边界扫描,是由Joint Test action Group起草的规范,最初 ...
- DFT 问答 II
1. Boundary Scan A:Boundary scan 顾名思义,是附加在芯片I/O 周边的扫描测试链,它通过专门的测试端口(TAP)访问.在测试模式下,边界扫描链会接管功能逻辑,对I/O进 ...
- SCI投稿过程总结、投稿状态解析、拒稿后对策及接受后期相关问答
SCI投稿过程总结.投稿状态解析.拒稿后对策及接受后期相关问答 http://muchong.com/t-9174366-1 SCI投稿过程总结.投稿状态解析.拒稿后处理对策及接受后期相关问答综合 ...
- BugPhobia开发篇章:Beta阶段第III次Scrum Meeting
0x01 :Scrum Meeting基本摘要 Beta阶段第三次Scrum Meeting 敏捷开发起始时间 2015/12/15 00:00 A.M. 敏捷开发终止时间 2015/12/15 23 ...
- Ext JS - 问答
Ext JS - 问答 在下面你将可以找到关于Ext JS 的最常见问题的答复.如果没有找到您所需的答复,请访问 Ext JS 论坛或者提交一个支持申请. 如果你确信你的问题可以对本页有补充,请让我们 ...
- https问答篇
https问答 SSL和TLS有什么区别? 可以说,TLS是SSL的升级版本,SSL是网景公司设计的,为了最早期的网络安全而生,它的全名叫做"安全套接层".后来,IETF在1999 ...
- 关于ArcGIS的Web 3D GIS问答
以下问答基于ArcGIS 10.4版本,涉及的软件有 ArcGIS for Server ArcGIS for Desktop ArcGIS Pro 1.3 Esri Drone2Map 1 支持B/ ...
- 用Kotlin开发Android应用(III):扩展函数和默认值
这是关于Kotlin的第三篇. 原文标题:Kotlin for Android (III): Extension functions and default values 原文链接:http://an ...
- LeetCode Single Number I / II / III
[1]LeetCode 136 Single Number 题意:奇数个数,其中除了一个数只出现一次外,其他数都是成对出现,比如1,2,2,3,3...,求出该单个数. 解法:容易想到异或的性质,两个 ...
随机推荐
- PTA 1003 Emergency
问题描述 As an emergency rescue team leader of a city, you are given a special map of your country. The ...
- ArcGIS Server Manager 重置密码
重置忘记的密码 ArcGIS 10.5 (Windows) | 其他版本 根据以下说明为标识存储中的用户或主站点管理员帐户重置密码. 为标识存储中的用户重置密码 可按照以下步骤为标识存储中的用户重置密 ...
- elasitic search fresh flush segment merge
new document首先在in memory buffer 中 (1)fresh 触发条件:默认one second 执行一次 执行过程:将memory buffer中documents 写入至f ...
- Java改变引用数据类型的值
Java改变引用数据类型的值 在Java中,引用数据类型的数据传递的是值(地址)的拷贝 对于以下代码 class BirthDate { private int day; private int mo ...
- 搜索字母a或A
Amy觉得英语课实在是无聊至极,他不喜欢听老师讲课. 但是闲着也是闲着,不如做点什么吧?于是他开始数英语书里的字母a和A共出现了多少次. 费了九牛二虎之力终于数完了. 作为一名软件工程专业大学生,他觉 ...
- 2018ICPC南京站Problem A. Adrien and Austin
题意: n个石头再1-n的位置上,两个人轮流取时候,必须取连续的一段,最多取k个,不能取为输,问谁会赢 解析: 当k大于等于2时,先手总能把石头分成相等的两部分,此时后手无论怎么走,先手在对称的位置选 ...
- 【转载】17个新手常见Python运行时错误
转自:http://www.cnblogs.com/smile-ls/archive/2013/05/20/3088393.html 当初学 Python 时,想要弄懂 Python 的错误信息的含义 ...
- Jmeter-基础实战
一.测试需求:测试20个用户访问web网站在负载达到30QPS时的平均响应时间 QPS:Query Per Second 每秒查询率.是一台查询服务器每秒能够处理的查询次数.在因特网上,作为域名系统服 ...
- 简单易用,用Powershell劫持Windows系统快捷键
POC: $WshShell = New-Object -comObject WScript.Shell $Shortcut = $WshShell.CreateShortcut("des ...
- [HEOI2016] 字符串 - 后缀数组,主席树,ST表,二分
[HEOI2016] 字符串 Description 给定一个字符串 \(S\), 有 \(m\) 个询问,每个询问给定参数 \((a,b,c,d)\) ,求 \(s[a..b]\) 的子串与 \(s ...