基于March C-算法的单片机存储器测试

合集下载

数字可测性课程考试试卷1

数字可测性课程考试试卷1
假设被测电路有 g 个逻辑门,f 个 D 触发器,pi 个输入引脚,po 个输出引脚。每个 D 触发器含 10 个逻辑门,每个二选一选择器含 4 个逻辑门。 1、 扫描设计的基本思想;(4 分)
扫描设计的基本思想是:获得时序单元——触发器的可控制性和可观察性。 2、 画出采用多路选择器的单时钟扫描触发器(不用画出多路选择器和触发器的细节)并计算采
用全扫描设计时的门开销(Gate Overhead);(8 分)
TC SO
DI
Q SET
DO
SI
CLK
Q CLR
全扫描设计的门开销 GO = 4f/(g + 10f) x 100% 3、 画出标准的边界扫描单元(不用画出多路选择器和触发器的细节)并计算边界扫描在全扫描
设计基础上的门开销(只考虑边界扫描单元);(8 分)
矩阵表示为:
⎢ ⎢
X
1
(t
+
1)
⎥ ⎥
=
⎢⎢0
0
1⎥⎥
⎢ ⎢
X
1
(t
)
⎥ ⎥
+
⎢ ⎢
D1
(t)
⎥ ⎥
⎢⎣ X 2 (t +1)⎥⎦ ⎢⎣1 0 1 ⎥⎦ ⎢⎣ X 2 (t)⎥⎦ ⎢⎣D2 (t)⎥⎦
3、 用上述LFSR作为图 3 被测电路的伪随机码生成器,初始为(X2X1X0)=(001),X2、X1和X0 分别对应A、B和C;用上述MISR作为图 3 被测电路的响应压缩器,初始为(X2X1X0)=(000), X2和X1的状态分别异或Y和Z。列表显示一个周期测试码能否检测图 3 电路的B s-a-1 故障。(8 分)
001
11
000
01

一种基于LFSR与MARCHC+算法的SRAM内建自测电路设计

一种基于LFSR与MARCHC+算法的SRAM内建自测电路设计

高的器件 , 而存储器又是对制造过程 中存在缺 陷最敏感 的器件之一 , 因此如何对嵌入式存储 器进行完备的测试成为急需解决的课题。在很
多情况下 , 对嵌入式静态存储 器 ( R M) S A 的测 试是采用 内建 自 测试 ( IT) BS 的方法实现的_ 。 1 J 目前, 有多种较为成熟的算法支持嵌入式静态 存储器 内建 自测试 , 例如 MS A C N算法 、 A — G L P T算法 、 T ++算 法 和 MA C A MA S R H C算 法等等 。与其他算法相 比, R H C算 。] MA C
维普资讯
第2卷 6
20 0 6年
第5 期
9月
核 电子 学与探 测技 术
Nu la e to is& De e t n Te h oo y ce rElcr n c tci c n l g o
Vo 6 No 5 k2 .
S p. et 2 0 0 6
节将 重 点介 绍 地 址 发 生 器 和控 制 器 的设计 , 由 于 MAR CH C+ 算 法 不 要 求 地 址 是 连 续 发 生
图 1 S A IT 电 路框 图 R M BS

号 T sE a l来 启动 电路对 S AM 进行 自测 et n be R 试 。控 制 器 通 过 控 制 通 路 选 择 器 来 选 择 S RAM 数 据 流 和 地 址 流 的 路 径 。 测 试 时 ,
试 S A 时地址是可 以不连续发生的Ⅱ ] R M 。这 说 明地址也可 以由其 他的非计数器 电路来实 现, 如可以产生伪 随机 向量 的 L S 。与相 F 同位数 的计数器相比, F R的硬件开支较小, LS
而 且 L S 的复用 性 也 较强 ¨ 本 文 将 L S FR 2 ] FR

软件与MBIST协同的片内SRAM测试方法研究

软件与MBIST协同的片内SRAM测试方法研究

