LOGICKÉ OBVODY 2 – kombinační obvody, minimalizace

Transkript

LOGICKÉ OBVODY 2 – kombinační obvody, minimalizace
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.10.2008
Logické obvody - 2 - minimalizace
1
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.10.2008
Logické obvody - 2 - minimalizace
2
Kombinační funkce
Kombinační funkce:
outk = f(i1, i2, i3, … ip), k=1,2,…,m
i1
i2
i3
out1
f
ip
9.10.2008
Logické obvody - 2 - minimalizace
out2
outm
3
Základní kombinační prvky - hradla
Wire
Inverter
In Out
0
1
Out = In
In
0
1
A
Out
B
0
0
1
1
A
Out
B
9.10.2008
A B
0 0
0 1
1 0
1 1
A
1
1
1
0
A
A
1
1
0
0
Out
B
DeMorgan’s
Theorem
Out = A • B = A + B
1
1
1
0
A
B
Logické obvody - 2 - minimalizace
0
0
1
1
B Out
0
1
0
1
1
0
0
0
Out = A + B = A • B
B Out
1
0
1
0
1
0
NOR Gate
B Out
0
1
0
1
0
1
Out = In
NAND Gate
A
In Out
Out
Out
A B
0 0
0 1
1 0
1 1
A
1
1
0
0
B Out
1
0
1
0
1
0
0
0
4
Obecná kombinační logická buňka, zpoždění
Vout
A
B
.
.
.
Combinational
Logic Cell
Delay
Va -> Vout
X
Cout
X
X
X
X
X
X
delay per unit load
Internal Delay
Ccritical
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
9.10.2008
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.10.2008
Logické obvody - 2 - minimalizace
6
Základní pojmy logické syntézy
1. 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.10.2008
Logické obvody - 2 - minimalizace
7
Boolovská n-krychle (cube) B
• B = { 0,1}
• B2 = {0,1} X {0,1} = {00, 01, 10, 11}
B0
n
B2
B1
B4
B3
9.10.2008
Logické obvody - 2 - minimalizace
8
Booleovské funkce
f(x) : Bn
B
B = {0, 1}, x = (x1, x2, …, xn)
• x1, x2, … jsou proměnné - variables
• x1, x1, x2, x2, … jsou literály - literals
• Každému vrcholu Bn je přiřazena 0 nebo 1
– onset f je {x|f(x)=1} =f 1 = f -1(1)
– offset f je {x|f(x)=0} =f 0 = f -1(0)
n
• jestliže f 1 = B , f je tautologie, tzn. f ≡ 1
• jestliže f 0 = Bn (f 1 = ∅), f není splnitelná
• jestliže f(x) = g(x) pro všechna x ∈Bn, pak f a g jsou
ekvivalentní
Obvyklé zjednodušení: f namísto f 1
9.10.2008
Logické obvody - 2 - minimalizace
9
Literály
Literál je proměnná nebo její negace
x1, x1,a, z, y
Literál reprezentuje logickou funkci.
Literál x1 reprezentuje logickou funkci f,
kde
f = {x| x1 = 1}
f = x1
x1
9.10.2008
g = x1
x1
Literál x1 reprezentuje logickou
funkci g, kde
g = {x| x1 = 0}
Logické obvody - 2 - minimalizace
10
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 = x1 . x2 + x1 . x2 = (x1+x2) . (x1+x2)
h = a + b . c = a . (b + c)
Obvykle nahrazujeme . jen zřetězením, a . b → ab
9.10.2008
Logické obvody - 2 - minimalizace
11
Logické funkce
Existuje 2n vrcholů v prostoru Bn
111
x3
x2
000
x1
000
1
001
0
010
1
011
0
100 ⇒ 1
101
0
110
1
111
0
n
2
Existuje 2 různých logických funkcí
Každá podmnožina vrcholů tvoří jinou logickou funkci:
f ⊆ Bn
9.10.2008
Logické obvody - 2 - minimalizace
12
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.10.2008
Logické obvody - 2 - minimalizace
13
Boolovské operace AND, OR, KOMPLEMENT
f : Bn → B
g : Bn → B
• AND - fg = h kde
h = {x| f(x)=1 and g(x)=1}
• OR - f + g = h kde
h = {x| f(x)=1 or g(x)=1}
• KOMPLEMENT - f = h kde
h = {x| f(x) = 0}
9.10.2008
Logické obvody - 2 - minimalizace
14
Krychle - cube
• Logický součin (AND) množiny literálů
(“conjunction - konjunkce” literálů) je krychle
C = x.y
C = (x=1)(y=0)
ale může to být i samotný literál
z
y
x
x =1
9.10.2008
y =0
Logické obvody - 2 - minimalizace
xy
15
Krychle - cube
• Jestliže C ⊆ f, C je krychle, pak C je implikant f.
n
• Když C ⊆ B a C má k literálů, pak |C| má
n-k
2 vrcholů.
3
Příklad1 C = x y ⊆ B .
k = 2 , n = 3.
C = {100, 101}.
3-2
|C| = 2 = 2 .
• Jestliže k=n, pak krychle je minterm
(obsahuje všechny literály)
9.10.2008
Logické obvody - 2 - minimalizace
16
Reprezentace Boolovských funkcí
n
• Pravdivostní tabulka
funkce fn: B → B je vyjádření
n
hodnot všech 2 vrcholů z B .
abcd f
• Pro
0 0000 0
f = abcd + abcd + abcd + abcd + abcd +
1 0001 1
2 0010 0
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í.
9.10.2008
Logické obvody - 2 - minimalizace
3 0011 1
4 0100 0
5 0101 1
6 0110 0
7 0111 0
8 1000 0
9 1001 1
10 1010 0
11 1011 1
12 1100 0
13 1101 1
14 1110 1
15 1111 1
17
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.10.2008
Logické obvody - 2 - minimalizace
18
SOP
bc
= onset minterm
c
ac
ab
b
a
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.10.2008
Logické obvody - 2 - minimalizace
19
Neredundance
• Nechť F = {c1, c2, …, ck} je pokrytí pro f.
f = ∑ik=1 ci
Krychle ci∈ F je neredundantní, jestliže F\{ci} ≠ f
Příklad 2: f = ab + ac + bc
bc
bc
c
ac
není pokryto !!!
ab
ac
b
F\{ab} ≠ f
9.10.2008
a
Logické obvody - 2 - minimalizace
20
Prime – přímost
• Literál j krychle ci ∈ F ( =f ) je přímý (prime) jestliže:
(F \ {ci }) ∪ {c’i } ≠ f
kde c’i je ci ve kterém je literál j z ci vypuštěn.
• Krychle z F je přímá když všechny její literály jsou přímé
(nemohou být vypuštěny)
F=ac + bc + a =
Příklad 3
F \{ci } ∪ {c’i }
f = ab + ac + bc
bc
ci = ab; c’i = a (literál b odtraněn)
F \ {ci } ∪ {c’i } = a + ac + bc
Nerovná se f protože
je pokrytý offsetový vrchol
9.10.2008
c
Logické obvody - 2 - minimalizace
ac
a
b
a
21
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.10.2008
Logické obvody - 2 - minimalizace
22
Přímé a neredundantní pokrytí,
podstatná krychle
Příklad 4
f = abc + bd + cd je přímé a neredundantní.
abc je podstatná protože abcd∈abc, a
abc
∈ bd ani cd ani ad
bd
c
b
a
9.10.2008
d
Logické obvody - 2 - minimalizace
cd
23
Funkce neúplně specifikované
F = (f, d, r) : B → {0, 1, x}
kde x reprezentuje “don’t care” (neurčený stav)
n
• f = onset funkce • r = offset funkce • d = don’t care funkce -
f(a)=1 ↔ F(x)=1
r(a)=1 ↔ F(x)=0
d(a)=1 ↔ F(x)=x
n
(f,d,r) tvoří rozdělení (partition) B tzn.
n
• f+d+r=B
• fd = fr = dr = ∅ (pairwise disjoint)
9.10.2008
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)=1), potom g(x) je
0 nebo 1,
• Ale když x∈f, potom g(x)=1
• A když x∈r, potom g(x)=0.
9.10.2008
Logické obvody - 2 - minimalizace
25
Příklady
si
0
1
2
3
4
5
6
7
9.10.2008
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
p
0
1
0
1
0
1
0
1
q
0
0
0
1
0
1
1
1
S
0
1
1
0
1
0
0
1
SOP – Úplná normální
disjunktivní forma
q = abp + abp + abp + abp
p
b
a
si – stavový index
Logické obvody - 2 - minimalizace
26
Příklady
si
0
1
2
3
4
5
6
7
a
0
0
0
0
1
1
1
1
9.10.2008
b
0
0
1
1
0
0
1
1
p
0
1
0
1
0
1
0
1
q S
0 0
0 1
0 1
1 0
0 1
1 0
1 0
1 1
SOP – Úplná normální
disjunktivní forma ÚNDF
q = abp + abp + abp + abp
bp
p
ap
ab
b
a
SOP – Minimální normální
disjunktivní forma MNDF
Logické obvody - 2 - minimalizace
q = bp + ap +ab
27
Mapy
Svobodova mapa
9.10.2008
Karnaughova mapa
Logické obvody - 2 - minimalizace
28
Změna velikosti mapy – zvyšování
počtu proměnných
Karnaughova
Svobodova
9.10.2008
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.10.2008
Logické obvody - 2 - minimalizace
30

