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