Wrapping Core Flow
本文主要讲述了在wrapping a core的过程中其他common configuration,以及如何按照我们的需求去更改(我们所不期望的)默认设置。参考(翻译)自《Synopsys® TestMAX™ DFT User Guide》,FYI。
Enabling Core Wrapping
#要想使用core wrapping在link library list里必须要包括DesignWare dw_foundation。sldb综合库,这个库里包含wrapper cell 的设计。
set link_library {* my_tech_lib.db dw_foundation.sldb}
#link完之后使能wrapper
set_dft_configuration -wrapper enable
Defining Wrapper Shift Signals
wrapper shift signal使数据能够shift 进wrapper chain,就像scan enable信号将数据shift进scan chain一样,定义wrapper shift signal按以下步骤进行:
# 默认情况下DFT Compiler会自动创建一个shift 信号(wrp_shift),也可以定义一个Dedicated wrapper shift signal,source点为wrp_shift信号
set_dft_signal -view spec -type wrp_shift -port my_wrp_shift
# 复用现有的scan-enable信号作为wrapper shift信号,定义它的source点为ScanEnable和wrp_shift
set_dft_signal -view spec -type ScanEnable -port my_test_se
set_dft_signal -view spec -type wrp_shift -port my_test_se
# 要为单独的输入和输出wrapper chain使用单独的wrapper shift signal,使用set_dft_signal命令定义两个wrp_shift信号,然后使用set_wrapper_configuration指定input_shift_enable和output_shift_enable选项
set_dft_signal -view spec -type wrp_shift -port {wrp_ishift wrp_oshift}
set_wrapper_configuration -class core_wrapper -mix_cells false -input_shift_enable wrp_ishift -output_shift_enable wrp_oshift
Defining Dedicated Wrapper Clock Signals
如果Dedicated wrapper clock signal是必须的,默认情况下,DFTC会创建一个名为wrp_clock的时钟信号(通常不是我们所期望的),这个时钟信号默认为10%的占空比,上升沿和下降沿分别为默认时钟周期的45%和55%。可以通过设置test_wrapper_new_wrp_clock_timing变量来更改默认设置。
如果已经有已存在的port用来作为wrapper clock signal可以通过set_dft_signal命令定义
set_dft_signal -view spec -type wrp_clock -port port_name
默认情况下clock signal会使用默认的wrapper clock timing设置,也可以通过existing_dft来修改默认设置。
set_dft_signal -view existing_dft -type wrp_clock -timing {45 55} -port port_name
默认情况下DFTC 创建一些需要为function scan wrapper mode编码的Test_mode的test mode ports。 如果有用于这些测试mode的现有port,可以使用set_dft_signal将它们定义为TestMode信号。
Configuring Global Wrapper Settings
使用set_wrapper_configuration命令对用于整个wrapper chain的全局参数配置,但必须添加-class core_wrapper option来配置core wrapping。默认情况下,DFTC不会创建safe state wrapper cell。使用-safe_state option来为wrapper chain里的wrapper cell设定safe value。
set_wrapper_configuration -class core_wrapper -safe_state 1
欢迎大家关注公众号 IC练习生 ,后续会继续更新IC学习历程。