2026年秋招,应聘‘芯片DFT工程师’时,笔试中关于‘MBIST(内存内建自测试)’的题目,除了基础算法(如March C-),现在是否会深入考察‘针对不同存储器类型(SRAM, ROM, Flash)的BIST架构设计’以及‘修复机制(Repair)的实现流程’?

开放21 回答 82 浏览

正在准备2026年秋招的芯片DFT工程师岗位。复习MBIST部分时,知道要掌握March算法和BIST控制器原理。但看一些面经说,现在考题越来越贴近实战。想请教一下,当前的笔试或面试中,是否会深入考察如何为SRAM、ROM甚至嵌入式Flash设计不同的BIST架构?以及当MBIST检测到故障后,相关的修复(Repair)流程,比如冗余行列的分配、熔丝(eFuse)编程流程,这些细节会被问到吗?应该如何准备这类问题?

分享:
  • 逻辑设计新手

    从最近两年帮部门校招的情况看,MBIST的考察深度确实在增加。基础算法(March类)是必考的,但通常只是第一道门槛。对于SRAM,面试官很可能会追问:如果给你一个多端口SRAM(例如1R1W),你的BIST控制器怎么设计读写冲突和地址生成?对于ROM,可能会问如何用BIST做完整性校验(比如用校验和或ECC),而不是做全March(因为ROM不能写)。Flash的BIST比较特殊,因为擦写时间长、有耐久性问题,通常不会在ATE上做全功能测试,所以可能会问在MBIST中如何简化测试流程(比如只做读测试)。关于修复,冗余行列分配算法(如局部修复、全局修复)和eFuse/anti-fuse编程流程是高频考点。你需要理解从MBIST诊断输出(fail bitmap)到修复分析(repair analysis)再到熔丝编程的完整数据流。建议准备时,找一些开源MBIST论文(比如IEEE上关于BIST with repair的)看看实际架构图,并自己画一下从测试到修复的流程图。

  • 数字IC入门者

    会,而且越来越细。去年我参加秋招时,有一道笔试题就是:'请设计一个支持修复的MBIST系统框图,并说明BIST控制器、修复分析模块、熔丝控制模块之间的交互时序'。这已经超出了纯算法范围,涉及到系统集成。对于不同存储器类型,关键点在于测试策略和BIST架构的适配。比如SRAM的MBIST往往集成在存储器旁边(Memory BIST),而Flash可能采用专用的测试模式通过JTAG访问。修复机制方面,不仅要懂冗余替换,还要知道修复的局限性(比如修复次数有限,修复后可能影响性能)。准备建议:1. 深入理解一种商用MBIST工具(如Tessent MBIST)的基本流程,了解它如何生成测试电路和修复逻辑。2. 在仿真中实际跑一个带MBIST的简单设计,看看故障注入和修复流程。3. 关注工业界常用修复技术,如列冗余、行冗余、eFuse vs. laser fuse的区别。这些细节面试官可能会连环发问。

  • 单片机爱好者

    是的,现在面试肯定不止考March C-了。我去年面试了几家公司,DFT岗位都问了MBIST架构和修复。他们不要求你设计每一个细节,但希望你知道不同存储器的测试难点。比如SRAM的测试速度要匹配ATPG,ROM的测试要避免改写,Flash的测试要考虑耐久性。修复流程经常被问到,尤其是软修复和硬修复的区别。软修复是每次上电通过固件加载修复方案,硬修复是一次性烧熔丝。你需要能说明白:MBIST检测到故障后,是怎么生成修复方案(比如用贪婪算法分配冗余行列),然后这个方案怎么写到熔丝里,上电时又怎么被读取并配置存储器。准备的话,可以看看相关专利或博文,了解实际芯片中的MBIST修复案例。另外,最好能说出一些关键指标,比如修复率、面积开销、测试时间影响,这能体现你的深度。

  • 嵌入式入门生

    兄弟,你这问题问到点子上了。现在DFT笔试面试确实越来越卷,光会March C-肯定不够了。我去年秋招面了好几家公司,大厂和某些做复杂SoC的初创,MBIST这块都问得挺深。

    关于不同存储器类型的BIST架构,大概率会考。面试官可能会问:SRAM的BIST通常要测哪些故障模型(比如耦合故障、地址译码故障)?ROM的BIST和SRAM有什么本质区别?(ROM是只读的,测试模式生成和响应压缩方式不同,可能用签名分析)。Flash更复杂,可能会问和工艺相关的特殊测试需求,比如耐久性、数据保持,但笔试可能不会太深,面试有可能展开。

    修复机制绝对是重点,尤其是做消费电子和汽车电子的公司,因为良率要求高。笔试可能会出简答题,让你描述修复的基本流程:MBIST测试->发现故障->定位故障地址(行列)->分析冗余资源(冗余行/列)->生成修复方案(熔丝图)->通过eFuse或激光熔丝编程。面试会抠细节,比如冗余分配算法是贪婪算法还是优先行修复?eFuse编程是在芯片测试(CP)时还是封装后(FT)?为什么要这样安排?

    怎么准备?光看书不行。建议:1. 找一些开源MBIST控制器代码(比如OpenCores上的)看看,理解状态机怎么控制测试和修复流程。2. 搜一些半导体公司的技术白皮书,看看他们MBIST IP的数据手册,里面架构和修复流程讲得很清楚。3. 自己画个流程图,把从测试到修复的每一步,以及涉及到的模块(BIST控制器、冗余分析引擎、eFuse控制器)都串起来。问到的时候能画出来,就很加分了。

  • 数字IC萌新

    同学你好,作为参加过近年招聘的过来人,分享一下我的观察。

    首先直接回答:会考察,但深度因公司而异。顶尖的数字芯片设计公司、或产品包含大量嵌入式存储器的公司(比如AI芯片、高端手机SoC),对MBIST的深入理解要求很高,笔试可能出现设计类题目。而一些中小规模公司或模拟混合信号为主的,可能还是以基础概念为主。

    针对不同存储器的BIST架构,你需要理解核心差异:SRAM的BIST最经典,读写控制完备,测试算法直接应用。ROM的BIST关键在于如何高效地“读取”并压缩整个存储内容与预期值对比,常用MISR(多输入签名寄存器)。Flash的BIST则涉及复杂的擦写时序、电压控制,通常BIST控制器会和Flash的专用控制器紧密配合,这部分笔试可能以概念题形式出现(例如:列举测试Flash时需要考虑的三个特殊因素)。

    修复机制是DFT工程师的价值体现。流程你一定要清晰:测试诊断(确定失效单元) -> 冗余分析(决定用备用行还是列替换,目标是最少占用资源) -> 修复编程(将分析结果写入非易失性存储,如eFuse)。面试官可能会追问:冗余分析是硬件实现(On-chip Repair Analysis,ORA)还是软件实现?各自的优缺点是什么?(硬件ORA速度快,占用面积;软件ORA灵活,但需要测试机台配合)。eFuse编程后如何验证修复成功?(通常需要重新运行MBIST或进行回读验证)。

    准备建议:

    1. 理论巩固:找一本DFT的经典教材(比如《VLSI Test Principles and Architectures》),把MBIST和修复相关章节精读一遍,整理笔记。

    2. 实践联系:如果没有流片经验,可以在EDA工具(如Tessent)的文档或培训材料中,找到MBIST插入和修复流程的教程,了解工业界的标准流程是怎么走的。

    3. 面试模拟:准备好用简洁的语言描述整个“测试-修复”流水线,并能解释其中关键模块的作用。遇到不会的细节,可以坦诚说明经验有限,但基于原理给出推理思路,这往往也能体现你的能力。

    总之,向实战靠拢是趋势,证明你不仅懂测试,更懂如何为芯片量产和良率负责,这是很大的优势。祝你准备顺利!

  • Verilog代码小白

    作为去年刚上岸的DFT工程师,我面试时确实被问到了Flash BIST的特殊性。面试官直接问:如果给你一个嵌入式Flash,它的读写时序和SRAM完全不同,你怎么设计BIST控制器?我当时的回答是强调状态机设计要配合Flash的编程/擦除周期,可能加入等待状态,并且测试模式不能破坏存储的数据(如果是non-volatile)。关于修复,我提到了eFuse但没被深挖,但另一个同学被问到冗余分配的算法优劣(比如优先同行还是同列替换)。建议你:1. 理解不同存储器的物理故障模型(Flash的电荷泄漏、SRAM的耦合故障)如何影响测试算法选择;2. 找一篇Synopsys或Mentor关于MBIST Repair的App Note看看,搞懂从BIST诊断输出到修复逻辑的完整数据流。别只背理论,画个框图自己讲一遍。

  • EE大二学生

    会,而且越来越细。我们部门今年校招笔试就有一道题:'列举SRAM和ROM在MBIST设计中的三个主要差异,并解释对应BIST架构如何适配'。很多人只答了读写差异,没答到点子上。ROM是只读的,所以BIST不需要写操作,但需要对比预期数据(比如用CRC或签名分析),而SRAM的BIST要覆盖动态故障。修复流程在面试中常以场景题形式出现,例如:'如果BIST检测到某一行有故障,但冗余行只剩一列,该怎么处理?' 这其实在考你修复策略的优先级。准备时,除了课本,强烈推荐看看IEEE 1149.1标准里关于MBIST的部分,还有公司实际用的DFT工具(如Tessent)的文档,了解industry practice。

  • 芯片测试初学者

    从招聘方角度说,肯定希望你会。但校招不会要求你像资深工程师一样设计整个流程,而是考察有没有概念和思考能力。针对你的问题:1. 不同存储器类型:至少要知道SRAM用March算法,ROM常用checksum或MISR,Flash因为读写慢、有耐久性问题,BIST往往分步进行(比如先读后擦再写验证)。笔试可能会让你比较这些方法的优缺点。2. 修复机制:修复流程(Repair flow)是重点,但eFuse编程细节可能不会考太深。你要能说清楚:BIST诊断出故障地址 -> 通过JTAG或专用接口输出 -> 外部测试设备或片上处理器处理冗余分配 -> 将修复信息烧入eFuse/OTP -> 上电时修复逻辑加载配置。准备建议:找一些开源MBIST项目(比如OpenCores)的代码看看,理解状态机和数据通路;自己用Verilog写个简单的带修复记录的BIST控制器(哪怕只能模拟),面试时展示出来会很加分。

  • 数字电路入门生

    从我个人去年秋招的经验来看,MBIST的题目确实在往深了考。基础March算法肯定跑不掉,但越来越多的公司(尤其是有自研芯片的大厂)会在笔试大题或面试追问里涉及不同存储器的BIST设计差异。比如,SRAM通常需要测试静态故障和动态故障,BIST控制器要能生成对应的复杂March序列;而ROM是只读的,测试重点往往是地址译码故障和存储单元固定故障,BIST架构可能更简单,甚至直接用外部ATE模式测试。Flash的测试会更特殊,涉及擦写耐久、数据保持等,但一般DFT工程师可能不会深入,除非面存储芯片公司。关于修复机制,冗余和eFuse编程是热点,尤其是先进工艺节点。笔试可能会让你描述发现故障后,如何通过BIST控制器记录故障地址,再通过eFuse或激光熔丝将冗余行列映射替换的流程。准备时,建议除了看教材,多找一些公司的技术文档或论文,了解实际芯片中MBIST Repair的架构图和数据流。有条件的话,用EDA工具(比如Tessent)跑个简单流程,理解每一步在做什么,面试时就能说得更实在。

  • 芯片爱好者小李

    会的,而且这已经是区分普通候选人和有经验候选人的关键点了。我面试过几家,面试官直接在白板上让我画一个支持Repair的MBIST系统框图。痛点在于,很多同学只背了March算法,但实际芯片里MBIST不是孤立的,它要和BISR(内建自修复)结合。比如,修复流程通常分三步:MBIST测试并生成故障位图(Fail Bitmap);分析位图,通过冗余分配算法(如简单行替换或复杂优化算法)决定哪些冗余行/列去替换;最后通过eFuse编程永久存储修复信息,每次上电加载。准备时,重点理解这个数据流,以及其中涉及的关键模块:BIST控制器、修复分析模块(RA,Repair Analyzer)、eFuse控制器。另外,不同存储器修复策略不同:SRAM常用冗余行列,Flash可能用冗余块。建议找一些IEEE论文或公司技术博客,看看实际案例。面试官可能不会要求你写算法,但一定会问整体思路和关键考虑点,比如修复覆盖率、面积开销、测试时间权衡。

登录后可在本页底部提交回答

提问者

逻辑设计新人Leo查看主页

描述场景与已尝试方案,更容易获得有效解答

浏览「其他」

相关问题

同分类问答

提问建议

  • 标题写清核心疑问,避免「求助」「请问」等空泛用语
  • 正文补充环境、版本、报错信息或截图
  • 先搜索本站是否已有相近问题,减少重复提问
  • 若与课程相关,请标明课时或章节便于讲师定位

技术问答

问完之后的闭环

  • 关联课程精学高频问题往往对应章节,建议回到课程补基础。
  • 产出与互助解决过程可写成笔记,帮助后续同学。

探索全站