SSN和ijtag在scan中的应用与区别

1.SSN和ijtag的区别

简单来说,Stream Scan NetworkIJTAG 是两种不同的 架构方法 ,用于在芯片内部组织和访问多个 scan 链。它们的核心目标都是为了更高效地对芯片进行测试,但实现方式和侧重点有所不同。

1. 1核心定义与本质

特性 Stream Scan Network (流扫描网络) IJTAG (Internal JTAG)
本质 一种测试数据传输架构 。它将多个 scan 链连接成一个或多个 "流",通过一个或少数几个端口进行高速、并行的数据输入 / 输出。 一种测试控制和访问架构 (基于 IEEE 1687 标准)。它在芯片内部构建一个分层的 JTAG 网络,用于灵活地控制和访问各种测试资源,包括 scan 链、BIST 控制器、传感器等。
核心思想 共享数据通道,并行操作 。强调数据传输的带宽和速度 共享控制通道,灵活配置 。强调测试资源的可配置性和可访问性

1.2. 架构与连接方式

  • Stream Scan Network:

    • 结构: 通常由一个主控制器 和多个scan组成。
    • 连接:scan 链的输入端和输出端被 "串联" 或 "并联" 到主控制器的数据输入 (TDI)数据输出 (TDO) 端口上。
    • 操作: 主控制器可以同时向所有或一组 scan移入相同的测试向量 ,并同时从它们那里移出响应数据。数据以连续的 "流" 形式传输。
    • 类比: 想象一个水管网络,主水管(主控制器)连接到多个分支水管(scan 链)。你可以同时打开所有分支的水龙头,让水(测试数据)同时流入和流出。
  • IJTAG:

    • 结构: 基于 JTAG 标准,但在芯片内部进行了扩展。它引入了 Test Access Port (TAP)Test Control Block (TCB)Test Data Register (TDR) 等概念。
    • 连接: 各个测试资源(如 scan 链、BIST 引擎)被封装成具有标准接口的模块。这些模块通过一个内部扫描网络 (Internal Scan Network, ISN) 连接到一个或多个主 TAP 控制器。
    • 操作: 主 TAP 控制器通过发送特定的 JTAG 指令和数据,可以:
      1. 选择配置 网络中的某个特定 TCB。
      2. 通过被选中的 TCB 去访问 其控制下的 scan 链或其他测试资源(例如,启动 BIST、读取传感器数据)。
      3. scan 数据的移入和移出是通过被选中的路径进行的,一次通常只针对一个或一组相关的资源。
    • 类比: 想象一个带有多个房间的大楼,每个房间(测试资源)都有一扇门(TCB)。中央控制台(主 TAP)可以发送指令打开特定房间的门,然后与那个房间里的设备进行通信。

1.3. 关键区别

对比项 Stream Scan Network IJTAG
主要目标 提高测试数据吞吐量 。通过并行加载 / 卸载多个 scan 链来缩短测试时间。 提高测试资源的可访问性和灵活性。提供一个统一的、可扩展的框架来管理各种测试资源。
数据传输 并行 。多个 scan 链同时移位。 串行(在选定路径上)。一次通常激活一条访问路径,但路径可以灵活切换。
控制方式 相对简单。通常由一个全局控制器发出同步控制信号。 非常灵活。通过 JTAG 指令进行复杂的配置和寻址。
资源共享 主要共享数据 I/O 通道 主要共享控制通道,并能灵活地将数据通道连接到不同的资源。
适用场景 - 芯片内部有大量结构相似的 scan (例如,在高性能计算、GPU 中)。- 对测试时间非常敏感,需要最大化数据传输带宽。 - 芯片由多个不同 IP 核 组成,每个核有自己的测试需求。- 需要分层测试 (先测试 IP 核,再测试整个芯片)。- 需要访问多种类型的测试资源scan, BIST, 边界扫描,温度传感器等)。- 追求测试架构的标准化和可重用性
复杂性 硬件实现相对简单 硬件实现相对复杂,需要额外的 TCB 和网络逻辑。但提供了更强的软件可编程性。
标准 通常是自定义的架构。 遵循IEEE 1687 标准。

