Khorina · 3月12日

安全芯片的守护神:BIST 机制的深度解析

写在前面:

在安全芯片的设计与验证过程中,工程师常会遇到一个关键概念——BIST(Built-In Self-Test,内置自检测)。初次接触这一术语时,许多人容易将其简单理解为“芯片内部的自动化测试功能”,甚至误认为其仅用于生产阶段的缺陷筛查。然而,BIST 机制的核心价值远不止于此:它不仅是芯片功能安全的“第一道防线”,更是实时检测潜伏故障、保障系统可靠运行的关键设计。

在功能安全标准(如 ISO 26262、IEC 61508)中,BIST 被明确列为“硬件诊断机制”的重要组成部分。若对其设计原理和分类缺乏深入理解,可能导致安全机制覆盖率不足,甚至引发系统级风险。因此,本文将带你深入了解 BIST 机制的奥秘,让你明白它是如何在芯片的世界里发挥着至关重要的作用。

1.什么是 BIST

内置自检测(Built-In Self-Test,简称 BIST)是一种通过在芯片内部集成专用测试电路,实现自主生成测试向量、执行检测并分析结果的诊断技术。其核心目标是通过周期性的自检,及时发现由制造缺陷、老化或环境应力(如辐射、温度波动)引发的潜伏故障(Latent Faults),确保芯片在生命周期内始终满足功能安全要求。

image.png

想象一下,如果芯片是一个复杂的城堡,那么 BIST 就像是城堡内部的一支巡逻队,时刻在城堡内巡逻,检查每一个角落,确保城堡的安全。这支巡逻队由三个主要部分组成:测试向量生成器(TPG,test pattern generator)、输出响应分析器(ORA,output response analyzer)和内建自测试控制器(BIST controller)。

- TPG(test pattern generator)测试向量生成器

它是巡逻队中的“侦察兵”,用来自动生成测试向量,灌入待测电路的输入引脚。

- ORA (output response analyzer)输出响应分析器

它是巡逻队中的“分析师”,对待测电路的输出进行压缩对比,来确定电路是否有错误。

- BIST controller 内建自测试控制器

它是巡逻队的“指挥官”,控制何时将什么样的数据用到被测电路上,控制被测电路的时钟并决定何时读取预期响应。

BIST 解决的故障类型为未被检测到的多点故障(Multiple-point Faults),这些故障可以分为两类:

· 系统执行任务逻辑中存在多点故障,它们不能被检测或感知。

·  系统本身设计的安全机制出现故障,该故障与另一个独立故障结合后,未能检测或感知。

在微控制器(MCU)等安全芯片的设计和应用中,BIST 机制就像是芯片的“守护神”,时刻守护着芯片的安全。它的主要目的是在芯片运行过程中,及时发现那些潜伏的故障(Latent Faults),并在发现故障时,迅速采取相应的安全措施,如系统重启或进入安全状态等,确保芯片的稳定运行和数据的安全。

2.BIST 类别

BIST 机制就像是芯片内部的“多面手”,能够应对各种不同的故障类型。根据芯片内部电路的不同特点,BIST 机制主要分为两大类:LBIST(Logic Built-in Self Test,逻辑内置自测试)和 MBIST(Memory Built-in Self Test,内存内置自测试)。

1:LBIST(Logic Built-in Self Test):逻辑内置自测试

LBIST 就像是芯片内部的“逻辑侦探”,专门负责检测芯片数字逻辑中的潜在故障。它通过应用伪随机模式,这些模式由伪随机模式生成器(PRPG)生成,并像电流一样,应用于全扫描电路。这些伪随机模式虽然看似随机,但实际上是由确定性算法生成的,能够全面覆盖电路中的所有逻辑路径,就像侦探会走遍每一个可能的线索路径一样。

同时,在测试过程中 LBIST 会使用多输入签名寄存器(MISR)对测试响应进行压缩。MISR 就像是一个“数据压缩机”,能够将大量的测试数据简化为一个较短的签名值,这个值代表了测试结果。最后,LBIST 会将实际得到的签名值与设计时通过模拟测试确定的预期签名值进行比对。如果实际签名值与预期签名值不匹配,就像侦探发现线索与预期不符一样,说明电路中存在故障。此时,芯片可以采取相应的措施,如系统重启或进入安全状态等。

Image

1)LBIST 通过一个伪随机模式生成器(PRPG)产生伪随机测试向量。这些向量看起来是随机的,但实际上是由确定性算法生成的。在全扫描电路设计中,这些测试向量可以全面覆盖电路中的所有逻辑路径。

2)使用多输入签名寄存器(MISR)对测试向量的响应进行压缩。MISR 能够将大量的测试数据简化为一个较短的签名值,这个值代表了测试结果。

3)得到的签名值(也称为特征值)需要与预期的签名值进行比对。预期的签名值通常是在设计时通过模拟测试确定的,它代表了电路在无故障时的响应。

4)如果实际签名值与预期签名值不匹配,说明电路中存在故障。检测到故障后,MCU 可进行系统重启、进入安全状态等措施。

2. MBIST(Memory Built-in Self Test):内存内置自测试