软件与MBIST协同的片内SRAM测试方法研究廖寅龙;田泽;赵强;刘敏侠【摘要】With the development of IC, system-on-chip may have many SRAM blocks, the traditional testing method according to MBIST could not only increase the huge numbers of test logic,chip power consumption,but also tie the test to advanced ATE test ma-chine tightly which could also cost much. A kind of new SRAM test method by combining the software achievement and MBIST together is proposed to achieve the testing of SRAM integrated in SoC. The SRAM which could hardly be accessed by any other integrated pro-cessing units would also be tested by combing the traditional MBIT and the methods mentioned in this paper,not only achieving the test completeness of SRAM integrated in SoC,but also handling the conflict between full verification and cost.%随着SoC电路功能的日益复杂,SoC电路中大量应用了内嵌随机静态存储器,传统的通过MBIST(存储器内建自测试)方式对SoC电路中SRAM的测试,将给SoC电路带来功耗及管芯面积显著增大的问题;同时在传统MBIST方式下,SoC内嵌SRAM的测试严重依赖先进的ATE测试设备,需要付出昂贵的测试成本。

基于March C+算法的RAM内建自测试设计

基于March C+算法的RAM内建自测试设计

相邻单元其中的一个进行写操作时,导致 NPSF算法可以tionDelayFault,TF)
临近图形敏感故障 (NeighborhoodPattern SensitiveFaults,NPSF) 开路故障 (StuckOpenFault,SOF)
在随机访问 RAM 的时候,存储单元中的 对每个存储单元进行 1-0和 0-1的读写,并且写入变 数据会从 0跳变成 1,或者从 1跳变成 0. 换值的时候要迅速地读出现在的数据,最后检查结果.
1 故障模型
故障模型对于测试来说非常重要,一般故障模型与电路设计息息相关 故障模型主要分为六 类,分别是:单元固定故障、单元耦合故障、状态跳变故障、临近图形敏感故障、开路故障、地址译码故 障.故障模型的描述以及故障检测方法如表 1所示:
表 1 故障分类
故障名称
故障介绍
检测方法
单元固定故障 (StuckAtFault,SAF)
Keywords: Perllanguage;MarchC+ algorithm;HSC32K1chip;BuiltInSelfTest
0 引言
随着集成电路产业的飞速发展,片上系统(SoC,Systemonchip)的集成度变得越来越高,电路设
收稿日期:2018-03-21 基金资助:辽宁省教育厅研究生教育教学改革项目(辽教函[2017]24号) 作者简介:孙守英(1992-),辽宁东港人,硕士研究生,从事集成电路测试研究.
Abstract: InordertosolvetheshortcomingsoftraditionaltestinHSC32K1chip,thispaper
adoptsBuiltInSelfTest(BIST)methodbasedonMarchC+algorithm,andcallsMbistArchitect toolwithperllanguage.TheMarchC+ algorithm isautomaticallygenerated.Thegenerationtime isonly3.5seconds,whichshortensthetesttimeandimprovesthetestefficiencycomparedto manuallywritingthealgorithm codeforscoresofminutesorevenhours.Simulationresultsshow thatthetestmethodproposedinthispapercaneffectivelyachievethetestresults.Thismethodcan beextendedtootherchipstestandhasstrongapplicability.

常用的单片机系统RAM测试方法

常用的单片机系统RAM测试方法

常用的单片机系统RAM测试方法在各种单片机应用系统中,存储器的正常与否直接关系到该系统的正常工作。

为了提高系统的可靠性,对系统的可靠性进行测试是十分必要的。

通过测试可以有效地发现并解决因存储器发生故障对系统带来的破坏问题。

本文针对性地介绍了几种常用的单片机系统RAM 测试方法,并在其基础上提出了一种基于种子和逐位倒转的RAM 故障测试方法。

1 RAM 测试方法回顾(1)方法1 参考文献中给出了一种测试系统RAM 的方法。

该方法是分两步来检查,先后向整个数据区送入#00H 和#FFH,再先后读出进行比较,若不一样,则说明出错。

(2)方法2 方法1 并不能完全检查出RAM 的错误,在参考文献中分析介绍了一种进行RAM 检测的标准算法MARCHG。

