Y36SAP 26.2.27 Y36SAP-2 Logické obvody kombinační Formy popisu Příklad návrhu Sčítačka 27-Kubátová Y36SAP-Logické obvody Logický obvod Vstupy a výstupy nabývají pouze hodnot nebo Kombinační obvod popsán kombinační funkcí Hodnoty všech výstupních proměnných jsou v každém časovém okamžiku určeny pouze hodnotami vstupních proměnných v témže časovém okamžiku 27-Kubátová Y36SAP-Logické obvody 2
Y36SAP 26.2.27 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 27-Kubátová Y36SAP-Logické obvody 3 Wire Základní kombinační prvky - hradla = In In In Inverter = In In A B NAND Gate = A B = A + B A B A B DeMorgan s Theorem NOR Gate A B = A + B = A B A B A B A B A B A A B B 27-Kubátová Y36SAP-Logické obvody 4 2
Y36SAP 26.2.27 A B X Obecná kombinační logická buňka, zpoždění... Combinational Logic Cell Vout Cout Internal Delay Delay Va -> Vout Cout 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ů Propagačním zpožděním z každého vstupu na výstup a pro každou změnu signálu X X X X X X delay per unit load Ccritical 27-Kubátová Y36SAP-Logické obvody 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 27-Kubátová Y36SAP-Logické obvody 6 3
Y36SAP 26.2.27 Základní pojmy logické syntézy Logické funkce a jejich reprezentace, formy popisu a jejich vzájemný převod tabulka n-rozměrné krychle algebraický zápis mapy Logická minimalizace Karnaughova mapa (metoda Quine-McCluskey) Realizace na úrovni hradel 27-Kubátová Y36SAP-Logické obvody 7 Boolovská n-krychle (cube) B n B = {,} B 2 = {,} X {,} = {,,, } B 2 B B B 4 B 3 27-Kubátová Y36SAP-Logické obvody 8 4
Y36SAP 26.2.27 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 27-Kubátová Y36SAP-Logické obvody 9 Literály Literál je proměnná nebo její negace y, y Literál reprezentuje logickou funkci. Literál x reprezentuje logickou funkci f, kde f = {x x = } f = x g = x x Literál x reprezentuje logickou funkci g, kde g = {x x = } 27-Kubátová Y36SAP-Logické obvody x 5
Y36SAP 26.2.27 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 27-Kubátová Y36SAP-Logické obvody Logické funkce Existuje 2 n vrcholů v prostoru B n x 3 n x x 2 2 Existuje2 různých logických funkcí Každá podmnožina vrcholů tvoří jinou logickou funkci: f B n 27-Kubátová Y36SAP-Logické obvody 2 6
Y36SAP 26.2.27 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 ) z hlediska cílové platformy 27-Kubátová Y36SAP-Logické obvody 3 Boolovské operace - AND, OR, KOMPLEMENT f : B n B g : B n B AND - fg = h kde h = {x f(x)= and g(x)=} OR - f + g = h kde h = {x f(x)= or g(x)=} KOMPLEMENT - f = h kde h = {x f(x) = } 27-Kubátová Y36SAP-Logické obvody 4 7
Y36SAP 26.2.27 Úpravy algebraických výrazů Shannonův expanzní teorém: f ( a, b,..., c) = a. f (, b,..., c) + a. f (, b,..., c) Důkaz: platí pro všechna a... Důsledek: a {, } f ( a, b,..., c) = a. g( b,..., c) + a. h( b,..., c) Každá logická funkce se dá zapsat pomocí logického součtu, součinu a negace 27-Kubátová Y36SAP-Logické obvody 5 Booleeova agebra: BA = { B, +,, B = {,} x, y, z B a platí Huntingtonovy axiomy,}, 27-Kubátová Y36SAP-Logické obvody 6 8
Y36SAP 26.2.27 27-Kubátová Y36SAP-Logické obvody 7 Krychle - cube Logický součin (AND) množiny literálů ( conjunction - konjunkce literálů) je krychle C = xy C = (x=)(y=) ale může to být i samotný literál z y x x = y = xy 27-Kubátová Y36SAP-Logické obvody 8 9
Y36SAP 26.2.27 Reprezentace Boolovských funkcí Pravdivostní tabulka funkce f : B n B je vyjádření jejich hodnot všech 2 n vrcholů z B n. Pro abcd 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 27-Kubátová Y36SAP-Logické obvody 9 Pravdivostní tabulka 27-Kubátová Y36SAP-Logické obvody 2
Y36SAP 26.2.27 Logický obvod Dvojkové signály a Číslicový návrh Číslicové obvody logické obvody Realizace základních blokůčíslicového počítače obecněji číslicového systému - a jejich komunikace Kombinační obvody x sekvenční obvody Práce s moderními návrhovými systémy 27-Kubátová Y36SAP-Logické obvody 2 Jednotlivé fáze návrhového procesu pro číslicové systémy Specifikace Příklad, sl. 23-25 Určení vstupů a výstupů Pravdivostní tabulky Příklad, sl. 26-3 Booleovské rovnice Návrh realizace na úrovni hradel Příklad, sl. 32-35 Simulace na úrovni hradel Realizace číslicového obvodu Ověření návrhu 27-Kubátová Y36SAP-Logické obvody 22
Y36SAP 26.2.27 Příklad Co? Chci sčítat JAK??? Co chci dostat? 27-Kubátová Y36SAP-Logické obvody 23 Příklad Dvojková čísla A a B JAK - číslicově Dvojkové číslo S = A + B Dvojková čísla budou nejprve bitová, tzn.: +=, +=, +=, ale pozor +=!!! Přenos!!! 27-Kubátová Y36SAP-Logické obvody 24 2
Y36SAP 26.2.27 Příklad a b p Σ s q 27-Kubátová Y36SAP-Logické obvody 25 Příklad - intuitivně a b p q s s = abp + abp + abp + abp q = abp + abp + abp + abp Úpravy výrazů na tabuli: 27-Kubátová Y36SAP-Logické obvody 26 3
Y36SAP 26.2.27 4 27-Kubátová Y36SAP-Logické obvody 27 Příklad stavový index 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 27-Kubátová Y36SAP-Logické obvody 28 Příklad - krychle 7 6 5 4 3 2 s i S q p b a abp abp abp abp q + + + = SOP Úplná normální disjunktivní forma ÚNDF p a b bp ab ap q = bp + ap +ab SOP Minimální normální disjunktivní forma MNDF
Y36SAP 26.2.27 Mapy Svobodova mapa Karnaughova mapa 27-Kubátová Y36SAP-Logické obvody 29 Zápis do mapy podle přiřazení proměnných, tzn. proužků, které vyjadřují kdy nabývá proměnná hodnotu Minimalizace v mapě viz 27-Kubátová Y36SAP-Logické obvody 3 5
Y36SAP 26.2.27 Změna velikosti mapy zvyšování počtu proměnných Svobodova Karnaughova 27-Kubátová Y36SAP-Logické obvody 3 Hradla Realizace pomocí hradel A.B = P. and E+F = R or, V C.D = P G xor H = S 27-Kubátová Y36SAP-Logické obvody 32 6
Y36SAP 26.2.27 Funkce hradel, Booleova algebra NAND Gate Invertor NOR Gate A B A B In In = In A B A B 27-Kubátová Y36SAP-Logické obvody 33 Funkce hradel, Booleova algebra XOR Gate XOR Gate OR Gate AND Gate A B A B AND Gate G H S A B A B 27-Kubátová Y36SAP-Logické obvody 34 7
Y36SAP 26.2.27 Sčítačka p S q 27-Kubátová Y36SAP-Logické obvody 35 Sčítačka-jiné řešení 27-Kubátová Y36SAP-Logické obvody 36 8
Y36SAP 26.2.27 Sčítačka - ještě jiné řešení 27-Kubátová Y36SAP-Logické obvody 37 Programovatelné obvody Specifikace Určení vstupů a výstupů Pravdivostní tabulky Booleovské rovnice Návrh realizace na úrovni hradel Simulace na úrovni hradel Realizace číslicového obvodu Ověření návrhu automatizováno 27-Kubátová Y36SAP-Logické obvody 38 9
Y36SAP 26.2.27 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 27-Kubátová Y36SAP-Logické obvody 39 2