【Tessent Scan and ATPG】【Ch13&14】Low-Power Testing Overview

可以使用 Tessent Scan 和 ATPG 工具进行 low-power scan insertion 和 ATPG flow。


Low-Power Testing Overview


Tessent Scan 支持 low-power testing,主要包括:

  • 在 isolation cells 存在的情况下,插入 dedicated wrapper cells
  • 根据 power domains 的优先级和其驱动的 logic,为其分配 dedicated wrapper cells

Low-power design flow 主要包括如下几个步骤:

  1. Specify low-power data specifications in the CPF/UPF file.
  2. Insert scan cells and EDT logic in the design.
  3. Validate low-power data, scan, and EDT logic.
  4. Generate power domain-aware test patterns.
  5. Test low-power design components.

Low-Power Assumptions and Limitations


Tessent 的 power-aware 功能具有一定的前提限制(assumptions and limitations),如下所述:

Tessent Scan 不能输出(write)或者更新 CPF/UPF 文件。Tessent Scan 假定属于同一个 power domain 的所有内容都已经在 UPF/CPF 文件中给出。

因此,在完成 scan insertion 之后,进行 ATPG 之前,需要对 UPF/CPF 文件做如下修改:

  • 在 UPF/CPF 文件中,将所有插入的 input wrapper cells 添加到正确的 power domain 中
  • 在 UPF/CPF 文件中,明确定义所有的 isolation cells 及其控制信号和 level shifters。Tessent Scan 会检查其是否存在,但是不会添加他们到 design 中。

【就是说,在进行 ATPG 的时候,UPF 中描述的 isolation cells 和 level shifters 已经存在于 design 之中。工具会检查 design 中是否有 uof 中描述的这些 cells,如果没有,工具会报错?】


Low-Power CPF/UPF Paremeters


Tessent Scan 使用 UPF/CPF 中定义的 power domains 来将 scan insertion 约束在 power domain boundaries 之内。

Tessent 2023 支持的 UPF 版本:CPF 1.0 和 1.1 、UPF 3.1 (IEEE1801-2018)

在 CPF/UPF 文件中,必须指定 ① power domains and information related to the power domains;② power states (modes) of the design;③ isolation cells and control signals。

相关的命令如下所示:

在这里插入图片描述
在这里插入图片描述


Scan Insertion


在读取 UPF/CPF 文件之后,工具会为 design objects 自动设置两个 attrributes:power_domain_name 和 power_domain_island。

默认情况下,scan chains 上可以包含位于不同 power domians 的 scan elements。可以通过 scan chain family、scan mode ,或者是在 global level 对其进行修改,相关命令如下:

create_scan_chain_family -single_power_domain_chains on

add_scan_mode -single_power_domain_chains on

set_scan_insertion_options -single_power_domain_chains on

create_scan_chain_family :Creates a scan_chain_family object, which controls how one or more scan chains are allocated/connected during distribution. 】

如下示例,为所有位于 power domian clk1 的 scan_elements 创建了一个名称为 family_clk1 的 scan_chain_family;为所有位于 power domian clk2 和 clk3 的 scan_elements 创建了一个名称为 family_clk23 的 scan_chain_family;

create_scan_chain_family family_clk1 -include_elements \
	[get_scan_element -filter "clock == clk1"]

create_scan_chain_family family_clk23 -include_elements \
	[get_scan_element -filter "clock == clk2 || clock == clk3"]	

其他相关的命令:

delete_scan_chain_families

get_scan_chain_families

每一个 power domain 都可以使用单独的 cell selection 用于实现 test logic。set_dft_cell_selection_mapping 命令可以用于建立 power domain 和 cell selections 之间的映射关系。

【Cells Selection:简单来说,就是使用哪一个库中的 cells 进行 test logic 的插入】

set_dft_cell_selection_mapping 命令的基本语法:

set_dft_cell_selection_mapping [dft_cell_selection_name] -power_domain_names power_domain_name_list

相关的一些命令:

get_dft_cell_selection_mapping

report_dft_cell_selection_mapping

Tips:

如果在 design 的 top level 的同一个 power domain 中生成了多个 Tessent IPs(例如,EDT、OCCs 和 SIB),并且你想要工具使用set_dft_cell_selection_mapping命令指定的cell library来插入 test logic,需要把所有的 IPs 放在相同的 block 中。


Power-Aware Design Rules Checks


Low-Power DRCs


除了检查 design logic 和 cell library 之外,power-aware design rules(DRCs V1-V21) 还会对通过 CPF/UPF 文件提供的 power data 进行正确性检查。

  • DRCs V1 to V7 — Checked after reading a power data file.
  • DRCs V8 to V21 — Checked when you switch from setup mode to a non-setup mode