MARCH 一G 算法能够提供非常出色的故障覆盖率,但是所需要的测试时间是很大的。

MARCHG 算法需要对全地址空间遍历3 次。

设地址线为根,则CPU 需对RAM 访问6 乘以2n 次。

(3)方法3 参考文献中给出了一种通过地址信号移位来完成测试的方法。

在地址信号为全O 的基础上,每次只使地址线Ai 的信号取反一次,同时保持其他非检测地址线Aj(i≠j)的信号维持0 不变,这样从低位向高位逐位进行;接着在地址信号为全1 的基础上,每次只使地址线Ai 的信号取反一次,同时保持其他非检测地址线Aj(i≠j)的信号维持1 不变,同样从低位向高位逐位进行。

因此地址信号的移位其实就是按照2K(K 为整数,最大值为地址总线的宽度)非线性寻址,整个所需的地址范围可以看成是以全0 和全1 为背景再通过移位产生的。

在地址变化的同时给相应的存储单元写入不同的伪随机数据。

在以上的写单元操作完成后,再倒序地将地址信号移位读出所写入的伪随机数据并进行检测。

设地址线为n 根,则CPU 只对系统RAM 中的2n+2 个存储单元进行访问。

2 基于种子和逐位倒转的RAM 测试方法基于种子和逐位倒转的测试方法。

基于march c-算法的sram bist电路的设计

基于march c-算法的sram bist电路的设计

基于march c-算法的sram bist电路的设计SRAM BIST(Built-In Self-Test)电路是在静态随机存储器(SRAM)中集成的一个用于自测试的电路。

它可以在不需要外部测试设备的情况下对SRAM进行测试和诊断。

在设计SRAM BIST电路时,可以采用March C算法。

March C算法是SRAM 测试中经常使用的一种算法,它可以实现全面的SRAM测试和故障诊断。

以下是基于March C算法设计SRAM BIST电路的步骤:
1.确定SRAM的大小和位宽。

这将决定BIST电路的复杂度和测试时间。

2.根据SRAM的大小和位宽,设计SRAM测试模式生成器。

该模块生成March C测试序列,包括读取、写入和比较操作。

3.设计比较器模块,用于比较读取的SRAM数据和预期结果。

比较器可以使用位宽和诊断能力进行自定义。

4.设计控制器模块,用于控制测试模式和测试结果的生成。

该模块还可以包括故障诊断和报告功能。

5.验证SRAM BIST电路设计的正确性,并进行仿真和模拟。

6.将SRAM BIST电路集成到目标系统中进行测试。

总的来说,基于March C算法的SRAM BIST电路设计需要进行多方面的考虑和测试,以确保其正确性和可靠性。

基于March C+算法的SRAMBIST设计

基于March C+算法的SRAMBIST设计
储 器 内 部 复 杂 的 电 路 结 构 和 超 大 的 电 路 密 度 , 往 在 生 往
产过程 中会 出现错 误 。存储 器不 同于其 他逻 辑 电路 , 在 芯片 中 , 与存储 器 相连 的 Io 管脚 很 少 或 没 有 , / 因此 对 于存储 器 的测试 十分 困难 。如 果 采 用 传 统 的扫 描 方 式 对 存储 器进 行测 试 , 产 生 大 量 测试 向量 , 致 测 试 难 将 导 度 和复 杂程 度大 大 加剧 I , 无法 达 到较 高 的故 障覆 盖 2且 j
率 。因此 , 目前 较 为 广 泛 的 采 用 存 储 器 内 建 自测 试 方 法 ( IT) 其 进 行 测 试 。 而 由 于 S MB S 对 RAM 高 速 、 刷 新 不
法是 比较 故 障存储 器 与 正 确存 储 器 的逻 辑 行 为 间 的差 异 。这就 要求 将 物 理 故 障 模 型 化 为逻 辑 故 障[ 。本 文 5 ] 中 , 对 s AM 的结 构 测试需 要 基于 一定 的故 障模 型 , 针 R 目的在 于简化 测试 过 程 , 时 降低 测 试 成 本 。同时 , 同 故
Key wor s:SRA M ;BI ; M a c + a g ihm ;f l o l d ST rh C l ort au tm de
0 引 言
1 S RAM 的 故 障模 型
当 前 集 成 电 路 的 规 模 越 来 越 大 , 上 存 储 设 备 也 越 片
故 障可 以看作 是缺 陷 的一种 失 效模 型 , 能够把 缺 陷 同 电路 的行为 关联 起来 。因此 , 障模 型与 电路模 型有 故 着密 切 的联 系 , 型是 特定 物理 故 障引起 的 一种错 误 的 模 抽 象 。由于 存储 器 的结 构特 点 不 同于 一 般 的 逻辑 电 ]

