芯学长 | 掌握芯资讯,引领芯未来

您当前所在位置:首页 > 芯片设计 > DFT

DFT技术介绍和所用工具

发布时间:2023-07-25来源:芯学长 0

  DFT技术主要包括Scan,Mbist和Boundary Scan这三个方面。

  1.Scan技术又包括扫描链插入和基于扫描链结构的ATPG(AutomaticTestPatternGeneration,自动测试向量生成)技术。

  扫描链的构建,首先得基于扫描结构的触发器。下图中,左边是普通的D触发器,右边是扫描结构的触发器,通过在数据Dpin上加入一个二输入多路选择器(MUX),就引入了一条新的数据输入路径SI,MUX的选择端又SE控制,所有触发器的SE会接到一起,并连到芯片PAD上统一控制。

 3

  然后前一级触发器的Qpin接后面一级触发器的SIpin,中间直连或者经过简单的缓冲器或反相器,这样所有触发器首位相连,就构成了扫描链,扫描链的起点和终点最终都会接到PAD上,结构如下,绿色部分就是扫描链结构。

4

  芯片的主要工作部分是组合逻辑,组合逻辑实现运算,而时序逻辑让这些组合逻辑运算出的数据踩上节拍,整齐的按计划传送。触发器和触发器之间的组合逻辑千变万化,相当于修了许多条分支小路,每条路上还有红绿灯,数据通行效率低下,而扫描链结构相当于给触发器之间建了另一条高速公路,在SE(shiftenable)为高的情况下,可以在时钟驱动下,很快速的通过PAD把数据加载到各个扫描触发器上。任何一个组合逻辑的输入要么接到前面的触发器上,要么接到输入PAD上,而组合逻辑的输入最终会接到后面的触发器的Dpin或者连到输出PAD上。所以,等扫描链加载上数据后,组合逻辑就有了激励,然后在SE为低时,时钟跳动一次,就可以将组合逻辑的最终响应捕获到后面的触发器里,然后再把SE切到高,把捕获的数据shift到输出PAD上观测,和无缺陷情况下的期望值比较,以此来判断触发器本身和触发中间的组合逻辑有没有制造缺陷。有缺陷的地方会出现短路和断路等故障。ATPG工具就是基于这样的扫描链结构,根据算法推算出应该加载到扫描链上的激励序列和期望序列,这样的序列称为测试向量(pattern)。

  扫描链插入,业界常用的是synopsys的DFT Compiler,mentor的tessent shell也有串scan chain的引擎。测试向量生成常用Mentor的tessent工具或者synopsys的TetraMax,向量产生完,还要用仿真工具VCS,Questa sim去做测试向量的仿真验证,仿真分不带时序信息的门级仿真和带时序信息的后仿真。主要目的是用仿真器模拟机台测试,去验证测试向量是否正确。

  2. Mbist(MemoryBuilt-inSelfTest)是为了测试芯片中ram和rom IP的,测试原理是在设计中插入内建自测试逻辑,靠内建自测试逻辑产生激励,对ram 和rom进行读写,然后在内建自测试逻辑中去比较测试结果。所以不依赖测试机台也能完成自测试。Mbist结构如下,紫色的左右logic部分和RAM部分代表原有的功能逻辑。Mbist工具会加入选择器(mux)将输入控制截获,然后通过左上角绿色的Bistcontroller产生测试向量,对RAM进行读写,然后将读的结果送到右上角的红色comparator,比较测试结果和期望值,以此来判断Ram本身到底有没有制造缺陷。

5

  Mbist逻辑插入和向量生成常用Tessent LV flow和近几年推出的的Tessent shell flow。Pattern验证还是用VCS,Questasim等仿真工具。

  3. Boundary scan主要是用来测芯片和芯片间互联的,因为芯片焊接到PCB上时容易发生虚焊,靠boundary scan电路可以测出这种故障。

  BoundaryScan基于IEEE 1149.1协议,主要逻辑有TAPcontroller和boundaryScanchain构成,标准接口有TCK,TDI,TMS,TRSTn(可选)和

  TDO这个五个。每一个芯片自己的TDI和TDO之间有一条boundaryScanchain,前一个芯片的TDO会接到下一个芯片的TDI上。所有芯片的TCK,TMS,TRSTn会接到一起,结构如下所示。

6

  Boundary scan的原理是在pad输入和输出信号上插入boundary scan cell,相当于在pad信号进入core logic的地方或者core logic往pad走的地方安排了哨兵,然后把各个pad接口上的这些哨兵通过boudary scan chain(类似电话线)连起来,通过chain逻辑使得前一个芯片的输出pad产生激励,后一个芯片的输入pad去观测响应,然后把响应结果通过chain shift出来然后和预期值比较,来判断芯片互联有没有问题。如下图所示,BC代表boundaryscancell。


7

【免责声明】:本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。

文章评价

-   全部 0 条 我要点评

有疑惑?
在线客服帮您
029-81122100

立即咨询 >