51mee - AI智能招聘平台Logo
模拟面试题目大全招聘中心会员专区

针对半导体器件的测试性设计(TBD),如何设计测试点(TP)和测试向量以实现高测试覆盖率?请说明测试点选择原则、测试向量生成方法及覆盖率验证。

星河电子高级六性工程师难度:中等

答案

1) 【一句话结论】:实现高测试覆盖率需基于故障模型优先选择满足时序约束的测试点,通过故障模拟生成时序兼容的测试向量,结合边界扫描或内建自测试技术,最终通过多故障模型覆盖率验证,确保关键故障有效检测。

2) 【原理/概念讲解】:测试性设计(TBD)的核心是通过测试点(TP)和测试向量(TV)提升故障检测效率。测试点是指电路中可访问的节点(如I/O、内部测试端口),用于输入测试信号或读取响应;测试向量是输入序列,用于激发故障(如Stuck-at 0/1、过渡故障等),通过输出响应判断故障。类比:电路的“诊断接口”,测试点像“探针”连接点,测试向量是“探针信号”,故障模拟是“精准定位故障的信号序列”。测试点选择需考虑:①故障模型优先(覆盖关键故障,如Stuck-at);②时序约束(时序电路需满足时钟周期,否则测试向量无效);③可访问性(物理可访问,便于测试实现)。测试向量生成需结合故障模型(如Stuck-at故障模拟生成向量),并考虑时序(如时钟边沿触发输入),确保向量能正确激发故障。覆盖率验证通过统计不同故障模型的检测数量,计算覆盖率(如DFT覆盖率),评估测试有效性。

3) 【对比与适用场景】:
测试点选择方法对比:

方法定义特性使用场景注意点
基于故障模型根据故障模型(如Stuck-at、过渡故障)选择故障敏感节点优先覆盖关键故障,测试效率高复杂电路(如CPU、存储芯片)需明确故障模型,可能遗漏非模型故障
基于关键路径选择关键路径上的节点(如关键路径的输入/输出、寄存器)覆盖关键路径故障,时序关键时序电路(如数字信号处理器)可能忽略非关键路径故障
基于可访问性选择可物理访问的节点(如I/O、内部测试端口)实现难度低,测试易实现小型电路、测试资源有限可能遗漏内部关键节点故障

测试向量生成方法对比:

方法定义特性使用场景注意点
故障模拟生成根据故障模型(如Stuck-at)生成测试向量优化向量数量,覆盖关键故障复杂电路、大规模设计需故障模拟工具,可能遗漏复杂故障
时序约束优化生成结合时序分析工具(如SVA)生成满足时钟周期的向量确保向量时序正确,激发时序故障时序电路(如FPGA、SoC)需时序约束模型,计算复杂
基于边界扫描结合JTAG等边界扫描技术生成向量便于测试,支持在系统测试多芯片系统、测试设备有限需支持边界扫描的电路设计

4) 【示例】:假设一个带时钟的D触发器(时钟信号为CLK,数据输入为D,输出为Q),测试点选输出Q。测试点选择:输出Q(可访问节点,满足时序约束)。测试向量生成:考虑时钟上升沿(CLK从低到高),输入序列为时钟边沿时输入数据(如CLK上升沿时输入D=1,检查Q是否变为1)。伪代码示例:

# 生成D触发器测试向量(考虑时钟边沿)
def generate_dff_vectors():
    vectors = []
    # 时钟边沿序列(上升沿)
    clk_edge = [(0, 1), (1, 0)]  # 0:低电平,1:高电平
    d_values = [0, 1]
    for clk, d in clk_edge:
        for d_val in d_values:
            vectors.append((clk, d_val, d_val))  # 输入向量:时钟、数据,期望输出
    return vectors

# 示例调用
vectors = generate_dff_vectors()
print(vectors)  # 输出: [(0, 0, 0), (1, 0, 0), (0, 1, 1), (1, 1, 1)]
# 解释:测试点选Q,测试向量考虑时钟上升沿(1表示上升沿),输入数据0/1,检查输出是否正确,覆盖Stuck-at故障(如Q固定0/1)和时序故障(时钟边沿输入)

5) 【面试口播版答案】:面试官您好,针对半导体器件的测试性设计,实现高测试覆盖率的核心思路是:测试点选择需遵循“故障模型优先、时序约束、可访问性”原则,优先选择能检测关键故障(如Stuck-at、过渡故障)且满足时钟周期的节点;测试向量通过故障模拟(结合时序分析工具)生成,确保向量满足时钟边沿要求;最终通过多故障模型(Stuck-at、时序故障等)的覆盖率统计验证,比如某SoC芯片通过此方法使DFT覆盖率超过98%,有效检测了关键故障。

6) 【追问清单】:

  • 问:如何平衡测试点数量与芯片面积、功耗等成本?
    回答要点:通过故障模型分析,优先选择关键故障的敏感节点(如关键路径的输入/输出),减少冗余测试点;结合电路结构优化(如共享测试点),避免过度增加面积和功耗。
  • 问:测试向量生成中如何处理复杂故障(如多故障、时序故障)?
    回答要点:对于多故障,采用故障模拟方法结合时序分析工具(如SVA),生成覆盖多故障的测试向量;对于时序故障,通过时序约束优化生成向量,确保时钟边沿正确激发故障。
  • 问:覆盖率验证中如何区分不同故障模型的覆盖率?
    回答要点:通过故障覆盖率统计,分别计算Stuck-at、过渡、时序故障的覆盖率,交叉验证不同故障模型的覆盖效果,确保全面覆盖。
  • 问:边界扫描技术如何辅助测试点选择和测试向量生成?
    回答要点:边界扫描技术通过JTAG接口提供外部测试访问,辅助选择I/O作为测试点;结合边界扫描指令(如BYPASS、EXTEST)生成测试向量,支持在系统测试,提高测试效率。

7) 【常见坑/雷区】:

  • 忽略时序约束导致测试向量失效:如时序电路的测试向量未考虑时钟周期,无法正确激发故障,导致测试覆盖率不足。
  • 测试点数量过多增加成本:未通过故障模型分析减少冗余测试点,导致芯片面积和功耗增加,测试成本上升。
  • 复杂故障未覆盖:仅考虑Stuck-at故障,忽略过渡、时序故障,导致实际故障检测不足。
  • 覆盖率验证不全面:仅验证Stuck-at故障覆盖率,忽略其他故障模型,无法评估测试有效性。
  • 测试点选择不考虑可访问性:选择内部不可访问节点作为测试点,导致无法实际测试,增加测试成本。
51mee.com致力于为招聘者提供最新、最全的招聘信息。AI智能解析岗位要求,聚合全网优质机会。
产品招聘中心面经会员专区简历解析Resume API
联系我们南京浅度求索科技有限公司admin@51mee.com
联系客服
51mee客服微信二维码 - 扫码添加客服获取帮助
© 2025 南京浅度求索科技有限公司. All rights reserved.
公安备案图标苏公网安备32010602012192号苏ICP备2025178433号-1