CN100346309C - 存储器在板测试方法 - Google Patents
存储器在板测试方法 Download PDFInfo
- Publication number
- CN100346309C CN100346309C CNB021109923A CN02110992A CN100346309C CN 100346309 C CN100346309 C CN 100346309C CN B021109923 A CNB021109923 A CN B021109923A CN 02110992 A CN02110992 A CN 02110992A CN 100346309 C CN100346309 C CN 100346309C
- Authority
- CN
- China
- Prior art keywords
- data
- address
- test
- write
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
本发明涉及一种存储器在板测试方法,该方法利用电路板上自带的边界扫描器件对存储器进行测试,其中边界扫描器件与存储器直接或间接相连,通过边界扫描器件的扫描链将测试数据写入存储器和读取存储器内的数据。该方法不依赖于系统的正常运行并且无需使用昂贵的ICT测试设备和编写相应的测试程序,因此大大降低了存储器测试成本。
Description
技术领域
本发明涉及存储器测试方法,特别涉及利用电路板上边界扫描器件对存储器进行测试的方法。
背景技术
存储器的测试分为两类,一类称为离板测试方法,即在存储器没有被焊接到PCB上之前利用专用门的存储器测试仪来测试存储器。另一类称为在板测试方法,即在存储器被焊接到印刷电路板(PCB)上之后测试存储器。
对于存储器在板测试,主要有系统自检方法和利用在线测试(ICT)设备测试方法。在系统自检方法中,存储器的测试程序被保存在BIOS或快闪存储器(Flash)中。系统加电启动后运行测试程序以对存储器进行自检,如果发现错误,则报告错误或显示错误。采用系统自检方法测试存储器的基本前提条件是系统本身能够正常工作,如果系统无法正常工作,则根本无法判断是存储器的故障还是系统内其它单元的故障。而且因为不同的系统在不同的环境下运行,所以测试程序缺乏通用性和可移植性,每一个电路板的存储器测试都需要专门开发特殊的测试程序。另外,由于测试程序本身需要占用一定的存储器空间,所以系统自检时无法直接对存储器内存放测试程序的存储单元直接进行测试。而如果要将程序搬移进行交替测试,则又增加了程序的设计难度,降低了系统的可靠性。
图1示出了另一种在板测试方法,即利用ICT设备测试存储器的方法。如图1所示,该方法将存储器所有的控制线、地址线和数据线都连接到ICT设备的探针上,通过预先编写的ICT测试程序将测试激励信号经探针驱动到存储器上并通过探针回收测试响应信号以进行存储器故障分析。采用ICT设备测试存储器需要使用昂贵的设备,并且需要专业人员开发专门的ICT测试程序,因此普通用户无力维护和使用,一般只在生产阶段采用。此外,探针与存储器的接触为物理接触,不仅需要在电路板设计时预留测试点,而且还可能存在因接触不良引起的故障误判。
发明内容
针对上述存在的问题,本发明的目的就是提供一种新的存储器在板测试方法,该方法不依赖于系统的正常运行并且无需使用昂贵的ICT测试设备和编写相应的测试程序,因此大大降低了存储器测试成本。
按照本发明的存储器测试方法包含以下步骤:(1)将存储器安装在带边界扫描(BS)器件的电路板上,BS器件包含由测试数据输入(TDI)端口、多个位于器件内部的串联连接的边界扫描单元和测试数据输出(TDO)端口构成的边界扫描链路;(2)将边界扫描单元与存储器的数据线、地址线或控制线中的任意一条连接;(3)在边界扫描链路上经与边界扫描单元相连的数据线、地址线或控制线,将测试数据写入存储器和读取存储器内的数据;以及(4)将读取的数据与期望值进行比较以确定存储器是否存在故障以及故障的类型。
按照本发明的存储器在板测试方法利用一般电路板上都带有的边界扫描器件,无需再增加专门的测试设备和测试程序,因此降低了测试成本。与此同时,该方法无需在系统工作状态下完成,只要上电即可测试,因此便于隔离测试系统故障。
附图说明
通过以下结合附图对本发明较佳实施例的描述可进一步理解本发明的目标、特征和优点,其中:
图1示出了利用ICT设备测试存储器的方法;
图2为边界扫描器件结构的示意图;
图3为边界扫描器件的16状态机示意图;
图4示出了利用电路板上边界扫描器件在板测试集成电路器件的系统结构图;
图5示出了测试存储器时JTAG接口与边界扫描器件连接构成的边界扫描链路;
图6为采用九步棋盘图形法测试存储器内部单元的流程图;以及
图7为采用九步棋盘图形法测试存储器内部单元的流程图。
具体实施方式
边界扫描(Boundary Scan,简称为BS)技术通过在待测试器件的输入和输出管脚与内核电路之间引入边界扫描单元(BSC)从而借助这些边界扫描单元对待测试器件及其外围电路进行测试,从而提高了器件的可控性和可观察性。由于边界扫描技术解决了现代电子技术发展带来的测试问题,因此得到了广泛的应用,现在生产的电路板一般都带有边界扫描器件以方便器件组装到电路板上后的测试。有关边界扫描技术的详细描述可参见IEEE 1149.1标准。以下借助图2和图3简要描述边界扫描器件的工作原理。
如图2所示,边界扫描器件包括连接在输入/输出管脚与内核电路之间的边界扫描单元(BSC)和相应的控制单元,控制单元包含测试存取通道(TAP)、指令寄存器(IR)、数据寄存器组(DR)和TAP控制器等。TAP是边界扫描器件与外部设备连接的接口,包含测试时钟输入(Test ClocK Input,以下简称为TCI)端、测试模式选择输入(Test Mode Selector,以下简称为TMS)端、测试数据输入(TestData Input,以下简称为TDI)端、测试复位输入(Test Reset Input,以下简称为TRST)端和测试数据输出(Test Data Output,以下简称为TDO)端,其中输入TRST端是可选的。以下它们作简要描述:
(1)测试时钟输入(TCK)端
用于提供测试时钟信号,为保持TCK频率的独立性,其不得与任何系统时钟相干扰。从TDI端移进的数据在TCK时钟脉冲的上升沿有效,向TDO端移出的数据在TCK时钟脉冲的下降沿有效。从系统输入端装入数据则在TCK时钟脉冲的上升沿进行。
(2)测试方式选择输入(TMS)端
用于提供测试方式选择,其接收到的逻辑信号(0或1)由TAP控制器解释并用来控制操作。在TCK上升沿时对TMS信号采样,采样信号在TAP控制器中被译码从而产生芯片内部需要的控制信号。
(3)测试数据输入(TDI)端
用于以串行方式将测试数据经边界扫描单元输入内核电路,根据TAP控制器的状态测试数据还被选择输入指令寄存器或数据寄存器。串行输入的数据在TCK上升沿时移入。
(4)测试数据输出(TDO)端
用于以串行方式将测试数据从内核电路(经边界扫描单元)以及指令寄存器或数据寄存器输出,TAP控制器状态决定了数据是取自指令寄存器还是数据寄存器里。串行输出的数据在TCK下降沿移出,当没有数据在TDO输出时,TDO端通常设置为高阻态。
(5)测试复位输入(TRST)端
用于向TRST管脚输入一个逻辑0的测试复位输入,TAP的逻辑异步强制进入其复位方式。TRST线是可选的信号线,在任何状态下,只要TMS保持5个TCK时钟的高电平,边界扫描逻辑电路就自动复位。
TAP控制器为一个时序电路,用于控制指令寄存器和数据寄存器的操作。TAP控制器由测试模式选择(TMS)和测试时钟(TCK)信号驱动,其操作可用图3所示以IEEE 1149.1标准定义的状态图来描述。在图3中,TAP控制器内所有的状态转换(用箭头表示)发生在测试时钟脉冲TCK的上升沿,而与TAP相连接的逻辑(寄存器等)的作用发生在TCK的上升沿或下降沿。箭头旁边的值为TMS在TCK上升沿时的值。图中以阴影标出的状态为主要状态,无阴影的状态为不引起系统作用但能提供过程控制的辅助状态。
图4示出了利用电路板上边界扫描器件在板测试集成电路器件的系统结构图。该测试系统由计算机、符合IEEE 1149.1标准的JTAG控制器和包含被测器件的电路板三部分组成。计算机安装用于边界扫描测试的软件,该软件主要是对电路板进行分析,提取电路板信息和器件信息,根据一定的测试算法生成测试激励信号并传送给JTAG控制器。JTAG控制器连接在计算机与电路板之间,负责将接收到的测试激励信号整理为JTAG信号(包括TDI、TMS和TCK信号)并施加到电路板扫描器件的相应端口上,与此同时JTAG控制器负责从电路板扫描器件的TDO端口接收测试响应信号并返回给计算机供其分析。
图5示出了测试存储器时JTAG控制器接口与边界扫描器件连接构成的边界扫描链路。如图5所示,扫描器件在其内部构成一历经TDI端、多个串联连接的边界扫描单元和TDO端的边界扫描链路,TDI端和TDO端与JTAG控制器的测试数据输入端和输出端连接,此外,存储器的每条控制线、数据线或地址线与一个边界扫描单元连接,因此可以借助边界扫描单元访问存储器的所有存储单元。
以下借助图3所示的16状态机描述利用边界扫描器件将测试数据写入存储器和从存储器读取测试数据的方式。
在将测试数据写入存储器的过程中,JTAG控制器首先使BS器件处于串行移位(shift-DR)状态,在该状态下,测试激励信号被从TDI端和TDO端以串行移位方式预置到相应的边界扫描单元中,该测试激励信号系根据存储器特征及其故障模型得出,代表了向存储器设定地址写入设定数据时对地址线、数据线和控制线所需的赋值,在下面描述利用本发明进行存储器外部互连测试和内部单元测试时将会详细描述如何根据存储器特征和故障模型得到写入存储器的数据。随后JTAG控制器使BS器件经过一系列的辅助状态后进入作为主要状态的更新(Update-DR)状态,在该状态下,边界扫描单元内的激励信号通过相连的地址线、数据线或控制线被送入指定的存储器单元,由此实现了存储器写入操作。
在从存储器读取测试数据的过程中,JTAG控制器首先使BS器件处于串行移位(shift-DR)状态,在该状态下,测试激励信号被从TDI端和TDO端以串行移位方式预置到相应的边界扫描单元中,该测试激励信号代表了从存储器设定地址读取设定数据时对地址线和控制线所需的赋值。随后JTAG控制器使BS器件经过一系列的辅助状态后进入作为主要状态的更新(Update-DR)状态,在该状态下,边界扫描单元内的激励信号施加到相连的地址线和控制线上以选中存储器的选定地址。接着,边界扫描器件在JTAG控制器的控制下经历一系列的辅助状态进入作为主要状态的捕获(Capture-DR)状态,在该状态下将存储器数据线上的信号引入到相连的边界扫描单元中。最后,BS器件进入串行移位状态,以串行移位方式将捕获的数据引出BS器件从而实现读取存储器数据的操作。
由上可见,利用电路板上自带的边界扫描器件可以方便地实现存储器的读取和写入操作,因此如果根据存储器特点和故障模型以一定的规则完成存储器的读写操作,就能够通过写入和读取数据的比较对存储器的故障进行分析。
以下以可读写存储器和只读存储器(ROM)为例描述通过选择合适的测试数据来分析存储器各种故障的方法。
对于可读写存储器,其测试包括外部互连测试和内部单元测试,外部互连测试就是对存储器的数据线、地址线和控制线的故障进行检测,而内部单元测试则是对存储器的存储单元的故障进行检测。外部测试和内部测试具有不同的故障模型,因此比较好的是针对不同的测试采用不同的测试算法。以下对此分别作详细描述:
A.存储器外部互连测试
(1)故障模型
对故障机理进行分析从而建立相应的故障模型是确定测试算法的前提。对于外部互连测试,这里采用的是固定故障模型。实际上,固定故障也是存储器输入/输出线的主要故障。固定故障模型包括固定逻辑故障、固定开路故障和桥接短路故障。
a、固定逻辑故障(Stuck-at fault)
固定逻辑故障是指由于物理缺陷导致的数据线或者地址线的状态不受输入控制而恒定为逻辑0或逻辑1状态的故障,包括逻辑状态恒定为1的S-A-1(Stuck-at-1)故障和逻辑状态恒定为0的S-A-0(Stuck-at-0)故障。固定故障又称为呆滞故障。
b、固定开路故障(Stuck-open fault)
固定开路故障是指由于电路开路导致的故障。在外部互连测试中,根据电路具体结构,固定开路故障往往等价于S-A-0或S-A-1的固定逻辑故障。
c、桥接短路故障(Short fault)
桥接短路故障是指由于2条或2条以上输入和输出线之间短路造成的故障,包括0-支配型短路故障(0-Dominant Short fault)和1-支配型短路故障(1-Dominant Short fault)。
(2)三步测试法
针对上述外部互连故障模型,本发明的发明人提出一种称为三步测试法的算法,该算法不仅能够发现外部互连故障,而且可以精确地定位故障。以下结合表1描述三步测试法的过程。
表1
| 测试步骤 | 操作 | 地址 | 数据 | 注释 |
| 第一步 | 写入 | A0 | 0…000 | A0和A1是两个任意的相异地址,读数的同时进行比较和判断。 |
| 写入 | A1 | 1…111 | ||
| 读取 | A0 | 0…000 | ||
| 读取 | A1 | 1…111 | ||
| 第二步a | 写入 | A0 | 0…001 | A0、A1、…、An是任意一组地址,要求地址各不相同,建议就采用一组从0开始递增的地址,对数据线运用走步1算法。 |
| 写入 | A1 | 0…010 | ||
| …… | …… | …… | ||
| 写入 | An | 1…000 | ||
| 读取 | A0 | 0…001 | ||
| 读取 | A1 | 0…010 | ||
| …… | …… | …… | ||
| 读取 | An | 1…000 | ||
| 第二步b | 对数据线运用走步0算法,重复第二步a的过程 | |||
| 第三步a | 写入 | 0…000 | D0 | D0、D1、…Dn任意一组可区分的数据。对地址线运用走步1算法。 |
| 写入 | 0…001 | D1 | ||
| 写入 | …… | …… | ||
| 写入 | 1…000 | Dn | ||
| 读取 | 0…000 | D0 | ||
| 读取 | 0…001 | D1 | ||
| 读取 | …… | …… | ||
| 读取 | 1…000 | Dn | ||
| 第三步b | 对地址线运用走步0算法,重复第三步a的过程。 | |||
表1中的第一步测试通过在A0和A1两个任意的相异地址上写入全0和全1的数据并读取这两个地址上的数据来检测数据线是否存在开路故障。具体而言,如果写全0没有读到全0,就说明数据线存在S-A-1的故障,数值为1的数据线就是发生S-A-1的故障线位置。如果写全1没有读到全1,就说明数据线存在S-A-0的故障,数值为0的数据线就是发生S-A-0故障的数据线位置。
第二步测试用来测试数据线是否存在短路故障。如表1所示,首先通过在数据线上向n个互异地址A0、A1……An一一对应地写入按照走步1算法生成的n个数据D0、D1……Dn(又称测试向量)并通过数据线读取所述n个地址上的数据,其中初始数据D0为100……0。走步1算法(Walk-1)的含义是,测试向量的生成方式为后一测试向量通过将前一测试向量中取值为1的位向同一方向移位生成。例如如果测试向量个数n为7,初始测试向量为1000000,则按照走步1算法,测试向量依次可为:1000000、0100000、0010000、0001000、0000100、0000010和0000001,而如果初始测试向量为0000000,则按照走步1算法,测试向量依次可为:0000000、1000000、0100000、0010000、0001000、0000100和0000010。
接着通过在数据线上向上述n个互异地址A0、A1……An一一对应地写入按照走步0算法生成的n个数据D0、D1……Dn(又称测试向量)并通过数据线读取所述n个地址上的数据,其中初始数据D0为011……1。走步0算法(Walk-0)与走步1算法是互补的,即它的测试向量的生成方式为后一测试向量通过将前一测试向量中取值为0的位向同一方向移位生成。例如如果测试向量个数n也为7,初始测试向量为0111111,则测试向量可为0111111、1011111、1101111、1110111、1111011、1111101和1111110,而如果初始测试向量为1111111,则测试向量可为1111111、0111111、1011111、1101111、1110111、1111011和1111101。
根据第二步测试结果可对短路故障的数据线位置和短路故障类型进行判断,下面以表2所示的一个第二步测试结果为例说明如何对故障进行诊断,这里的测试数据线为b3b2b1b0,测试向量(即赋予数据线的逻辑值)为r0、r1……r7,其中初始测试向量r0和r4为1000和0111。
由表2可见,根据第二步测试的一组测试结果不仅可确定发生短路故障的数据线位置,而且可以确定短路故障的类型,特别是可以区分1-支配型短路和0-支配型短路。
表2
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 期望值 | b2开路S-A-0 | b2和b1开路S-A-0 | b2和b1短路0-支配型 | b2和b1开路S-A-1 | b2和b1短路1-支配型 | b3和b1开路S-A-0b2和b1短路0-支配型 | |
| b3b2b1b0 | b3b2b1b0 | b3b2b1b0 | b3b2b1b0 | b3b2b1b0 | b3b2b1b0 | b3b2b1b0 | |
| r0 | 1000 | 1000 | 1000 | 1000 | 1110 | 1000 | 0000 |
| r1 | 0100 | 0000 | 0000 | 0000 | 0110 | 0110 | 0000 |
| r2 | 0010 | 0010 | 0000 | 0000 | 0110 | 0110 | 0000 |
| r3 | 0001 | 0001 | 0001 | 0001 | 0111 | 0001 | 0000 |
| r4 | 0111 | 0011 | 0001 | 0111 | 0111 | 0111 | 0110 |
| r5 | 1011 | 1011 | 1001 | 1001 | 1111 | 1111 | 0000 |
| r6 | 1101 | 1001 | 1001 | 1001 | 1111 | 1111 | 0000 |
| r7 | 1110 | 1010 | 1000 | 1110 | 1110 | 1110 | 0110 |
在确保数据线没有故障之后,可以进行第三步测试以测试地址线是否存在开路或短路故障。首先通过在数据线上向按照走步1算法依次选定的n个地址A′0、A′1……A′n依次写入n个互异数据D′0、D′1……D′n并通过数据线读取所述n个地址上的数据,其中初始地址A′0为000……0。随后通过在数据线上向按照走步0算法依次选定的n个地址A′0、A′1……A′n依次写入n个互异数据D′0、D′1……D′n并通过数据线读取所述n个地址上的数据,其中初始地址A′0为111……1。
第二步与第三步的区别在于,在第二步测试中,写入任意一组可区分地址的数据按照走步1算法或走步0算法生成,而在第三步测试中,将任意一组可区分的数据写入按照走步1算法或者走步0算法依次选定的地址,并且初始地址为全0或全1。以下以表3所示的一个第三步测试结果为例说明如何对故障进行诊断,这里的地址线a3a2a1a0按照走步1或走步0算法变化,初始地址为0000,因此写入的地址数量为5个,而写入的数据D0、D1、D2、D3和D4互不相同。
由表3可见,根据第三步测试的一组测试结果不仅可确定发生短路故障的地址线位置,而且可以确定短路故障的类型,特别是可以区分1-支配型短路和0-支配型短路。
表3
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 地址 | 期望值 | a2开路S-A-0 | a2和a1开路S-A-0 | a2和a1短路0-支配型 | a2和a1开路S-A-1 | a2和a1短路1-支配型 | a3和a0开路S-A-0a2和a1短路0-支配型 |
| a3a2a1a0 | |||||||
| 0000 | D0 | D3 | D3 | D3 | D3 | D0 | D4 |
| 0001 | D1 | D1 | D1 | D1 | D1 | D1 | D4 |
| 0010 | D2 | D2 | D3 | D3 | D3 | D3 | D4 |
| 0100 | D3 | D3 | D3 | D3 | D3 | D3 | D4 |
| 1000 | D4 | D4 | D4 | D4 | D4 | D4 | D4 |
| 1111 | D0 | D3 | D3 | D0 | D3 | D3 | D4 |
| 1110 | D1 | D1 | D1 | D1 | D1 | D1 | D4 |
| 1101 | D2 | D2 | D3 | D3 | D3 | D3 | D3 |
| 1011 | D3 | D3 | D3 | D3 | D3 | D3 | D3 |
| 0111 | D4 | D4 | D4 | D4 | D4 | D4 | D4 |
B.存储器内部单元测试
(1)故障模型
存储器主要由译码器、写驱动电路、读出放大电路、存储单元阵列和输入输出部分组成。其故障按照发生位置不同分为存储单元阵列故障、地址译码电路故障和读写逻辑故障,其中:
存储单元阵列中的故障包括以下类型:
①固定逻辑故障(Stuck-at fault):一个单元的逻辑值不随单元的任何行为而改变,也不受其余单元的影响,又称呆滞故障,它包括固定为1或固定为0两种情形(S-A-0 or S-A-1);
②固定开路故障(Stuck-open fault):电路开路导致的故障;
③状态转换故障(Transition fault):0□1或1□0的状态转换至少有一个不被正确执行;
④数据保持故障(Data-maintaining fault):存储单元无法保持一个逻辑值持续一定的时间;
⑤状态耦合故障(Coupling fault):当且仅当单元j处于某一个特定状态y(yχ{0,1})时,单元i总是为某一个确定值x(xχ{0,1}),则称单元i耦合于单元j。耦合关系不一定具有对称性,也就说,单元i耦合于单元j,并不一定单元j也耦合于单元I。
⑥多重写入故障(multiple access fault):对单元i写入x(xχ{0,1})导致单元j也写入了x,则称单元i有多重写入故障。多重写入故障不一定具有对称性。
地址译码电路中的故障包括以下类型:
①没选中任一存储单元;
②选中被选单元,并选中了其他单元。
译码器中的故障可等效为存储单元阵列中的故障,例如故障①等效于固定开路故障,而故障②等效于多重写入故障。
读写逻辑中的故障包括以下类型:
①输入、输出导线中一位或多位固定逻辑故障;
②缓冲器或锁存器中一位或多位固定开路故障;
③缓冲器或锁存器中任意两位之间的状态耦合故障。
读写逻辑电路中的故障也可等效为存储单元阵列中的故障,例如故障①等效于固定逻辑故障,故障②等效于固定开路故障,故障③等效于状态耦合故障。
(2)九步棋盘图形法
针对上述存储器内部单元故障模型,本发明的发明人提出一种称为九步棋盘图形法的算法,该算法需要对存储器所有存储单元完成九次读取和写入操作,所以称为“九步”,又因写入相邻存储单元的数据是交错互补的,类似于国际象棋棋盘,所以称为“棋盘图形”,合称为“九步棋盘图形法”。九步棋盘图形法能够对存储器的存储单元、译码电路和读写逻辑进行全面测试,其具体执行流程如图6和7所示。
在图6和图7中包含了5个循环过程,以下按照顺序描述:
循环过程1
地址指针指向最低地址位,即0000……00,此时经边界扫描单元,通过存储器的数据线向该地址写入n位0和1交替排列的二进制数据0101……01,然后指针指向下一邻近高位地址,即0000……01,向该地址写入相同的n位二进制数据0101……01,该过程持续到地址指针从低位到高位遍历所有地址为止。这里n为存储器数据线的位数。
循环过程2
接着使地址指针再次指向最低地址位,然后经边界扫描单元,通过存储器的数据线从该地址读取前述写入的数据并与n位二进制数据0101……01比较,如果不符合,则表明存储器内部单元出现故障;接着向该地址写入n位1和0交替排列的二进制数据1010……10。随后指针指向下一邻近高位地址,即0000……01,在该地址上重复上述读取、比较和写入操作。该过程一直延续至地址指针指向最高位地址为止。
循环过程3
接着使地址指针再次指向最低地址位,然后经边界扫描单元,通过存储器的数据线从该地址读取前述写入的数据并与n位二进制数据1010……10比较,如果不符合,则表明存储器内部单元出现故障;接着向该地址写入n位0和1交替排列的二进制数据0101……01。随后指针指向下一邻近高位地址,即0000……01,在该地址上重复上述读取、比较和写入操作。该过程一直延续至地址指针指向最高位地址为止。
循环过程4
显然,在图7所示流程开始时,地址指针指向最高地址位,即1111……11,此时经边界扫描单元,通过存储器的数据线从该地址读取前述写入的数据并与n位二进制数据0101……01比较,如果不符合,则表明存储器内部单元出现故障;接着向该地址写入n位1和0交替排列的二进制数据1010……10。随后指针指向下一邻近低位地址,即1111……10,在该地址上重复上述读取、比较和写入操作。该过程一直延续至地址指针指向最低位地址为止。
循环过程5
接着使地址指针再次指向最高地址位,随后经边界扫描单元,通过存储器的数据线从该地址读取前述写入的数据并与n位二进制数据1010……10比较,如果不符合,则表明存储器内部单元出现故障;接着向该地址写入n位0和1交替排列的二进制数据0101……01。随后指针指向下一邻近低位地址,在该地址上重复上述读取、比较和写入操作。该过程一直延续至地址指针指向最低位地址为止。
由上可见,循环过程1的运行结果是从低位地址向高位地址向所有地址指向的存储单元写入逻辑值0或1。循环过程2的运行结果是从低位地址向高位地址向所有地址指向的存储单元读取逻辑值并向原先写入逻辑值为0的存储单元写入逻辑值1而向原先写入逻辑值为1的存储单元写入逻辑值0。循环过程3的运行结果是从低位地址向高位地址向所有地址指向的存储单元读取逻辑值并向原先写入逻辑值为1的存储单元写入逻辑值0而向原先写入逻辑值为0的存储单元写入逻辑值1。通过上述三个循环过程可以确定固定逻辑故障、固定开路故障、0□1和1□0的状态转换故障和数据保持故障。循环过程4的运行结果是从高位地址向低位地址向所有地址指向的存储单元读取逻辑值并向原先写入逻辑值为0的存储单元写入逻辑值1而向原先写入逻辑值为1的存储单元写入逻辑值0。循环过程5的运行结果是从高位地址向低位地址向所有地址指向的存储单元读取逻辑值并向原先写入逻辑值为0的存储单元写入逻辑值1而向原先写入逻辑值为1的存储单元写入逻辑值0。通过上述5个循环过程可以完全确定状态耦合故障和多重写入故障。综上所述,图6和7所示九步棋盘图形法作为测试算法对上述存储器内部单元故障模型中所有存储单元故障(包括固定逻辑故障、固定开路故障、状态转换故障、状态耦合故障以及多重写入故障)的测试都是完备的。
C.只读存储器(ROM)内部单元测试
对于ROM来说,由于无法象可读写存储器那样向内部单元写入数据,因此需要采用另外的方法进行测试。
比较简单快捷的方法是将ROM的校验和与期望值比较,如果相符,则判断ROM的功能正常,否则判断ROM保存的数据有误。
另外一种测试方法是将按照地址顺序将数据从ROM中逐一读取出来与期望值进行比较,如果读取的数据与期望值是相符的,则判断ROM的功能正常,否则判断ROM保存的数据有误。当需要对ROM进行比较完全的测试时应采用该方法。
Claims (5)
1.一种存储器在板测试方法,其特征在于包含以下步骤:
(1)将存储器安装在带边界扫描器件的电路板上,所述边界扫描器件包含由测试数据输入端口、多个位于器件内部的串联连接的边界扫描单元和测试数据输出端口构成的边界扫描链路;
(2)将存储器的每一条数据线、地址线或控制线与一个所述边界扫描单元连接;
(3)在所述边界扫描链路上经与所述边界扫描单元相连的数据线、地址线或控制线,将测试数据写入存储器和读取存储器内的数据;以及
(4)将读取的数据与期望值进行比较以确定存储器是否存在故障以及故障的类型。
2.如权利要求1所述的方法,其特征在于所述步骤(3)以包含下列步骤的方式将测试数据写入存储器和读取存储器内的数据:
i)通过在数据线上向两个任意的相异地址写入全0和全1的数据并通过数据线读取这两个地址上的数据;
ii)通过在数据线上向n个互异地址A0、A1……An一一对应地写入按照走步1算法生成的n个数据D0、D1……Dn并通过数据线读取所述n个地址上的数据,其中初始数据D0为100……0,其中走步1算法包括:测试向量的生成方式为后一测试向量通过将前一测试向量中取值为1的位向同一方向移位生成;
iii)通过在数据线上向上述n个互异地址A0、A1……An一一对应地写入按照走步0算法生成的n个数据D0、D1……Dn并通过数据线读取所述n个地址上的数据,其中初始数据D0为011……1,其中,走步0算法包括:测试向量的生成方式为后一测试向量通过将前一测试向量中取值为0的位向同一方向移位生成;
iv)通过在数据线上向按照走步1算法依次选定的n个地址A′0、A′1……A′n依次写入n个互异数据D′0、D′1……D′n并通过数据线读取所述n个地址上的数据,其中初始地址A′0为000……0;以及
v)通过在数据线上向按照走步0算法依次选定的n个地址A′0、A′1……A′n依次写入n个互异数据D′0、D′1……D′n并通过数据线读取所述n个地址上的数据,其中初始地址A′0为111……1。
3.如权利要求1所述的方法,其特征在于所述步骤(3)以包含下列步骤的方式将测试数据写入存储器和读取存储器内的数据:
i)通过数据线向每个地址写入n位0和1交替排列的二进制数据0101……01,其中写入顺序从地址低位到地址高位,n为数据线位数;
ii)通过数据线从每个地址读取数据并向其写入n位1和0交替排列的二进制数据1010……10,其中读取和写入顺序从地址低位到地址高位;
iii)通过数据线从每个地址读取数据并向其写入n位0和1交替排列的二进制数据0101……01,其中读取和写入顺序从地址低位到地址高位;
iv)通过数据线从每个地址读取数据并向其写入n位1和0交替排列的二进制数据1010……10,其中读取和写入顺序从地址高位到地址低位;以及
v)通过数据线从每个地址读取数据并向其写入n位0和1交替排列的二进制数据0101……01,其中读取和写入顺序从地址高位到地址低位。
4.如权利要求1所述的方法,其特征在于所述存储器为只读存储器,所述步骤(3)中将测试数据写入存储器和读取存储器内的数据的方式为通过数据线按照地址顺序从所有地址读取ROM中所有数据。
5.如权利要求1-4中任意一项所述的方法,其特征在于边界扫描器件符合IEEE 1149.1标准。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNB021109923A CN100346309C (zh) | 2002-03-11 | 2002-03-11 | 存储器在板测试方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNB021109923A CN100346309C (zh) | 2002-03-11 | 2002-03-11 | 存储器在板测试方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1744052A CN1744052A (zh) | 2006-03-08 |
| CN100346309C true CN100346309C (zh) | 2007-10-31 |
Family
ID=36139436
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNB021109923A Expired - Fee Related CN100346309C (zh) | 2002-03-11 | 2002-03-11 | 存储器在板测试方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN100346309C (zh) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100507585C (zh) * | 2006-08-24 | 2009-07-01 | 华为技术有限公司 | 一种单板在位检测方法及系统 |
| CN103941175A (zh) * | 2014-04-01 | 2014-07-23 | 无锡市同翔科技有限公司 | 一种边界扫描测试系统及方法 |
| CN105788649B (zh) * | 2014-12-23 | 2019-06-14 | 华为数字技术(苏州)有限公司 | 一种快闪存储器的预处理方法和装置 |
| CN110082672B (zh) * | 2018-01-25 | 2020-09-11 | 大唐移动通信设备有限公司 | 一种芯片内逻辑模型的测试方法及装置 |
| TWI664828B (zh) * | 2018-02-14 | 2019-07-01 | 和碩聯合科技股份有限公司 | 測試方法和測試系統 |
| CN112882873A (zh) * | 2019-11-30 | 2021-06-01 | 英业达科技有限公司 | 通过存储器模块内部线路测试存储器模块的系统及方法 |
| CN113971982B (zh) * | 2020-07-23 | 2024-10-01 | 广州航新电子有限公司 | 一种绕过定制片上系统芯片进行存储芯片flash的读写测试方法 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5457699A (en) * | 1992-09-25 | 1995-10-10 | Siemens Aktiengesellschaft | Electronic component with a shift register test architecture (boundary scan) |
| US5894548A (en) * | 1994-03-29 | 1999-04-13 | Kabushiki Kaisha Toshiba | Semiconductor device having test circuit |
| CN1246617A (zh) * | 1998-08-14 | 2000-03-08 | 索尼公司 | 具有非易失性存储器的信号处理装置及非易失性存储器的编程方法 |
| CN1315732A (zh) * | 2000-03-30 | 2001-10-03 | 华为技术有限公司 | 随机存储器的自动检测方法及其检测电路 |
-
2002
- 2002-03-11 CN CNB021109923A patent/CN100346309C/zh not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5457699A (en) * | 1992-09-25 | 1995-10-10 | Siemens Aktiengesellschaft | Electronic component with a shift register test architecture (boundary scan) |
| US5894548A (en) * | 1994-03-29 | 1999-04-13 | Kabushiki Kaisha Toshiba | Semiconductor device having test circuit |
| CN1246617A (zh) * | 1998-08-14 | 2000-03-08 | 索尼公司 | 具有非易失性存储器的信号处理装置及非易失性存储器的编程方法 |
| CN1315732A (zh) * | 2000-03-30 | 2001-10-03 | 华为技术有限公司 | 随机存储器的自动检测方法及其检测电路 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1744052A (zh) | 2006-03-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6574762B1 (en) | Use of a scan chain for configuration of BIST unit operation | |
| US6971054B2 (en) | Method and system for determining repeatable yield detractors of integrated circuits | |
| US11156661B2 (en) | Reversible multi-bit scan cell-based scan chains for improving chain diagnostic resolution | |
| US7225374B2 (en) | ABIST-assisted detection of scan chain defects | |
| US11073556B2 (en) | Low pin count reversible scan architecture | |
| CN100351638C (zh) | 一种集成电路边界扫描测试装置 | |
| JPH08306199A (ja) | メモリ・アレイ出力における論理回路機構の内蔵型自己検査システム及び方法 | |
| US20040216061A1 (en) | Embeddable method and apparatus for functional pattern testing of repeatable program instruction-driven logic circuits via signal signature generation | |
| CN101611456A (zh) | 具有用于测试快闪存储器的串行接口的嵌入式架构 | |
| CN1243307C (zh) | 通过jtag对单板进行测试的方法以及设备 | |
| US12007438B2 (en) | Method and system for testing an integrated circuit | |
| US20060123305A1 (en) | Method and apparatus for an embedded time domain reflectometry test | |
| EP0849678B1 (en) | A system and method for testing electronic devices | |
| CN100346309C (zh) | 存储器在板测试方法 | |
| JP2004093433A (ja) | 半導体テスト回路 | |
| JP2680259B2 (ja) | 自動開放検出方法 | |
| US7496816B2 (en) | Isolating the location of defects in scan chains | |
| CN1230885C (zh) | 一种边界扫描芯片容错测试方法及系统 | |
| US20250231235A1 (en) | Scan chains with multi-bit cells and methods for testing the same | |
| CN113448781A (zh) | 一种通用输入输出接口的测试方法、装置及设备 | |
| US20060069974A1 (en) | One-hot encoded instruction register for boundary scan test compliant devices | |
| US20090210761A1 (en) | AC Scan Diagnostic Method and Apparatus Utilizing Functional Architecture Verification Patterns | |
| Jayousi | Star Test Topology for Testing Printed Circuits Boards | |
| CN1619326A (zh) | 一种外围互连线的测试方法 | |
| CN120068757A (zh) | 基于现场可编程门阵列的芯片可测性设计dft系统及其方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071031 Termination date: 20160311 |