DFT(二)MBIST

embedded/2024/10/18 8:20:15/

DFT(二)MBIST

在这里插入图片描述
MBIST(Memory Built-In Self-Test,内置存储器自检测)是一种用于检测半导体存储器(如 RAM)中制造缺陷和操作故障的技术。它允许存储器在没有外部测试设备的情况下进行自我测试,从而提高了生产效率并降低了成本。

基本原理

MBIST 的核心思想是利用存储器内部的逻辑电路来执行测试,而不需要外部的测试设备。测试过程通常包括以下步骤:

  1. 地址和数据路径的测试:验证地址和数据路径是否正确连接。
  2. 存储器阵列的测试:检测存储器单元是否存在故障,如短路或断路。
  3. 行和列解码器的测试:检查行和列解码器是否正确地映射地址。

关键组件

  1. 测试访问机制(TAM):允许测试模式的输入和输出,通常通过特殊的输入引脚或软件指令触发。
  2. 测试模式寄存器:存储测试配置信息,如测试类型、测试数据和预期结果。
  3. 测试算法:用于检测特定类型的故障,如行故障、列故障或耦合故障。

测试过程

  1. 初始化:通过 TAM 将存储器置于测试模式,并加载测试模式寄存器。
  2. 测试模式执行:根据测试模式寄存器中的配置,执行相应的测试算法。
  3. 结果分析:将测试结果与预期结果进行比较,以确定存储器是否通过测试。
  4. 退出测试模式:测试完成后,存储器退出测试模式,恢复正常操作。

测试算法
MBIST 使用多种算法来检测不同类型的故障:

  1. 游标测试(March Tests):如 March C- 或 March B+ 算法,通过在存储器中移动数据来检测故障。
  2. 伪随机测试:使用伪随机数生成器产生测试向量,以检测更难发现的故障。
  3. 压缩测试:通过将数据压缩成较少的位模式来减少测试时间。

优点

  1. 成本效益:减少了对外部测试设备的依赖,降低了测试成本。
  2. 高效率:可以在生产过程中快速检测存储器故障。
  3. 灵活性:可以针对不同类型的存储器定制测试算法。

缺点

  1. 测试覆盖率:可能无法检测到所有类型的故障,特别是那些需要特定测试条件的故障。
  2. 测试时间:尽管比外部测试快,但某些复杂的测试算法仍然会增加测试时间。
  3. 设计复杂性:需要在存储器设计中集成额外的逻辑,增加了设计的复杂性。

应用领域

MBIST 广泛应用于各种存储器类型,包括:

  1. 静态随机存取存储器(SRAM):由于其结构简单,易于实现 MBIST。
  2. 动态随机存取存储器(DRAM):需要更复杂的测试算法,因为其存储单元更易受故障影响。
  3. 闪存:用于检测制造过程中的缺陷,提高闪存的可靠性。

结论

MBIST 是一种有效的存储器自检测技术,它通过减少对外部测试设备的依赖,提高了生产效率并降低了成本。然而,设计者需要仔细考虑测试算法的选择和测试覆盖率,以确保存储器的可靠性。随着半导体技术的不断进步,MBIST 技术也在不断发展,以适应新型存储器的需求。


http://www.ppmy.cn/embedded/28367.html

相关文章

Java 基础重点知识-(泛型、反射、注解、IO)

文章目录 什么是泛型? 泛型有什么用?泛型原理是什么? Java 反射什么是反射? 反射作用是什么?动态代理有几种实现方式? 有什么特点? Java 注解什么是注解, 作用是什么? Java I/O什么是序列化?Java 是怎么实现系列化的?常见的序列化协议有哪些?BIO/NIO/AIO 有什么区别…

Spring IOC(二)

1. Bean的定义与获取 1.1 定义Bean 在Spring 中定义Bean的方式主要有三种&#xff1a; 1、基于XML配置文件的方式&#xff08;了解&#xff09;&#xff1a;通常会在配置文件中使用<bean>标签来定义Bean&#xff0c;并设置Bean的属性、依赖关系等信息。 2、基于注解的方…

操作系统(2)——进程线程

目录 小程一言专栏链接: [link](http://t.csdnimg.cn/8MJA9)基础概念线程详解进程详解进程间通信调度常用调度算法 重要问题哲学家进餐问题问题的描述策略 读者-写者问题问题的描述两种情况策略 总结进程线程一句话 小程一言 本操作系统专栏&#xff0c;是小程在学操作系统的过…

jenkins搭建

安装jdk yum install -y java-1.8.0-openjdk.x86_64 默认安装到usr/lib/jvm目录下 查看JDK信息,输入命令:java -version 检测JDK安装包,输入命令:rpm -qa | grep java 进入安装目录。 输入命令:cd /usr/lib/jvm 删除Java相关文件,输入命令:rm -rf /usr/lib/jvm 配置…

翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习三

合集 ChatGPT 通过图形化的方式来理解 Transformer 架构 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习一翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习二翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深…

使用Python及R语言绘制简易数据分析报告

Pytohn实现 在python中有很多包可以实现绘制数据分析报告的功能&#xff0c;推荐两个较为方便的包&#xff1a;pandas-profiling 和 sweetviz 。 使用 pandas-profiling 包&#xff08;功能全面&#xff09; 这个包的个别依赖包与机器学习的 sklearn 包的依赖包存在版本冲突&a…

制作一个RISC-V的操作系统十六-系统调用

文章目录 用户态和内核态mstatus设置模式切换核心流程封装代码背景解释代码示例解析解释目的 用户态和内核态 mstatus设置 此时UIE设置为1和MPIE为1&#xff0c;MPP设置为0 代表当前权限允许UIE中断发生&#xff0c;并且在第一个mret后将权限恢复为用户态&#xff0c;同时MIE也…

力扣:100. 相同的树(Java)

目录 题目描述输入&#xff1a;输出&#xff1a;代码实现&#xff1a; 题目描述 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 输入&#xff1a…