I have already generated stuck-at LBIST patterns. Now, I would like to find out the equivalent coverage for LBIST transition faults without re-generating the patterns.
You can get LBIST transition fault coverage by reading in the stuck-at LBIST ascii patterns and run LBIST transition fault-simulation on them, as shown below:
For Example:
read_patterns ../patterns/mylbist_stuckat_pat.ascii //Only ascii patterns supported
set_fault_type transition
add_faults -all
simulate_patterns -source external -store_patterns all
You should see the message below to confirm the external BIST patterns are being used:
// ------------------------------------------------------------------------
// Simulation performed for #gates = 35143 #faults = 54197
// Run fault simulation and store all patterns. pattern source = 1024 external BIST patterns
Note, the following limitations to LBIST transition test:
1) If you have enabled observation scan, the shift-cycle simulations for observation scan chains are only performed for static fault models. The simulation will only consider the specified capture cycles and is useful ONLY for fault grading.
2) The value of MISRs fed by the observation scan chains are going to be invalid and should be ignored.
3) It is expected to see lower coverage for LBIST transition due to the limitations mentioned above.
Below is a full script to create LBIST transition patterns:
set_context patterns -scan -design_id gate1
set_tsdb_output_directory ../tsdb_outdir
open_tsdb ../tsdb_outdir
read_cell_library ../../../library/NangateOpenCellLibrary_PDKv1_3_v2010_12/Front_End/DFT/NangateOpenCellLibrary.tcelllib
read_cell_library ../../../library/memories/SYNC_1RW_8Kx16.atpglib
read_cell_library ../../../library/memories/SYNC_1RW_32x16_RC.atpg
read_design processor_core -design_id gate1
set_current_design processor_core
# Specify the current mode
set_current_mode lbist_trans -type internal
#import internal scan mode with -fast_capture_mode on
import_scan_mode int_mode -fast_capture_mode on
#Add core instance for lbist fault simulation
add_core_instances -module *tessent_lbist
# Specify the capture procedure name and the count percentage to repeat the NCP once every 256 patterns
set_lbist_controller_options -capture_procedures {ALL 90 directclk 8 sti_occ 2 }
set_static_dft_signal_values mcp_bounding_en 1
set_system_mode analysis
read_patterns ../patterns/mylbist_stuckat_pat.ascii //Only ascii patterns supported
set_fault_type transition
add_faults -all
set_random_pattern 1024
simulate_patterns -source external -store_patterns all
report_stat -detail
write_tsdb -replace