3.2
Dynamický hazard
Souhrn
Jak jsme si uvedli v úvodu kapitoly 3, dynamický hazard vzniká při změně výstupní hodnoty obvodu mezi logickou 1 a 0 (nebo naopak) a projevuje se jako vícenásobný přechod mezi těmito dvěma hodnotami, než dojde k ustálení výstupní hodnoty obvodu, pokud:
- existuje alespoň trojice různých cest (větví) v obvodu, kterými se šíří jedna ze vstupních proměnných s různou dobou zpoždění,
- a zároveň obvod obsahuje součtová i součinová logická hradla (smíšená forma realizace).
Na osciloskopu připojeném k výstupu takovéhoto obvodu bychom dynamický hazard zaznamenali např. jako posloupnost 0101 či 1010, jak ukazuje obrázek 21.
+

Obr. 21. Ukázky možného časového průběhu na výstupu obvodu při vzniku dynamického hazardu.
Chceme-li odhadnout možnost vzniku dynamického hazardu v daném obvodu, je výhodné obvod zakreslit tak, aby bylo možno rychle určit stupeň obvodu v jeho jednotlivých větvích (cestách). Pro analýzu a detekci dynamického hazardu v obvodu sestavíme opět zcela stejným způsobem časový diagram obvodu a určíme průběh na výstupu obvodu pro daný přechod vstupních proměnných.
Poznámka
Dynamické hazardy v obvodech je obtížnější odhalit a odstranit než hazardy statické. V případě eliminace dynamického hazardu postupujeme tak, že v obvodu postupně detekujeme a odstraníme všechny statické hazardy, a tím odstraníme i dynamický hazard.
Pro eliminaci dynamického hazardu je obvykle potřeba daný logický obvod zcela upravit, obvykle převést smíšenou formu na disjunktní či konjunktní, a zcela změnit realizaci obvodu pomocí hradel.
Jinou možností je použít optimální taktovací (hodinový) signál, pomocí kterého je vzorkován výstup obvodu a obvod tak změnit na sekvenční.
Uveďme si pro ukázku jeden příklad obvodu a jeho vyšetření na vznik dynamického hazardu.
Příklad
Vyšetřete následující obvod na obrázku 22 na vznik dynamického hazardu a případně navrhněte jeho eliminaci. Parametr n v obrázku udává stupeň obvodu.
+

Obr. 22. Obvod pro analýzu a eliminaci dynamického hazardu.
Zobrazit řešení
Skrýt řešení
Řešení
V zadaném obvodu je patrné, že vstupní proměnná b se šíří třemi různými cestami v obvodu na jeho výstup a každá z nich má jiné zpoždění (uvažujeme opět zpoždění všech hradel o stejné velikosti ΔT):
- horní větví obvodu skrz tři hradla – zpoždění 3 × ΔT,
- prostřední větví obvodu skrz čtyři hradla – zpoždění 4 × ΔT,
- spodní větví obvodu skrz dvě hradla – zpoždění 2 × ΔT.
Tím pádem bychom měli vyšetřit výstup obvodu při změně proměnné b, zatímco proměnné a a c budou konstantní. Zvolíme tedy například přechod a hodnoty vstupních proměnných dle tabulky 11.
Tabulka 11. Hodnoty vstupních proměnných zvolené pro vyšetření obvodu na vznik dynamického hazardu.
Stav (políčko) | c | b | a |
0 | 0 | 0 | 0 |
2 | 0 | 1 | 0 |
Vyjádříme algebraicky výstupní funkci obvodu na základě jednotlivých logických hradel:
.
Na první pohled je patrné, že obvod je smíšený z hradel INV, OR, AND a XOR a že se nejedná o minimální formu. Bez sestavení časového diagramu určíme výstupní hodnoty obvodu:
- V ustáleném počátečním stavu a = 0, b = 0, c = 0 bude výstup obvodu
.
- Nyní změníme vstupní proměnné a = 0, b = 1, c = 0. Spodní větev obvodu má nejmenší zpoždění 2 × ΔT, na výstupu obvodu tak bude hodnota .
- Další v pořadí z hlediska délky zpoždění je horní větev obvodu se zpožděním 3 × ΔT, po této době se na výstupu obvodu objeví hodnota .
- Jako poslední se po uplynutí zpoždění 4 × ΔT dostane proměnná b na výstup obvodu skrz prostřední větev obvodu a na výstupu se pak objeví hodnota .
- Po uplynutí doby zpoždění 4 × ΔT zůstane již trvale ustálená výstupní hodnota obvodu logická 1 do dalšího přechodu.
Výstupem obvodu tedy bude posloupnost 0101, čímž jsme prokázali vznik dynamického hazardu v obvodu.
Eliminaci dynamického hazardu bychom nejlépe provedli pomocí úplné změny realizace dané logické funkce f. Převedli bychom ji na formu MNDF či MNKF, realizovali ji pomocí hradel NAND či NOR a v případě potřeby bychom eliminovali statické hazardy (hazard).
Pro převod na formu MNDF či MNKF pomocí takto zadaného obvodu využijeme úplnou pravdivostní tabulku, do které postupně vyplníme všechny kombinace vstupních proměnných obvodu a jim odpovídající výstupní hodnoty, jak udává tabulka 12.
Tabulka 12. Sestavení úplné pravdivostní tabulky obvodu.
N | c | b | a | f |
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 |
2 | 0 | 1 | 0 | 1 |
3 | 0 | 1 | 1 | 1 |
4 | 1 | 0 | 0 | 0 |
5 | 1 | 0 | 1 | 0 |
6 | 1 | 1 | 0 | 1 |
7 | 1 | 1 | 1 | 0 |
Zapíšeme nyní hodnoty funkce f do Karnaughovy mapy, provedeme minimalizaci například pro získání formy MNDF (jak ukazuje obrázek 23) a zapíšeme formu MNDF algebraicky.
+

Obr. 23. Karnaughova mapa funkce f z obvodu výše pro hledání formy MNDF či MNKF.
.
Obvod bychom realizovali pomocí hradel NAND dle obrázku 24.
+

Obr. 24. Realizace funkce f pomocí obvodu po eliminaci dynamického hazardu.