• SRAMC主要是对SRAM进行控制
  • 对于SRAM的逻辑,根据地址将数据存储到SRAM中,然后根据地址将SRAM中的数据读取出来

    如何测试Memory,生产工艺原因造成的问题,采用DFT或者Bist测试方法
  • DFT - 在代码中加入测试逻辑,之后通过这部分逻辑对芯片进行测试

What is manufacturing test?

  • 芯片在FAB生产之后,会有错误,通过ATE基台进行测试,打入信号,检查输出信号是否正确

What is a physical defect?

  • 物理缺陷(失效) - 与门、或门、非门、线路出现问题,晶体管常开或者是氧化层开洞
  • short Circuit - 短路
  • open Circuit - 开路
  • DFT - 可观测性和可控性,覆盖率比较高的时候,可以认为所有的寄存器都被观测到

CMOS Inverter Layout

  • 红色的是金属层

Stuck-at fault model

  • SA1 - 短接到1,或非门短接到1,输出都是0
  • SA1 - 与门短接到地,不管输入如何变化,输出都是0
  • 对于Standcesll,通过插入的Scan chain,输出错误表示芯片有问题

Soc中的DFT和BIST

  • 一个Soc中有很多memory,通过IO连在一起进行测试是不可行的,对于布线压力很大。
  • 对Memory进行测试,借助读写逻辑,借助状态机,设置一个模块嵌在memory中,进行测试。

含DFT设计的流程

  • 不插入扫描链的寄存器都是普通的寄存器,插入扫描链之后的寄存器都被替换为插入扫描链的寄存器

  • 插入DFT逻辑在寄存器之前加mux,通过mux进行function mode和test mode进行选择
  • DFT也是一种设计,添加mux会增加面积

嵌入式Memory的测试方法

  • CPU进行测试,需要一个Memory一个Memory进行测试,效率比较低
  • CPU在测试Memory,因为Memory的的深度不同,软件复用性差

MBIST概述



MBIST架构



MBIST实现与EDA工具

  • 通常MBIST逻辑由EDA工具生成

March算法



  • 复杂度主要是时间复杂度

March算法的硬件实现





Memory Bist的更多相关文章

  1. memory bist lib

    model NVIC_REG6T_1024x32(resetb,margin,clk,en,we,addr,d,q) ( bist_definition( clock clk high; chip_e ...

  2. SOC中的DFT和BIST对比与比较-IC学习笔记(二)

    ATE:ATE是Automatic Test Equipment的缩写,根据客户的测试要求.图纸及参考方案,采用MCU.PLC.PC基于VB.VC开发平台,利用TestStand&LabVIE ...

  3. IC验证概念总结

    一份代码,在写完之后,一定要再经过一次或多次整理和打磨,才能算完成的:一份代码,一定要把其有效代码行,精简.锤炼到最少.最短.最有效,才能算完成的.   下面这些问题和回答是忘记是在哪里看到的了,参考 ...

  4. 【NX二次开发】NX内部函数,libugui.dll文件中的内部函数

    本文分为两部分:"带参数的函数"和 "带修饰的函数". 浏览这篇博客前请先阅读: [NX二次开发]NX内部函数,查找内部函数的方法 带参数的函数: bool A ...

  5. Logic BIST

    Logic BIST is crucial for many applications, in particular for life-critical and mission-critical ap ...

  6. Memory及其controller芯片整体测试方案(下篇)

    {  第三部分  }  DDR总线的设计.调试和验证  在计算机架构中,DDR作为程序运算的动态存储器,面对如高性能计算.图形计算.移动计算.工业应用等领域的要求,发展出DDR4,以及用于图形计算的G ...

  7. rom bist scripts

    rom bist 的input 有rom_content file .校验rom还坏,主要通过signature比较.signature跟rom content file 一一对应的. rom bis ...

  8. sram bist scripts

    主要三个script: mbist_run: call mbistarchitect tool run.do:run bist flow  bist setup => bist mode(bis ...

  9. 人工智能AI Boosting HMC Memory Chip

    人工智能AI Boosting HMC Memory Chip Innosilicon的AI Boosting HMC存储芯片适用于高速,高带宽和高性能存储领域,例如AI边缘,数据中心,自动化等. H ...

  10. Java 堆内存与栈内存异同(Java Heap Memory vs Stack Memory Difference)

    --reference Java Heap Memory vs Stack Memory Difference 在数据结构中,堆和栈可以说是两种最基础的数据结构,而Java中的栈内存空间和堆内存空间有 ...

随机推荐

  1. 2023-12-20:用go语言,给定一个数组arr,长度为n,在其中要选两个不相交的子数组。 两个子数组的累加和都要是T,返回所有满足情况中,两个子数组长度之和最小是多少? 如果没有有效方法,返回-

    2023-12-20:用go语言,给定一个数组arr,长度为n,在其中要选两个不相交的子数组. 两个子数组的累加和都要是T,返回所有满足情况中,两个子数组长度之和最小是多少? 如果没有有效方法,返回- ...

  2. Go 语言学习指南:变量、循环、函数、数据类型、Web 框架等全面解析

    学习基础知识 掌握 Go 语言的常见概念,如变量.循环.条件语句.函数.数据类型等等.深入了解 Go 基础知识的好起点是查阅 Go 官方文档 文章链接:Go 编程语言详解:用途.特性.与 Python ...

  3. 自定义md-loader来简单高效的维护组件文档

    个人觉得,组件库最难的不是开发,而是使用,怎么才能让组内同事都用起来,这才是关键 背景 虽然现在开源的组件库很多,但每个项目里还是或多或少都会有人封装出一些项目内通用的基础组件.业务组件 我参与过多个 ...

  4. Java反序列化漏洞-CC6链分析

    CC6利用链分析 经过之前对CC1链和URLDNS链的分析,现在已经对反序列化利用链有了初步的认识,这次来分析一个最好用的CC利用链--CC6. 为什么CC6是最好用的CC利用链,因为CC6不限制jd ...

  5. 虚拟化H搭建

    虚拟化H搭建 H搭建所需要的硬件配置 最大值:所有组件不能超过160个cpu 按安装H需要2G内存+若干个guest(不明确多大),最大支持2个TB内存 最小磁盘2G 一个千兆网卡 lscpu信息 [ ...

  6. flutter中显示年月日、星期与时间

    代码 import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'dart:async'; imp ...

  7. Prometheus 快速入门

    Prometheus&Grafana快速入门 一.prometheus简介 prometheus是监控多个大数据组件的监控系统.Prometheus是由SoundCloud开发的开源监控报警系 ...

  8. Java 获取Excel中的表单控件

    Excel中可通过[开发工具]菜单栏下插入表单控件,如文本框.单选按钮.复选框.组合框等等,插入后的控件可执行设置控件格式,如大小.是否锁定.位置.可选文字.数据源区域.单元格链接等.当Excel中已 ...

  9. MySQL基础篇:第七章_详解mysql存储过程&函数

    存储过程 含义:一组经过预先编译的sql语句的集合 好处: 1.提高了sql语句的重用性,减少了开发程序员的压力 2.提高了效率 3.减少了传输次数 分类: 1.无返回无参 2.仅仅带in类型,无返回 ...

  10. Kuasar成为CNCF官方项目,探索容器运行时新纪元

    本文分享自华为云社区<Kuasar成为CNCF官方项目,探索容器运行时新纪元!>,作者:云容器大未来. 北京时间12月20日,云原生计算基金会(CNCF)正式接纳多沙箱容器运行时项目 Ku ...