怎么理解jtag/ssn tdi/tdo(input/output)要在一个clk内收时序

1.怎么理解jtag/ssn input/output要在一个clk内收时序

先分清两件事:

A. 功能协议 ------JTAG 是个"移位寄存器链",一条 TDI→TDO 的"数据长河"可以串几百上千拍,协议本身不要求"在一clk内"从 TDI 走到 TDO

B. 芯片级时序签核 ------ATE 只认识"我在这个 TCK 沿发 TDI,下一个 TCK 沿就要采 TDO",因此 从焊盘 TDI 到焊盘 TDO 的最短路径 (通常是 BYPASS 指令下的 1-bit 链)必须在 一个 TCK 周期 (甚至半个周期)内完成建立-保持,否则机台会采到亚稳态。

把 A 和 B 分开,就能理解"JTAG/ssn input/output 要在一个 clk 内收时序"这句话的真正含义:


1. 1为什么存在"最短路径"

  • 为了快速筛选芯片,ATE 先跑 BYPASS 指令 ,此时 TAP 只串 1 个 bypass 寄存器,数据路径最短。

  • 测试程序写为:
    TCK↑ launch TDI → 芯片内部 → TCK↑ capture TDO

    于是 组合延迟 必须满足:
    Tcycle − Tsetup − Thold − Tskew − Tpad_delay > Tcombo

    这就是"一个 clk 内收敛"的来源。


1.2. 路径长什么样

复制代码
TDI_pad → input_buffer → (MUX) → bypass_reg/D  
bypass_reg 在 TCK↑ 采样  
bypass_reg/Q → (MUX) → output_buffer → TDO_pad
  • 第一段组合:TDI_pad → bypass_reg/D

  • 第二段组合 :bypass_reg/Q → TDO_pad

    两段各自都要在 同一个 TCK 周期 内满足 setup/hold;中间靠 bypass_reg 打一拍,所以不会"断链",也不会把长链累加到 pad-to-pad。


1.3. 如果路径太长怎么办

  • 时钟树做平衡,让 TCK 到 bypass_reg 的 skew 最小;

  • 输出用负沿更新(TCK↓ 变 Q),ATE 仍在下一个 TCK↑ 采样,白赚 0.5 周期;

  • 在 input 端插负沿锁存,把 setup 需求再放松 0.5 周期;

  • 最终保证 两段组合 各自收敛即可。


1.4. 对长链(IR/DR)有没有影响?

  • 没有 。长链只是多拍移位,每级都是 TCK 打拍,pad-to-pad 的时序窗口仍然是那两段组合,不会累加。

  • 所以"一个 clk 内"只约束 最短 bypass 路径,不是让数据一口气跑完 1000 级。


1.5 一句话总结:

"JTAG/ssn input/output 要在一个 clk 内收时序"不是协议要求 ,而是 ATE 测试模式下的 pad-to-pad 时序签核要求 ------最短 bypass 路径 必须在 一个(甚至半个)TCK 周期 内完成建立/保持,保证机台能稳定采样。

2.为什么DFT 不愿意把 JTAG 的 TDI 与 TDO PAD

DFT 不愿意把 JTAG 的 TDI 与 TDO PAD 放得老远,根本原因是:

bypass 最短路径 上,ATE 要求 "TDI↔TDO 必须在一个 TCK 周期内完成建立/保持"

距离一旦拉长,组合延迟 + 线延迟 + 封装延迟 就会吃掉整个周期预算,时序收敛不了,ATE 测试直接失败。

下面把"为什么远不得"拆成四条硬指标:


2.1. Pad-to-Pad 时序预算极紧

  • ATE 程序默认 TCK↑ launch TDI → 芯片内部 → TCK↑ capture TDO

    周期往往只有 20 ns@50 MHz ,再扣掉

    -- Tsetup 2 ns

    -- Thold 1 ns

    -- TCK skew 2 ns

    -- Pad delay 2 ns
    留给纯组合逻辑 + 连线的预算只剩 ~13 ns

    若 TDI 与 TDO 对角分布,裸片内长线 5 mm → 0.5 ns/mm → 2.5 ns ;再加 封装走线 10 mm → 1 ns/mm → 10 ns13 ns 瞬间被吃光,还余不下任何设计裕量。


2.2. 长线带来 串扰 & 同时开关噪声

  • TDI/TDO 在 shift 阶段每条 TCK 都翻转 的同步信号;

  • 两根长线横跨整个芯片,会与 数据/地址总线 平行几百微米,串扰系数 Kx 上升 → 导致 抖动 + 额外延迟

  • 同时开关时 di/dt 在封装键合线上产生 地弹 ,直接叠加到 TDO 输出,降低 Voh/Vol 裕度,ATE 采样窗口再被压缩。


2.3. 时钟树不得不 跟着拉长,skew 失控

  • TDO 的 输出使能bypass_reg 时钟 都要从 TCK 树 分出来;

  • TDI 远离,TCK 树必须 追过去再折回来时钟路径长度差 > 200 ps 后,common-clock 约束 就修不动;

  • 结果 要么加 buffer 级数 → 延迟更大,要么插入延迟线 → 面积功耗上升,左右为难


2.4. 封装/PCB 成本也跟着涨

  • 对角放脚 → 封装基板 走线层数 +1过孔数 ×2BGA 球阵列出现空洞PCB breakout 难度加大

  • 高速量产测试板(load-board)上,TDI 与 TDO 必须等长 ±50 mil ,距离拉长后 绕蛇形线 占用面积,探针卡 也得加大,直接推高考厂报价


2.5 结论

TDI 与 TDO 必须"面对面"或"相邻边"放 ,让 bypass 路径最短、线延迟最小、时钟树最平衡、封装/PCB 最省钱

DFT 工程师在 floor-plan 阶段 就会 强制画一条硬核红线

"TDI TDO 相距 ≤ 2 mm,封装球相邻,否则时序别想过!"

相关推荐
最爱干饭了3 天前
NC verilog :force命令
dft·ncverilog
cy41302621 天前
DFT时怎么考虑IR问题
dft·ir
cy4130262 个月前
SSN和ijtag在scan中的应用与区别
dft
材料科学研究2 个月前
量子计算与AI融合:材料科学新突破
人工智能·量子计算·dft·第一性原理
star1111114 个月前
VASP计算其他性质(备忘录)
dft·vasp
最爱干饭了6 个月前
Memory Repair (八)
学习·memory·dft·repair
旺旺脆兵兵8 个月前
Tessent Scan Stream Network (SSN) 在芯片设计DFT中的架构、实现原理及组成
dft
CodingCos10 个月前
【SOC 芯片设计 DFT 学习专栏 -- Scan chain 和 SDFFs及 EDT】
fpga开发·dft
CodingCos1 年前
【SOC 芯片设计 DFT 学习专栏 -- RTL 中的信号名和 Netlist 中的信号名差异】
学习·fpga开发·dft·网表