Logika układów cyfrowych Logika układów cyfrowych

Transkrypt

Logika układów cyfrowych Logika układów cyfrowych
Logika układów cyfrowych
Aksjomaty Huntingtona
〈U u u u
× 〉
{
1
,
• domkni to
,
2
=
3
,
…
}
,
”
+
”
,
”
”
działa + i × w zbiorze U
x x ∈U ⇒ x + x ∈U x × x ∈U
1
,
1
,
2
1
2
2
• przemienno
x x ∈U ⇒ x + x = x + x ∈U x × x = x × x ∈U
1
,
1
1
2
• obecno
2
,
1
1
2
2
2
elementów neutralnych
∃∅ ∈ U ∀x ∈ U ⇒ x + ∅ = x
:
∃ℑ ∈ U ∀x ∈ U ⇒ x × ℑ = x
:
• istnienie elementów przeciwnych
x ∈ U ⇒ ∃ x − ∈ U x × x − ∈ U ∧ ∃ −x ∈ U x + −x ∈ U
(
1
1
(
(
(
:
:
)
)
)
• wzajemna rozdzielno działa
x x x ∈U ⇒ x × x + x = x × x + x × x
(
,
2
,
(
3
2
1
(
3
2
1
3
1
)
1
)
)
x x x ∈U ⇒ x + x × x = x + x × x + x
(
,
2
,
(
3
2
1
(
3
2
1
)
3
1
)
1
)
)
LUC – 1
© Janusz Biernat, Logika'04
Logika układów cyfrowych
Algebra Boole’a
〈 {0,1}, +, 〉
• dodawanie i mno enie (logiczne) – działania domkni te w {0,1}
x x ∈
⇒x +x ∈
x ⋅x ∈
{
{
1
0
{
1
0
r
a
z
1
,
2
1
0
o
1
1
,
2
,
2
}
,
}
}
• identyczno ci 0,1 – neutralne wzgl dem działa dwuargumentowych
x∈
⇒ x+ = x
x⋅ = x
{
}
0
0
o
r
a
z
,
1
1
• przemienno działa
x x ∈
⇒ x ⋅x = x ⋅x
x +x =x +x
{
1
0
1
1
,
2
,
o
r
a
z
1
2
1
2
1
2
}
2
• istnienie negacji (elementu przeciwnego)
x∈
⇒ ∃x ∈
⇒ x⋅x = ∧ x + x =
{
}
{
0
}
0
0
,
,
1
1
• wzajemna rozdzielno
x x x ∈
{
,
2
,
,
{
© Janusz Biernat, Logika'04
2
,
3
2
)
⇒ x + x ⋅x
2
}
3
)
(
1
3
1
2
)
)
= x +x ⋅ x +x
(
1
,
1
3
(
1
0
(
1
2
}
1
,
(
1
3
x x x ∈
działa
⇒ x ⋅ x + x = x ⋅x + x ⋅x
(
1
0
1
1
)
3
)
LUC – 2
Logika układów cyfrowych
Logika dwuwarto ciowa (1)
• negacja
x =1⇒ x = 0 ∧ x = 0 ⇒ x =1
• suma logiczna
x+z=1 ⇔ x=1 ∨ z=1
• iloczyn logiczny
x⋅z=1 ⇔ x=1 ∧ z=1
Wła ciwo ci – zasadnicze twierdzenia
ś
ś
x=x
• podwójna negacja
• idempotentno
x ⋅ x = x,
x+x=x
• dominacja
x ⋅ 0 = 0,
x+1=1
• pochłanianie
x ⋅ ( x + z ) = x,
x+x z=x
• uproszczenie
x ⋅ ( x + z) = x ⋅ z
x+x⋅z = x+ z
• minimalizacja
x⋅z + x⋅z = x
( x + z) ⋅ ( x + z ) = x
( x ⋅ y) ⋅ z = x ⋅ ( y ⋅ z)
( x + y) + z = x + ( y + z)
• ł czno
LUC – 3
© Janusz Biernat, Logika'04
Logika układów cyfrowych
Logika dwuwarto ciowa (2)
Prawa de’Morgana:
podstawowe
uogólnione
• negacja sumy
x+z = x⋅z
∑i =1 xi = ∏i =1 xi
• negacja iloczynu
x⋅z = x + z
∏i =1 xi = ∑i =1 xi
i =n
i=n
i =n
i=n
Suma wykluczaj ca (suma modulo 2)
x ⊕ z = x ⋅ z + x ⋅ z = ( x + z) ⋅ ( x + z ) = z ⊕ x
Wła ciwo ci
x⊕z = x⊕z = x⊕z
( x ⊕ y) ⊕ z = x ⊕ ( y ⊕ z)
ą
ś
ś
x ⊕ x = 0,
x ⊕ x =1
x ⊕ 0 = x , x ⊕1 = x
x + z = x ⊕ z ⊕ ( x ⋅ z) = x ⊕ z + x ⋅ z
x ⊕ ( x + z) = x ⋅ z
x ⊕ ( x ⋅ z) = x ⋅ z
© Janusz Biernat, Logika'04
LUC – 4
Logika układów cyfrowych
Funkcje logiczne (1)
Tablica prawdy (truth table) – zbiór wszystkich par (x∈{0,1}n, f (x))
f ∈ F ⇔ ∀x = ( xn ,..., x2 , x1 ) ∈ {0,1}n : f ( x) = f ( xn ,..., x2 , x1 ) ∈ {0,1}
f ∈F ⇒ f ∈F
f , g ∈ F ⇒ ( f ⋅ g) ∈ F ∧ ( f + g) ∈ F ∧ f o g ∈ F
Funkcje monotoniczne
• pozytywnie
x f y ⇒ f (x) f f (y ) ⇔ ∀i : xi f yi ⇒ f (x | xi ) f f (y | yi )
AND ( x, z ) = x ⋅ z
OR( x, z ) = x + z
• negatywnie
x f y ⇒ f (x) p f (y ) ⇔ ∀i : xi p yi ⇒ f (x | xi ) p f (y | yi )
NAND ( x, z ) = x ⋅ z
NOR ( x, z ) = x + z
Funkcje niemonotoniczne dwóch zmiennych
XOR( x, z ) = x ⊕ z
EQV ( x, z ) = x ⊕ z
LUC – 5
© Janusz Biernat, Logika'04
Logika układów cyfrowych
Funkcje logiczne (2)
f (x | ai ) = f ( xn ,..., x2 , x1 | xi = ai )
Twierdzenie Shannona
f (x) = xi ⋅ f (x | 1i ) + xi ⋅ f (x | 0i )
f (x) = ( xi + f (x | 0i )) ⋅ ( xi + f (x | 1i ))
Niech x1 = x oraz x 0 = x , zatem ( x ) a = x1−a (a = 0 lub 1)
• posta dyzjunkcyjna (dis-junctio – rozł czam)
ć
ą
f (x) = f ( xn ,..., x2 , x1 ) = ∑a∈2 f (an ,..., a2 , a1 )∏i=1 xs
n
as ( i )
n
• posta koniunkcyjna (con-junctio –ł cz )
ć
ą
ę
f (x) = f ( xn ,..., x2 , x1 ) = ∏a∈2 ( f (an ,..., a2 , a1 ) + ∑i =1 xs
n
n
© Janusz Biernat, Logika'04
as ( i )
)
LUC – 6
Logika układów cyfrowych
Funkcje logiczne (3)
Ró nica boolowska
Ŝ
d
f (x) = f (x | 0i ) ⊕ f ( x | 1i )
dxi
je li d f (x) / dxi = 0 , to f (x) nie zale y od xi, je li d f (x) / dxi = 1 , to f (x) =xi
ś
Ŝ
ś
Funkcja komplementarna – negacja funkcji
f C ( x ) = f ( x ) = ∑i ∏ s x s
as (i )
= ∏i ∑ s x s
f D ( x ) = f ( x ) = ∑i ∏ s x s
1− a s ( i )
1− a s ( i )
Funkcja dualna
= ∏i ∑ s x s
as (i )
System funkcjonalnie pełny
Zbiór funkcji, za których pomoc mo na wyrazi dowoln funkcj
{NOT, AND, OR}, {NAND}, {NOR}
LUC – 7
© Janusz Biernat, Logika'04
Logika układów cyfrowych
Minimalizacja funkcji logicznych
Min(i)termy (konstytuenty jedynki)
mi ( x) = xia xia ...xia ∈ m ⇔ (mi ( x) = 1 ⇒ f (x) = 1 & f (x) = 0 ⇒ mi (x) = 0)
1
k
2
1
2
k
• dyzjunkcyjna posta normalna (kanoniczna) funkcji
ć
f (x) = f ( xn ,..., x2 , x1 ) = ∑imi (x) = ∑∏
x
i
s s
as ( i )
Max(i)termy (konstytuenty zera)
M i ( x) = xia + xia ... + xia ∈ M ⇔ ( M i ( x) = 0 ⇒ f (x) = 0 & f (x) = 1 ⇒ M i (x) = 1)
1
1
k
2
2
k
• koniunkcyjna posta normalna (kanoniczna) funkcji
ć
f (x) = f ( xn ,..., x2 , x1 ) = ∏i M i (x) = ∏i ∑ s xs
as ( i )
Metody minimalizacji
• tradycyjne – siatki Karnaugh, metoda Quine’a-Mc’Cluskey’a
• nowe – metoda ESPRESSO
© Janusz Biernat, Logika'04
LUC – 8
Logika układów cyfrowych
Bramki (funktory) logiczne proste
x
z
x ⋅z
x
z
x+z
x
z
x⊕z
x
z
x ⋅z
x
z
x+z
x
z
x⊕z
x
z
x ⋅z
x
z
x+z
x
x
Bramka wielowej ciowa – realizuj ca standardow funkcj m zmiennych
AND ( x1 , x2 ,..., xm ) = x1 ⋅ x2 ⋅ ... ⋅ xm , OR( x1 , x2 ,..., xm ) = x1 + x2 + ... + xm
ą
ś
ą
ę
LUC – 9
© Janusz Biernat, Logika'04
Logika układów cyfrowych
Sieci logiczne
x
c=(x⊕y)⋅z+x⋅y
y
s=x⊕y⊕z
z
x0
x1
x=s⋅z⋅x0 +s⋅z⋅x1 +s⋅z⋅x2 +s⋅z⋅x3
x2
x3
z s
© Janusz Biernat, Logika'04
LUC – 10
Logika układów cyfrowych
Bramki (funktory) logiczne zło one
multiplekser i demultiplekser
s⋅x0+s⋅x1
x0
x1
s⋅x
s⋅x
x
s
s
=
=
LUC – 11
© Janusz Biernat, Logika'04
Logika układów cyfrowych
Bramki (funktory) logiczne zło one
x y
x y
AT = 1
A=2
T=2
g
c–
AT = 1
g
p=x⊕y
c+
AT = 1
AT = 1
c+
p=x+y
AT = 1
c–
AT = 1
AT = 1
AT = 1
A=2
T=2
s
s=x⊕y⊕z
c + =(x⊕y)c–+xy
A=7
Ts = 4
Tc = 4
A=2
T=2
s=x⊕y⊕z
c + =(x+y)c–+xy
s
A=7
Ts = 4
Tc = 3
sumator
© Janusz Biernat, Logika'04
LUC – 12
Logika układów cyfrowych
Elementy pami taj ce – przerzutniki
asynchroniczny przerzutnik RS
R
Q
S
Q
R
R
0
0
1
1
Q
Q
S
S Qt+1
0 Qt
1
1
0
0
1 —
synchroniczny przerzutnik D
D
Q
C
Q
D
Q
C
C D Qt+1
0 — Qt
1 0 0
1 1 1
LUC – 13
© Janusz Biernat, Logika'04
Logika układów cyfrowych
Rejestry
D0
D1
D2
Dn–1
WR
RD
Q0
Q1
Q2
Qn–1
Q0
Q1
Q2
Qn–1
RD
Din
Dout
C
rejestr równoległy i szeregowy
© Janusz Biernat, Logika'04
LUC – 14
Logika układów cyfrowych
Ocena zło ono ci układów cyfrowych (1)
Sterowalno i obci alno bramek – charakterystyki technologiczne
• liczba wej (fan-in) i obci alno wyj (drive)
ś
ć
ą
Ŝ
ś
ć
Charakterystyki czas–rozmiar (time–area)
• standardowa jednostka rozmiaru A – rozmiar bramki prostej monotonicznej
• standardowa jednostka opó nienia T – opó nienie wnoszone przez bramk
prost monotoniczn (delay)
•
•
•
•
•
inwerter (NOT) – A = 0, T = 0
bramka prosta monotoniczna (AND, OR, NAND, NOR) – A = 1, T = 1
bramka prosta niemonotoniczna (XOR, XNOR) – A = 2, T = 2
multiplekser 2-wej ciowy – A = 2, T = 2
bramka monotoniczna m-wej ciowa – A = m –1, T =  log m
Szybko działania – układy sekwencyjne
• czas stabilizacji wyj cia (latency)
• najkrótszy cykl zmiany wej
ś
ć
© Janusz Biernat, Logika'04
LUC – 15
Logika układów cyfrowych
Ocena zło ono ci układów cyfrowych (2)
Sie logiczna
• rozmiar A – suma liczby bramek przeliczeniowych
• opó nienie T
• najdłu sza cie ka propagacji zmiany stanu od wej cia do najbardziej
odległego wyj cia
• najdłu sza cie ka propagacji zmiany stanu od wej cia do
wskazanego wyj cia – ró ne opó nienia do ró nych wyj
ć
Inne charakterystyki
• w układach arytmetycznych – liczba przeliczeniowych bramek XOR
• w układach programowalnych – liczba uniwersalnych komórek LUT
(sie logiczna w formie programowalnej matrycy ROM)
ć
© Janusz Biernat, Logika'04
LUC – 16