请阅读【嵌入式开发学习必备专栏 】
文章目录
- MBIST
- MBIST 背景
- MBIST的主要特点和优势
- MBIST的工作原理
- 举例
MBIST
MBIST(Memory Built-In Self-Test)是一种在系统级芯片(SoC)中内置的内建自测试,用于检测和验证片上存储器(如RAM,ROM等)的完整性和功能。
何谓内建自测试?
“内建”的含义是指针对存储器的测试向量由内建的存储器测试逻辑自动产生,而非外部测试机台(ATE:Auto-Test-Equipment)生成。Mbist测试中,只需要借助机台通过JTAG接口传输测试的指令,就可以从TDO接口获取测试结果。
MBIST允许在不需要外部测试设备的情况下,对内存单元进行测试,这可以在生产阶段校验内存,也可以在设备运行期间定期进行健康检查。
关于 TAP 的部分见:ARM Coresight 系列专栏
MBIST 背景
Memory在芯片中占据很大面积,对芯片良率有重要影响,为了避免memory低良对芯片的影响,通常添加冗余或备用的存储单元行和列,及时将测试中的故障进行修复和替换,修复过程包括行修复、列修复或两者的组合。
MBIST的主要特点和优势
- 自动化测试:MBIST逻辑自动地产生测试模式和信号,不需要外部测试设备。
- 可编程:MBIST通常可以被配置为执行不同类型的测试模式,以检测各种可能的内存错误,如地址解码错误、细胞损坏和存取时间错误。
- 低成本:由于不需要额外的测试设备,MBIST降低了测试成本。
- 在现场测试:MBIST可以在SoC正常工作时(在线)或者在系统启动时执行,提供了运行时测试的能力。
MBIST的工作原理
MBIST测试通常由一个或多个下列步骤组成:
- 初始化:MBIST控制器初始化内存和测试模式。
- 写测试:向内存写入特定的数据模式(如全0,全1,棋盘格等)。
- 读测试:读回内存数据并与预期值比较,确定是否有错误。
- 报告:测试完成后,MBIST逻辑生成测试报告,包括是否有错误和错误的位置。
测试模式可能非常多样,包括基本的数据模式测试,如行交替(行stripe)、列交替(列stripe)、行列交替(checkerboard)等,也包括更复杂的算法,如伪随机数序列测试或者马太效应(March)测试等。
举例
假设你设计了一个SoC,其中包含一个片上SRAM存储器。为了保证这个存储器在生产后和运行期间均能可靠工作,你在设计中集成了MBIST逻辑。MBIST逻辑被设计成在系统启动时自动运行,以确保SRAM存储器没有缺陷。如果MBIST检测到错误,它将通过相应的接口报告给系统控制器,控制器可以采取行动,比如标记该存储器为不可用,启动冗余逻辑,或通知操作系统错误的存在。
在系统启动时,MBIST控制器自动执行一系列预定义的测试模式,包括写入和读取特定的数据模式到SRAM的每个单元。这些测试模式会检测常见的故障类型,如固定值故障(stuck-at faults),地址解码故障,以及耦合故障(coupling faults)。测试后,MBIST生成的报告可以用来进一步分析,或在系统的自检步骤中作为基础信息。
MBIST是SoC设计中一种十分重要的可靠性和质量保证工具,特别是对于需要高可用性和安全性的应用,如汽车电子、航空航天和医疗设备等。通过集成MBIST,设计者可以显著提高内存的测试覆盖率,降低生产测试的复杂性和成本,并提供系统运行期间的额外安全保障。
推荐阅读:
https://zhuanlan.zhihu.com/p/350861157