MBIST 则是芯片内部的“内存卫士”,专门用于检测存储器故障,如 SRAM 单元中的故障。存储器就像是芯片的“记忆库”,如果记忆库出现问题,整个芯片的功能都会受到影响。MBIST 通过包含测试电路用于加载、读取和比较测试图形,来确保存储器的正常工作。

目前,业界通用的 MBIST 算法有“March”、“March-C”以及“MATS+”等。这些算法就像是 MBIST 的“测试工具”,能够全面检测存储器的各个部分。MBIST 的测试框架主要由测试控制、硬件向量生成和比较器三部分组成。测试控制就像是 MBIST 的“指挥官”,负责协调整个测试过程;硬件向量生成则像是“测试工具”的“制造者”,负责生成各种测试向量;比较器则像是“测试工具”的“使用者”,负责对比测试结果,判断存储器是否存在问题。

Image

MBIST 测试的框架由测试控制、硬件向量生成、比较器组成。

1)测试控制模块是 MBIST 测试框架的核心,负责管理整个测试过程。当测试控制模块接收到开始测试的指令后,首先会切换存储器的输入输出到测试模式,同时启动硬件向量生成模块开始产生和给出测试激励,同时计算存储器的输出期待值。

2)硬件向量生成模块负责生成用于内存测试的测试向量。这些测试向量由 MBIST 内部逻辑生成,相应模块可以与被测试的存储器一同工作在内部功能时钟下,无需由机台慢速时钟移入测试向量,可节省大量的测试时间。

3)比较器用于将存储器单元返回的数据和原始输入数据进行比较。当存储器被测试时和读取数据时,比较器的输入应该是相同的数据。

在实际应用中,LBIST 和 MBIST 就像是芯片内部的“双保险”,共同保障芯片的稳定运行和数据的安全。它们各自针对不同的电路部分,发挥着不可或缺的作用。通过 BIST 机制,芯片能够及时发现并处理潜在的故障,确保在各种复杂的工作环境下,都能够稳定可靠地运行。

3.英飞凌微控制器 BIST 介绍

在汽车的功能安全设计中,通常使用英飞凌 AURIX TC3xx 系列微控制器作为模块的中央处理单元。本文对其内部的 BIST 设计进行简要解读:

英飞凌 AURIX TC3xx 系列的安全芯片中,设计四种 BIST:

PMS:PBIST(Power Built-in Self Test):电源内置自测试,用于测试供电水平、电源功能和电压监控。

MCU:LBIST(Logic Built-in Self Test):逻辑内置自测试,用于检测 MCU 数字逻辑中的潜在故障。

PMS:MONBIST(Monitor Built-in Self Test):监控器内置自测试,用于覆盖次级电压监控器和待机 SMU 报警路径的潜在故障。

VMT:MBIST(Memory Built-in Self Test):内存内置自测试,用于检测 SRAM 单元中的故障。

- PBSIT 测试

用于在微控制器(MCU)启动时检测与电源供应相关的故障。电源故会导致 MCU 行为不可预测,直接违反安全目标。具体来说,PBIST 在冷启动时自动执行,以测试供电水平、电源功能和电压监控器。这个测试对于确保 MCU 在启动阶段能够可靠地检测电源相关问题。

- LBSIT 测试

用于检测微控制器(MCU)数字逻辑中的潜在故障。LBIST 通过应用伪随机模式,这些模式由伪随机模式生成器(PRPG)生成,并应用于全扫描电路,同时使用多输入签名寄存器(MISR)压缩测试响应的签名。(默认配置下,6ms)

- MONBSIT 测试

用于在系统启动后执行,以覆盖次级电压监控器和待机 SMU 报警路径的潜在故障。MONBIST 在 PBIST(Power Built-in Self Test)和 PORST(Power-On Reset Signal)释放后执行,以确保这些关键监控功能的正常运行。

- MBSIT 测试

用于检测 SRAM 单元中的故障。每个任务周期内执行一次,在测试前需要使用正确的 ECC 数据初始化 SRAM。在测试期间,SRAM 不能被访问。测试模块可以配置为执行测试序列,其中所有由范围定义的地址都会被读取和写入,遵循特定的测试模式。

4.总结

BIST 机制作为安全芯片的重要组成部分,就像是芯片的“内部医生”,能够随时对芯片进行自我检查,及时发现并处理潜在的故障。通过 LBIST 和 MBIST 两大类机制,BIST 能够全面覆盖芯片的数字逻辑电路和存储器,确保芯片在各种复杂的工作环境下都能稳定可靠地运行。无论是英飞凌的 AURIX TC3xx 系列芯片,还是其他厂商如 NXP 的安全芯片,BIST 机制都发挥着至关重要的作用。未来,随着芯片技术的不断发展,BIST 机制也将不断优化和升级,为芯片的安全性和可靠性提供更强有力的保障。

END

作者:边俊
文章来源:sasetech

推荐阅读

更多物联网安全,PSA 等技术干货请关注平台安全架构(PSA)专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入PSA 技术交流群,请备注研究方向。
推荐阅读
关注数
4574
内容数
210
Arm发布的PSA旨在为物联网安全提供一套全面的安全指导方针,使从芯片制造商到设备开发商等价值链中的每位成员都能成功实现安全运行。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息