Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Syntese af kombinatoriske kredsløb

Lignende præsentationer


Præsentationer af emnet: "Syntese af kombinatoriske kredsløb"— Præsentationens transcript:

1 Syntese af kombinatoriske kredsløb
Indhold mm. 2: Standardrepræsentation af logiske funktioner Grafisk minimering, Karnaugh-kort Karnaugh-kort: En overskuelig metode til reduktion af logiske udtryk. Verbal formulering af opgave Verbal formulering af opgave Definition af variable Definition af variable Opstilling af logiske udtryk Opstilling af sandhedstabel Opstilling af logiske udtryk Opstilling af sandhedstabel Reduktion af logiske udtryk Reduktion af logiske udtryk m. Karnaugh Kredsløbsdesign Kredsløbsdesign

2 Syntese af kombinatoriske kredsløb
Eksempel 1: 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)

3 Syntese af kombinatoriske kredsløb
Eksempel 2: Man kan Åbne døren til laboratoriet på hverdage i Dagtimerne hvis man har Adgangskort og på andre tidspunkter, hvis man også har en Kode. Def. af variable: Sandhedstabel: Logisk udtryk: Variabel 1 A Ikke adgangsk. Adgangskort K Ingen kode Kode D Ikke hverdag 8-16 Hverdag 8-16 Å Ikke åbne Åbne A K D Å 1 Å = A*K’*D+A*K*D’+A*K*D = A*(K’*D+K*D’+K*D) = A*(K+D)

4 Standardrepræsentation – Sandhedstabellen
Logisk udtryk som udgangspunkt. X*Y+X’*Z+Y*Z = X*Y+X’*Z Sandhedstabel .. eller ”Perfekt induktion” (prøv alle muligheder i en sandhedstabel) : X Y Z 1 X*Y X’*Z Y*Z Left 1 X*Y X’*Z Right 1 Definitioner: Produkt term: X*Y Sum af produkter: X*Y + X’*Z + Y*Z Sum term: X+Y Produkt af summer: (X+Y) * (X’+Z) * (Y+Z)

5 Standardrepræsentation – ”Sum af produkter”
”Sum af produkter”: ON-set/Minterm Nr. A B C Fun Udtryk 1 A’*B’*C’ 2 3 A’*B*C 4 A*B’*C’ 5 6 A*B*C’ 7 B’*C’ A*C’ Fun = A’*B’*C’ + A’*B*C + A*B’*C’ + A*B*C’ A*B’*C’

6 Standardrepræsentation – ”Produkt af summer”
”Produkt af summer”: OFF-set/Maxterm Nr. A B C Fun Udtryk 1 A+B+C’ 2 A+B’+C 3 4 5 A’+B+C’ 6 7 A’+B’+C’ Fun = (A+B+C’)*(A+B’+C)*(A’+B+C’)*(A’+B’+C’) Kan det nu også være rigtigt? Jeps! (DeMorgan) A*B’*C Fun’ = (A’*B’*C)+(A’*B*C’)+(A*B’*C)+(A*B*C)

7 Standardrepræsentation – ”Minterm & Maxterm”
Nr. A B C Fun Minterm Maxterm 1 A’*B’*C’ A+B+C A’*B’*C A+B+C’ 2 A’*B*C’ A+B’+C 3 A’*B*C A+B’+C’ 4 A*B’*C’ A’+B+C 5 A*B’*C A’+B+C’ 6 A*B*C’ A’+B’+C 7 A*B*C A’+B’+C’ Minterm = ”produkt” (and) af variable. Maxterm = ”sum” (or) af inverterede variable. (= inverteret minterm) To ligeværdige funktions- udtryk: ”Sum af produkter”: minterm’s for Fun = 1 or’et sammen. ”Produkt af summer”: maxterms for Fun = 0 and’et sammen:

8 Standardbetegnelser – ”Gamle” definitioner .. og et par nye.
Literal: A, B, Y’ Variabel eller inverteret variabel. Produktterm: A, B*Y’, A*B’*Y En eller flere literals and’et sammen Normalt produktterm: A, B*Y’, A’*Y Hver literals optræder kun én gang. ”Unormalt prod. term”: A*B’*Y*A’ Sum af produkter: A + B*Y’ + A*B’*Y + A’*B En eller flere produkt termer or’et sammen Sum term: A, B+Y’, A’+B’+Y’ En eller flere literals or’et sammen Normalt sumterm: A, B+Y’, A+Y Hver literals optræder kun én gang. ”Unormalt sumterm”: A+B+Y’+B Produkt af summer: (A+B)*Y’*(B+ A’)*(Y+A’) En eller flere sum termer and’et sammen n- variabel minterm: A*B’*Y, A’*B*Y Produkt term hvor alle literals optræder netop én gang (2n muligheder) n- variabel maxterm: A’+B’+Y, A’+B+Y’ Sum term hvor alle literals optræder netop én gang (2n muligheder)

