Basics: Binære variable, logiske operationer Binære variable: kun 2 mulige værdier: 1 = SAND = HØJ (f.eks. >= 2,4 V) 0 = FALSK = LAV (f.eks. <= 0.8 V) (Positiv logik) (Negativ logik: 0 = SAND, 1 = FALSK) Logiske operationer: NOT X = 0 => X’ = 1 Invertering, complement Notation: X’ = X X = 1 => X’ = 0 Kredsløbssymbol: X Y = X’ AND * = Symbol for AND-operatoren (A B el. AB) Kredsløbssymbol: A Y = A*B B A B A*B 1 logisk multiplication! 1
Basics: Logiske operationer OR + = Symbol for OR-operatoren (A B) Kredsløbssymbol: A Y = A+B B A B A+B 1 XOR = Symbol for XOR-operatoren Kredsløbssymbol: A Y = A B B A B A B 1 logisk addition! 2
Talsystemer (Positional number systems) 10-tals-system: 317.4 = 3*102 + 1*101 + 7*100 + 4*10-1 . = decimaltegn n = antal decimaler p = antal cifre før komma di = 0, 1, 2, 3, …. 9 Generelt talsystem: r = grundtal (radix) di = 0, 1, 2, 3, …. (r-1) Binært talsystem: di = 0, 1 r = 2 101102 = 1*24 + 0*23 + 1*22 + 1*21 + 0*20 = 1610 + 410 + 210 = 2210 (= 22D) 101.102 = 1*22 + 0*21 + 1*20 + 1*2-1 + 0*2-2 = 410 + 110 + ½10 = 5.510 3
Talsystemer – oktalt talsystem n ledninger (bits), hver 0 eller 1 bn b0 Grupper á 3 bits kombineres til oktale cifre (8 mulighe-der): 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7 di d1 d0 di = 0, 1, 2, 3, …. 7 r = 8 Digitale signaler deles oftest i grupper á 8 bit = bytes Da 3 ikke går op i 8 anvendes det oktale talsystem kun sjældent. 4
Talsystemer – hexadecimalt talsystem Grupper á 4 bits kombineres til hexadecimale cifre (16 muligheder): 0 0 0 0 0 010 0 0 0 1 1 110 0 0 1 0 2 210 0 0 1 1 3 310 0 1 0 0 4 410 0 1 0 1 5 510 0 1 1 0 6 610 0 1 1 1 7 710 1 0 0 0 8 810 1 0 0 1 9 910 1 0 1 0 A 1010 1 0 1 1 B 1110 1 1 0 0 C 1210 1 1 0 1 D 1310 1 1 1 0 E 1410 1 1 1 1 F 1510 di n ledninger (bits), hver 0 eller 1 bn b0 d1 d0 di = 0, 1, 2, 3, …. 15 r = 1610 5
Talsystemer - omregning Omregning fra hexadecimalt til decimalt system Tilsvarende fra binært til 10-tals-system 6
Talsystemer - omregning Omregning fra decimalt til binært system Heltalsdivision: 5710 57/2 = 28 rest 1 LSB 28/2 = 14 rest 0 14/2 = 7 rest 0 7/2 = 3 rest 1 3/2 = 1 rest 1 1/2 = 0 rest 1 MSB 5710 = 1110012 Omregning fra decimalt til hexadecimalt system Heltalsdivision: 15510 155/16 = 9 rest B LSD 9/16 = 0 rest 9 MSD 15510 = 9B16 7
Talsystemer - omregning Omregning fra decimalt til binært system Decimaltal: 5.710 5/2 = 2 rest 1 2/2 = 1 rest 0 1/2 = 0 rest 1 MSB 0.7*2 = 1.4 0.4*2 = 0.8 0.8*2 = 1.6 0.6*2 = 1.2 0.2*2 = 0.4 o.s.v. 5.710 = 101.10110011.....2 (101.101100112 = 5.69921910 ) 8
Talsystemer - omregning Omregning fra hexadecimalt til binært system Hvert hexadecimalt ciffer svarer til 4 bits: A 8 3 . B A83.B16 = 101010000011.10112 Omregning fra binært til hexadecimalt system 2 D . A 101101.1012 = 00101101.10102 9
Talsystemer – binær addition og subtraktion Wakerly fig. 2-1 & 2-2 10
Talsystemer – negative tal 2-komplement-talsystem Wakerly fig. 2-3 MSB er fortegns-bit: Hvis MSB=1 så er tallet negativt. Eksempler: 0011 0100 0111 +3 + +4 +7 0110 1101 (1)0011 +6 + -3 +3 0011 1100 +1 1101 +3 2’s cmp -3 Carry ignoreres! 11
Axiomer & Teoremer Axiomer (grundlæggende antagelser/postulater/definitioner): (A1) X = 0 hvis X = 1 (A2) X = 0 => X’ = 1 (INV) (A3) 0*0 = 0 (A4) 1*1 = 1 (AND) (A5) 0*1 = 1*0 = 0 (A1’) X = 1 hvis X = 0 (A2’) X = 1 => X’ = 0 (A3’) 1+1 = 1 (A4’) 0+0 = 0 (OR) (A5’) 0+1 = 1+0 = 1 } } Teoremer med 1 variabel: (T1) X+0 = X (T2) X+1 = 1 (T3) X+X = X (T4) (X’)’ = X (T5) X+X’ = 1 (T1’) X*1 = X (T2’) X*0 = 0 (T3’) X*X = X (T5’) X*X’ = 0 Bevis ved ”Perfekt induktion” (prøv alle muligheder i en sandhedstabel) eks: (T3) X X+X 1 (T4) X X’ (X’)’ 1 (T5’) X X’ X*X’ 1 12
Teoremer med 2 eller 3 variable (T6) X+Y = Y+X (T7) (X+Y)+Z = X+(Y+Z) (T8) X*Y+X*Z = X*(Y+Z) (T9) X+X*Y = X (T10) X*Y+X*Y´= X (T11) X*Y+X’*Z+Y*Z = X*Y+Y’*Z (T11’) (X+Y)*(X’+Z)*(Y+Z) = (X+Y)*(X’+Z) (T6’) X*Y = Y*X (T7’) (X*Y)*Z = X*(Y*Z) (T8’) (X+Y)*(X+Z) =X+(Y*Z) (T9’) X*(X+Y) = X (T10’) (X+Y)*(X+Y’)= X Commutative § Associative § Distributive § Algebraisk bevis (brug af tidligere beviste teoremer), eks: (T9) X+X*Y = (X*1)+(X*Y) brug af (T1’) X*1 = X = X*(1+Y) brug af (T8) X*Y+X*Z = X*(Y+Z) = X brug af (T2) X+1 = 1 og (T1’) X*1 = X Perfekt induktion: (God til ”små” sandhedstabeller) X kan kun antage værdien ’1’ eller ’0’ så bevis er nok for disse to tilfælde !!! Finite induktion: (Godt ved store sandhedstabeller) Hvis et teorem kan bevises for n=2 og samtidig kan bevises for n=i .. så holder teoremet også i det generelle tilfælde hvor n=i+1. 13
Teoremer med 2 eller 3 variable (T6) X+Y = Y+X (T7) (X+Y)+Z = X+(Y+Z) (T8) X*Y+X*Z = X*(Y+Z) (T9) X+X*Y = X (T10) X*Y+X*Y´= X (T11) X*Y+X’*Z+Y*Z = X*Y+X’*Z (T11’) (X+Y)*(X’+Z)*(Y+Z) = (X+Y)*(X’+Z) (T6’) X*Y = Y*X (T7’) (X*Y)*Z = X*(Y*Z) (T8’) (X+Y)*(X+Z) = X+(Y*Z) (T9’) X*(X+Y) = X (T10’) (X+Y)*(X+Y’)= X Commutative § Associative § Distributive § Bevis ved ”Perfekt induktion” (prøv alle muligheder i en sandhedstabel) eks: (T11) X Y Z 1 X*Y X’*Z Y*Z Left 1 X*Y X’*Z Right 1 14
DeMorgan’s teoremer-I DeMorgan’s teoremer (2 variable): De mest benyttede teoremer overhovedet!!! X X (X*Y)’ X’+Y’ Y Y (X+Y)’ X’*Y’ (X*Y)´= X´+Y´ (X+Y)´= X´*Y´ 15
DeMorgan’s teoremer-II DeMorgan’s teoremer (n variable): (T13) (X1* X2* X3*...... Xn)’ = X1’+ X2’+ X3’+...... Xn’ DeMorgans teoremer (T13’) (X1+ X2+ X3+...... Xn)’ = X1’* X2’* X3’*...... Xn’ (T14) [F(X1, X2,.... Xn,+,*)]’ = F(X1’, X2’,..... Xn’ , *, +) DeMorgans generaliserede teorem (T15) F(X1, X2,.... Xn) = X1* F(1, X2,.... Xn)+ X1’* F(0, X2,.... Xn) Shannon’s expan- (T15’) F(X1, X2,.... Xn) = [X1+F(0, X2,.... Xn) ]*[X1’+F(1, X2,.... Xn)] sion teoremer Eksempel (T13, T14): [A+((B*C)*(A+B))]’ = A’*((B*C)*(A+B))’ = A’*((B*C)’+(A+B)’) = A’*((B’+C’)+(A’*B’)) = A’*(B’+C’+A’*B’) = A’*B’+A’*C’+A’*B’ = A’*(B’+C’) [A+((B*C)*(A+B))]’ = A’*((B’+C’)+(A’*B’)) = A’*(B’+C’+A’*B’) = A’*(B’+C’) Forkert (T14): PAS PÅ .. ikke tage hovedet under armen!!! [A+B*C*(A+B)]’ = A’*B’+C’+A’*B’ 16
Symboler for standard-blokke (gates) AND: OR: NOT: NAND: = = = NOR: = = = Hver gate indeholder nogle få transistorer (normalt færrest i inverterende gates) 17
Eksempel - kredsløb En funktion kan ofte realiseres på mange måder (Wakerly fig. 4-17): G(W,X,Y,Z) = W*X*Y+Y*Z = ((W*X*Y)’*(Y*Z)’)’ 18
Eksempel - reduktion Man fanger fisk hvis: Man er Dygtig, der er Mange fisk, og godt fiskeVejr Man er Dygtig, Heldig og der er Mange fisk Man er Dygtig, Heldig og der er godt fiskeVejr Man er ikke Dygtig men Heldig, der er Mange fisk og godt fiskeVejr Man er ikke Dygtig men Heldig, der er Mange fisk Man er ikke Dygtig men Heldig og der er godt fiskeVejr D*M*V + D*H*M + D*H*V + D’*H*M*V + D’*H*M + D’*H*V Fisk = D*M*V + D*H*M + D*H*V + D’*H*M*V + D’*H*M + D’*H*V = D*M*V + D*H*(M+V) + D’*H*(M+V) = D*M*V + H*(M+V) 19