scan chain的原理和实现——11.Scan Compression

synopsys  DFTMAX——Adaptive Scan

将原始的scan chain分割为更短的scan chain。较短的链条加载时间更少,并且更少的数据加载到测试仪上

1、DFTMAX &Test Mode

在典型的DFT MAX运行中,压缩和常规扫描模式是在扫描插入(insert_dft)期间自动创建的.

scancompression_mode (Compression mode)

Internal_scan (Regular scan mode)

Scan Inputs、Scan Outputs、Scan Enable由常规扫描和扫描压缩模式共享。

需要TestMode信号来区分常规扫描模式和扫描压缩模式

  • 使用set_dft_signal声明现有端口
  • 无法共享AutoFix使用的TestMode端口
  • 使用set_autofix_configuration -control_signal标识要由AutoFix使用的特定TestMode端口
  • 如果未识别现有端口,DFT编译器将创建一个新端口(名为“ test_mode”)
set_dft_signal -type TestMode -port tmode1
set_dft_signal -type TestMode -port tmode2
set_autofix_configuration -control_signal tmode1
#Port“ tmode2”将用作控制信号,以区分Internal_scan和scanCompression_mode
Example

2、DFTMAX Command

  • Enable Adaptive Scan (Core and Top-level)

    set_dft_configuration  -scan_compression enable I disable

  • Control Scan Architecting ("external" chain count)

    set_scan_configuration -chain_count <N>

  • 使用以下三个命令选项之一,使用set_scan_compression_configuration命令指定内部压缩链的数量:

    Set the scanCompression_mode chain count  -chain_count <#>
    Set the scancompression_mode maximum chain length  -max_length <#>
    Set the Compression Level  -minimum_compression <N> (Default: 10)

  • To specify the X-tolerance

    set_scan_compression_configuration  -xtolerance default l high

3、X-Tolerance

High X-tolerance结构

高X容忍架构提供以下观察模式:

  • 完整(unmasked)的观察模式,等效于默认的X-tolerance模式
  • 额外的X-tolerance(masked)观察模式,可以在到达XOR压缩器之前屏蔽选定链中的X值

4、脚本示例

set_dft_configuration -scan_compression enable
set_scan_configuration -chain_count <N>
set_dft_signal -type ScanClock -port clk
create_test protocol -capture procedure multi
dft_drc
preview_dft
insert_dft
write -f verilog -hier -o block1.v
write_test_protocol -out scan.spf -test_mode Internal_scan
write_test_protocol -out scancompress.spf -test_mode ScanCompression_mode
DFTMAX参考脚本
#Define TestMode signals to be used
set_dft_signal -view spec -type TestMode -port [list tmode1 tmode2]
#Define the two modes
define_test_mode Internal_scan -usage scan -view spec
define_test_mode burn_in -usage scan -view spec
define_test_mode ScanCompression_mode -usage scan_compression -view spec
#Specify clocks and asynchs
set_dft_signal -type Scanclock -port clk -timing {45 55) -view existing -test_mode all
#specify chain counts
set_scan_configuration -chain_count 10 -test _mode Internal_scan
set_scan_configuration -chain_count 1 -test_mode burn_in
set_scan_compression_configuration -chain_count 120 -base_mode Internal_scan -test_mode ScanCompression_mode
#Specify clock mixing
set_scan_configuration -clock_mixing mix_clocks -test_mode Internal_scan
set_scan_configuration -clock_mixing mix_clocks -test_mode burn_in
set_scan_configuration -clock_mixing no_mix -test_mode ScanCcampression_mode
multi-modes adaptive脚本

5.bottom-up HSS flow

DFT-MAX支持带有test model的bottom-up HSS flow

 压缩逻辑被插入顶层

确保在子块中创建足够的链以在压缩模式下启用平衡链

Hierarchical Adaptive Scan Synthesis (HASS)

在block里做压缩;顶层不做压缩,只做集成。

  • 自适应扫描core、常规扫描core、和top level时序逻辑集成在顶层
  • 自适应扫描逻辑位于core level
  • 帮助减少top level拥塞
  • top level命令序列与“top down”自适应扫描flow相同
  • 通过以下命令启用自适应扫描核心的顶级集成:

    set_scan_compression_configuration  -integration_only true | false

 HASS示例——multiple compressed core

  • cere-based integration

    set_dft_confiquration -scan_compression enable
    set_scan_compression_configuration -integration_only true

 

 HASS示例——adaptive & regular scan core

  • cere-based integration

    set_dft_confiquration -scan_compression enable
    set_scan_compression_configuration -integration_only true

 HASS示例——Hybirid flow (应用得比较多)

底层、顶层均压缩

set_dft_configuration -scan_compression enable

set_scan_compression_configuration -hybrid true

set_scan_compression_configuration -minimum_compression x

 HASS Details

  •  CTL、CTLDDC、DDC test model必须用于自适应扫描core集成
  •  在Internal_scan模式下,HASS在top level创建的扫描链数与所有core扫描链之和相同
  • 仅需一个TestMode端口——在所有自适应扫描core之间共享、在scancompression_mode和internal_scan之间选择
#Read in top level with any test_ready sequential logic
read verilog my_top_test_ready . v
#Read CTL model for Adaptive scan inserted block
read_test_model core1.ctlddc
#Read CTL model for pure scan block
read_test_model core2.ctlddc
current design my_top
link
#Enable Adaptive scan and configure for integration only
set_dft_configuration -scan_compression enable
set_sean_compression_configuration -integration_only true
#create the test protocol,run DRC,and preview
create_test protocol
dft_drc
preview_dft -show all
#Integrate the Adaptive scan and Pure scan cores
insert_dft
#DFT DRc in Internal_scan mode: not supported in scanCompression_mode
current_test_mode Internal_scan
dft_drc
top level integration脚本

 Hign X-tolerance compressed scan chain limits

原文地址:https://www.cnblogs.com/yilia-er/p/14200813.html