Synopsys Test Compiler
Synopsys Test Compiler
clocking schemes, number of additional 1/0 0 Allows the user to view results and examine re-
pins, performance impact, area impact, and ports through the Design Analyzer’s graphical
latches or (and) flip-flops. interface to trace design rule violations back to
- The user can include boundary scan cir-
schematics
cuitry in the design. - The user can display test-related informa-
- The user can define a test mode. tion about the design
- The user can create a scan-test protocol.
3 Design Flow Using the Syiiopsys
- The user can test latches in transparent
mode.
Test Compiler
To synthesize a fully-optimized design with
Adds test circuitry to a design internal-scan and (or) boundary-scan circuitry, the fol-
lowing commands in d c s h e l l script[6] are required as
- When synthesizing internal scan circuitry, follows:
the Synopsys Test Compiler replaces the se-
quential logic elements (flip-flops) in a design 1 Read an HDL (VHDL or Verilog format) circuit
with logically equivalent elements that also description of a design.
perform a serial shift function for scanning.
dcshell>read -format vhdl destgn-name.vhdl
- The Synopsys Test Compiler supports both
full scan and partial scan design. 2 Select the target technology library and the design
- The Synopsys Test Compiler Plus can also constraints:
add boundary-scan test circuitry to a design. dcshell>targetlibrary = aszc-vendor.db
- The user can configure the scan cells in the dcshell>maxarea 1000
design into single or multiple scan chains. dcshell>niaxdelay 10.O
- The user can determining the scan chain or- dcshell>create-clock c l o c k p a r t -period ?O \
der. -waveform { l O , l S }
0 Accepts designs with existing scan 3 Synthesize a design to meet the constraints set,
and map the circuit description to cells from the
0 Handles internal three-state Busses target technology library:
- The Synopsys Test Compiler prevents bus dcshelbcompile
contention and bus float problems during The command compile not only perforins synthe-
scan shift by adding disabling logic. sis and optimization on the design with respect to area
and speed, but also removes redundant logic
Generates test patterns
4 Declare the methodology (full scan or partial
- The user can control the ATPG (automatic
scan), select the scan implementation style (mul-
test pattern generation) process.
tiplexed flip-flops, clocked scan cells, LSSD scan
- The user can determine which faults are con- cells) and set minimum fault coverage constraint.
sidered.
dcshelbset-test methodology full-scan
- The user can interrupt and restart the pat-
dcshell>setscanstyle multiplexed-flip-flop
tern generation process.
dcshell>setfaultxoverage 95
- The user can specify how much effort is used
in the test pattern compaction process. 5 Check the design rules based on the above cho-
sen scan implementation style. and describe any
0 Formats Test Patterns potential problems:
- The user can write out test patterns in a va- dcshelbcheck-test
riety of formats including Synopsys generzc,
TSSI, Verzlog and VHDL formats. 6 Add scan circuitry to the design.
- The user can control the key test vector dcshell>insert -test
timing parameters including period, strobe,
clock waveforms, input delay and bidirec- 7 Minimize the performance and area impact of
tional delay added scan circuitry.
464 IEEE WESCANEX '95 PROCEEDINGS
.:.-
. I.
.combinational
..- ..
:
).
.. ., ..
:.' sequential
(C) (d)
Figure 1: (a) shows a D flip-flop without and with scan feature, (b) shows a circuit in which sequential and
combinational logic are included without adding scan circuitry. (c) shows full scan style test circuitry is inserted
in the circuit, and (d) shows partial scan style test circuit,ry is inserted in the circuit
l h I- I
i IDI Qh
' I
B
A
-I1 pQNpq
Figure 2: A circuit design with tri-state busses Figure 3: The circuit design with multiplexed flip-flop
style scan circuitry and three-state disabling logic
As an example, a circuit design D-EXAMPLE us- with the option -scan-chams and the maximum num-
ing tri-state gates without test circuitry is shown in ber of scan cells that can be connected 111 any one
figure 2. After we perform the following commands in scan chain with the option -max-scan_chazn-leiigfh
the dcshell script: Therefore, when the user inserts a testability feature
dcshelbcurrentdesign = D-EXA MPLE into the design with the Synopsys Test Compiler. the
dcshell >set s c a nstyle mult iplcxed-flip-flop user can configure the preferred routing order of the
dcshell >insert -test scan cells and the appropriate number of the scan
the multiplexed flip-flop style scan circuitry and tri- chains to enhance scan-based skewed-load delay fault
state disabling logic which is used to prevent tri-state test [ 111[ 121[ 131.
buss cont,ention have been added by t,he Synopsys Test
Compiler. Also, the signals test-se, test-si, and test-so
5 Adding Boundary Scan Test Cir-
are added and globally connected to the scan chain. cuitry
The scan cells are routed in the default alphabetical The Synopsys Test Compiler automatically s\ n-
routing order in a single scan chain. New additional thesizes JTAG boundary scan components for a de-
ports have been created for the test signals and are sign These components comply with the JTAG IEEE
connected to the scan cells. Figure 3 illustrates the 1149.1 standard. By default, the Synopsys Test Com-
design with multiplexed flip-flop style scan circuitry piler generates a 5-pin TAP which includes TAW,
and tri-state disabling logic after insertion of test cir- TCK, TDI, TDO and the optional asynchronous re-
cuitry. set, T R S T ports. All boundary scan register (BSR)
The user can specify rout.ing order of the scan chain cells except clocks have both control and observe ca-
when adding a scan circuitry into the design. For ex- pabilities. Also, the default instruction set contains
ample, if the following commands in dcshell script: the three mandatory JTAG instructions. BYPASS.
are issued E X T E S T , and SAMPLE/PRELOAD.
Figure 5 shows a default JTAG architecture. The
dcshell>setfestroutingDrder { FF2/QN, \ Synopsys Test Compiler can identify existing JTAG
FFS/QN, F F l / Q N ) test ports, define JTAG instructions, and configure
dcshelbinsert-test -noinsert the BSR boundary scan cells. The user also can con-
the scan chain is routed through the pin QN of scan figure a preferred BIST scheme[9] for the internal core
flip-flop FF2, then the pin QN of scan flip-flop FF3. logic with the less correlated Cellular Automata as a
and finally the QN of scan flip-flop FF1 shown in figure pattern generator and signature analyzer[lO] with the
4. Synopsys Test Compiler.
The command insert -test can specify the number The Synopsys Test Compiler supports a pro-
of scan chains the user wants to construct in a design grammable JTAG synthesis capability The user caii
466 IEEE WESCANEX '9.5 PROCEEDINGS
4, Bypass Register
a ........................................................
_.. ............................................. .........,
t?St_Sl
: Ins-zdction Cecode Logic control
: InsUutlm~le
hi?St_S3
Select
t,hesize the TRST port, include a device identification "3Xe 7
register, indicate and specify the size of the instruc-
tion regist,er, and synthesize 1/0 pads in the JTAG Test Access Port (TAP) j
.....................................................................,
design. The user can specify a JTAG boundary scan
instruction that is recognized, decoded and acted upon Figure 5: Default JTAG Architecture
by the synthesized JTAG test circuitry with the com-
mand set-jtaginstruction. Also, the user can set
the routing order of BSR cells, JTAG port modes bariety of options to determine maximum total ATPG
and types, and choose BSR cell implement,ations with CPI: time, maximum CPU time spent per fault dur-
the commands which include set-jtag_port-order, ing the deterministic generation phase, backtracking
set -j t ag -por t -iode, set -jt ag -por t -t ype , and limit for the deterministic generation phase maximum
set -jt ag implementation. number of random patterns generated during the ran-
dom generation phase, and when the random genera-
6 Generating Test P a t t e r n s tion phase terminates based on the number of patterns
The test pat.terns can be generated and compacbed that fail to increase fault coverage The user can input
to form a minimal t,est set for a design after test. cir- the command set-testfault to eliminate considera-
cuitry has been inserted with the Synopsys Test. Com- tion of some faults by the Synopsys Test Compiler
piler. The Synopsys Test Compiler can a.nalyze each The Synopsys Test Compiler supports test pattern
node in the design and automatically generates test generation for one or multiple scan chains In gen-
patterns to target all the detectable stuck-at faults. eral, the procedure of full scan-test sequence is given
The Synopsys Test Compiler can estimate testability in following
of the design to incrementally improve testability of a
design by updating test circuitry for the design, espe- 1 Serially shift in the test patterns through the
cially for partial-scan design. scan-in port
For a full-scan design, the Synopsys Test Compiler's
ATPG process has three phases which include random 2. Apply stimuli to the primary inputs
generation of patterns to cover easy-to-detect faults ef- 3 Measure the output response
ficiently, det.erministic generation of patterns to cover
specific stuck-at faults that are hard to detect, and 4 Pulse the system clock once to latch all the inter-
compaction of t.he original set of patterns into a sub- nal states
set that achieves the same fault coverage. The user
can use the command create-test-patterns with a 5. Shift out the response at the scan-out port.
WANG, Z. et ai.. SYNTHESIZING TESTABILITY FEATURES INTO A DESIGN WITH THE SYNOPSYS TEST COMPILER 467