存储器的测试技术

存储器的测试技术

存储器的测试技术Testing Techniques f or Memories王 健 李金凤 边福强 刘 欢(沈阳化工学院信息工程学院,辽宁沈阳110142)摘 要:集成电路工艺的改进使存储器的测试面临着更大的挑战。

本文从存储器的故障模型入手着重描述了单端口存储器,字存储器, 多端口存储器及存储器组的测试。

测试算法和测试策略要在测试时间,故障覆盖率,面积开支之间进行折衷。

关键词:存储器测试;功能故障模型;March算法;BIST 在一个包含嵌入式存储器,微处理器,DSP处理器及模拟电路的通用超大规模集成电路中嵌入式存储器是最难测试的电路。

测试存储器需要用大量的测试模式来激活存储器并将存储器的单元内容读出来与标准值进行比较。

测试通常采用B IST的结构,该结构不仅可以大大的降低昂贵的存储器测试仪的使用,同时又可以降低测试时间,包括测试控制器,地址产生器,数据产生器,数据比较器四个部分。

1 单端口存储器的测试2003年Zaid al-Ars和Ad J.van de G oor提出了一套较完备的单端口存储器的故障模型,它包含四部分:静态故障,动态故障,静态耦合故障,动态耦合故障。

存储器的测试通常采用March算法,常用的March算法包括MA TS++,March C-,March X,March Y,March B,March U,March G等。

SA ID HAMDIOU I提出动态故障的March RAW算法如图1所示,通过仿真试验可验证March RAW算法即可以测试静态故障又可以测试动态故障。

 { (w0); Θ(r0,w0,r0,r0,w1,r1);Θ(r1,w1,r1,r1,w0,r0); Τ(r0,w0,r0,r0,w1,r1);Τ(r1,w1,r1,r1,w0,r0); (r1)}图1 MAarch RAW算法2 字存储器测试存储器可分为位存储器和字存储器两种结构。

通常字存储器的测试采用反复的应用位存储器的测试算法来实现的,每次循环时改变数据背景。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于March C-算法的单片机存储器测试作者:于文考高成张栋来源:《现代电子技术》2010年第06期摘要:为了保证单片机系统的可靠性,对单片机内嵌存储器的测试显得尤为重要。

根据MCS-51系列单片机系统内嵌存储器的结构特点和故障模型,研究了测试算法的选择、数据背景的产生等问题,首次提出将March C-算法用于单片机内嵌存储器的用户级测试程序编写。

该测试程序对SAF,TF,AF,CF的故障覆盖率可达到100%,并且能够检测部分NPSF故障,具有较高的故障覆盖率,适合于对用户级MCS-51系列单片机存储器的测试。

关键词:单片机;March C-算法;存储器测试;故障覆盖率中图分类号:TP333文献标识码:B文章编号:1004-373X(2010)06-019-03Test of Single Chip Microcomputer′s Memory Based on March C- AlgorithmYU Wenkao,GAO Cheng,ZHANG Dong(Beihang University,Beijing,100191,China)Abstract:In order to ensure thereliability of single chip microcomputer system,test of the single chip microcomputer embedded memory is particularly important.In accordance with characteristics and fault model of MCS-51 embedded memory,selection of the test algorithm and the data background are researched,and the test program which based on March C- algorithm for MCS-51 single chip microcomputer embedded memory for the first time in user-level is presented.The test program can reach all of the SAF,TF,AF,CF failure and some of NPSF failure,has a high fault coverage,suitable for test of MCS-51 single chip microcomputer embedded memory in user-level.Keywords:single chip microcomputer;March C- algorithm;memory test;fault coverage0 引言存储器是单片机系统中的重要组成部分,其功能的正确性直接影响到单片机的可靠性。

