Kapitola3
Hazardy v kombinačních logických obvodech
Definice
Hazardem v logickém obvodu rozumíme takový jeho výstupní stav, který neodpovídá předpokládané výstupní funkci obvodu.
Jedná se tedy o nežádoucí a neočekávaný výstupní stav obvodu, který se na jeho výstupu objeví jen po omezený časový okamžik a který neodpovídá výstupní funkci navrženého logického obvodu.
Hazardy v logických obvodech vznikají vlivem nedokonalostí a vlivem reálných vlastností základních prvků logických obvodů – logických hradel. Zejména se jedná o nenulovou dobu zpoždění při překlápění logických hradel při činnosti obvodu, kumulaci této doby zpoždění a její různé hodnoty pro různé časti obvodu. Jiným důvodem pro vznik logického hazardu je samotný návrh a způsob realizace dané logické funkce.
Definice
Dobou zpoždění překlopení logického hradla rozumíme časovou prodlevu, která uplyne od okamžiku, kdy se na vstupu daného hradla změní vstupní hodnota, do okamžiku, kdy dojde na výstupu logického hradla k nastavení odpovídající výstupní hodnoty.
Poznámka
Tato doba zpoždění pro logická hradla a integrované obvody záleží na řadě parametrů a faktorů. Zejména ji ovlivňuje technologie výroby logického hradla (TTL, CMOS a další), jeho konkrétní řada (LS, HC, ALS, atd.), často i další elektrické vlastnosti a parametry obvodu (napájení, přepínací frekvence, pracovní teplota atd.). Zpoždění logických obvodů realizovaných pomocí programovatelných polí FPGA a obvodů CPLD a podobných je specificky dáno různými okolnostmi a parametry pole a daného realizovaného obvodu.
Obecně hazardy v logických obvodech dělíme podle několika různých kritérií, nejčastěji následovně.
  1. Podle původu a důvodu vzniku logického hazardu.
    1. Strukturální hazardy – důvodem jejich vzniku jsou reálné vlastnosti a charakteristiky logických hradel a obvodů.
    1. Funkční hazardy – hlavním důvodem vzniku je samotný nevhodný návrh a realizace logické funkce.
  1. Podle počtu vstupních proměnných, na základě kterých dochází ke vzniku hazardního stavu obvodu.
    1. Hazardy při změně jedné proměnné.
    1. Hazardy vznikající při změně více proměnných současně.
  1. Podle toho, zda přechodu výstupní funkce obvodu mezi dvěma po sobě následujícími stavy odpovídá stejná nebo různá hodnota výstupní funkce. (Také zjednodušeně: kolikrát se změní výstupní hodnota funkce při přechodu mezi dvěma stavy předtím, než dojde k jejímu ustálení.)
    1. Statické hazardy (jedna neočekávaná změna hodnoty výstupní funkce).
    1. Dynamické hazardy (vícenásobná neočekávaná změna hodnoty výstupní funkce).
  1. Statické hazardy můžeme navíc rozlišit podle hodnoty výstupní funkce.
    1. Statický hazard v logické nule.
    1. Statický hazard v logické jedničce.
Pro další výklad a popis se zaměříme na dva typy logických hazardů, které se v logických obvodech vyskytují zdaleka nejčastěji – statický hazard a dynamický hazard.
Definice
Statický hazard můžeme definovat jako neočekávaný krátkodobý stav, kdy pro dvě sousední kombinace vstupních proměnných logické funkce, pro které má hodnota výstupní funkce zůstat nezměněna na logické 1 nebo logické 0, existuje přechodný stav, během něhož se na výstupu objeví na krátkou dobu opačné hodnoty, než jaké očekáváme. Pokud má výstupní funkce obvodu setrvat po celou dobu na hodnotě logická 1, jedná se o statický hazard v logické jedničce, pokud má setrvat na hodnotě logická 0, jde o statický hazard v logické nule.
Definice
Dynamický hazard představuje hazardní stav logického obvodu, kdy se výstupní funkce obvodu při přechodu mezi dvěma sousedními stavy mění mezi logickou nulou a jedničkou (a naopak), avšak během tohoto přechodu se na výstupu obvodu objeví krátce za sebou několikanásobná změna mezi nulou a jedničkou (a naopak), např. 0101 či 1010, než dojde k ustálení výstupu obvodu.
Pro analýzu a odhalení možného vzniku hazardu v daném logickém obvodu provádíme tzv. vyšetřování logických hazardů. Používáme k tomu zejména:
  • algebraický zápis výstupní funkce a její Karnaughovu mapu,
  • časový diagram obvodu sestavený na základě zapojení obvodu,
  • osciloskop při sledování změn na výstupu reálného obvodu zapojeného z logických hradel.
Vzhledem k tomu, že logický hazard je nechtěný a potenciálně nebezpečný stav v navrženém logickém obvodu, který negativně ovlivňuje jeho činnost a výstupní funkci, je naší snahou po vyšetření obvodu provést eliminaci hazardu. V praxi se nabízí v případě strukturálního typu hazardu některá z těchto možností.
  1. Protože vznik strukturálního hazardu je zapříčiněn různým zpožděním téže proměnné při jejím šíření jednotlivými větvemi obvodu, nabízí se možnost vložení dodatečných zpožďovacích členů a vhodných logických hradel tak, abychom vyrovnali zpoždění jednotlivých cest. Tato metoda se však v podstatě nepoužívá – nejsme schopni zaručit, že všechna hradla a různé typy hradel mají stejné zpoždění, tedy se nám nikdy nepovede toto zpoždění přesně vyrovnat.
  1. Strukturální úpravou zapojení obvodu. Tato metoda je účinná vždy v případě hazardů se změnou jedné proměnné. Její nevýhodou však je, že strukturální úprava obvodu vede vždy k doplnění dodatečných hradel do obvodu a výsledná funkce obvodu tak již není minimální.
  1. Použití periodického taktovacího signálu (hodinového), pomocí kterého je vzorkován výstup obvodu. Tím se však z obvodu stane sekvenční logický obvod. Při použití vhodného hodinového signálu lze tímto způsobem eliminovat či alespoň omezit vznik všech typů hazardů.
  1. Dynamický hazard v logickém obvodu eliminujeme tak, že odstraníme postupně všechny statické hazardy v obvodu, a tím nakonec eliminujeme i dynamický hazard.