目录

atpg

1. Transition AC

DC的时候scan_en为0时,只有一拍时钟, scan_en下降沿与这一拍时钟的距离可以足够远,这个时钟也可以是高速或低速时钟。

AC的时候scan_en为0时,有两拍高速时钟(这里也可以配置为低速时钟,shift_as_capture mode)

AC有两种样本方式,LOC(比较常用)和LOS。

1.1 LOC

https://www.cnblogs.com/6y4z/p/16588760.html

Broadside (Launch‑Off‑Capture)

一般都是使用的这种结构,使用标准OCC即可生成期望时序。

1.2 LOS

pseudo-Launch-Off-Shift (LOS)

一直为1,开启se pipeline enable

se_pipeline_en一直为1,开启se pipeline enable

这里的launch & capture都是高速时钟,可以理解为跟LOC一样,是OCC生成的,OCC在这看和LOC是一样的行为,只是lauch值的区别。

2. pattern debug

3. Pre-Existing Scan Chains

>add_scan_group grp1 chain_trace.testproc
>add_scan_chains -internal my_chain0 grp1 \
  corea_gate1_tessent_edt_c1_inst/edt_scan_in[0] \
  corea_gate1_tessent_edt_c1_inst/edt_scan_out[0]
>add_scan_chains -internal my_chain1 grp1 \
  corea_gate1_tessent_edt_c1_inst/edt_scan_in[1] \
  corea_gate1_tessent_edt_c1_inst/edt_scan_out[1]

这种会有一个问题, 如果int_edt_mode和ext_edt_mode的chain有走部分公共路径,最后通过int/ext mode来区别chain如何分岔, 这种不知道在drc trace scan chain时怎么处理。

4. PR网表层次保持

PR后网表对OCC的hier层次需要固定不要动,不然在推ATPG时会找不到相应path报错。

具体发现以下在TCD文件里面描述的OCC以下PATH保持不变即可。

ClockOut()
ShiftRegisterClockEn()

gen atpg pattern

需要读取icl pdl, tcd, netlist文件,这样就可以跑出atpg pattern

//  command: read_design gps_baseband -design_id gate -verbose
//  sub-command: set_tool_options -reapply_settings_after_reelaboration On
//  sub-command: set_read_design_tag gps_baseband
//  sub-command: read_verilog ../tsdb_outdir/dft_inserted_designs/gps_baseband_gate.dft_inserted_design/gps_baseband.vg -no_duplicate_modules_warnings
//  sub-command: set_read_design_tag ""
//  sub-command: set_tool_options -reapply_settings_after_reelaboration Off
//  sub-command: read_icl ../tsdb_outdir/dft_inserted_designs/gps_baseband_gate.dft_inserted_design/gps_baseband.icl -skip_child_blocks -no_notes
//  sub-command: source ../tsdb_outdir/dft_inserted_designs/gps_baseband_gate.dft_inserted_design/gps_baseband.pdl
//  sub-command: read_core_descriptions ../tsdb_outdir/dft_inserted_designs/gps_baseband_gate.dft_inserted_design/gps_baseband.tcd

5. set_atpg_limits

设置atpg process limits, 比如可以设置只出几条pattern,这样可以快速得到一个简单的atpg pattern,可以快速用于后续flow

set_atpg_limits ‑cpu_sec 500 ‑test_coverage 99.5 ‑pattern_count 2
report_environment

6. low power shift & capture

capture low power

用单独的几个scan cell(scan_en为0时保持cell值不变),控制在capture阶段register的时钟enable
这样可以分段控制部分register在capture阶段数据不变,实现low power效果

这个图如果控制时钟不产生的话,就和上图效果差不多了。

shift low power

主要是在shift阶段Q到function组合逻辑之间的通路加一个and/or门
让逻辑结合部分在shift阶段状态不变化,在capture阶段再变化。