因此,为了保证单片机系统的可靠性,对单片机内嵌存储器的功能测试尤为重要。

针对单片机内嵌存储器的结构特点,在详细分析嵌入式存储器故障模型的基础上,合理选择测试算法和数据背景,采用面向位与面向字节相结合的March C-算法,实现了基于March C-算法的单片机内嵌存储器测试。

1 存储器的故障模型文献[1]介绍了存储器的五种故障模型,分别是:(1) 固定故障(Stuck-At Fault,SAF)存储器的某个单元或某条线固定为逻辑0或者逻辑1不变。

(2) 状态转换故障(Transition Fault,TF)固定故障中的一个特殊情况,指某个单元或某条线在经过一个写操作以后不能实现0到1或者1到0的转换,分别为上升状态转换故障和下降状态转换故障。

(3) 耦合故障(Coupling Fault,CF)指在两个单元当中,由于一个单元的状态转换而致使另外一个单元的内容发生了变化。

耦合故障可具体分为翻转耦合故障、幂耦合故障、动态耦合故障、桥联故障及状态耦合故障五种。

翻转耦合故障(Inversion Coupling Fault)是指一个单元中上升沿跳变或下降沿跳变会引起另一个单元内容的翻转;幂耦合故障(Idempotent Coupling Fault)指一个单元中上升沿跳变或下降沿跳变会迫使另一个单元内容置0或置1;动态耦合故障(Dynamic Coupling Fault)幂耦合故障中的一种特殊情况,指当一个单元发生读或写操作后,迫使另一个单元的内容为0或1;桥联故障(Bridging Fault,BF)由两个或多个单元或线短路所引起的,分为与桥联故障和或桥联故障。

与桥联故障的逻辑值是两个桥联单元逻辑值的与,或桥联故障情况亦然;状态耦合故障(State Coupling Fault)指当一个单元处于某个状态值时,另一个耦合单元被置0或1。

(4) 图形敏感故障(Pattern Sensitive Fault,PSF)指一种特殊的状态耦合故障。

图形敏感故障意味着在部分存储器出现一些特定的数据时,其他部分存储器的数据会受到影响。

它可能是一种动态(由于数据的改变)或者静态(由于固定的数据)的故障类型,也可能是一种全局的或者只局限于附近单元的故障类型。

(5) 寻址故障(Address decoder Fault,AF)行或列译码器可能访问不到寻址单元;或者多个地址访问同一个存储单元;或者一个地址同时访问多个单元;或者不访问所指定的单元而访问其他单元[2]。

此外,存储器的故障模型还有开路故障[3](Stuck-at Fault,SAF)、维持故障[4](Retention Fault,RF)和相邻模式敏感故障[5] (Neighborhood Patter Sensitive Fault,NPSF)等。

2 嵌入式存储器的测试方法嵌入式存储器的测试方法有以下三种:2.1 存储器直接存取测试存储器直接存取测试是产生一种测试结构来允许对嵌入式存储器阵列的直接访问。

它通常利用自动测试设备进行测试,可以从封装引脚直接对嵌入式存储器进行访问,或者可以从封装引脚对测试状态逻辑以及对一些为存储器提供数据的流水线结构中串行状态进行访问,能够轻易实现多种高质量测试算法。

其缺点是:在ATE机上实现的算法越复杂,对ATE机存储器的容量要求越高;在 ATE机上不易实现对嵌入式存储器的“全速”测试,测试时钟的工作频率越高,测试成本越高;由于芯片外围管脚的限制,则对芯片内大容量嵌入式存储器进行直接测试往往不大现实。

2.2 利用嵌入微处理器来间接测试存储器在这种测试方法中,通过嵌入式微处理器对存储器进行读/写操作,测试向量是一系列微处理器的程序代码。