1.4.总结

  • Stream Scan Network 像是一个高效的 "数据高速公路" ,它的设计目标是让大量 scan 数据能够以最快的速度进出芯片,核心优势是并行性和高带宽
  • IJTAG 像是一个灵活的 "测试指挥系统" ,它的设计目标是提供一个统一、标准的方式来管理和访问芯片内部各种复杂的测试资源,核心优势是可配置性、可扩展性和灵活性

在现代复杂的 System-on-Chip (SoC) 设计中,这两种架构并非完全互斥。有时,设计人员会将它们结合使用:例如,使用 IJTAG 作为顶层的测试控制和配置网络,而在某个需要高速测试的 IP 核内部,则可能采用 Stream Scan Network 来连接其内部的多个 scan 链,以实现最佳的测试效率。

1.5 个人理解

ijtag除了能串scanChain之外,还有控制功能。通过sib/tdr可以配置测试逻辑,选择哪些scanChain进行测试,除了scan还可以用于其他DFT测试。

SSN只用于scan测试灌pattern

ijtag的测试pattern只能串行的灌入一条或多条scanChain【此时多条scanChain是串联的】,如果需要更多的并行就需要多路jtag,tap等资源。代价较大。

SSN是可以并行的给多条scanChain灌pattern【每条scanChain也可以是多条子scanChain串联】

SSN的并行能力可以超过SSN总线的dataWidth,比如说SSN数据线有20根,通过分频,可以分出40路数据,给40条scanChain,这对IOPAD比较少的时候是有用的。

SSN有分频收益,主要是SSN clk可以跑的比ijtag高。

一般SSN不做控制,而是由ijtag来做。比如哪些scanChain并行测,哪些子scanChain做串联。scan/shift/capture的控制信号选择,生成等都是需要ijtag的。

SSN中最重要的组件SSH本身是有ijtag接口的,就是用于做控制通路,而且在SSH中,可以用ijtag控制,实际scan用ijtag还是ssn【具体见下章节】

另外SSN还可以进行片内在线做pattern的测试结果和golden patter的比较。

2.SSH(Stream Scan Host)

SSH是SSN网络中的重要组件,其结构如下:

总体的SSH要做以下工作:

busRegister 给参数 → FSM 按状态机走 → clkGen 发 N 个 SSCK → Register 完成并→串移位"把 ATE 并行数据变成 SSN 本地 burst 时序

数据有三条通路:

1.正常SSN灌数据通路,数据从bus_in经过并串转换,给多bit scan_in,capture数据从多bit scan_out进入,在重组为SSN的packet,经bus_out输出。

2.loop_back通路,此时数据不进scanChain

3.bypass通路

图中没有画出来的是,ijtag可以完全接管SSH,此时ijtag的si mux到bus_in的某一bit,假设bus_in[0], so接到bus_out[0],此时对应的clk选择tck,控制信号选择ijtag这一路生成的即可。

可参考一篇sci的论文https://2024.sci-hub.se/8566/e8dbd01eb2ffb76382e53bcfcaaf2490/cote2020.pdf

相关推荐
材料科学研究21 天前
量子计算与AI融合:材料科学新突破
人工智能·量子计算·dft·第一性原理
star1111113 个月前
VASP计算其他性质(备忘录)
dft·vasp
最爱干饭了5 个月前
Memory Repair (八)
学习·memory·dft·repair
旺旺脆兵兵7 个月前
Tessent Scan Stream Network (SSN) 在芯片设计DFT中的架构、实现原理及组成
dft
CodingCos8 个月前
【SOC 芯片设计 DFT 学习专栏 -- Scan chain 和 SDFFs及 EDT】
fpga开发·dft
CodingCos10 个月前
【SOC 芯片设计 DFT 学习专栏 -- RTL 中的信号名和 Netlist 中的信号名差异】
学习·fpga开发·dft·网表
CodingCos10 个月前
【SOC 芯片设计 DFT 学习专栏 -- DFT 为何需要在综合之后插入】
fpga开发·dft
大浪淘沙胡1 年前
C# 实现傅里叶变化(DFT)
开发语言·c#·dft
YprgDay2 年前
DFT(离散傅里叶变换)的通俗理解
matlab·dft·频谱