8 : Modelovanie a simulácia logických systémov - proces návrhu íslicových systémov - CAD nástroje Použitie MaS:. v procese návrhu a) špecifikácia správania sa overenie simuláciou b) modely funk ných prvkov overenie, porovnanie výsl. so špecifikáciou c) model nižšej úrovne porovnanie výsl. s modelom vyššej úrovne d) riešenie optimaliza ných úloh (rozmiestnenie obvodov, d žka spojov,...) 2. diagnostika - overenie úplnosti testov 3. náhrada funk ného bloku simulátorom Diskretny systém, zmena úrovne signálu = udalos 8 : 2 Úrovne opisu íslicových systémov Úrove opisu Štruktúry Prvky Informa né jednotky asové jednotky Systémová Medzireg. prenosov Logických obvodov Elektrických obvodov Po íta ové systémy Procesor, ALU,... Dekódery, registre,... Zosil ova e, hradlá,... Procesory, pamäti, V/V zariadenia,... egistre, kódery, dekódery,... Logické leny AND, O, Preklápacie obvody Tranzistory, kondenzátory, rezistory,... Bloky slov Slová Bity Úrove napätí -6-3 s -9-6 s - -8 s -2-9 s
8 : 3 Prostriedky pre opis logických obvodov závisia od ú elu:. overovanie logickej funkcie 2. overovanie správania sa v ase Príklad -nech oneskorenie je as. jednotka -hazardný stav na výstupe! 3. diagnostika -modely porúch t, t, skrat -vstupy pre odhalenie poruchy -možnos lokalizácie poruchy Modely signálov signál : T H, H ur uje model signálu, všeob. Mn (n-hodnotový model) 8 : 4 M2 H={,} (alebo {L,H}) jednoduchos, rýchlos, bitové kódovanie problém s inicializáciou modelovanie prechodných stavov, hazardov M3 H={,,} =neznámy, nedefinovaný stav, ale stabilný alebo dostato ný pre sekven né obvody, TL nestabilné stavy o je? AND 2
M5 H={,,,,} =ise, =all vyššia presnos modelu vä šia zložitos, pomalšie 8 : 5 M3 M5 t AND NEG M9 H={,,,,,S,S,D,D} statické hazardy S S dynamické hazardy D D najpresnejšie, detekcia hazardných stavov pomalé (obvykle sa dá prepnú na M5) (párny po et zmien) 8 : 6 (nepárny po et zmien) ozšírenia chybový stav E (napr. dva výstupy aktívne) stav vysokej impedancie Z Napr. iba výstup aktívny, ostatné Z, inak E Po et hodnôt H presnos, zložitos, rýchlos, pamä 3
Modely oneskorení 8 : 7 Typ oneskorenia (závisí od správania sa obvodu). prenosové (transport) in out t t 2. filtra né (inertial) ρ < t in out t t 8 : 8 Modely oneskorení. Nulové oneskorenie = - overenie logickej funkcie 2. Jednotkové oneskorenie = as. jednotka - overenie funkcie, simulácia porúch, synchrónne systémy - modely signálov M2, M3 3. Nastavite né oneskorenie, - pre každú operáciu rôzne - spresnenie závislos od zá aže, technológie - modely signálov M2, M3 4. Presné oneskorenie < min, max> - rozsah hodnôt, nominálna hodnota nom - interval po as ktorého sa mení hodnote použi, - alebo náhodné ísla z daného intervalu (napr. trojuholník. rozd.) - treba model signálov aspo M5 4
8 : 9 Implementácia logických simulátorov. Jednoduchos použitia pre návrhára - jazyk pre špecifikáciu systému - prepojenie na iné moduly CAD - preprocessing, postprocessing pohodlnos použitia 2. Prenosite nos - implementa ný jazyk, OS - kritické asti v JSI? 3. Kódovanie simula ných hodnôt - efektívnos aritmetických a logických operácií - bitové kódovanie, príklad 4. Simula né algoritmy - postup pri šírení zmien signálov - vyhodnocovanie funkcie prvkov - plánovanie udalostí 8 : A. Simulátory riadené kompilátorom (kompilované modely) - prvok = procedúra, prepojenie = postupnos volania procedúr B. Simulátory riadené tabu kami - zdrojový text údajové štruktúry - riadiaci program interpretuje dáta - vyhodnocujú sa iba aktívne prvky - zmeny prepojenia nevyžadujú kompiláciu C. Interpreta né simulátory - zdrojový text vnútorná forma interpretácia - ojedinele 5
8 : Mechanizmus toku asu v modeli diskrétny systém skokové zmeny stavu udalos = ( as, signál, nová hodnota) zmena úrovne signálu a) Technika s pevným asovým krokom b) Technika nasledujúcej udalosti c) Zmiešaná technika 8 : 2 a) Pevný asový krok schedule( o x krokov, signál, nová hodnota) Implementácia: asová mapa (kruh) = tabu ka smerníkov na záznamy o udalostiach Ur enie t a L (ve kos mapy):. Oneskorenie prvkov D = d* t, d N 2. optimum t: NSD oneskorení prvkov 3. L dmax (Dmax = dmax* t) 4. L o najmenšie Vhodné pre prvky s porovnate nými oneskoreniami, synchrónne systémy dostato né zaplnenie mapy 6
8 : 3 b) Nasledujúca udalos - kalendár udalostí, schedule, cause - zaradenie udalosti je náro nejšie (preh adávanie) - dvojrozmerný kalendár c) Zmiešaná technika - postup s pevným krokom + vzdialené udalosti v kalendári - výhodné ak vä šina udalostí je v blízkej budúcnosti (efektívna manipulácia s asovou mapou) ale vykytujú sa aj ve ké oneskorenia prvkov asová mapa d žky 2*Z 8 : 4 vždy naplánovaná na rel. as Z+, jej vykonanie spôsobí:. v asovej mape <,Z> <Z+, 2*Z> <Z+,2*Z> 2. PC++; = ; 3. naplánuj nový výskyt A M na Z+ 4. z kalendára udalosti <PC*Z+Z+, PC*Z+2*Z> vyber a zara do mapy 7
8 : 5 Simulátory riadené tabu kami TO tabu ka funk ných opisov - modely komponentov vo vhodnom tvare TP tabu ka prvkov záznam pre každý prvok obsahuje - typ = smerník do TO - ID prvku (meno) - dynamické parametre ak nie individuálne tak v TO - po et vstupov ak je volitelný - smerník do TV na prvý vstup - po et lenov pripojených k výstupu - smerník do TVV kam je pripojený výstup(y) - hodnota výstupu - as poslednej zmeny výstupu -... 8 : 6 TV tabu ka vstupov záznam pre každý vstup log. lena - smerník do TP alebo TPVS odkia je vstup napájaný TVV tabu ka výstupného vetvenia kam sa šíri signál - smerník do TP leny zapojené na daný výstup TPVS tabu ka primárnych vstupov - hodnota vstupu - as poslednej zmeny - po et pripojených lenov - smerník do TVV TPVY tabu ka primárnych výstupov - smerník do TP na ktorý len je primárny výstup pripojený 8
8 : 7 Väzby medzi tabu kami TV a TVV nemusia by samostatné tabu ky, ale v každom zázname TP pole smerníkov premenlivej d žky 8 : 8 Príklad 9
8 : 9 Algoritmy simulácie. Synchrónny algoritmus Init: T ; P P ; ZSA TPVS[ j ].TVV; ZBA ø; 8 : 2 P = hodnoty premenných v sú asnom stave P = hodnoty premenných v nasledujúcom takte T = simula ný as ZSA = zásobník sú asnej aktivity ZBA = zásobník budúcej aktivity while (ZSA ø) { // ustálený stav foreach LC in ZSA { P [LC] LC.funkcia(); // vyhodno výstup If( P [LC] P[LC] ) ZBA ZBA + LC.TVV; } // foreach } // zmena na primárnom vstupe: ZBA ZBA + TPVS[zmena].TVV; T T + ; P P ; ZSA ZBA; ZBA ø; // vyme zásobníky
8 : 2 Príklad & L Q S S & L2 Qn Q Qn 2 3 4 5 6 P P as 2 3 4 S Q Qn Q Qn ZSA L, L2 L2, L L, L2 L L2 ZBA L2, L L, L2 L L2 - Zmena primár. vstupu Ustálený stav V. Sol ány, KIVT EI STU Bratislava 2. Asynchrónny algoritmus 8 : 22 Init: T ; P P ; Kal zmeny na prim. vstupoch while ( Kal ø && T < T max ) { T Kal.irst.t; // T T + t; - pevný krok while ( Kal.irst.t == T) { ev Kal.Getirst; P[ev.wire] ev.value; } } foreach LC in All { //všetky komponenty P [LC] LC.funkcia(); if ( P [LC] P[LC] ) schedule ( LC.delay, LC.out, P [LC] ); } // foreach V. Sol ány, KIVT EI STU Bratislava
8 : 23 Príklad A B C D & (2) (3) oneskorenie E A B C D E 2 5 as A B C D E kalendár - (A,,), (B,, ), (C,, ) (D, 2, ) 2 (E, 5, ) 5 V. Sol ány, KIVT EI STU Bratislava 8 : 24 Spôsoby zrýchlenia simulácie. Selektívne sledovanie - vyhodnocova len leny, ktorým sa zmenil vstup využi TVV: ZAK = zásobník aktívnych komponentov (zmenil sa im vstup) Init: T ; P P ; Kal zmeny na prim. vstupoch ZAK komponenty pripojené na primárne vstupy; while ( Kal ø && T < T max ) { T Kal.irst.t; while ( Kal.irst.t == T) { ev Kal.Getirst; P[ev.wire] ev.value; ZAK ZAK + ev.wire.tvv; } foreach LC in ZAK All { P [LC] LC.funkcia(); if ( P [LC] P[LC] ) schedule ( LC.delay, LC.out, P [LC] ); } // foreach } V. Sol ány, KIVT EI STU Bratislava 2
8 : 25 2. Pota ené vyhodnocovanie funkcie zložitejšie obvody vyhodnocova má zmysel len za istých podmienok napr. D preklápací obvod: ak eset = netreba vyhodnocova iné vstupy 3. Paralelná simulácia - bitové kódovanie M2, M3 - bitové logické operácie (inštrukcie simula ného programu) - w bitové slovo = w krokov simulácie naraz - pre kombina né obvody bez spätnej väzby - najmä pre simuláciu porúch Príklad (M2) A B & Y Y := A and B Y := Y and C C V. Sol ány, KIVT EI STU Bratislava 8 : 26 M3: A A2 B B2 C C2 4. Súbežná simulácia & Y Y2 Y = f(a,a2,b,b2,c,c2) Y2 = f(a,a2,b,b2,c,c2) - simulácia množiny podobných modelov naraz: referen ný model reprezentovaný kompletne súbežné modely opísané odlišnos ami od referen ného (= zoznam prvkov s odlišnými vstupmi, ak odlišnos zanikne, prvok sa vylú i zo zoznamu) - simulácia porúch: referen ný model = bez porúch súbežné modely = s poruchami V. Sol ány, KIVT EI STU Bratislava 3