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

基于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-算法描述如下:;在编写测试程序时,共使用了读、写和比较三种指令,将读取的数据与正确值相比较,若不同,则表示存储器出现故障,同时由单片机输出特定的报警信号。

合集下载

数字可测性课程考试试卷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设计

储 器 内 部 复 杂 的 电 路 结 构 和 超 大 的 电 路 密 度 , 往 在 生 往
产过程 中会 出现错 误 。存储 器不 同于其 他逻 辑 电路 , 在 芯片 中 , 与存储 器 相连 的 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 字存储器测试存储器可分为位存储器和字存储器两种结构。

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

基于March算法的三态内容寻址存储器的故障诊断及实现

文章编号:16711742(2011)01006105基于March 算法的三态内容寻址存储器的故障诊断及实现王莉1,黄洪1,刘海青2(1.西南交通大学信息科学与技术学院,四川成都610031;2.成都迈普通信有限公司路由产品开发部,四川成都610029)摘要:介绍了三态内容寻址存储器的硬件组成,分析了三态内容寻址存储器的工作原理,结合Mar ch 算法的理论设计了三态内容寻址存储器故障诊断的方法,并介绍了故障检测的流程,在VxWorks 的操作系统下以Tornado为开发平台实现了三态内容寻址存储器的故障诊断功能,最后给出了实验结果。

实际应用表明结果可靠性能高能满足用户的需求。

关键词:计算机应用技术;故障诊断;三态内容寻址存储器;内建自测中图分类号:TP399文献标识码:A 收稿日期1引言近年,随着信息网络知识与技术的不断发展和提高,越来越多的公司(例如:中国移动、中国电信、银行等)都使用网络办公,于是因特网和以太网等网络的使用量显著增加,因此很多运营商对于高速和高可靠性的数据处理性能的需求也日益增加。

三态内容寻址存储器(T ernary Content Addressable Memory,TCAM)作为数据传输过程中关键器件,能够实现数据目标等的快速查找,能很好地解决多业务中各种表项的高速查找问题。

为支持大量的路由信息,网络设备制造商往往会在路由器,三层交换机中扩展多个TCAM 器件,满足业务的需求。

由于TCAM 处于高频率被使用状态,避免不了会出现诸如读、写、查找功能出错的故障问题,导致网络阻塞,丢包现象,其故障排查与检测也就成了维修部门首先要考虑的问题。

传统情况下,维修部门对TCAM 故障检测是通过TCAM 厂家提供的专用检测仪并经人工观赏检测仪的指示灯判读T CAM 的故障状态,检测方式不仅提高了TCAM 的检测成本,而且也加大了维修人员的数量及工作量。

基于这种背景下,结合March 算法的理论和T CAM 的工作原理,设计了一种快速排查与检测TCAM 读、写、查找功能的一种方法,并给出了实验结果。

March算法在BIST电路设计中的作用机制

