1 / 34

Syntese af kombinatoriske kredsløb

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.

Download Presentation

Syntese af kombinatoriske kredsløb

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation 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: Å = 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) : Definitioner: Sum term: X+Y Produkt af summer: (X+Y) * (X’+Z) * (Y+Z) Produkt term: X*Y Sum af produkter: X*Y + X’*Z + Y*Z

  5. Standardrepræsentation – ”Sum af produkter” A*B’*C’ ”Sum af produkter”: ON-set/Minterm B’*C’ A*C’ Fun = A’*B’*C’ + A’*B*C + A*B’*C’ + A*B*C’

  6. Standardrepræsentation – ”Produkt af summer” 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) ”Produkt af summer”: OFF-set/Maxterm Fun = (A+B+C’)*(A+B’+C)*(A’+B+C’)*(A’+B’+C’)

  7. Standardrepræsentation – ”Minterm & Maxterm” 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å: 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 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 Funktionsværdi Celle-nummer = binær værdi af ABC (kan udelades) A*B’*C

  14. Grafisk minimering – Karnaugh-kort A’*B*C’*D A*B*C’*D A’*B*C’*D + A*B*C’*D + A’*B*C*D + A*B*C*D = B*D A’*B*C*D A*B*C*D Karnaugh-kort: Gray-kodet sandhedstabel på matrixform: 4 Variable B MSB A AB CD LSB D C

  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, 3... M = 0, 1, 2, 3...) kan udtrykkes ved N-K-M literals A AB CD D K = 1, M = 1 Antal literals = N-K-M = 4-1-1 = 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 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 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. 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 • 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 M L P N Minimodul 1 opg. 5.b: M LM NP L LM NP 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 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 For situationer hvor mere end 5 variable (literals) skal i brug, er Karnaugh-kort metoden ikke god. 6 Variable: AB CD AB CD AB CD AB CD EF = 10 EF = 11 EF = 01 EF = 00

  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 F = (A+B) * (B+C) * (A+C’+D) * (B’+C’+D) D C

  27. ”Produkt af summer” • 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 D D C C

  28. Specialtilfælde – ”Don’t care”s Inputs Vis-ning A B C D 0 0 0 0 0 don’t care = d = X = Ø 0 0 0 1 1 0 0 1 0 2 0 0 1 1 3 0 1 0 0 4 0 1 0 1 5 0 1 1 0 6 0 1 1 1 7 1 0 0 0 8 1 0 0 1 9 Andre komb. X 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: B Segment d A AB CD a  f b g e c d 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 I0 2-to-4 decoder: Y3 I1 I1I0 EN Y3 = EN*I0*I1 I0 Y2 I1 I1I0 EN 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. Y2 = EN*I0’*I1

  32. 2-to-4 decoder I0 I1 EN Y0 Y1 Y2 Y3 Eksempel på et kombinatorisk kredsløb 2-to-4 decoder: (fortsat) Komponent Kredsløbsimplementering

  33. Tomme Karnaugh-kort A B B A AB C

  34. Tomme Karnaugh-kort

More Related