这些代码可以放在程序存储器中,在嵌入式芯片接口处施加代码,测试存储器的过程就是微处理器执行测试程序的过程。

其优点是不需要对设计硬件做任何修改,而且测试算法的修改与实现可以通过灵活修改微处理器代码予以完成。

2.3 存储器内建自测试(MBIST)这种方法的基本思想是由电路自己生成测试向量,而不是要求外部施加测试向量,它依靠自身逻辑来判断所得测试结果是否是正确的,这样就大大降低了对测试设备的要求。

MBIST技术主要应用于存储器的可测性设计中。

本文研究的是单片机内嵌的存储器测试方法,由于待测存储器的硬件无法更改,且外界测试环境无法通过器件引脚直接访问内嵌存储器,因此只有利用内嵌的微处理器来测试存储器才是切实可行的。

3 March C-算法March算法是比较流行的存储器测试方法[8],提出后进行过多次改进,出现了很多变种,如MATS,MATS+,March X,March C,March C-等算法[9]。

March算法是由March元素构成的序列,其基本思想是反复对每一个地址进行读/写0或1操作,保证每两个字节之间的测试码出现00,01,10,11四种情况,至少各一次,并且为了检查高低地址读/写顺序故障,分别进行地址递增和地址递减两种操作。

在诸多的March算法中,综合考虑算法的故障覆盖率及测试成本等因素,本文选用能够有效检测大多数存储器简化故障的Match C-算法。

March C-算法的具体描述如下:M0M1M2M3M4M5其中表示地址升序表示地址降序表示任意地址顺序;w0表示写入数据背景;w1表示写入一个相反的数据背景;r0和r1分别表示读出并验证一个数据背景和一个相反的数据背景;M0~M5分别表示一个March单元。

March C-算法能够有效检测出SAF,TF,CF,AF等故障[1]。

其中,SAF故障可由M0,M1单元和M1,M2单元检测出;TF故障中0→1故障可由M3,M4单元检测出,1→0故障可由M2,M3单元检测出;CFin故障中1→0故障可由M2,M3单元和M4,M5单元检测出,0→1故障可由M1,M2单元和M3,M4单元检测出;CFid故障中置1故障可由M2,M3单元和M4,M5单元检测出,置0故障可由M1,M2单元和M2,M3单元检测出;AF故障可以在March单元的连续升序/降序中得到检测。

存储器分为面向字(Word-oriented)的存储器和面向位(Bit-oriented)的存储器,这是根据存储器的读/写方式来分的。

面向字的存储器是以字(Word)为单位进行读/写的,面向位的存储器是以位(Bit)为单位进行读/写的。

由于单片机内嵌存储器既可以进行按位读写操作(地址为20H~2FH),也可以进行按字节读写操作,所以在测试时,采用了面向位与面向字节相结合的March C-算法进行。

对于多位的SRAM,耦合故障可能发生在属于不同地址的单元之间,也可能发生在同一个地址的单元之间。

前一种情况称为字间耦合故障,后一种情况称为字内耦合故障,这两种故障同时存在[10]。

在将面向位的March C-算法扩展成面向字的March C-算法时,为了能够检测到字内耦合故障,通常的做法是增加数据背景。

最常见的增加数据背景是DB和DBbar,DBbar是DB按位取反的结果。

DB中连续0和连续1的个数从1到W/2(W为字宽)递增,直到满足数据背景K的个数为止。

对于字宽为W的存储器,要完成该类测试,至少需要K个数据背景,其中:K=(log2 W)+1对于每种数据背景,都要执行一遍测试算法。

MCS-51系列单片机的存储器字宽为8 b,在面向字的March C-算法中使用的数据背景如表1所示。

表1 测试8位存储器的数据背景序号DBDBbar10000000011111111201010101101010103001100111100110040000111111110000面向字的March C-算法描述如下:;在编写测试程序时,共使用了读、写和比较三种指令,将读取的数据与正确值相比较,若不同,则表示存储器出现故障,同时由单片机输出特定的报警信号。

相关文档
最新文档