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