March算法在BIST电路设计中的作用机制张莹;赵纶【摘要】基于March CE算法,设计了一种可嵌入式的具有内建自测试功能的电路;在电路和测试方案设计中依据March CE算法中理论公式,并以此为依据叙述了设计过程中的作用机制,给出BIST电路结构原理图和电路设计图,对所设计的电路进行了测试,验证了所设计电路.%An embedded circuit with a built-in self test function is designed based on March CE algorithm. The BIST circuit structure and circuit design schematic are presented, and the designed circuit is tested and verified.【期刊名称】《大连交通大学学报》【年(卷),期】2011(032)005【总页数】4页(P98-101)【关键词】March CE算法;BIST电路;作用机制【作者】张莹;赵纶【作者单位】电信科学技术研究院,北京100094;电信科学技术研究院,北京100094【正文语种】中文0 引言随着So C技术的发展,为了弥补传统电路测试扫描技术效率低的不足,产生了一种能够快速并有效地对数字系统进行测试与诊断的方法,即:自测试技术.但自测试技术常常是在软件中实现的,致使在电路测试中不可避免的存在诊断分辨率差、诊断时间长、效率低和使用费用较高等缺点.为了解决上述问题,一种电路的硬件自测试方法,即:通过在芯片内部集成少量的逻辑电路实现对集成电路的测试技术应运而生,这就是内建自测试(BIST)技术.该技术具有结构简单、有效测试时间短、测试灵活性强、可以实现在线经常性测试等优点.本文基于March CE算法,设计了一种基于HHNEC 0.13μm的多片单、双口RAM为测试对象的串行“BIST”电路.在电路内部自身生成测试向量,而不需要外部施加激励,并依靠自身决定得到的测试结果是否正确.该电路可以有效的满足嵌入式存储器的测试需求,实现对存储器的准确检验和故障定位.1 一种可嵌入式BIST电路设计1.1 BIST电路结构原理设计是基于March CE算法设计了一种可嵌入式BIST电路,这种BIST电路可以随意而灵活的嵌入到各种数字电路中,自动完成数字电路系统中的存储器测试,该电路的结构原理见图1所示.图1 BIST电路结构原理图图1电路系统的组成:①BIST控制器:它是算法控制的核心;②地址生成器:产生遍历整个RAM的地址序列;③数据生成器:产生数据及其“取反”的值;④控制生成器:在BIST控制器测试模式信号指挥下选择RAM的输入信号;⑤响应分析器:实现测试响应分析并行机制.该电路的工作原理是:上电启动后,系统进入测试模式,开始测试存储单元.若发现故障单元,则BIST电路将故障信息传给响应分析电路,故障地址被保存到按内容寻址存储器中,生成故障位图.测试完成后,内建自修复算法根据位图提供的故障信息分配冗余资源覆盖故障单元.当进入正常工作模式时,BIST电路被旁路,要访问的地址被送往系统,由系统判断所需要的存储单元是否为已知故障单元.若是,则进行地址重映射,调用冗余单元;若不是,则访问正常的存储单元.1.2 BIST电路设计与March算法的作用机制在BIST电路设计时,先要从故障覆盖率和实现的复杂度两方面进行综合考虑,来选择March算法的故障覆盖率高于80%,复杂度只有6n.March算法如下:图2电路设计图中原理主要是依据式(1)的作用机制.依据图1的结构原理进行了BIST电路设计,电路设计图见图2所示.图2 BIST电路设计图其作用机制为:当run_bist信号有效,且clk为上升沿、rst为低电平,BIST模块开始工作.首先选择待测RAM,其中:dpram_usb_sel为dpram_usb的片选信号,其中0选择,1屏蔽;spram_crypto_sel为spram_crypto的片选信号,其中0选择,1屏蔽;spram_system_sel为spram_system的片选信号,其中0选择,1屏蔽;dpram_sel为dpram的片选信号,其中0选择,1屏蔽.rd为RAM三态开关,低电平有效.wr为读写控制信号,其中,低电平为写,高电平为读.当wr为低电平时,允许向RAM中写入数据,之后根据March CE算法进行操作,当wr为高电平时允许读出数据,并判断是否与写入的数据值相同,若相同则继续检测,若不同则报错.wr_data[7∶0]为写数据信号,0复位.dpram_usb_addr[11∶0]为 dpram_usb 地址线,12'd2303 复位;spram_crypto_addr[10∶0]为spram_crypto地址线,11'd2047复位;spram_system_addr[14∶0]为spram_system 地址线,15'd32767复位;dpram_addr[8∶0]为 dpram 地址线,9'd511 复位.dpram_usb_rd_data[7∶0]为 dpram_usb 读出数据线;spram_crypto_rd_data[7∶0]为 spram_crypto 读出数据线;spram_system_rd_data[7∶0]为 spram_system 读出数据线;dpram_rd_data[7∶0]为 dpram读出数据线.bist_stop复位值为0,当变为1时,表示RAM无错误测试完成.2 BIST电路测试方案设计在检测图2电路的测试方案设计中,应用March算法中通用的数据背景对数公式:式中,X为测试所需的数据背景的个数;B为存储器字长.考虑在高测试效率和故障覆盖率时,需要对测试向量进行扩展,并记录扩展后的数据背景.当March算法中的读写数据为1(或0)时,就将正向或反向的G个数据背景存储到对应的存储器上,依式(2)依次对每个数据背景按照次序执行相应的操作,由此制约了测试方案机理和测试步骤.测试中先外加一个run BIST信号,分别对4片RAM进行串行检测,分别为各自的RAM选择信号,每次选择则由低电平表示有效.对选上的RAM进行March CE 算法检测,若此片检测无误,则进行下一片RAM的检测.当四片RAM均检测完毕且无错误时mistake[2∶0]信号显示000;当RAM出错时,mistake[2∶0]信号则显示相应数字,并马上中断程序;标志寄存器mistake有5种数值状态,表示各自的RAM出错情况,见附表所示.附表 RAM出错情况下的数值mistake[2∶0]各自 RAM 状态000 各ram 正常100 dpram_usb出错101 spram_crypto出错110 spram_system出错111 dpram 出错在测试方案设计中最关键性技术是:使4片RAM的测试在同一个电路中执行,而各自RAM容量不同,且对于dpram_usb与dpram这样的双口RAM,需分别检测每一个端口.在测试中,采用最大容量32 K,即地址位宽为15位,则dpram_usb地址线取其中的12位,spram_crypto地址线取其中的11位,dpram_addr地址线取其中的9位.对于双口RAM,在测试中,给出了一个单双口选择信号,在选择单口RAM时,此信号被屏蔽.3 BIST电路自测试功能的测试利用图2的BIST电路对2K+256Byte DPRAM、2K Byte SPRAM、32K Byte SPRAM 和512Byte DPRAM芯片进行串行检测.在测试过程中,采用March CE 算法检测:固定故障、开路故障、转换失效故障、地址失效故障、字间耦合故障和动态故障.而其中,设计采用22个状态的状态机实现操作流程,并分别对4片RAM进行串行检测,其各状态机转移图见图3所示.图3 March CE算法的各状态机转移图图3中,ack为各RAM单个地址测试完成后的标志信号;ack_delay为ack的延时信号;在测试中,state 0确定单个地址是否测试完成,则把A1写入RAM,地址自减;若测试完成,则写入~A1,地址自增;state 1延迟一个clock;state 2确定单个地址是否测试完成,若未完成,则继续写入;若测试完成,则写入A1,地址自减;state 3写入~A1;state 4读数;state 5确定单个地址是否已经读完,若读完,则写入A3;state 6写入数据,地址自减;state 7若单个地址写满,则写入A2;否则写入~A3;state 8读出数据;state 9写入A3;state 10读出数据,地址自增;state 11写入A3;state 12若单个地址写满,则写入A4;否则写入~A2;state 13读数据;state 14写入A2;state 15读出数据,地址自减;state 16写入数据;state 17若地址已经写满,则写入~A4;若未写满,则读出数据;state 18读出数据;state 19写入A4;state 20读出数据,地址自增;state 21写入数据.其中:低电平为写,高电平为读.4 BIST电路的仿真在Modelsim环境下对所设计的BIST电路(图2)进行仿真,其Debussy仿真波形见图4所示.图4 BIST电路的仿真图从图4中可知,每次对选上的单口RAM进行一次March CE算法检测,对双口RAM进行两次March CE算法检测.当一片RAM测试完成时,result信号升起,若此RAM检测无错误,wrong信号为低电平,且 mistake[2:0]为000;当一片RAM测试出错时,result信号为低电平,wrong信号升起,且mistake[2:0]根据不同的RAM现实不同值.从BIST电路的仿真图中还可以看出,该电路能够检测出所有的注入故障,当内建自检测执行完毕后,stop信号自动置位.5 结论(1)在BIST电路设计中,采用March CE算法比其它算法精确度高,该算法制约了电路的工作机理和控制机制,制约了电路测试的工作步骤;(2)本文设计的BIST电路可以同时对单口RAM(SRAM)和双口RAM(DPRAM)进行检测,检测速度快;(3)当出现错误时,可以指出是哪片RAM上的哪个地址出错,可以指出出错的类型;(4)只有一个输出信号,便于电路集成后读出信号;(5)该BIST电路而不需要外部施加激励,并向系统返回测试结果;(6)该BIST电路具有良好的测试灵活性,能够满足普通嵌入式存储器的测试需求,可实现对存储器的准确检验和故障定位.参考文献:[1]ZHAI M J,YIN J H.Memory BIST design and implement based on March C algorithm[J].Journal of Harbin University of Commerce(Natural Sciences Edition),2009,25(5):549-552.[2]XU Z M,SU Y P.SRAM BIST Circuit Design Based on the March CAlgorithm[J].Semiconductor Technology,2007,32(3):245-247.[3]YAO L T,TAN E M.Pattern generation research of BIST based on low power[J].Electronic Design Engineering,2010,18(8):71-74.[4]ZANG B C,JIANG D W.A BIST test scheme of embedded DRAM [J].China Measurement Technology,2005,31(1):69-71.[5]YAN X L,TANG M.Design of Programmable Memory BIST for Embedded Dual Ports SRAM[J].Computer Measurement& Control,2006,14(7):853-854.[6]WANG Y,CHEN H.Transparent based programmable BIST scheme for memory test[J].Electronic Measurement Technology,2007,30(4):6-8.[7]ZHANG L,LOU S Q.Research of Embedded SRAM Build-in Self-test in the SoC[J].Electronics & Packaging,2007,7(11):28-30.。

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