Podobné dokumenty

Y36SAP-2

Y36SAP-2 • B2 = {0,1} X {0,1} = {00, 01, 10, 11}

Více

Bc. Martin Hanus, Bc. Petr Prikryl

Bc. Martin Hanus, Bc. Petr Prikryl 1.1 Zápis logické funkce..................................................................................................................3 1.1.1 Pravdivostní tabulka .................................

Více

Logické systémy a jejich návrh

Logické systémy a jejich návrh obvodům nevadí takový přechodný vstup, který vyžaduje právě funkci paměť. Podstatné hazardy jsou pouze v asynchronních obvodech a způsobují chyby trvalého charakteru. Důvodem jejich existence je sh...

Více

Reprezentace Booleovských funkcí

Reprezentace Booleovských funkcí V tomto paragrafu popíšeme deterministické rozhodovací diagramy, které v každém větvícím uzlu testují jednu proměnnou. Kromě obecných rozhodovacích diagramů budeme zkoumat jejich podtřídy, konkrétn...

Více

Číslicová technika

Číslicová technika písmen, pro které nabývá uvažovaná logická funkce hodnoty 1 UNKF obsahuje tolik maxterm , kolik je po et vstupních písmen, pro které nabývá uvažovaná logická funkce hodnoty 0 Vytvo ení UNDF z UNKF ...

Více

005_slajdy (7) - České vysoké učení technické v Praze

005_slajdy (7) - České vysoké učení technické v Praze Slepá separace signálů (Blind Source Separation, BSS) [5] je obor, který se zabývá získáváním skrytých informací obsažených v souboru dat. Analýza nezávislých komponent (Independent Component Analy...

Více