LOGICKÉ OBVODY 2 kombinační obvody, minimalizace logické obvody kombinační logické funkce a jejich reprezentace formy popisu tabulka, n-rozměrné krychle algebraický zápis mapy 9..28 Logické obvody - 2 - minimalizace
Kombinační x sekvenční obvody Kombinační vystup je dán kombinací vstupů, nezáleží na čase Sekvenční výstup závisí na posloupnosti (sekvenci) hodnot na vstupech, realizuje se tzv. zpětnou vazbou Vše lze matematicky popsat Logická funkce Konečný automat - FSM 9..28 Logické obvody - 2 - minimalizace 2
Kombinační funkce Kombinační funkce: out k = f(i, i 2, i 3, i p ), k=,2,,m i i 2 i 3 i p f out out 2 out m 9..28 Logické obvody - 2 - minimalizace 3
Wire Základní kombinační prvky - hradla Out = In In Out In Inverter Out Out = In In Out A B NAND Gate Out A B Out A B NOR Gate Out A B Out Out = A B = A + B DeMorgan s Theorem Out = A + B = A B A B Out A B A B Out A B A B Out A Out B 9..28 Logické obvody - 2 - minimalizace 4
A B X Obecná kombinační logická buňka, zpoždění... Combinational Logic Cell Vout Cout Internal Delay Delay Va -> Vout X X X X X X delay per unit load Kombinační buňka (symbol) je plně určena: Funkčním chováním (input -> output) Pravdivostní tabulka, logická rovnice,. Zatížením vstupů Ccritical Cout Propagačním zpožděním z každého vstupu na výstup a pro každou změnu signálu 9..28 Logické obvody - 2 - minimalizace 5
Návrhový proces Specifikace Určení vstupů a výstupů Pravdivostní tabulky Boolovské rovnice Návrh realizace na úrovni hradel Simulace na úrovni hradel Realizace číslicového obvodu Ověření návrhu 9..28 Logické obvody - 2 - minimalizace 6
Základní pojmy logické syntézy. Logické funkce a jejich reprezentace, formy popisu a jejich vzájemný převod tabulka ( měli jsme minule) n-rozměrné krychle algebraický zápis mapy 2. Dvouúrovňová logická minimalizace terminologie Karnaughova mapa metoda Quine-McCluskey 3. Realizace na úrovni hradel 9..28 Logické obvody - 2 - minimalizace 7
Boolovská n-krychle (cube) B n B = {,} B 2 = {,} X {,} = {,,, } B 2 B B B 4 B 3 9..28 Logické obvody - 2 - minimalizace 8
Booleovské funkce f(x) : B n B B = {, }, x = (x, x 2,, x n ) x, x 2, jsou proměnné - variables x, x, x 2, x 2, jsou literály - literals Každému vrcholu B n je přiřazena nebo onset f je {x f(x)=} =f = f - () offset f je {x f(x)=} =f = f - () jestliže f = B n, f je tautologie, tzn. f jestliže f = B n (f = ), f není splnitelná jestliže f(x) = g(x) pro všechna x B n, pak f a g jsou ekvivalentní Obvyklé zjednodušení: f namísto f 9..28 Logické obvody - 2 - minimalizace 9
Literály Literál je proměnná nebo její negace x, x,a, z, y Literál reprezentuje logickou funkci. Literál x reprezentuje logickou funkci f, kde f = {x x = } f = x g = x x x Literál x reprezentuje logickou funkci g, kde g = {x x = } 9..28 Logické obvody - 2 - minimalizace
Boolovské formule - výrazy Boolovské formule (Boolean formulas) mohou být reprezentovány formulemi definovanými jako zřetězení závorek (, ) literálů x, y, z, x, y, z Boolovských operátorů + (OR),. (AND) komplementace, např. x + y Příklady f = x. x 2 + x. x 2 = (x +x 2 ). (x +x 2 ) h = a + b. c = a. (b + c) Obvykle nahrazujeme. jen zřetězením, a. b ab 9..28 Logické obvody - 2 - minimalizace
Logické funkce Existuje 2 n vrcholů v prostoru B n x 3 2 n x x 2 Existuje2 různých logických funkcí Každá podmnožina vrcholů tvoří jinou logickou funkci: f B n 9..28 Logické obvody - 2 - minimalizace 2
Logické funkce Ale existuje nekonečně logických formulí f = x + y = xy + xy + xy = xx + xy + y = (x + y)(x + y) + xy Syntéza nalezení "nejlepší" formule (nebo reprezentace ) 9..28 Logické obvody - 2 - minimalizace 3
Boolovské operace - AND, OR, KOMPLEMENT AND - fg = h kde h = {x f(x)= and g(x)=} OR - f + g = h kde h = {x f(x)= or g(x)=} f : B n B g : B n B KOMPLEMENT - f = h kde h = {x f(x) = } 9..28 Logické obvody - 2 - minimalizace 4
Krychle - cube Logický součin (AND) množiny literálů ( conjunction - konjunkce literálů) je krychle C = x.y C = (x=)(y=) ale může to být i samotný literál z y x x = y = xy 9..28 Logické obvody - 2 - minimalizace 5
Krychle - cube Jestliže C f, C je krychle, pak C je implikant f. Když C B n a C má k literálů, pak C má 2 n-k vrcholů. Příklad C = x y B 3. k = 2, n = 3. C = {, }. C = 2 = 2 3-2. Jestliže k=n, pak krychle je minterm (obsahuje všechny literály) 9..28 Logické obvody - 2 - minimalizace 6
Reprezentace Boolovských funkcí Pravdivostní tabulka funkce f : B n B je vyjádření hodnot všech 2 n vrcholů z B n. Pro f = abcd + abcd + abcd + abcd + abcd + abcd + abcd + abcd Pravdivostní tabulka (truth table): Nepoužitelná pro velká n (ale je kanonická - canonical) Kanonická znamená: když jsou dvě funkce stejné, je jejich kanonická reprezentace izomorfní. abcd f 2 3 4 5 6 7 8 9 2 3 4 5 9..28 Logické obvody - 2 - minimalizace 7
Sum-of-Products SOP (Disjunktivní forma) Funkce může být reprezentována jako součet krychlí (součinů): f = ab + ac + bc Každá krychle je součin literálů, mluvíme tedy o reprezentaci sum of products součet součinů SOP. DNF SOP Můžeme považovat za množinu krychlí F F = {ab, ac, bc} = C Množinu krychlí reprezentující f nazýváme pokrytí (cover) f. F={ab, ac, bc} je pokrytí fukce f = ab + ac + bc. 9..28 Logické obvody - 2 - minimalizace 8
SOP bc = onset minterm c ac a ab b Každý onset minterm je pokrytý nejméně jednou krychlí a nepokrývá žádný offset minterm (nulový vrchol). Pokrytí (SOP s) mohou efektivně reprezentovat mnoho logických funkcí. Dvouúrovňová minimalizace (two-level minimization) hledá pokrytí o minimální velikosti (nejmenší počet krychlí) 9..28 Logické obvody - 2 - minimalizace 9
Neredundance Nechť F = {c, c 2,, c k } je pokrytí pro f. f = i k = c i Krychle c i F je neredundantní, jestliže F\{c i } f Příklad 2: f = ab + ac + bc bc bc c ac ab b ac není pokryto!!! a F\{ab} f 9..28 Logické obvody - 2 - minimalizace 2
Prime přímost Literál j krychle c i F ( =f ) je přímý (prime) jestliže: (F \ {c i }) {c i } f kde c i je c i ve kterém je literál j z c i vypuštěn. Krychle z F je přímá když všechny její literály jsou přímé (nemohou být vypuštěny) Příklad 3 f = ab + ac + bc c i = ab; c i = a (literál b odtraněn) F \ {c i } {c i } = a + ac + bc Nerovná se f protože je pokrytý offsetový vrchol c F=ac + bc + a = F \{c i } {c i } bc ac a b 9..28 Logické obvody - 2 - minimalizace 2 a
Podstatná krychle Přímá krychle z f je nesporná (podstatná, essential - essential prime), jestliže obsahuje minterm (jedničkový vrchol), který není obsažen v jiné přímé krychli. 9..28 Logické obvody - 2 - minimalizace 22
Přímé a neredundantní pokrytí, Příklad 4 podstatná krychle f = abc + bd + cd je přímé a neredundantní. abc je podstatná protože abcd abc, a bd ani cd ani ad abc c b a d bd cd 9..28 Logické obvody - 2 - minimalizace 23
Funkce neúplně specifikované F = (f, d, r) : B n {,, x} kde x reprezentuje don t care (neurčený stav) f = onset funkce - r = offset funkce - d = don t care funkce - f(a)= F(x)= r(a)= F(x)= d(a)= F(x)=x (f,d,r) tvoří rozdělení (partition) B n tzn. f + d + r = B n fd = fr = dr = (pairwise disjoint) 9..28 Logické obvody - 2 - minimalizace 24
pokračování.. Úplně určená funkce g je pokrytí pro F=(f,d,r), jestliže f g f+d Když x d (tj. d(x)=), potom g(x) je nebo, Ale když x f, potom g(x)= A když x r, potom g(x)=. 9..28 Logické obvody - 2 - minimalizace 25
9..28 Logické obvody - 2 - minimalizace 26 Příklady 7 6 5 4 3 2 s i S q p b a abp abp abp abp q + + + = SOP Úplná normální disjunktivní forma p a b s i stavový index
Příklady s i a b p q S 2 3 4 5 6 7 SOP Úplná normální disjunktivní forma ÚNDF q = abp + abp + abp + 9..28 Logické obvody - 2 - minimalizace 27 p bp ap ab a SOP Minimální normální disjunktivní forma MNDF b q = bp + ap +ab abp
Mapy Svobodova mapa Karnaughova mapa 9..28 Logické obvody - 2 - minimalizace 28
Změna velikosti mapy zvyšování počtu proměnných Svobodova Karnaughova 9..28 Logické obvody - 2 - minimalizace 29
Příklady - tabule Minimalizace v mapě pro přenos q a součet (nelze, nejsou sousední stavy) Příklad funkce určené onset a don t care 9..28 Logické obvody - 2 - minimalizace 3