当前位置: 首页 > news >正文

【SOC 芯片设计 DFT 学习专栏 -- Scan chain 和 SDFFs及 EDT】

文章目录

  • Overview
  • 1. SDFFs(Scan D Flip-Flops)
    • 1.1 基本概念
    • 1.2 工作原理
    • 1.3 优势
  • 2. EDT(Embedded Deterministic Test)
    • 2.1 基本概念
    • 2.2 工作原理
    • 2.3 优势
  • 3. SDFFs与EDT的结合
  • 4. 总结

Overview

在SoC(System on Chip)设计中,DFT(Design for Testability,设计可测试性)是确保芯片可测试性和良品率的关键技术。其中,SDFFs(Scan D Flip-Flops,扫描D触发器)和EDT(Embedded Deterministic Test,嵌入式确定性测试) 是DFT中两个重要的组成部分。以下是对它们的详细介绍:

1. SDFFs(Scan D Flip-Flops)

1.1 基本概念

SDFFs是DFT中用于构建扫描链(Scan Chain)的基本单元。它们将普通的D触发器(D Flip-Flops)扩展为支持测试模式的寄存器,能够在功能模式和测试模式之间切换。

  • 功能模式:SDFFs作为普通寄存器使用,存储和传输数据。
  • 测试模式:SDFFs连接成扫描链,用于测试芯片内部的逻辑电路。
    在这里插入图片描述

Figure 1-1 Pre-scan and Post-scan

上图就是 scan前scan后DFF,其实就是替换成带有 scan 逻辑的 DFF,
scan_en 有效时,scan 逻辑就会从 scan-in 穿过 DFF 到达 scan-out,

多个 scan DF链接在一起就成了 scan chain,链上有多少个 scan DFF 表示这条链的长度。
在这里插入图片描述

1.2 工作原理

在测试模式下,SDFFs通过扫描链串联,形成一个移位寄存器。测试数据可以通过扫描输入(Scan In)逐位移入SDFFs,经过逻辑电路处理后,结果通过扫描输出(Scan Out)逐位移出,供外部测试设备分析。

示例代码

module ScanRegister (
    input wire clk,       // 时钟信号
    input wire test_mode, // 测试模式使能
    input wire scan_in,   // 扫描链输入
    input wire D,         // 数据输入
    output reg Q,         // 数据输出
    output wire scan_out  // 扫描链输出
);
    always @(posedge clk) begin
        if (test_mode) 
            Q <= scan_in;  // 测试模式下使用扫描链输入
        else
            Q <= D;        // 正常模式下使用数据输入
    end
    assign scan_out = Q;    // 输出连接到下一级扫描寄存器
endmodule

在这个例子中,test_mode信号控制SDFF的工作模式。当test_mode为1时,SDFF进入测试模式,数据通过scan_in输入;否则,SDFF作为普通寄存器工作2。

1.3 优势

提高可测试性:通过扫描链,可以控制和观察芯片内部的所有寄存器,显著提高故障覆盖率。

简化测试流程:SDFFs的标准化设计使得测试模式下的操作更加高效和自动化12。

2. EDT(Embedded Deterministic Test)

2.1 基本概念

EDT是一种用于大规模芯片测试的压缩技术,旨在减少测试数据量和测试时间。它通过将测试模式压缩为少量种子数据,并在芯片内部解压缩,生成完整的测试模式。

2.2 工作原理

EDT的核心是一个解压缩器(Decompressor),它接收少量的种子数据,并通过线性反馈移位寄存器(LFSR)或其他算法生成完整的测试模式。测试结果则通过压缩器(Compactor)压缩后输出。

应用场景
小规模芯片:直接使用EDT将扫描链连接到测试引脚,简化测试流程3。

大规模芯片:将芯片划分为多个模块,每个模块独立插入EDT逻辑,以减少测试时间和资源占用3。

2.3 优势

减少测试数据量:通过压缩技术,EDT显著减少了测试模式的数据量,降低了存储和传输成本。

提高测试效率:EDT支持并行测试,能够同时测试多个模块,缩短测试时间34。

适应大规模芯片:EDT的分层测试架构(如Hierarchical ATPG)支持模块化测试,适用于超大规模芯片3。

3. SDFFs与EDT的结合

在SoC设计中,SDFFs和EDT通常结合使用,以构建高效的测试架构:

扫描链插入:使用SDFFs构建扫描链,确保芯片内部逻辑的可控性和可观测性。

EDT压缩:在扫描链的基础上插入EDT逻辑,压缩测试数据,提高测试效率。

分层测试:对于大规模芯片,采用分层测试架构,将扫描链和EDT逻辑分布到各个子模块中,实现模块化测试34。

4. 总结

SDFFs是DFT中用于构建扫描链的基本单元,支持功能模式和测试模式的切换,显著提高芯片的可测试性。

EDT是一种高效的测试压缩技术,通过减少测试数据量和测试时间,适应大规模芯片的测试需求。

两者的结合为SoC设计提供了高效、可靠的测试解决方案,是现代芯片设计中不可或缺的技术123。

相关文章:

  • sqli-lab靶场学习(八)——Less26-28
  • Android ANR 监控方法与事件分发耗时优化实战
  • vue的 props 与 $emit 以及 provide 与 inject 的 组件之间的传值对比
  • docker修改了daemon.js文件还是下载不了镜像
  • Android 自定义View之底部导航栏
  • LanceDB快速入门之基本操作与API一览
  • 基于VMware的Ubuntu22.04系统安装和配置以及解决Ubuntu共享文件夹无法实现的问题
  • 优化程序执行时间的核心方法与实战策略
  • 机器学习(吴恩达)
  • MinIO的预签名直传机制
  • UI自动化:seldom框架和Selenium
  • MySQL 优化方案
  • [笔记.AI]KAG(知识增强生成 Knowledge Augmented Generation)
  • 解析Doris编译脚本generated-source.sh的逻辑
  • python-53-分别使用flask和streamlit进行向量存储和检索的服务开发实战
  • 算法分享———进制转换通用算法
  • centos8.0系统部署zabbix6.0监控
  • 说说人工智能
  • FPGA 32 ,以太网TCP/IP四层模型:从MII到RGMII的深度解析( TCP/IP传输控制协议 )
  • postgresql链接详解
  • 习近平会见古巴国家主席迪亚斯-卡内尔
  • 玉渊谭天丨中方为何此时同意与美方接触?出于这三个考虑
  • 上汽享道出行完成13亿元C轮融资,已启动港股IPO计划
  • 【社论】职业上新,勇于“尝新”
  • 警惕“全网最低价”等宣传,市监总局和中消协发布直播消费提示
  • 独家丨刘家琨获普利兹克奖感言:守护原始的感悟力