9 Former for logiske funktioner – Forskellige repræsentationer
Forskellige måder at beskrive en logisk funktion på: Nr. A B R 1 2 3 Eks. En sandhedstabel: En algebraisk sum af produkttermer (min termer): R = A*B’*C+A’*B*C’ En min term-liste på sum-form: Et algebraisk produkt af sum termer (max termer): R = (A+B’+C’)*(A’+B+C) En max term-liste på produktform:

10 Implementering – eksempel
”Sum of products” programmerbart kredsløb. (Wakerly fig. 6-21, side 371) AND-OR eksempel. X = fuses.

11 Minimering af kombinatoriske kredsløb – formål
Formål med minimering (2-niveau AND-OR, OR-AND, NAND-NAND, NOR-NOR): Minimering af antallet af gates i 1. niveau Minimering af antallet af inputs til hver gate i 1. niveau. Minimering af inputs til gaten i 2. niveau. Medtages ikke: Antal invertere inden 1. niveau. Algebraisk minimering oftest baseret på: (T10) X*Y+X*Y´= X (T10’) (X+Y)*(X+Y’)= X Eks: A’*B*C’*D’+A’*B*C*D’ = A’*B*D’*(C+C’) = A’*B*D’

12 Grafisk minimering af kombinatoriske kredsløb
Sandhedstabel Gray-kodet sandhedstabel - et skridt på vejen Nr. A B C R Min.t. 1 2 A’*B*C’ 3 A’*B*C 4 5 6 A*B*C’ 7 A*B*C Nr. A B C R Min.t. 1 3 A’*B*C 2 A’*B*C’ 6 A*B*C’ 7 A*B*C 5 4 B B A Ved at ordne sandhedstabellen således at inputs fremstår som værende Gray encoded opnår vi den fornøjelige situation, at kun ét input ændres når der skiftes fra en input state til en ”nabo” state .... Regler for Gray kode på side 52.

13 Grafisk minimering – Karnaugh-kort
Karnaugh-kort: Gray-kodet sandhedstabel på matrixform: 2 Variable (R=A*B’+A’*B) 3 Variable B MSB A A B AB C LSB 1 00 01 11 10 1 2 1 3 2 6 4 1 3 7 5 1 1 Funktionsværdi Celle-nummer = binær værdi af ABC (kan udelades) A*B’*C

14 Grafisk minimering – Karnaugh-kort
Karnaugh-kort: Gray-kodet sandhedstabel på matrixform: 4 Variable B MSB A A’*B*C’*D A*B*C’*D AB CD 00 01 11 10 1 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 00 01 11 10 LSB D A’*B*C’*D + A*B*C’*D + A’*B*C*D + A*B*C*D = B*D C A’*B*C*D A*B*C*D

15 Karnaugh-kort – rektangler
Rektangler i Karnaugh-kort: 4 Variable B N variable giver 2N celler Rektangel på 2K * 2M (= 2K+M)celler (K = 0, 1, 2, M = 0, 1, 2, 3...) kan udtrykkes ved N-K-M literals A AB CD 00 01 11 10 1 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 00 01 11 10 D K = 1, M = 1 Antal literals = N-K-M = = 2 B*C’ C Store rektangler  simple udtryk Med N=4 kan rektanglerne KUN tage form af enten 1x1, 1x2, 1x4, 2x2, eller 4x4.

16 Karnaugh-kort – rektangler
Eksempler på ”rektangler”: B F A F = B*C’ + C’*D + B*D + B’*C*D’ AB CD 00 01 11 10 1 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 00 01 11 10 B*C’ C’*D D B*D C B’*C*D’ En ”complete sum” er en legal løsning men resultere ikke altid i en minimum løsning! Rektangler må gerne overlappe. Naboceller  kun én variabel skifter

17 Karnaugh-kort – rektangler
Eksempler på ”rektangler”-2: B A AB CD 00 01 11 10 1 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 00 01 11 10 B’*D’ A’*C’*D D ???????? (Ikke legal!!) B*D C A*B’*C*D’

