Вы находитесь на странице: 1из 4

NTUEE GIEE

Computer-Aided VLSI System Design


Tetramax Lab 1: Automatic Test Pattern Generation (ATPG)
Objectives:
In this lab, you will learn:
1. How to generate single stuck-at fault !!"# test $atterns for our si%$le &'U
Copy Files from CSDA Directory
1. co$y all the files into your work (irectory,
cp R ~cvsd/06F/Tetramax/Lab1 .
). check if you ha*e these files
Filename Description
Lab1_alu_dft.v gate le*el netlist with scan inserte(# for the si%$le &'U
Lab1_alu_dft.spf !TI' test $rotocol file generate( by +ft ,o%$iler#
TmaxLab1.script scri$ts to run Tetra%a-
.. ,heck the contents of these files.
Invo!e etr"m"#
To in*oke Tetra%a-, first inclu(e the following , shell scri$t
source /usr/cad/synopsys/CIC/tmax.csh
&n( then, you can (o either one
tmax no!u" co%%an( %o(e#
tmax # GUI %o(e#
In this 'ab, we will use the co%%an( %o(e. /ou are welco%e to try the GUI
%o(e. In the GUI %o(e, you can ty$e in your co%%an(s in the co%%an( line,
locate( at the botto% of the win(ow.
$e"d Input Files
0ea( in your (esign an( ,I, 1..2 library both in 3erilog for%at#
read net$"st
/home/ra"d1%1/c"c/C&'(01)%*+C%,rt"san/CIC/-er"$o!/umc1).v
read net$"st Lab1%a$u%d.t.v
NOTE: Unlike the (esign co%$iler, Tetra%a- (oes not take the library in .(b
for%at. Instea(, Tetra%a- rea(s library in 3erilog for%at.
S%& ' (uild )odel
1. This ste$ buil(s a %o(el of your (esign for &T4G.
NTU GIEE ,o%$uter &i(e( !yste% +esign 156
NTUEE GIEE
run bu"$d%mode$ ,L*
Question: How %any *iolations (o you see7 8888
). To $robe further for the *iolations, ty$e
report v"o$at"ons a$$
E-a%ine these *iolations,
Question: 9hat causes these *iolations7 8888888888888888888888888888
:ne *iolation ;< un(ri*en %o(ule out$ut $in# was cause( by an un(ers$ecifie( U+4
$roble% in the library. !ince we (o not use this U+4, this $roble% we can ignore.
The other two *iolations
Un(ri*en %o(ule out$ut $in &'U8+9118a((sub8=815,: #. ;<-1#
9arning: Unconnecte( %o(ule in$ut $in &'U8+9118a((sub8=815,I #. ;=-1#
are cause( by the (esignware. The carry out$ut $in of the a((er (oes not connect to
any out$ut $in. This is because we (o not use the carry out of that a((er. The carry
in$ut is tie( to logic >ero.
:ther errors are internal errors:
Unconnecte( %o(ule internal net !+""0?15(!N #. ;11-1#
Unconnecte( %o(ule internal net !+""0?15!an(0an(!E #. ;11-)#
Unconnecte( %o(ule internal net !+""0?15!an(0an(!Eb #. ;11-.#
Unconnecte( %o(ule internal net !+""0?15flag #. ;11-6#
9e assu%e that we alrea(y fin( out those *iolations will not har% us. 'et@s %o*e on
to ne-t ste$s.
). To tell Tetra%a- so%e infor%ation about our scan chain, ty$e
add c$oc/ 0 c$/
add scan enab$e 1 test%se
S%& * $un D$C
This ste$ run (esign rule checking. 4lease ty$e,
run drc Lab1%a$u%d.t.sp.
The s$f file is fro% our (ft co%$iler. It tells the &T4G how to o$erate the circuit
in test %o(e.
Question: +oes our (esign $ass all rules7 888888888
NTU GIEE ,o%$uter &i(e( !yste% +esign )56
NTUEE GIEE
S%& + $un A&,
1. In this ste$, you can s$ecify your reAuire%ents for &T4G, such as run ti%e,
co*erage, an( so on. ;ecause our (esign is *ery si%$le, we (o not nee( to s$ecify
%any things here. Bust ty$e.
set atp! mer!e med"um
). !$ecify fault %o(el
set .au$ts mode$ stuc/
.. InCect all faults an( start &T4G. &n( start running.
add .au$ts a$$
run%atp! auto
Question: How %any total faults (o we ha*e7 8888888888888
S%& - $evie. $esults
To get a su%%ary of your &T4G results, ty$e
report%summar"es
To get a list of faults, ty$e
report .au$ts a$$
Question: How %any faults are (etecte(7 9hat is the fault co*erage7 88888
How %any test $atterns ha*e we got7 8888888888
Question: 9hich faults# are not (etecte( 7 88888888 (o you know why7
88888888888
+I (etection i%$lie(# an( +! (etecte( by si%ulation# are (etecte( faults. N:
are un(etecte( faults because the fault is not obser*able.
to know the co%%an( usage, you can ty$e
he$p report%.au$t in the co%%an( %o(e#
to get %ore (etaile( infor%ation, ty$e
man report%.au$t in GUI %o(e#
S%& / St"tic Compression
To further co%$ress the $atterns, ty$e
run pattern%compress"on 00
report%summar"es
NTU GIEE ,o%$uter &i(e( !yste% +esign .56
NTUEE GIEE
Question: How %any $atterns (o you ha*e now7 88888888 Is it shorter7
S%& 0 S"ve &"tterns
1. To see your $atterns, ty$e
report patterns a$$
). !a*e your $atterns into files. There are %any for%ats su$$orte( by tetra%a-.
9G' 9a*efor% Generation 'anguage# an( !TI' !tan(ar( Test Interface 'anguage#
are two of the $o$ular for%ats. +e$en(s on the test eAui$%ent you use, you can
choose other (ifferent for%ats.
1r"te pattern Lab1%a$u%,T23.1!$ .ormat 43L
1r"te pattern Lab1%a$u%,T23.st"$ .ormat 5TIL
.. &lthough &T4G shoul( gi*e us DcorrectE $atterns, it is always goo( to *erify
the $atterns. !a*e $atterns in 3erilog for%at so that you can *erify your $atterns
using 3erilog si%ulator.
1r"te pattern Lab1%a$u%,T23%tb.v .ormat ver"$o!
Question: How %any files (o you get by ty$ing the last co%%an(7 8888888
Try to run 3erilog si%ulations an( see if you get correct results.
Congr"tul"tions1 2ou "re done3
9hat we ha*e (one is in the file Tmax.script.
%4D of LA(
,reator:
1
st
E(ition: ,hien-Fo 'i, )111
)
n(
E(ition: /u-'in ,hang, )116
NTU GIEE ,o%$uter &i(e( !yste% +esign 656

Вам также может понравиться