add_dft_signals
用于请求附加的静态,动态的DFT信号;存在一些已经定义好的DFT信号可以用来控制电路;
dft_signals
分三大类:
- global_dft_control
用于控制global resources 比如时钟,电源管理的电路; - logic test control
用于控制电路中的部分点的值; 包括int_ltest_en ext_ltest_en ltest_en memory_bypass_en等;其中memory bypass en如果在scan mode下设为0; ATPG工具会使memory 活跃,借助multi_load pattern去 cover memory ports上的faults; - scan_mode
用于将扫描链配置到不同的scan mode;
-create with tdr
如果在spec中Ijtagnetwork的wrapper已经存在,且包含一个 tessent_dft_function属性设置为 scan_resource_instrument_dft_control的TDR(sti_ctrl)的wrapper在; -create_with_tdr选项会将spec中的TDR自动与添加的dft_signal做匹配;
默认 TDR的wrapper就会有这个选项;
设计层级对dft_signals的影响
当design level设置为sub_block,默认只创建对应dft_signals的input端口;
这是sub_block的定义决定的, sub_block会在综合后与他的parent block合在一起,这些DFT signals也会在综合后连接到parent block的TDR上;
且 在sub_block层次,是没必要添加 int_ltest_en和ext_ltest_en信号的;因为 做wrapper 只能以physical block为单位;
举例不部分常用的dft_signals
shift_capture_clock
用来支撑OCC的slow clock,它可以是input port 也可以使用test_clock驱动的门控,门控Enable端由edt_update控制;
好处是 edt_clock和shift_capture_clock 共享同一个时钟源;
所以如果使用 -create_from_other_signal选项去创建shift_capture_clcok; edt_clock和test_clock需要在添加shift_capture_clock之前添加;
能使用-create_from_other_signal选项的dft信号只有 edt_clock shift_capture_clock和async_set_reset_dynamic_disable,input_wrapper_scan_en和out_wrapper_scan_enable;能帮助时序收敛
edt_clock
用于支撑EDT 控制器的时钟;可以指定到一个私有输入端口;但是建议与shift_capture_clock使用同一个时钟源;接到由test_clock驱动的一个时钟门控上,门控使能端由scan_en控制;
occ_kill_clock_en
驱动OCC上的kill_clock_en;
OCC wrapper里有一个 kill_clock_mode;
对OCC的fast_clock做门控,对未使能模块的OCC,截停fast_clock的翻转率,可以加速pattern仿真;
也可以在function mode下服用OCC的fast_clock的gate,去关闭function的快时钟;
tck_occ_en
用来使能Sib(sti)节点内的 mini_OCC的信号,如果添加了Sib(sti)会在动设置为1; ijtag tck的OCC叫mini_OCC; 帮助测试Ijtag网络上的AC的问题?
使用register_static_dft_signal_names 创建新的dft信号;
在已有的dft_siagnals不适合你的需求时,可以使用此命令创建新的信号和信号属性;
register 之后再用add_dft_signals创建信号;新建的dft_signal也是三大类: global_dft_control logic_test_control和scan_mode