18 Karnaugh-kort – definitioner
Prime implicant: Et normalt produktterm, for hvilket det gælder, at hvis en variabel fjernes kan den ikke bruges til at realisere funktionen. Med andre ord: Et rektangel omfattende et antal 1-taller, der er så stort, at hvis vi laver rektang- let større kommer det til at includere et eller flere 0’er. Distinguished 1-cell: (Grå baggrund) En celle indeholdende et 1-tal, der kun dækkes af én prime implicant. B F A AB CD Essential prime implicant: En prime implicant, der indeholder mindst en distinguished 1-cell. Som navnet antyder er disse essentielle for funktionen og SKAL derfor altid medtages. 00 01 11 10 1 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 00 01 11 10 Eks. på en ikke-prime implicant: Denne 1x2 celle er IKKE en prime implicant da den jo kan udvides til den røde 2x2 rektangel uden at der kommer ’0’ med i feltet. Dette 1x2 felt vil derfor ikke blive brugt !!! D C

19 Karnaugh-kort – procedure
Lav en sandhedstabel (eller et logisk udtryk) Lav Karnaugh-kortet ud fra sandhedstabellen (eller det logiske udtryk) Tegn så få og så store rektangler som muligt for at dække 1-tallerne Find de essentielle termer (ud fra distinguished 1-cells) Lav et reduceret kort Fjern de unødvendige termer Vælg så få og så store termer af de resterende som muligt Wakerly fig. 4-35

20 Karnaugh-kort – eksempel
Hvordan gik det egentlig med vores fisketur ??? 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)

21 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

22 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

23 Karnaugh-kort med 5 variable
5 Variable, Wakerly fig. X4.59

24 Karnaugh-kort med 5 variable
5 Variable, Wakerly fig. X4.59 Rektangler  Kasser

25 Karnaugh-kort med 6 variable
CD 00 01 11 10 AB CD 00 01 11 10 00 01 11 10 AB CD 00 01 11 10 00 01 11 10 AB CD 00 01 11 10 00 01 11 10 00 01 11 10 EF = 10 EF = 11 EF = 01 EF = 00 For situationer hvor mere end 5 variable (literals) skal i brug, er Karnaugh-kort metoden ikke god.

26 ”Produkt af summer” Indtil nu har vi kun set på sum af produkter .. og dermed altså min. termer. Vi kan også bruge Karnaugh-kort til reducering af produkt af summer istedet. Metode 1: Man lader som om 0 er 1 og når man laver formel udtrykket bruger man produkt af max-termer i stedet for sum af min-termer. B F A AB CD 00 01 11 10 1 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 00 01 11 10 F = (A+B) * (B+C) * (A+C’+D) * (B’+C’+D) D C

27 ”Produkt af summer” 1 1 Metode 2: Man finder ”sum af produkter” af F’
Man konverterer til ”produkter af summer” v.h.a. DeMorgan F = (A+B)*(B+C)*(A+C’+D)*(B’+C’+D) F’ = A’*B’ + B’*C’ + A’*C*D’ + B*C*D’ B B F F’ A A AB CD AB CD 00 01 11 10 1 00 01 11 10 1 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 00 01 11 10 00 01 11 10 D D C C

28 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 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

29 Flere udgange Hidtil har vi antaget at multible-output kredsløb designes som uafhængige single-output kredsløb. Det giver pålidelige løsninger og er den lette og sikre vej til et funktionelt kredsløb for designeren uden den store erfaring. Hvis der skal mange udgange til bliver dette dog hurtigt en kostbar løsningsmodel .. her må andre metoder træde til. Som et eksempel på en situationer hvor man ønsker flere udgange (funktioner) ud fra de samme variable har vi 7-segment displaydriveren. Her har vi 4 indgange og baseret på disse skal vi styre 7 udgange. Rationaliseringer er mulige i nogle tilfælde .. og det ligefrem direkte fra de logiske udtryk: X = A*B*C’ + A*B’*C Y = A’*B + A*B’*C Z = A’*B + B*C’ Defineres L = (A’*B)’ og M = (A*B’*C)’ kan vi omskrive disse udtryk med max. genbrug X = A*B*C’ + M’ Y = L’ + M’ Z = L’ + B*C’

30 Flere udgange Også til minimering af multible-output kan Karnaugh-kort bruges. Også her gælder dog, at ved ret mange outputs bliver det stadigt sværere at finde det sjove i opgaven.

31 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

32 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

33 Tomme Karnaugh-kort A B 1 2 1 3 1 00 01 11 10 4 12 8 1 5 13 9 3 7 15
1 2 1 3 1 00 01 11 10 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 00 01 11 10 B A AB C 00 01 11 10 2 6 4 1 3 7 5 1

34 Tomme Karnaugh-kort 00 01 11 10 00 01 11 10 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 00 01 11 10 00 01 11 10


Download ppt "Syntese af kombinatoriske kredsløb"

Lignende præsentationer


Annoncer fra Google