Transcript Kursuse_too
Testimise projekteerimine:
Kursuse töö
Sergei Kostin
Kursusetöö ülesanne
http://www.pld.ttu.ee/info/dt/dd_ylesanne_07.htm
(soovitav avada IE brauseriga, vastasel juhul funktsiooni operaatorid võivad olla kujutatud ebakorrektselt)
e-EDU Testimise projekteerimine minu materjalid Kursusetöö ülesanne
Kursusetöö variandid
Töö eesmärk:
Õppida tundma ja kasutama digitaalskeemide disaini- ja
diagnostikavahendeid konkreetse digitaalskeemi sünteesil ja
katsetamisel,
tutvuda digitaalsüsteemide testitavuse mõõtmisega, skeemide testitavuse
parandamisega ja isetestimise meetoditega.
• Sünteesida isetestiv digitaalskeem,
• leida selle minimaalne realisatsioon parima võimaliku rikete katte ja
lühima testi juures,
• parandada skeemi selle testitavuse viimiseks 100%-ni,
• hinnata isetestiva skeemi keerukuse kasvu tavalise analoogilise
skeemiga võrreldes.
2
Kursusetöö ülesanne 1
Sünteesida kombinatsioonskeem etteantud
funktsioonile:
x ja z on Boole'i muutujad
Y, A, B ja C on 4-bitised andmesõnad
Konstandid antakse ette töövariandi numbrina
alljärgnevas tabelis, kusjuures
ki = 1 tähistab inversiooni ja
ki = 0 inversiooni puudumist kõigil sõna bittidel (i =
1,2,3).
liitmine
lahutamine
loogika
funktsioon
ruutvõrrand
3
Funktsioonid Variandil 4
Var. nr. k1 k2 k3 k4 k5 k6
4
1
0
0
0,1 0,2 3,0
ki = 1 tähistab inversiooni
ki = 0 inversiooni puudumist kõigil
sõna bittidel (i = 1,2,3).
Ei tohi optimeerida
4
Liitmine
Tõeväärtus tabel
A
B
Cin Y
Cout
0
0
0
0
0
0
0
1
1
0
... ...
...
...
...
... ...
...
...
...
... ...
...
...
...
... ...
...
...
...
1
1
0
0
1
1
1
1
1
1
Y ABCin ... ABCin
Cout ... ABCin ABCin
4-bitine liitmine:
Noorem järk(A0+B0): ei ole Cin
Kõrgem järk(A3+B3): ei ole Cout
Väljundfunktsioonid tuleb minimeerida kas Karnaugh’ kaardiga,
McCluskey meetodil või mingi teise meetodil.
Abimaterjal: Diskreetne matemaatika (Margus Kruus)
http://www.pld.ttu.ee/~kruus/diskmat/index.html (Loengud 2,3,4,5)
5
Lahutamine
Lahutamine = liitmine täiendkoodiga
A – B = 13 – 6 = 7
A = 13 1101; B = 6 0110
B = B pöördkood (inversioon) = 1001
B täiendkood = B pöördkood + 1 = 1001+1= 1010
1101
1010
0111
Abimaterjal: Arvutite aritmeetika ja loogika (Margus Kruus)
Negatiivsete arvude esitus. Täiendkood. Pöördkood
http://www.pld.ttu.ee/~kruus/AAL/index.html (Õppematerjal 3)
6
Funktsioon 4:
realiseerida koodimuundurina,
mille tõeväärtustabeli saamiseks
kodeerida Y ja A
kümnendarvulised väärtused 4bitilisteks binaararvudeks,
kusjuures kasutada ümardamist
ja kõik kümnendarvud, mis on
suuremad kui 15 esitada
binaararvuna 1111
Y
(rounded)
y3
y2
y1
y0
3
3
0
0
1
1
1
3,3
3
0
0
1
1
1
0
3,8
4
0
1
0
0
0
1
1
4,5
5
0
1
0
1
0
1
0
0
5,4
5
0
1
0
1
5
0
1
0
1
6,5
7
0
1
1
1
6
0
1
1
0
7,8
8
1
0
0
0
7
0
1
1
1
9,3
9
1
0
0
1
8
1
0
0
0
11
11
1
0
1
1
9
1
0
0
1
12,9
13
1
1
0
1
10
1
0
1
0
15
15
1
1
1
1
11
1
0
1
1
17,3
15
1
1
1
1
12
1
1
0
0
19,8
15
1
1
1
1
13
1
1
0
1
22,5
15
1
1
1
1
14
1
1
1
0
25,4
15
1
1
1
1
15
1
1
1
1
28,5
15
1
1
1
1
Dec
a3
a2
a1
a0
0
0
0
0
0
1
0
0
0
2
0
0
3
0
4
Y
7
Funktsioon 4 minimeerimine:
Kasutades Carnaugh’ kaarti minimeerime
tõeväärtustabelist saadud funktsioonid.
8
Cadence käivitamine
CADENCE redaktori käivitamine
Failis .cshrc
lisa ‘setenv C10DK370’
võta maha ‘#’ reast ‘setenv TESTER’
sulge fail ja anna käsk konsoolis ‘source .cshrc’
Loo kataalog Cadence failide hoidmiseks, näiteks ‘cad’:
mkdir cad
Mine ‘cad’ kataloogi sisse
cd cad
Cadence keskonna ettevalmistamine:
Anna käsk ‘cad’ vali ‘0’ (CADENCE 2009/2010)
Cadence käivitamise käsk:
esmakordsel: ‘ams_cds -tech cxq -mode ds’
hilisemal käivitamisel: ‘ams_cds’
9
Skeemi loomine CADENCE’s
Sisestada sünteesitud digitaalskeem arvutisse, kasutades
süsteemi CADENCE skeemi-redaktorit
File New Library kursusetoo (suvaline nimi)
File New Cell View skeem (suvaline nimi)
Loe ‘Cadence manual’ (e-EDU minu materjalid)
NB! Saab kasutada ainult HRDLIB kogumis olevad loogika
elemente: AND – AND2, AND3,... ; OR – OR2,...; NOT – IN1,...;
XOR – EO1,...;
NB! ärge muutke loogika elementide nimed (redaktori poolt vaikimisi
antud), siis on kergem leida need elemendid, mis ei ole testitavad
NB! MUX tuleb realiseerida AND, NOT, OR, XOR elementidega,
selleks et saada 100% rikete katet
NB! Skeemi korrektsuse kontrollimiseks (kas kõik elemendid
omavahel õigesti ühendatud!?) vajuta nupp ‘Check and Save’.
Likvideeri rikked ära (muidu ei saa skeemi mudelit genereerida)
10
Skeemi Struktuur
11
Skeemi testitavuse väljaselgitamine
Teha skeemist .agm file (skeemi mudel)
vaadata CADENCE Manual
Genereerida Turbo-Testriga (TT) projekteeritud
skeemile testid.
Kui testide kate on alla 100%, parandada skeemi
testitavust (juhitavust või jälgitavust) nii et rikete
katteks kujuneks 100%.
Lisaväljaviikude arvuks on lubatud maksimaalselt 2
12
Skeemi mudeli genereerimine (.agm file)
icms aken File Export EDIF 200
Design Browse: leidke üles ‘schematic’ kuju skeemist
External Libraries: HRDLIB
Design name: disaini nimi (näiteks ‘skeem’)
Stop Cell Expansion File: HRDLIB
Output File: skeem.edif
Output Format: Netlist
Netlist Translation Mode: Flat
skeem.edif peab olema genereeritud ilma vigudeta
ttimport –tool cadence skeem.edif ams.lib
kui kirjutab “Success!” lõpus, siis on skeemi mudel õigesti
genereeritud
13
Testitavuse väljaselgitamine
ttgenerate <.agm file>
ttreport -not_tested <.agm file>
NB! KõikideTurbotester’i käsude ette tuleb lisada nüüd ‘tt’:
import ttimport; generate ttgenerate; report ttreport
14
Testitavuse väljaselgitamine
Esialgne skeem
Parandatud testitavus
Skeem on liiane, sest väljundi väärtus sõltub ainult X1 sisendist
Y X1 ( X1 X 2 ) ( X1 ) ( X1 X 2 ) X1
NB! Selleks, et saada 100% rikete kate tuleb liiasusest lahti saada (ehk
kõik funktsioonid peavad olema minimeeritud, v.a funktsioon 3)
15
BILBO(Built-in Logic Block Observer )
Genereerida teste meetodil BILBO erinevate polünoomide juures
(vähemalt 10 katset) ja leida isetestiva skeemi struktuur parima rikete
katte juures. Fikseerida kõikide eksperimentide puhul maksimaalne
rikete kate ja lühim test (taktide arv) selle saavutamiseks. Hinnata
isetestiva skeemi keerukuse kasvu võrrelduna esialgse skeemiga.
LFSR - Test Pattern Generator
Combinational circuit
LFSR - Signature analyzer
ttbist -ginit 10001 -gpoly 01001 -ainit 10001 -apoly 01001
-simul bilbo -count 20 -optimize c17
16
CSTP(Circular Self Test Path )
Genereerida teste meetodil CSTP erinevate polünoomide juures
(vähemalt 10 katset) ja leida isetestiva skeemi struktuur parima rikete
katte juures. Fikseerida kõikide eksperimentide puhul maksimaalne
rikete kate ja lühim test (taktide arv) selle saavutamiseks. Hinnata
isetestiva skeemi keerukuse kasvu võrrelduna esialgse skeemiga.
LFSR - Test Pattern Generator
& Signature analyser
Combinational circuit
ttbist -ginit 10001 -gpoly 01001 -simul cstp -count 20 -optimize c17
BILBO ("Built-in Logic Block Observer") and
CSTP ("Circular Self Test Path") methods overview (Ülesanne 5 ja 6)
On saadaval edu.pld.ttu.ee Testimise Projektreerimine “Lingikogu”
17
Skeemi Liides (Ülesanne 7)
Liides realiseerida
kolmes variandis
erinevate katsete
sooritamiseks:
1-bitise,
2-bitise ja
4- bitiste signatuuranalüsaatorite jaoks
Esialgne skeem (ilma liideseta):
8-bitiste ja 16-bitiste
signatuuranalüsaatorite jaoks
18
Skeemi Liides (Ülesanne 7)
Skeem1
(ainult üks väljund)
Skeem2
(ainult kaks väljundit)
Skeem4
(ainult neli väljundit)
19
Ülesanne 7
Katsetada punktis 5 leitud parimat testi 5 erineva
signatuuranalüsaatori jaoks:
1-bitine, 2-bitine, 4-bitine, 8-bitine ja 16-bitine.
Arvutada rikete kate kõigi 5 katse puhul. Koostada
graafik funktsioonile y = f(x), kus y – rikete kate ja x –
SA bittide arv. Põhjendada graafikut.
Selleks tuleb:
genereerida uued .agm failid, kus skeemile on lisatud vajalik
liides.
teha teste BILBO meetodiga, kasutades aliasing option ning
-ainit ja -apol suurused panna vastavalt vajaliku
signatuuranalüsaatori jaoks, ehk 1, 2, 4, 8 või 16 bitised
ttbist -aliasing -ginit 10001 -gpoly 01001 -ainit 10001 apoly 01001 -simul bilbo -count 20 -optimize c17
20
Ülesanne 8, 9 ja 10
Sünteesida optimaalne sardtester universaalmeetodil
"store & generate".
Algandmeteks valida parim BILBO struktuur ja sellega
genereeritud test pikkusega N.
Ülesandeks on leida minimaalne salvestatavate vektorite arv, mis
tagaksid optimeeritud testi pikkuse M<=N/2, kusjuures rikete
kate peaks jääma 100%.
(Saab teha kasutades BISTA, Hybrid Algorithm)
Võrrelda punktides 4, 5, 6 ja 8 saadud tulemusi
omavahel. Vastata küsimustele, millist meetodit on
soovitav valida antud skeemi puhul, miks ja milline on
selle meetodi skeem.
Koostada aruanne
21