Professional Documents
Culture Documents
Cell-Based
IC (CBIC)
Application
Note
0702A
7-77
Design
For
Functionality
Functional
Simulation
(Functional Netlist)
Modify
Design
ATPG
Design Rules
Check
Fail
Pass
Full
Scan Path
Insertion
Incremental
Optimisation
(Optional)
Functional
Simulation
(Modified Netlist)
Fail
Pass
ATPG Vector
Generation &
Coverage Assessment
Full Timing
Simulation of
ATPG Vectors
ATPG Vector
&
Coverage Approval
Fail
Pass
Placement
and
Routing
7-78
Cell-Based IC
Cell-Based IC
ATPG Design Rules
The design rules listed below are automatically checked
by the Synopsys Test Compiler prior to scan path insertion and/or automatic test pattern generation:
* Latches:
* Gated clock:
In scan path:
7-79
* The design must be created starting from the scan design rules. Trying to implement the design rules at the
end of the design phase may be a difficult task.
* The design must be partitioned in sub-blocks. In particular, all the circuitry driven by a common external clock
should be grouped together in the same sub-block.
Try to have multiple scan chains of equal length, with between 100 and 500 elements per chain. Note that there
must be at least one scan chain for every set of sequential
elements driven by a separate external clock.
The impact of multiplying scan chains will be to increase
the number of scan_in and scan_out ports, but will reduce
the number of test vectors. The currently supported maximum number of vectors is 256K.
* Using user-defined test patterns:
Is not possible to load user-defined test patterns before
running the vector generation. However a test protocol
may be written to initialize the circuit.
* Initializing the design:
To ensure a good interface with the tester, it is important
to have a design completely initialized (no Xs on the outputs) as soon as possible.
A test protocol may be written and/or additional logic may
be added to force the initialization of the design. If the design contains no black box, the design will be fully initialized after the longest scan chain has been fully shifted in
(n clock cycles, if n is the number of element in the longest chain).
* Existing scan chain in a design:
The scan chain in a design may have been built manually. However all the above rules still apply, and also the
following:
Scan Insertion
* Atmel only supports full Scan ATPG using multiplexed
flip-flops as scan devices:
- test methodology: full_scan
- scan style:
7-80
Cell-Based IC
Cell-Based IC
Scan Insertion Procedure
> insert_test |
|
|
|
|
-no_insert
|
-no_route
|
-no_disable
|
-scan_chains
|
-max_scan_chain_length <1>|
. Read design:
. Read design.
> uniquify
. Define test_clock(s):
eg:
|
|<port_name>
|test_clock
|-index <n>
|test_scan_clock
|
|test_scan_enable
|
|test_scan_enable_inverted |
|test_scan_in
|
|test_scan_out
|
|test_scan_out_inverted|
>
> set_test_isolate
{list of cells}
7-81
> create_test_pattern
-input <input_file>
-output <output_file>
-compaction_effort <effort_level>
-no_compaction
-max_total_cpu <time>
-max_cpu_per_fault <time>
-backtrack_effort <effort_level>
-max_random_pattern <limit>
-sample <n>
-random_pattern_failure_limit <limit>
> report_test
-faults <design>.faults
-atpg_conflicts
-constraints
-coverage
-dont_fault
-faults
-methodology
-port
-scan_path
-testsim_timing
-trace_nets
7-82
. Produce a report:
Cell-Based IC
- static timing
* Full timing simulation (min and max) is required to ensure the validity of the test vectors.
* Problems:
- large disk space requirements.
- very long simulation runtimes.
Two alternatives are possible: serial or parallel scan simulation.
Cell-Based IC
and the existence of the same patterns on the scan outputs after shifting is checked.
A second set of vectors is provided to check only the combinational part of the design.
- <design>_scan.v
terns)
- The inputs of each element in the scan chains are directly forced.
- One shift-in is done to load the data in the scan flip flops.
- The data propagates through the combinational gates to
the next scan element.
- The value obtained on the input of each scan element is
checked against the expected one.
(netlist)
which means that the simulated output values are identical to the expected ones.
> write_test
-format verilog
-input_vector ./<design>.vdb
-output <design>_test
-period
2000
-strobe
1900
-bidir_delay
0
-delay
100
Test
Compiler
<design>.test_shck.v.
Verilog Stimuli:
Full Scan Path Test
Verilog Stimuli:
Functional Vectors
<design>.test_0.v
Full Verilog
Timing Simulation
Vectors are Valid
FAST
<design>.test_shck.v.
Test Program
7-83
Test
Compiler
Verilog Stimuli
Scan Connectivity,
Parallel Scan
Vectors in Verilog:
TSSI or Synopsys
Serial Format
Verilog Stimuli:
Functional Vectors
Full Verilog
Timing Simulation
FAST
FAST
End
7-84
Vectors
are Valid
Test
Program
Cell-Based IC
Test
Program