zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    享元模式及php实现
    共享内存
    LCD触屏驱动
    I2C驱动
    C++ & java小结
    使用GlobalKey启动APP
    socketpair通信
    inotify和epoll
    C语言之二叉树
    灯光系统
  • 原文地址:https://www.cnblogs.com/yilia-er/p/14200813.html
Copyright © 2011-2022 走看看