Notes:

这里需要在工具的 SETUP mode 下读取 UPF/CPF 文件,然后工具进行 V1 到 V7 的检查,之后工具处于 non-SETUP mode 的时候,执行 V8 到 V21 的检查。

如果是在 non-SETUP mode 下读取的 UPF 文件,那么工具是不会进行 DRC 检查的,直到工具从 setup mode 切换到 non-SETUP mode。


Low-Power DRC Troubleshooting


使用 get_scan_elements 命令可以生成一个 scan cell report,其中包含了 power domain 的信息。

Tessent 在 scan chain stitching 期间,会将 power domain 当作 scan partitions。

使用 get_scan_elements 命令的 -filter 选项,通过设置合适的参数,例如使用类似 cluster_name、power_domain_island and power_domain_name 这些 attributes,可以提取 CPF/UPF 文件中的所有信息,并且 report 每一个 power domain(scan partiton)以及该 power domian 中的所有 sequential instances 的 pathnames。

新添加的 dedicated wrapper cells 和 lockup cells 会通过在其名称后面添加 “new cell” 字符串的方式表现出来。


Power Domains for Scan Cells Reporting

使用 report_scan_cells 命令可以生成一个 scan cell report,其中可以包含 power domain 相关的信息:

ANALYSIS> report_scan_cells -power_domain

report_scan_cells : Displays a report on the scan cells that reside in the specified scan chains.】

结果示例:

在这里插入图片描述

其中,第一列的是 scan chain 上的 cell 的 index,index 为 0 的 cell 更就靠近 scan out。


Power Domains for Gates Reporting

使用 set_gate_report 命令可以在 report_gates 命令的结果上添加 power domain 的相关信息,如下所示。

在这里插入图片描述


Power State-Aware ATPG


如果可能的话,推荐的 ATPG 方法是 all power domains on。

如果使用这种方法,可以通过对design block 测试过程进行排序,来管理由于 测试过程中的 switching activity 引起的 power considerations,并且可以使用 low-power ATPG。

这种方法是最简单的,并且 fault coverage 最大。

如果由于 static power 的限制,不能够使用这种方法,可以选择一个最小的 power states set 用于实现 design 中所有 blocks 所需要的 fault coverage。


Power Domain Testing


根据 UPF/CPF 文件中的描述,通过设置合适的 power mode/state 条件,可以在多个 power modes 和 power states 下 run ATPG。

假设一个 design 中包含如下两种 power modes:

  • PM1 —— All Domain on
  • PM2 —— PD_mem_ctrl powered down when mc_pwr is “0”

通过在 mc_pwr 上设置 pin constraint,ATPG 就可以识别当前的 power mode:

在这里插入图片描述

如果 power mode 会在 capture cycle 中发生变化,工具会报出 V12 违例。当 V12 handling 是 wanring (默认值) 的时候,工具会自动添加 ATPG constraints 来 fix capture cycles 的 power mode。

在这里插入图片描述

当 power-aware ATPG enable 的时候,工具会根据 power mode 执行 ATPG 和故障仿真:位于 power-off domain 的 regular gates 是 X 态,其对应的 faults 为 AU。

在统计报告中,AU 类型的故障也会被标准为 power_off。

在这里插入图片描述

除了添加所有 faults 之外,你也可以 add、delete、report 和 write 位于 power-on domain 或其他用户指定的 power-domains 上的 faults。

在这里插入图片描述


Low-Power Cell Testing


在 Scan Insertion 的时候,Level Shifter 和 Isolation Cells 需要特殊处理。

Level Shifter

在大多数情况下,可以将 level shifter 看作标准的 buffers,不需要特殊处理就可以实现 full test coverage。

但是,如果 design 中的一个或者多个 power domains 能够工作在多个 supply voltage 下,就需要使输入和输出两端的所有 level shifter 在所有可能的电压组合下 run ATPG,以确保 full coverage(完整的覆盖率)。

Isolation Cells

Isolation cells 是一个特殊的 lower power cells,用于分离 power on 和 power off domains,在 scan insertion 过程中需要对其进行特殊处理。

