Hvordan man bygger logiske kredsløb. Logiske kredsløb og logiske udtryk

Et eksempel på løsning af logiske problemer ved hjælp af logisk algebra

Logik

Logisk kredsløb er en skematisk fremstilling af en enhed, der består af kontakter og ledere, der forbinder dem, samt ind- og udgange, hvortil et elektrisk signal tilføres og fjernes.

Hver switch har kun to tilstande: lukket Og åben. Vi forbinder switch X med en logisk variabel x, som tager værdien 1 hvis og kun hvis switch X er lukket og kredsløbet leder strøm; hvis kontakten er åben, så er x nul.

De to ordninger kaldes tilsvarende , hvis en strøm passerer gennem en af ​​dem, hvis og kun hvis den passerer gennem den anden (for det samme indgangssignal).

Af to ækvivalente kredsløb er det enklere kredsløb det, hvis konduktansfunktion indeholder et mindre antal logiske operationer eller kontakter.

Når man overvejer at skifte kredsløb, opstår der to hovedproblemer: syntese Og analyse ordning.

SYNTESE AF ORDNINGEN i henhold til de givne driftsbetingelser reduceres til følgende tre faser:

  1. kompilering af en konduktivitetsfunktion ved hjælp af en sandhedstabel, der afspejler disse forhold;
  2. forenkling af denne funktion;
  3. at lave et passende diagram.

SKEMAANALYSE kommer ned til:

  1. at bestemme værdierne af dens ledningsevnefunktion for alle mulige sæt af variabler inkluderet i denne funktion.
  2. opnå en forenklet formel.

Opgave: Opret en sandhedstabel for denne formel: (x ~ z) | ((x y) ~ (y z)).

Løsning: Det er nyttigt at inkludere sandhedstabeller med mellemfunktioner i sandhedstabellen for denne formel:

xyz x~z x y y z (x y) ~ (y z) (x~ z)|((x y) ~ (yz)

Retningslinjer for udførelse af praktisk opgave nr. 2. "Logikkens algebra". Konstruktion af sandhedstabeller.

Målet med arbejdet: Gør dig bekendt med grundlæggende aritmetiske operationer, grundlæggende logiske elementer (AND, NAND, OR, NOR, XOR) og studere metoder til at konstruere sandhedstabeller baseret på dem.

Dyrke motion:

1. I bilag 2 skal du vælge en opgavemulighed og skrive sandhedstabel .

2. Fuldfør opgaven ved at bruge eksemplet med løsning af logiske problemer ved hjælp af logisk algebra.

Opgave:

Konstruer et logisk kredsløb ved hjælp af et givet boolsk udtryk:



F =`BA + B`A + C`B.

Løsning:

Som regel udføres konstruktionen og beregningen af ​​ethvert kredsløb fra dets output.

Første etape: logisk tilføjelse, logisk ELLER-operation udføres, idet funktionerne 'B A, B'A og C'B betragtes som inputvariable:

Anden fase: AND logiske elementer er forbundet med OR-elementets input, hvis inputvariable allerede er A, B, C og deres inverse:

Tredje etape: for at opnå inversioner `A og `B, er invertere installeret på de tilsvarende indgange:

Denne konstruktion er baseret på følgende egenskab: da værdierne af logiske funktioner kun kan være nuller og ettaller, kan alle logiske funktioner repræsenteres som argumenter til andre mere komplekse funktioner. Således udføres konstruktionen af ​​et logisk kredsløb fra output til input.

Retningslinjer for udførelse af praktisk opgave nr. 3. "Logikkens algebra". Konstruktion af logiske kredsløb

Målet med arbejdet: Sæt dig ind i de grundlæggende aritmetiske operationer, grundlæggende logiske elementer (AND, NAND, OR, NOR, XOR) og undersøgelsesmetoder til at konstruere de enkleste logiske kredsløb baseret på dem.

Dyrke motion:

1. I bilag 2 skal du vælge opgavemuligheden og bygge logisk kredsløb .

2. Fuldfør opgaven ved at bruge et eksempel på konstruktion af logiske kredsløb.

3. Forbered arbejdet i en notesbog til praktisk arbejde.

4. Præsenter resultatet af arbejdet for læreren.

5. Forsvar det færdige arbejde over for læreren.

Bilag 2. Tabel over opgavemuligheder

Opret en sandhedstabel og et logikdiagram for disse operationer
Mulighed Operationer

4. Individuel opgave. Modul 1. "Konstruktion af logiske kredsløb ved hjælp af givne booleske udtryk"

Opgaver til IDZ:

  1. I bilag 3 vælges muligheden for en individuel opgave.
  2. Fuldfør opgaven ved hjælp af teoretisk information
  3. Tjek logikdiagrammet med en vejleder.
  4. Udfyld IDZ i A4-format, titelblad i henhold til eksemplet i bilag 4.
  5. Præsenter resultatet af arbejdet for læreren.
  6. Præsenter dit arbejde for læreren.

Bilag 3. Tabel over muligheder for individuelle opgaver

Muligheder Opret en sandhedstabel og et logikdiagram ved hjælp af formler

Bilag 4. IDZ's titelside

Sektioner: Computer videnskab

Mål:

1. Pædagogisk

  • Grundlæggende logiske operationer.
  • Konstruktion af sandhedstabeller til komplekse udsagn.
  • Logiske kredsløb og logiske udtryk.

2. Udviklingsmæssigt

  • Udvikling af forsknings- og uddannelsesaktiviteter.
  • Svar kort, fuldstændigt og meningsfuldt og drag generelle konklusioner.

3. Pædagogisk

  • Dannelse af nøjagtighed, når du arbejder med en computer.
  • Forståelse af sammenhænge mellem andre elever og adfærdskultur.

Lektionstype: kombineret

Metoder til organisering af uddannelsesaktiviteter:

  • frontal
  • individuel
  • computer studerende

Software og undervisningssoftware: PC, oplæg, praktisk opgave, handouts, Electronics Workbench (EWB512), PowerPoint.

UNDER UNDERVISNINGEN

I. Organisatorisk øjeblik.

II. Opdatering af tidligere studeret materiale og tjekke lektier.

Opgaver, der skal løses i notesbog og ved tavlen.

nr. 1. Opret sandhedstabeller for følgende logiske udtryk:

nr. 3. Tegn de logiske elementer AND, OR, NOT, NAND, NOR på tavlen.

III. Nyt materiale.

Forskere og ingeniører har længe tænkt over mulighederne for at bruge logik i teknologi. For eksempel skrev den hollandske fysiker Paul Ehrenfest (1880 - 1933) tilbage i 1910: "...Lad der være et design for ledningsdiagrammet for en automatisk telefoncentral. Vi skal bestemme:

1) om det vil fungere korrekt under enhver kombination, der kan forekomme under driften af ​​anlægget;
2) om det indeholder unødvendige komplikationer.

Hver sådan kombination er en forudsætning, hver lille kommutator er et logisk "enten-eller" inkorporeret i ebonit og messing; alt sammen - et system af rent kvalitative... "præmisser", der ikke lader noget tilbage at ønske med hensyn til kompleksitet og indviklethed... Er det rigtigt, at trods eksistensen af ​​logikkens algebra, en slags "fordelingsalgebra" kredsløb” skal betragtes som en utopi?

Skabt senere af M.A. Gavrilov (1903 - 1979) teorien om relækontaktkredsløb viste, at dette slet ikke er en utopi.

Lad os se på mikrokredsløbet. Ved første øjekast ser vi ikke noget, der ville overraske os!
Men hvis vi ser på det i høj forstørrelse, vil det forbløffe os med sin slanke arkitektur. For at forstå, hvordan det fungerer, skal du huske, at en computer kører på elektricitet, det vil sige, at enhver information præsenteres i computeren i form af elektriske impulser.

Hvorfor er det nødvendigt at kunne bygge logiske kredsløb?

Faktum er, at porte bruges til at lave mere komplekse kredsløb, der giver dig mulighed for at udføre aritmetiske operationer og gemme information. Desuden kan et kredsløb, der udfører visse funktioner, konstrueres ud fra forskellige kombinationer og antal porte. Derfor er vigtigheden af ​​en formel repræsentation af et logisk diagram ekstremt stor. Det er nødvendigt, så udvikleren har mulighed for at vælge den bedst egnede mulighed for at konstruere et kredsløb fra porte. Processen med at udvikle det generelle logiske kredsløb for en enhed (inklusive computeren som helhed) bliver hierarkisk, og på hvert efterfølgende niveau bruges de logiske kredsløb, der er oprettet i det foregående trin, som "byggesten".
Algebra of logic gav designere et kraftfuldt værktøj til at udvikle, analysere og forbedre logiske kredsløb. Faktisk er det meget nemmere, hurtigere og billigere at studere egenskaberne og bevise den korrekte funktion af et kredsløb ved hjælp af en formel, der udtrykker det, end at skabe en rigtig teknisk enhed. Dette er netop meningen med enhver matematisk modellering.

Logiske kredsløb skal bygges af det mindst mulige antal elementer, hvilket igen sikrer større driftshastighed og øger enhedens pålidelighed.

Regel for konstruktion af logiske kredsløb:

1) Bestem antallet af logiske variable.
2) Bestem antallet af grundlæggende logiske operationer og deres rækkefølge.
3) Tegn den tilsvarende port for hver logisk operation og tilslut portene i den rækkefølge, som de logiske operationer udføres.

Overvej to eksempler på overgangen fra udtryk til skema. (Præsentation)

Overvej to eksempler på overgangen fra skema til udtryk. (Præsentation)

Oftere i livet opstår en situation, når resultatet er kendt, og for at implementere det er det nødvendigt at bygge en enhed.

Overvej følgende problem: (præsentation)

Opgave 1. I et to-etagers hus er trappen oplyst af én lampe X. På første sal er der én kontakt A, på anden sal - kontakt B. Hvis A er tændt, lyser lampen. Når du går op på anden sal og tænder for B, slukker lampen. Hvis nogen går ud og trykker på B, så tænder lampen, når man går ned på første sal og trykker på A, skal lampen slukke.

Løsningsalgoritme:

  • Lav en sandhedstabel.
  • Definer en logisk funktion.
  • Konstruer et logisk diagram.
EN B x
0 0 0
1 0 1
1 1 0
0 1 1
0 0 0

For at oprette en logisk funktion ved hjælp af en sandhedstabel skal du registrere værdierne af outputvariablen.

Mellem rækkerne i tabellen vil der være et logisk additionstegn, og mellem kolonnerne vil der være et logisk multiplikationstegn .

IV. Konsolidering af det undersøgte materiale.

Arbejd ved tavlen og i en notesbog ved hjælp af kort.

nr. 1. Konstruer et logisk kredsløb ved hjælp af et logisk udtryk:

nr. 2. Brug det logiske diagram til at oprette et logisk udtryk:

V. Computerværksted.

Praktisk arbejde med Electronics Workbench (EWB512).

Mulighed 1

1. Forenkle det logiske udtryk

2. Tjek dit arbejde ved hjælp af Electronics Workbench:

Skriv det oprindelige udtryk i Logic Converter;
- Lav en sandhedstabel
- Forenkle udtrykket vha
- Byg et forenklet logisk kredsløb .

3. Kontroller rigtigheden af ​​de udførte forenklinger.

VI. Lektier:

a) forenkle det logiske udtryk, opbygge et logisk kredsløb og en sandhedstabel
b) ved hjælp af sandhedstabellen (00001011), komponer et udtryk, forenkle det, tegn et diagram.

Laboratoriearbejde nr. 2. Logikkens algebra

Målet med arbejdet

Lær det grundlæggende i logisk algebra.

Laboratorieopgaver

Som et resultat af at gennemføre lektionen skal eleven:

    • definitioner af grundlæggende begreber (enkle og komplekse udsagn, logiske operationer, logiske udtryk, logisk funktion);
    • rækkefølgen for udførelse af logiske operationer;
    • algoritme til at konstruere sandhedstabeller;
    • kredsløb af grundlæggende logiske elementer;
    • logiske love og regler for transformation af logiske udtryk;
    • anvende logiske porte for at forenkle logiske udtryk;
    • bygge sandhedstabeller;
    • bygge logiske diagrammer af komplekse udtryk.

Generel teoretisk information

Grundlæggende begreber i logisk algebra

Det logiske grundlag for en computer er logikkens algebra, som betragter logiske operationer på udsagn.

Algebra af logik er en gren af ​​matematikken, der studerer udsagn, der betragtes ud fra deres logiske betydninger (sandhed eller falsk) og logiske operationer på dem.

Logisk udsagn er enhver deklarativ sætning, der utvetydigt kan siges at være sand eller falsk.

Eksempel."3 er et primtal" er et forslag, fordi det er sandt.

Ikke hver sætning er et logisk udsagn.

Eksempel. sætningen "Lad os gå i biografen" er ikke en ytring. Forespørgende og motiverende sætninger er ikke udsagn.

Udtryksform er en deklarativ sætning, der direkte eller indirekte indeholder mindst én variabel og bliver til et udsagn, når alle variable erstattes af deres værdier.

Eksempel."x+2>5" er en udtryksform, der er sand for x>3, ellers falsk.

Logikkens algebra betragter ethvert udsagn fra kun ét synspunkt - uanset om det er sandt eller falsk. Ord og vendinger "ikke", "og", "eller", "hvis..., så", "dengang og kun da" og andre giver dig mulighed for at konstruere nye udsagn ud fra allerede givne udsagn. Sådanne ord og sætninger kaldes logiske forbindelser.

Udsagn dannet ud fra andre udsagn ved hjælp af logiske forbindelser kaldes sammensatte(kompliceret). Udsagn, der ikke er sammensatte, kaldes elementære(enkel).

Eksempel. Udsagnet "Tallet 6 er deleligt med 2" er et simpelt udsagn. Udsagnet "Tallet 6 er divideret med 2, og tallet 6 er divideret med 3" er et sammensat udsagn dannet af to simple ved hjælp af det logiske bindeled "og".

Sandheden eller falskheden af ​​sammensatte udsagn afhænger af sandheden eller falskheden af ​​de elementære udsagn, som de er sammensat af.

For at henvise til logiske udsagn får de navne.

Eksempel. Lad os betegne med A det simple udsagn "tallet 6 er deleligt med 2", og med B det simple udsagn "tallet 6 er divideret med 3". Så kan det sammensatte udsagn "Tallet 6 er deleligt med 2, og tallet 6 er deleligt med 3" skrives som "A og B". Her er "og" en logisk forbindelse, A, B er logiske variable, der kun kan tage to værdier - "sand" eller "falsk", betegnet henholdsvis "1" og "0".

Hver logisk forbindelse betragtes som en operation på logiske udsagn og har sit eget navn og betegnelse (tabel 1).

Tabel 1. Grundlæggende logiske operationer


IKKE
Operationen udtrykt med ordet "ikke" kaldes afslag og er angivet med en linje over udsagnet (eller tegnet). Udsagnet A er sandt, når A er falsk, og falsk, når A er sandt.

Eksempel. Lad A = "Det er overskyet i dag," så A = "Det er ikke overskyet i dag."

OG Operationen udtrykt ved det forbindende "og" kaldes konjunktion(latinsk conjunctio - forbindelse) eller logisk multiplikation og er angivet med en prik " " (kan også angives med tegn eller &). Udsagn A B er sand, hvis og kun hvis begge udsagn A og B er sande.

Eksempel. Udsagnet "tallet 6 er deleligt med 2, og tallet 6 er deleligt med 3" er sandt, men udsagnet "tallet 6 er deleligt med 2, og tallet 6 er større end 10" er falsk.

ELLER Operationen udtrykt ved det bindende "eller" (i ordets ikke-eksklusive betydning) kaldes disjunktion(lat. disjunctio - division) eller logisk tilføjelse og er angivet med tegnet

(eller et plus). Et udsagn A B er falsk, hvis og kun hvis både udsagn A og B er falsk.

Eksempel: Udsagnet "Tallet 6 er deleligt med 2 eller tallet 6 er større end 10" er sandt, og udsagnet "Tallet 6 er deleligt med 5 eller tallet 6 er større end 10" er falsk.

HVIS SÅ Operationen udtrykt af bindeleddene "hvis ... så", "fra ... følger", "... antyder ..." kaldes implikation(latin implico - nært beslægtet) og er angivet med tegnet →. Udsagnet A→B er falsk, hvis og kun hvis A er sandt, og B er falsk.

Eksempel. Ordsproget "hvis en studerende består alle eksamener med fremragende karakterer, vil han modtage et stipendium." Det er klart, at denne implikation kun skal anerkendes som falsk i det tilfælde, hvor den studerende bestod alle eksamener med "excellence", men ikke modtog et stipendium. I andre tilfælde, når ikke alle eksamener blev bestået "fremragende", og et stipendium blev modtaget (f.eks. på grund af at eleven bor i en lavindkomstfamilie), eller når eksamenerne slet ikke blev bestået, og der ikke er spørgsmålet om et stipendium, kan implikationen betragtes som sand.

LIGELIG Operationen udtrykt af bindeleddene "hvis og kun da", "nødvendig og tilstrækkelig", "... svarer til ..." kaldes tilsvarende eller dobbelt implikation og er angivet med ↔ eller ~. Udsagnet A↔B er sandt, hvis og kun hvis værdierne af A og B er sammenfaldende.

Eksempel: Udsagnet "Et tal er lige hvis og kun hvis det er deleligt med 2 uden en rest" er sandt, og udsagnet "Et tal er ulige, hvis og kun hvis det er deleligt med 2 uden en rest" er falsk.

ELLER ENTEN Operationen udtrykt af bindeleddene "Enten ... eller" kaldes eksklusiv ELLER eller addition modulo 2 og er angivet med XOR eller . Udsagnet A B er sandt, hvis og kun hvis værdierne af A og B ikke er sammenfaldende.

Eksempel. Udsagnet "Tallet 6 er enten ulige eller deleligt med 2" er sandt, og udsagnet "Enten er tallet 6 lige eller tallet 6 er deleligt med 3" er falsk, da begge udsagn, der er inkluderet i det, er sande.

Kommentar. Implikationen kan udtrykkes gennem disjunktion og negation:

Ækvivalens kan udtrykkes gennem negation, disjunktion og konjunktion:

Eksklusiv ELLER kan udtrykkes gennem negation, disjunktion og konjunktion:

Konklusion. Operationerne negation, disjunktion og konjunktion er tilstrækkelige til at beskrive og behandle logiske udsagn.

Rækkefølgen af ​​logiske operationer er angivet i parentes. Men for at reducere antallet af parenteser blev vi enige om at antage, at først udføres negationsoperationen ("ikke"), derefter konjunktion ("og"), efter konjunktion - disjunktion ("eller") og eksklusiv eller, og til sidst, implikation og ækvivalens.

Ved hjælp af logiske variabler og symboler for logiske operationer kan enhver erklæring formaliseres, det vil sige erstattet med en logisk formel (logisk udtryk).

Logisk formel er en symbolsk registrering af et udsagn bestående af logiske størrelser (konstanter eller variable) forenet af logiske operationer (forbindelser).

Logisk funktion er en funktion af logiske variable, der kun kan tage to værdier: 0 eller 1. Til gengæld kan den logiske variabel selv (argumentet for en logisk funktion) også kun tage to værdier: 0 eller 1.

Eksempel. – logisk funktion af to variable A og B.

Værdierne af en logisk funktion for forskellige kombinationer af værdier af inputvariabler - eller, som de ellers kaldes, sæt af inputvariabler - er normalt specificeret i en speciel tabel. Denne tabel kaldes sandhedstabel.

Lad os præsentere sandhedstabellen over grundlæggende logiske operationer (tabel 2)

tabel 2

EN B

Baseret på sandhedstabeldata for grundlæggende logiske operationer kan sandhedstabeller kompileres til mere komplekse formler.

Algoritme til at konstruere sandhedstabeller for komplekse udtryk:

  • antal linjer = 2 n + overskriftslinje,
  • n er antallet af simple udsagn.
  • antal kolonner = antal variable + antal logiske operationer;
  • bestemme antallet af variable (enkle udtryk);
  • bestemme antallet af logiske operationer og rækkefølgen af ​​deres udførelse.

Eksempel 1. Opret en sandhedstabel for OG–NOT-formlen, som kan skrives som følger: .

1. Bestem antallet af linjer:

Der er to simple udsagn ved indgangen: A og B, så n=2 og antallet af linjer =2 2 +1=5.

2. Bestem antallet af kolonner:

Udtrykket består af to simple udtryk (A og B) og to logiske operationer (1 inversion, 1 konjunktion), dvs. antal kolonner i sandhedstabel = 4.

3. Udfyld kolonnerne under hensyntagen til sandhedstabellerne for logiske operationer (Tabel 3).

Tabel 3. Sandhedstabel for logisk operation


Bemærk: OG–IKKE
også kaldet "Schaffers slagtilfælde"(betegn |) eller "anti-konjunktion"; ELLER NEJ også kaldet "Pierces pil"(angivet med ↓) eller "anti-disjunktion".


Eksempel 2.
Lav en sandhedstabel for et logisk udtryk.


Løsning:

1. Bestem antallet af linjer:

Inputtet indeholder to simple udsagn: A og B, så n=2 og antal linjer=2 2 +1= 5.

2. Bestem antallet af kolonner:

Udtrykket består af to simple udtryk (A og B) og fem logiske operationer (2 inversioner, 2 konjunktioner, 1 disjunktion), dvs. antal sandhedstabelkolonner = 7.

Først udføres inversionsoperationerne, derefter konjunktionsoperationerne og til sidst disjunktionsoperationen.

3. Udfyld kolonnerne under hensyntagen til sandhedstabellerne for logiske operationer (tabel 5).

Tabel 5. Sandhedstabel for logisk operation
Da enhver logisk operation kan repræsenteres som en kombination af tre grundlæggende, kan enhver computerenhed, der behandler eller lagrer information, samles ud fra grundlæggende logiske elementer, såsom "klodser".

De logiske elementer i en computer fungerer med signaler, der er elektriske impulser. Der er en puls - den logiske betydning af signalet er 1, ingen puls - 0. Signalværdier af argumenterne modtages ved indgangene til det logiske element, og funktionens signalværdi vises ved udgangen.

Signaltransformationen af ​​et logisk element er specificeret af en tilstandstabel, som faktisk er en sandhedstabel svarende til en logisk funktion, kun præsenteret i form af logiske kredsløb. I denne form er det praktisk at skildre kæder af logiske operationer og udføre deres beregninger.

Algoritme til konstruktion af logiske kredsløb.

  1. Bestem antallet af logiske variable.
  2. Bestem antallet af logiske operationer og deres rækkefølge.
  3. Tegn det tilsvarende logiske element for hver logisk operation.
  4. Forbind logiske elementer i den rækkefølge, logiske operationer udføres i.

Eksempel. Konstruer et logisk kredsløb ud fra en given logisk funktion.

Løsning.

  1. Antal logiske variable = 2 (A og B).
  2. Antal operationer = 5 (2 inversioner, 2 konjunktioner, 1 disjunktion). Først udføres inversionsoperationerne, derefter konjunktionsoperationerne og til sidst disjunktionsoperationen.
  3. Kredsløbet vil indeholde 2 invertere, 2 konjunktorer og 1 disjunktor.
  4. Byggeriet skal begynde med en logisk operation, som skal udføres sidst. I dette tilfælde er en sådan operation logisk addition, derfor skal outputtet være en disjunktor. Signaler leveres til den fra to stik, som igen forsynes med et normalt og et inverteret indgangssignal (fra invertere).


Relateret information.


I digitale kredsløb er et digitalt signal et signal, der kan antage to værdier, betragtet som en logisk "1" og en logisk "0".

Logiske kredsløb kan indeholde op til 100 millioner input, og sådanne gigantiske kredsløb findes. Forestil dig, at den boolske funktion (ligning) af et sådant kredsløb gik tabt. Hvordan gendanner man det med det mindste tab af tid og uden fejl? Den mest produktive måde er at opdele diagrammet i etager. Med denne metode registreres outputfunktionen for hvert element i det foregående lag og erstattes af det tilsvarende input i det næste lag. I dag vil vi overveje denne metode til at analysere logiske kredsløb med alle dens nuancer.

Logiske kredsløb implementeres ved hjælp af logiske elementer: "NOT", "AND", "OR", "AND-NOT", "OR-NOT", "XOR" og "Equivalence". De første tre logiske elementer giver dig mulighed for at implementere enhver, uanset hvor kompleks, logisk funktion på en boolesk basis. Vi vil løse problemer på logiske kredsløb implementeret præcist på en boolesk basis.

Flere standarder bruges til at udpege logiske elementer. De mest almindelige er amerikansk (ANSI), europæisk (DIN), international (IEC) og russisk (GOST). Nedenstående figur viser betegnelserne for logiske elementer i disse standarder (for at forstørre kan du klikke på figuren med venstre museknap).

I denne lektion vil vi løse problemer på logiske kredsløb, hvor logiske elementer er udpeget i GOST-standarden.

Logiske kredsløbsproblemer er af to typer: opgaven med at syntetisere logiske kredsløb og opgaven med at analysere logiske kredsløb. Vi starter med den anden type opgave, da vi i denne rækkefølge hurtigt kan lære at læse logiske kredsløb.

Oftest, i forbindelse med konstruktionen af ​​logiske kredsløb, betragtes funktionerne i logisk algebra:

  • tre variable (vil blive overvejet i analyseopgaver og i et synteseproblem);
  • fire variable (i synteseproblemer, det vil sige i de sidste to afsnit).

Lad os overveje konstruktionen (syntesen) af logiske kredsløb

  • i det booleske grundlag "AND", "OR", "NOT" (i næstsidste afsnit);
  • i de også almindelige baser "AND-NOT" og "OR-NOT" (i sidste afsnit).

Problem med logisk kredsløbsanalyse

Analysens opgave er at bestemme funktionen f, implementeret af et givet logisk kredsløb. Når du løser et sådant problem, er det praktisk at overholde følgende rækkefølge af handlinger.

  1. Det logiske diagram er opdelt i lag. Niveauer tildeles fortløbende numre.
  2. Udgangene for hvert logisk element er betegnet med navnet på den ønskede funktion, udstyret med et digitalt indeks, hvor det første ciffer er rækkenummeret, og de resterende cifre er serienummeret på elementet i rækken.
  3. For hvert element skrives et analytisk udtryk, der forbinder dets outputfunktion med inputvariablerne. Udtrykket bestemmes af den logiske funktion implementeret af det givne logiske element.
  4. Substitution af nogle outputfunktioner gennem andre udføres, indtil der opnås en boolsk funktion, udtrykt i inputvariabler.

Eksempel 1.

Løsning. Vi opdeler det logiske kredsløb i lag, som allerede er vist på figuren. Lad os skrive alle funktionerne ned, startende fra 1. niveau:

x, y, z :

x y z f
1 1 1 0 1 1 1 1
1 1 0 0 0 0 1 0
1 0 1 0 0 0 1 0
1 0 0 0 0 0 1 0
0 1 1 0 0 0 1 0
0 1 0 0 0 0 1 0
0 0 1 0 0 0 1 0
0 0 0 1 0 1 0 0

Eksempel 2. Find den boolske funktion af et logisk kredsløb og konstruer en sandhedstabel for det logiske kredsløb.

Eksempel 3. Find den boolske funktion af et logisk kredsløb og konstruer en sandhedstabel for det logiske kredsløb.


Vi fortsætter med at søge efter den boolske funktion af det logiske kredsløb sammen

Eksempel 4. Find den boolske funktion af et logisk kredsløb og konstruer en sandhedstabel for det logiske kredsløb.

Løsning. Vi opdeler det logiske diagram i lag. Lad os skrive alle funktionerne ned, startende fra 1. niveau:

Lad os nu skrive alle funktionerne ned og erstatte inputvariablerne x, y, z :

Som et resultat får vi den funktion, som det logiske kredsløb implementerer ved udgangen:

.

Sandhedstabel for dette logiske kredsløb:

x y z f
1 1 1 0 1 1
1 1 0 0 1 1
1 0 1 1 0 1
1 0 0 0 0 0
0 1 1 0 1 1
0 1 0 0 1 1
0 0 1 0 1 1
0 0 0 0 1 1

Eksempel 5. Find den boolske funktion af et logisk kredsløb og konstruer en sandhedstabel for det logiske kredsløb.

Løsning. Vi opdeler det logiske diagram i lag. Strukturen af ​​dette logiske kredsløb har, i modsætning til tidligere eksempler, 5 lag, ikke 4. Men én inputvariabel - den laveste - løber gennem alle lag og går direkte ind i det logiske element i det første niveau. Lad os skrive alle funktionerne ned, startende fra 1. niveau:

Lad os nu skrive alle funktionerne ned og erstatte inputvariablerne x, y, z :

Som et resultat får vi den funktion, som det logiske kredsløb implementerer ved udgangen:

.

Sandhedstabel for dette logiske kredsløb:

x y z f
1 1 1 1 1 1
1 1 0 1 1 1
1 0 1 1 0 1
1 0 0 1 0 1
0 1 1 1 1 1
0 1 0 1 1 1
0 0 1 1 0 1
0 0 0 1 0 1

Problemet med at syntetisere logiske kredsløb på en boolesk basis

Udviklingen af ​​et logisk kredsløb ifølge dets analytiske beskrivelse kaldes problemet med logisk kredsløbssyntese.

Hver disjunktion (logisk sum) svarer til et "ELLER"-element, hvis antal input er bestemt af antallet af variable i disjunktionen. Hver konjunktion (logisk produkt) svarer til et "AND"-element, hvis antal input er bestemt af antallet af variable i konjunktionen. Hver negation (inversion) svarer til et "NOT"-element.

Logisk design begynder ofte med at definere den logiske funktion, som det logiske kredsløb skal implementere. I dette tilfælde er kun sandhedstabellen for det logiske kredsløb givet. Vi vil analysere netop et sådant eksempel, det vil sige, vi vil løse et problem, der er helt modsat problemet med at analysere logiske kredsløb diskuteret ovenfor.

Eksempel 6. Konstruer et logisk kredsløb, der implementerer en funktion med en given sandhedstabel.

En bekvem måde at repræsentere logiske udtryk på er at bruge logiske diagrammer. Her er, hvordan de tre logiske hovedoperationer er afbildet i sådanne diagrammer:

Figur 6.1 - Skematisk fremstilling af logiske operationer

Eksempel. Sådan evaluerer du et boolesk udtryk: 1 eller 0 Og 1 tegne et diagram, der afspejler rækkefølgen af ​​logiske operationer. Brug diagrammet til at beregne værdien af ​​et logisk udtryk.

Dette viser tydeligt, at operationen udføres først Og, derefter eller. Nu, i rækkefølge fra venstre mod højre, vil vi tildele resultaterne af operationerne til de udgående pile:

Resultatet var 1 , dvs. "RIGTIGT".

Eksempel. Givet udtryk: Ikke (1 Og (0 eller 1) Og 1).

Beregn værdien af ​​et udtryk ved hjælp af et logisk kredsløb.

Løsning. Det logiske diagram med beregningsresultaterne ser således ud:

Implikation og ækvivalens

Implikation(betinget erklæring). På russisk svarer denne logiske operation til konjunktioner hvis så; når..., så; så snart... så og så videre.

Udtryk, der starter efter konjunktioner hvis, hvornår, så snart, kaldes grundlaget for en betinget erklæring.

Udtryk efter ord så, kaldet en konsekvens. I logiske formler er implikationsoperationen angivet med tegnet "→". Implikation er en to-site operation; er skrevet sådan her: A→B.

Ækvivalens. Sproglig ækvivalent - konjunktioner hvis og kun hvis; dengang og først når...Ækvivalens er angivet skilt"≡" eller "↔".

Rækkefølgen af ​​alle fem logiske operationer i faldende rækkefølge er som følger: negation, konjunktion, disjunktion, implikation, ækvivalens.

Konvertering af booleske udtryk

En formel har en normal form, hvis den ikke indeholder ækvivalens-, implikations- eller dobbeltnegationstegn, mens negationstegn kun findes for variable.

Grundlæggende formler til konvertering af logiske udtryk:

2. (A & B) ≡ A I.

3. (A B) ≡ A & B.

4. (A → B) ≡A & B.

5. A→B ≡ A B.

6. A B ≡ (A & B) (A & B) ≡ (A B) & (A B).

7. A & (A B) ≡ A.

8. A A & B ≡ A.

9. A & (A B) ≡ A & B.

10.A A & B ≡ A I.

11. Love for kommutativitet:

A & B ≡ B & A;

EN B ≡ B EN.

12. Love for associativitet:

(EN B) C ≡ A (I MED);

(A & B) & C ≡ A & (B & C).

13. Love om idempotens:

EN A ≡ A;

14. Fordelingslove:

A & (B C) ≡ (A & B) (A&C);

EN (B & C) ≡ (A B) & (A MED).

15. A 1 ≡ 1;

16. A & 1 ≡ A;

17. A A ≡ 1;

18. A & 0 ≡ 0;

19. A & A ≡ 0.

6.3. Laboratorieopgave

Opgaverne fordeles alt efter, hvad læreren giver mn-kode. Hvis m er et ulige tal, er din mulighed 1, hvis den er lige, så er mulighed 2.

Øvelse 1. Brug logiske operationer til at nedskrive udsagn, der er sande, hvis følgende betingelser er opfyldt:

Mulighed 1.

1) mindst ét ​​af tallene X, Y, Z er positivt;

2) kun et af tallene X, Y, Z er ikke positivt.

3) kun ét af tallene X, Y, Z er større end 10

4) ingen af ​​tallene X, Y, Z er lig med 104

Mulighed 2.

1) mindst ét ​​af tallene X, Y, Z er negativt;

2) kun et af tallene X, Y, Z er negativt.

3) kun ét af tallene X, Y, Z er ikke mere end 10

4) hvert af tallene X, Y, Z er 0

Opgave 2. Bestem værdien af ​​et boolesk udtryk Ikke (X>Z) Ellers (X=Y), hvis:

Mulighed 1.

1) X=3, Y=5, Z=2;

2) X=5, Y=0, Z=–8.

Mulighed 2.

1) X=9, Y=-9, Z=9;

2) X=0, Y=1, Z=19.

Opgave 3. Lad a, b, c være logiske størrelser, der har følgende betydning: a = rigtigt, b= ligge, c = rigtigt. Tegn logiske diagrammer for følgende booleske udtryk, og vurder deres værdier:

Mulighed 1.

1) a Og b;

2) Ikke EN eller b;

3) a eller b Og Med;

4) (a eller b) Og(c eller b).

Mulighed 2.

1) a eller b;

2) a Og b eller Med;

3) Ikke EN eller b Og Med;

4) Ikke(EN Og b Og Med).

Opgave 4. Konstruer logiske kredsløb ved hjælp af et logisk udtryk:

Mulighed 1. x 1 Og (Ikke x 2 eller x 3).

Mulighed 2. x 1 Og x 2 Eller nej x 1 Og x 3.

Opgave 5. Udfør logiske beregninger. Skriv de tilsvarende logiske udtryk ned:

Mulighed 1. Mulighed 2.

Opgave 6. Der er givet et logisk diagram. Konstruer et logisk udtryk svarende til dette kredsløb.

Beregn værdien af ​​udtrykket for:

Mulighed 1.

1) x 1 = 0, x 2 = 1;

2) x 1 = 1, x 2 = 1.

Mulighed 2.

1) x1=1, x2=0;

2) x 1 = 0, x 2 = 0.

Opgave 7. Der er givet et logisk diagram. Konstruer en sandhedstabel for dette kredsløb.

Opgave 8. Bestem sandheden af ​​formlen:

Mulighed 1. ((a) .

Mulighed 2. .

Opgave 9. Forenkle udtrykket:

Mulighed 1. .

Mulighed 2. .

6.4. Krav til rapportens indhold

1. Formål med laboratoriearbejde.

2. Laboratorieopgave. Mn – kode.

3. Resultater af løsning af problemer i din version.

4. Konklusioner baseret på de opnåede resultater.

6.5. Kontrolspørgsmål

1. Hvad er en logisk sætning, konstant, variabel, formel?

2. Hvilke typer logiske operationer overvejes i laboratoriearbejdet?

3. Sandhedstabeller for implikation og ækvivalens?

4. Liste logikkens algebras love?


Laboratoriearbejde nr. 7
"NUMMERSYSTEMER"

7.1. Målet med arbejdet

Studie af talsystemer. Tilegne sig færdigheder i at overføre fra et talsystem til et andet

7.2. Retningslinier

Udvidet form at skrive et tal kaldes at skrive i formen:

A q =±(a n-1 q n-1 + a n-2 q n-2 +…+ a 0 q 0 + a –1 q -1 + a -2 q -2 + …+ a -m q - m).

Her er A q selve tallet, q er bunden af ​​talsystemet, og i er cifrene i dette talsystem, n er antallet af cifre i tallets heltal, m er antallet af cifre i brøken en del af nummeret.

Eksempel. Få udvidet form af decimaltal 32478; 26.387.

32478 10 = 3*10000 + 2*1000 + 4*100 + 7*10 + 8 = 3*10 4 + 2*10 3 + 4*10 2 + 7*10 1 + 8*10 0 .

26,387 10 = 2*10 1 + 6*10 0 + 3*10 -1 + 8*10 -2 + 7*10 -3 .

Eksempel. Få den udvidede form af tallene 112 3, 101101 2, 15FC 16, 101.11 2

112 3 =1*10 2 + 1*10 1 + 2*10 0 .

1011012 = 1*10 101 + 0*10 100 + 1*10 11 + 1*10 10 + 0*10 1 + 1*10 0 .

15FC 16 = 1*10 3 + 5 *10 2 + F*10 1 + C.

101,11 2 = 1*10 10 + 0*10 1 + 1*10 0 + 1*10 -1 + 1*10 -10 .

Hvis alle led i den udvidede form af et ikke-decimaltal er repræsenteret i decimalsystemet, og det resulterende udtryk beregnes efter reglerne for decimalregning, vil et tal i decimalsystemet, der er lig med det givne, fås. Dette princip bruges til at konvertere fra ikke-decimalsystemet til decimalsystemet.

Eksempel. Konverter alle tal fra det foregående eksempel til decimalsystemet.

112 3 =1*3 2 + 1*3 1 + 2*3 0 = 9+3+2 = 14 10 .

101101 2 = 1*2 5 + 0*2 4 + 1*2 3 + 1*2 2 + 0*2 1 + 1*2 0 =32+8+4+1 = 45 10 ,

15FC 16 = 1*16 3 + 5*16 2 + 15*16 1 + 12 = 4096 + 1280 + 240 + 12 = 5628 10.

101,11 2 = 1*2 2 + 0*2 1 + 1*2 0 + 1*2 –1 + 12 -2 = 4 + 1 + 1/2 + 1/4 = 5 + 0,5 + 0,25 = 5,75 10 .