SoC嵌入式flash存储器的内建自测试设计概要.docx
《SoC嵌入式flash存储器的内建自测试设计概要.docx》由会员分享,可在线阅读,更多相关《SoC嵌入式flash存储器的内建自测试设计概要.docx(8页珍藏版)》请在冰豆网上搜索。
SoC嵌入式flash存储器的内建自测试设计概要
88微电子学与计算机2005年第22卷第4期
(
1栅极编程干扰(GatePro{即mDisturlance,
和栅极擦除干扰Emsure:
对一个存储单元的编程操作引起同一字线
上的另外单元发生错误的编程或擦除操作。
(2漏极编程干扰(DminProg咖n
Disturbance,DPD和漏极擦除干扰(Drain
Emsure
D
isturbance,上的另外单元发生错误的或擦除操作。
(3读干扰(Read
DisturbaIlce,RD:
对一个存储(4过度擦除(Over
Erase,0E:
对存储单元的过作用,从而无法得到正确的操作结果。
上面几种类型的干扰故障一般发生在存比与评估同.例如一种MatchA算法可表示为:
1、
上l(r1,埘o,训l,埘0;U(r0,埘1,埘0
r7
.这种MarchA测试算法能够覆盖SAF(Stuck—
At
Faults,DPD,DED,RD,OE和几乎所有的GPD,
GED故障。
其算法复杂度可以表示为11xP+4xR,其中P和R分别表示一次编程和读取操作,N表示存储器的存储容量(字数。
3嵌入式nash存储器内建自测试方案
分析nash存储器的各类故障特征,测试方案
可以采用纯硬件方式实现的BIST结构,这种方案
采用专用的电路结构和测试算法,能够有效缩短测试时间。
提高生产效率。
硬件测试方案的主要不足
之处在于占用的芯片面积较大。
由于SoC芯片上往往存在CPU等运算处理部件,利用这些现有的片上
资源,可以设计出一种新型的软硬协同测试方案.
以解决硬件方案的不足。
3.1采用硬件方式的存储器内建自测试方案
硬件方式的存储器内建自测试方案的结构如图1所示.整个结构主要包括两部分:
nash存储器BIsT控制器,存储器封装器(Wrapper以及这两者
之间的串行内连线。
nash存储器BIsT控制器主要包括指令存储器和命令解释器,如图2所示。
指令存储器是一块专门用于内建自测试的ROM存储器。
主要存储BIST控制器所需要的测试算法和测试进程信息。
测试算
图l硬件方式的nash存储器内建自测试方案
法由一系列测试指令组成。
应力争覆盖尽量多的故障类型。
测试进程由进程算法产生。
在测试开始前写入到指令存储器中。
n—diag
l存储器l“=黑’-&一datal
控制器
rmod
命令解释器T
erro
.Finish网图2硬件方案的nash存储器BIsT控制器
存储器BIST封装器(Wrapper是.硬件方式的存储器内建自测试方案的另一重要组成部分。
在设计上应该能够为测试控制器提供全面的控制能力和监测能力。
由于存储器结构的规则性和I,0接口
相对简单,我们可以采用简化的IEEE
P1500
Wrap—
per来实现嘲。
如图3所示,这一方案采用一条P1500
串行扫描线.所有的测试命令和结果都通过WSI/
WSO端口来输入输出。
封装器指令存储器WIR(WrapperInstmctionregister保存来自测试控制器
的命令,并且通过WClock和Update_WIR来进行
更新。
Funcnonal
Interfaco
数据数据控制地址
a油tmJIer
Interfhoe
图3硬件方案中的存储器BIST封装器(wrapper
2005年第22卷第4期微电子学与计算机
nash存储器BIST封装器(Wrapper由5个主要组件构成:
M盯ch元素译码器、测试向量生成器、比较器、地址产生器。
和存储器接口逻辑。
除比较器相对较为简单外,其他各部分如下:
(1March元素译码器:
基于状态机(FSM实现,对从控制器得到的测试命令进行译码,并且产生对存储器的读写信号和对地址/向量生成器的控制信号。
译码器的具体实现要由存储器的特性(比如类型、大小和测试要求决定。
(2测试向量生成器:
嵌人式nash存储器是以字为存储单位的,一般每个字包含多个位,需要用不同的测试向量进行测试。
假设字的位数为Ⅳ,则向量生成器只需要lo龅Ⅳ+1个状态。
表l中列出了一个8位的测试向量生成器的伪代码实例。
在这个实例中,字宽只有8位,所以只需要4个状态就行了。
表18位测试向量生成器伪代码实例
8一bitWordBackgmundPattemGenerator
lNPUT:
INrr,NEX’I'-PArI『IERN
0UTPUT:
PATIERN,REV—PATIERN
1.if(INrI{
2.PA-I’IERN=8、b00000000:
REVPATrERN=8、bllllllll;
3.ST^TE=0:
4.}elseif(NExTPA。
I’IERN{
5.STAlE=sTATE+l:
6.}else{
7.ca∞(s1.ArrE{
8.O:
PA7I-I.ERN=8、b100(0000:
REV__PA.I-】['ERN=8、bll111111;
9.1:
ATrERN=舻bOl010101:
RE、UATIERN=8、b10101010;
10.2:
PA7兀ERN=8、bool1001l:
REv-PAⅡ’ERN=8、b11001100;
11.3:
TERN=8、b00001111:
REVJPATIERN=8、bl1110000;
12.1
13.1
14.done
f3地址产生器:
地址产生器一般由线形反馈移位计数器(LFSR或者格雷码进位计数器构成,并针对存储器March测试算法进行修改。
图4给出了1位格雷码进位计数器的一种实现,由其可方便构成Ⅳ位格雷码进位计数器。
(4存储器接口逻辑:
为了减少走线,在测试控制器和存储器封装器(Wrapper之间可以使用串行
d
lnlt
图41位格雷码计数器
连接。
采用类似P1500的测试封装器(Wr印per,但只实现封装器指令寄存器(WIR和串行接口,可以在保证功能的前提下节省面积和功耗。
图5给出了4位WIR的一种实现。
图5指令寄存器(wIR
在实际的测试过程中,测试命令的主要执行步骤可以总结如下:
(1存储器封装器(Wrapper通过串行命令传输线接到来自控制器的一条测试命令后。
得到nash存储器内核的控制权。
在处理当前指令时,封装器(Wrapper被March元素译码器锁定,在此期间新的测试命令无法进行更新,直到当前命令处理结束。
(2基于得到的测试命令,March元素译码器产生合适的信号来控制地址产生器、向量生成器、和比较器来执行March测试算法。
测试结果模块保存得到的测试结果并输出给测试控制器,同时给出测试通过/失败信号。
(3当有错误发生时,存储器封装器(Wr印per停止并等待控制器进行相应处理,并根据不同测试向量决定继续执行测试还是以失败结束。
.
(4当前测试命令结束以后,得到测试结果,封装器(Wrapper中的指令寄存器解除锁定,并准备执行下一条测试命令。
nash存储器内建自测试方案的性能主要体现在测试时间、BIST电路面积、走线复杂度等方面。
实验结果表明采用串行连接的分布式BIsT硬件方案能够避免走线拥挤,占用较少芯片电路面积。
采用低功耗设计的存储器BIST封装器(Wrapper也有助于减少面积占用,同时提高测试精度,最终达到减少测试时间的目的。
另外,还可以扩展自诊断和
微电子学与计算机2005年第22卷第4期
自修复等功能。
3.2采用软硬协同方式的存储器内建自测试方案
一个复杂的SoC系统芯片通常包含一个或者
几个处理部件(例如微处理器,这些部件一般通过
片上系统总线与嵌入式存储器通信,利用这些现有的片上资源来进行嵌入式nash存储器的内建自测试可以有效降低面积和功耗。
通过软件对嵌入式存储器进行测试的方案就是利用片上微处理器来完成的。
但是软件测试方案往往全部依靠片上的处理部件和现有功能部件来完成,这样虽然可以避免硬件力案所带来的面积、功耗等影响,但是却需要相对较长的测试时间,降低了测试的工作效率。
采用软硬协同的方式,可以结合两者的优势在测试效率和硬件开销之间取得平衡。
如图6所示。
这种软硬协同测试方案的结构主要包括两部分:
可编程控制器(r11leprogrammablecontr0Uer和存储器封装器(Wrapper。
这里有两种类型的存储器封装器,那些未连接到系统总线的存储器(non_bus—connectedmemory,NBCM具有单独的封装器(NBCMWmpper,而连接到系统总线的若干存储器(bus—connectedmenlory,BCM可以公用一个共享的封装器(BCMWr印per。
片上系统总线辩上
图6软硬协同测试方案结构图
软硬协同测试方案中的可编程flash存储器BIST控制器的结构框图如图7所示:
三个接口逻辑模块分别用于连接片上系统总线、连接到总线的存储器模块(NBCM,和没有连接到总线的存储器模块(BCM。
总线接口模块将系统总线和BIsT控制器连接起来。
并为微处理器和BCM,NBCM之间交换数据提供通道。
NBCM接口模块主要包括两部分:
一个系统接口(SystemInte血ce用于连接BIST控制器和外部ATE设备,另外还有一个NBCM接口用于把所有的NBCM封装器(NBCMWrapper连接起来。
测试接
系统总线
图7软硬协同测试方案中的BIsT控制器BCM封装器(BCMWrapper的结构如图8所示,在对BCM进行测试时,BCM接口模块把从处理器得到的测试命令通过总线接口模块传送给BCM封装器,并且把测试结果(通过,失败以及诊断信息传回处理器。
BCM封装器和MemoryBIsT控制器之间的连接采用并行方式.来提高速率和减少走线的复杂度。
在满足功耗约束的条件下,仔细设计测试算法和测试进程,可以同时在测试时间和面积占用上取得满意的效果。
FlashMemoryBIsT控制器
图8软硬协同方案的BcM壳(wrapperNBCM接口模块用于测试所有没有连接到总线上的Ⅱash存储器。
NBCM封装器(NBCMWrappe^的结构与硬件方案中的存储器BIST封装器mhp.per基本相同,这里不再赘述。
软硬协同测试方案的执行步骤可以总结如下:
(1微处理器通过beg—addr,msD-index,com—mand信号把存储器测试起始地址、存储器大小和测试命令传送给BCM封装器(BCMWrapper。
(2BIST控制器把new—command信号置位来激活BCM封装器(BCMWrapper,准备执行测试指令。
.
(3如果测试指令以正确的结果完成,finish信
2005年第22卷第4期微电子学与计算机91
号会被置为1,如果指令执行过程中有错误发生,error信号会被置为1,发生错误的地址和数据将通过eⅡ二addr和e啦-data传送回系统总线,以便进行诊断和处理。
(4当前测试命令结束以后,微处理器会把下一条测试指令传送给BCM封装器(BCMWmpper并执行测试,直到测试序列中的所有指令全部结束。
4结束语
对比以上两种测试方案,可以看出二者具有各自的优缺点。
专用硬件方案的主要优势在于它在SOC芯片结构中的独立性,在完成了初始化工作和接到测试指令后,即可自行完成测试功能。
由于所有的嵌入式存储器都有自己的封装器(Wr印per结构,在满足功耗约束的条件下,能够有效缩短测试时间,提高工作效率。
然而,由于测试指令存储器和每个嵌入式存储器封装器电路的引入,会增加比较大的芯片面积,并且可能会对芯片性能产生影响。
而在软硬协同方案中,通过重用芯片上的微处理器进行测试指令解码,同时所有连接到系统总线上的存储器公用一个共享的封装器,可以有效消除专用测试