可以使用下述两种方式之一对 isolation cells 进行测试:

  • Normal transmission mode —— 在该模式下,当 isolation cell 处于 disable 状态,cells 的输入和输出上的 sa0 和 sa1 faults 可以被检测到。 isolation enable pin 上的可以导致 isolation on 的 sa faults 也可以被检测到,因为该失效使得 isolation 生效,会阻止数据的传输。
  • Isolation mode —— 该模式下,如果 isolation cell 是一个 clamp-style cell(output held to “0” or “1” when isolation on),输入端的 stuck-at faults 使不可检测的(not detectable)。如果 isolation cell 是一个 latch-style cell,通过在 enabling isolation 之前 latch value,可以检测输入端的 stuck-at faults 。

Power-Aware DRC and ATPG(Ch13)



Power-Aware Overview


工具使用 read_upf/read_cpf 命令读取 power data 之后会收集 power information。工具会执行必要的 DRCs 检查,以工具能够根据 design 的 power domian 正确插入 DFT logic。

如果 design 通过了 DRCs,就可以根据给定的 powre mode 进行 ATPG。

Tessent 工具的 low-power 功能可以提供如下内容:

  • Provide DRCs to trace the active power mode and ensure that the scan operation works under the current power configuration
  • Provide capability to generate test for the traditional fault models while aware of the power mode configuration

Assumptions and Limitations


power-aware 功能的一些约束条件:

  • Circuit hierarchy is preserved in the CPF or UPF file and is the same as the netlist。对于 模块化的 EDT design,包含 EDT logic 的模块层级需要保留,否则工具可能不会将 EDT block 和 power domain 进行关联。这回导致一些和 EDT 逻辑相关的 power DRC rules 不会被使用。

  • power-aware DRCs 的规则和报告是基于所加载 power data (upf/cpf)给出的。DRC rules 不包含 跨不同 powr modes 的 测试。此外,DRCs 不包含对 shutoff power domain(例如 retention cells testing ) 的测试。


Multiple Power Mode Test Flow


对于一个包含多种 test mode 的 design,在不同的 power mode 下,scan chain 的配置可能会有所不同。

需要按照下述步骤,分别对每种 power mode 进行 DRC 和 ATPG:

  1. 使用下述方式之一来配置 power mode 用于测试。

    · 使用 add_input_constrainst 命令在 PI 上设置约束。工具在自动生成 test_setup procedures 的时候会包含这些约束、
    · 创建特定的 test_setup procedure files。例如,design 使用 IJTAG 来配置 power modes 。

  2. 加载 CPF 文件。工具自动识别和报告当前的 power mode。

Pattern Generation

ATPG 只会为当前 power mode 开启的 power domains 生成 patterns。如果不同的 power mode 会开启相同的 power domains (仅仅是电压不同),那么可以通过加载 pattern file 来复用 pattern set。

推荐是为每个 power mode 写一个 test_setup procedure,并且为每一个 power mode 进行 DRC 检查,确保 scan chains 能够正常工作。

在 ATPG 结束,writing out patterns 的时候,工具会在 pattern file 以 comment 的形式保留 power mode 相关的信息。


Power-Aware ATPG for Traditional Fault Models


Power Partitioning


CPF and UPF Parser


和 power-aware DRC and ATPG process 相关的 power data commands 如下表所示,其他的 CPF and UPF commands 会被工具丢弃。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


Power-Aware ATPG Procedure



Power-Aware Flow Examples


Tessent Scan and ATPG User's Manual是一本关于Tessent扫描和自动测试程序生成(ATPG)用户手册。Tessent是一个硬件测试解决方案,用于芯片设计的验证和生产测试阶段。它提供了强大的功能,以帮助设计工程师和测试工程师开发和实施高质量的测试解决方案。 该用户手册主要介绍了如何使用Tessent工具来创建和调试扫描链和ATPG测试模式。扫描链是一种用于存储和移动内部信号数据的设计结构,它在测试芯片时发挥重要作用。手册中详细说明了如何合理布置和配置扫描链,以满足设计需求。 另外,用户手册还介绍了如何使用Tessent ATPG来生成测试模式。ATPG是一种自动产生测试模式的技术,通过刺激芯片的输入和观察输出来发现故障。使用Tessent ATPG,用户可以根据设计规范和目标覆盖率生成高质量的测试集。 手册还涵盖了Tessent工具的安装和配置,以及如何使用命令行界面或图形用户界面来操作工具。它还提供了一些常见问题的解答和故障排除技巧,以帮助用户更好地使用Tessent工具。 总之,Tessent Scan and ATPG User's Manual是一本详细的指南,旨在帮助用户理解和应用Tessent工具来创建和调试扫描链以及生成高质量的ATPG测试模式。通过阅读和遵循手册中的指导,设计工程师和测试工程师可以提高测试效率,减少故障和缺陷,并提高产品的质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值