Boolsk algebra Slides mm 3:
Karnaugh-kort – eksempel Minimodul 1 opg. 5.b: L M M L LM NP 00 01 11 10 1 LM NP 00 01 11 10 1 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 00 01 11 10 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 00 01 11 10 P N P N L’*M + L’*N’*P’ + M*N’*P
Karnaugh-kort – eksempel Minimodul 1 opg. 5.b: (fortsat) L’*M + L’*N’*P’ + M*N’*P Kredsløb: M L LM NP 00 01 11 10 1 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 00 01 11 10 P N
Specialtilfælde – ”Don’t care”s Der kan være situationer, hvor visse kombinationer af input aldrig forekommer. Output for disse kombinationer er derfor ligegyldig. Don’t care celler kan medtages hvor det er belejligt Eksempel: 7-segment display driver: don’t care = d = X = Ø B Inputs Vis-ning A B C D 1 2 3 4 5 6 7 8 9 Andre komb. X Segment d A AB CD 00 01 11 10 1 X a f b g e c d 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 00 01 11 10 D C
Eksempel på et kombinatorisk kredsløb 2-to-4 decoder: I0 Y3 I1 I1I0 EN Input Output EN I1 I0 Y3 Y2 Y1 Y0 X 1 00 01 11 10 2 6 4 1 3 7 5 1 Y3 = EN*I0*I1 I0 Y2 I1 I1I0 EN 00 01 11 10 Her er der ikke basis for nogen form for reduktion så brug af Karnaugh-kort tjener ikke det store formål. Vi kan se hvordan kredsløbet skal se ud direkte fra sandheds-tabellen. 2 6 4 1 3 7 5 1 Y2 = EN*I0’*I1
Eksempel på et kombinatorisk kredsløb 2-to-4 decoder: (fortsat) Komponent Kredsløbsimplementering I0 I1 EN Y0 Y1 Y2 Y3 2-to-4 decoder
PEEL18CV8 PEEL18CV8 " example ( - means output ) " ____ ____ " | \/ | " ____ ____ " | \/ | " { 1 20 } Vcc " { 2 19 } - Y ”Output " X1 { 3 18 } ”I/O " X2 { 4 17 } " X3 { 5 16 } " { 6 15 } " { 7 14 } " { 8 13 } " { 9 12 } " Gnd {10 11 } " |_________| "
Implementering – eksempel ”Sum of products” programmerbart kredsløb. (Wakerly fig. 5-21, side 338 3.edit.) AND-OR eksempel. (Wakerly fig. 6-21, side 371 4.edit.) X = fuses.
PEEL 18CV8 logic diagram
Logiske funktioner i Peel
Diagram for Makrocelle
Title, Device and Description TITLE 'PEEL_EXAMPLE' PEEL18CV8 "DESCRIPTION " PEEL18CV8 " example ( - means output ) " ____ ____ " | \/ | " { 1 20 } Vcc " { 2 19 } - Y ”Output " X1 { 3 18 } ”I/O " X2 { 4 17 } " X3 { 5 16 } " { 6 15 } " { 7 14 } " { 8 13 } " { 9 12 } " Gnd {10 11 } " |_________| " " Y=/X1*/X2*/X3 + /X1*/X2*X3 + X1*/X2*/X3 + X1*/X2*X3 " The expression may be reduced to Y=/X2 but the example " is without this reduction for illustration
Input Pin and Node assignments, Output Pin and Node assignments and Equations "PIN ASSIGNMENTS "Inputs X1 pin 3 X2 pin 4 X3 pin 5 "Outputs and Macro Cell definitions Y pin 19 = pos com feed_pin "Internal Nodes AC node 21 "Asynchronous Clear - not used. SP node 22 "Synchronous Preset - not used. EQUATIONS Y = !X1&!X2&!X3 # !X1&!X2&X3 # X1&!X2&!X3 # X1&!X2&X3
Test Vectors " Y=/X1*/X2*/X3 + /X1*/X2*X3 + X1*/X2*/X3 + X1*/X2*X3 " ( X1 X2 X3 -> Y ) 0 0 0 -> H 0 0 1 -> H 0 1 0 -> L 0 1 1 -> L 1 0 0 -> H 1 0 1 -> H 1 1 0 -> L 1 1 1 -> L
Program: PEEL
Eksempler på *.zip’en V8BUSMUX Multiplexer V8COMP Comperatorer V8CPORT Registrerer tilstandsændringer V8FCNTR 8-bit Tæller V8SYNC Synkronisering af acynkront signal