Design av kombinatoriske kretser med multipleksere, dekodere og addere.
Kombinatorisk logikk
I kombinatoriske kretsar blir utgangen utelukkande bestemt av dei noverande inngangsverdiane. Kretsen har inga hukommelse – han «hugsar» ikkje kva som skjedde tidlegare. Dette skil kombinatoriske kretsar frå sekvensiell logikk (som vi ser på i seinare kapittel), der utgangen òg er avhengig av tidlegare tilstandar.
Kombinatoriske kretsar er byggjesteinane i alle digitale system. Frå enkle veljarar (multipleksarar) til aritmetiske einingar – alle er bygde opp av logiske portar i ulike kombinasjonar.
I dette kapittelet skal du lære:
- Kva multipleksarar (MUX) og dekodarar er
- Korleis halvaddarar og heladdarar fungerer
- Å designe enkle kombinatoriske kretsar frå ein sanningstabell
Ein multipleksar (MUX) er ein digital veljar – han vel éin av fleire inngangar og sender han vidare til utgangen.
2-til-1 MUX:
- Har to datainngangar (D₀ og D₁), éin veljarinngang (S) og éin utgang (Y)
- Når S = 0, blir D₀ sendt til utgangen: Y = D₀
- Når S = 1, blir D₁ sendt til utgangen: Y = D₁
Boolsk uttrykk for 2-til-1 MUX:
Y = S̄ · D₀ + S · D₁
4-til-1 MUX:
- Har fire datainngangar (D₀–D₃), to veljarinngangar (S₁, S₀) og éin utgang
- Veljarinngangane dannar eit 2-bits binærtal som vel inngang
| S₁ | S₀ | Y |
|---|---|---|
| 0 | 0 | D₀ |
| 0 | 1 | D₁ |
| 1 | 0 | D₂ |
| 1 | 1 | D₃ |
Bruksområde: Dataseleksjon, rutingsystem, implementering av logiske funksjonar.
Ein dekodar konverterer eit binært inngangssignal til eitt av fleire utgangssignal. Berre éin utgang er aktiv (høg) om gongen.
2-til-4 dekodar:
- Har to inngangar (A₁, A₀) og fire utgangar (Y₀–Y₃)
- Inngangane blir tolka som eit 2-bits binærtal, og den tilsvarande utgangen blir aktivert
| A₁ | A₀ | Y₀ | Y₁ | Y₂ | Y₃ |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 | 0 | 1 |
Boolske uttrykk:
- Y₀ = Ā₁ · Ā₀
- Y₁ = Ā₁ · A₀
- Y₂ = A₁ · Ā₀
- Y₃ = A₁ · A₀
Bruksområde: Adressedekoding i hukommelseskretsar, sjusegment-display, val av eining i datasystem.
Eit system har to temperatursensorar (Sensor A og Sensor B). Ein brytar S bestemmer kva sensor som blir lesen. Skildre korleis ein 2-til-1 MUX kan brukast, og skriv det boolske uttrykket.
Vi koplar:
- Sensor A til inngang D₀
- Sensor B til inngang D₁
- Brytaren til veljarinngang S
Boolsk uttrykk:
Y = S̄ · A + S · B
Funksjon:
- Brytar av (S = 0): Y = 1 · A + 0 · B = A → Sensor A blir lesen
- Brytar på (S = 1): Y = 0 · A + 1 · B = B → Sensor B blir lesen
Multipleksaren fungerer som ein elektronisk brytar som vel mellom dei to sensorane basert på styringsinngang S.
Ein 4-til-1 MUX har veljarinngangane S₁ = 1 og S₀ = 0. Kva datainngang blir kopla til utgangen?
Ein halvaddar legg saman to enkeltbitar og gjev eit sum-bit (S) og eit mente-bit (C, carry).
Inngangar: A og B (éin bit kvar)
Utgangar: S (sum) og C (mente/carry)
Sanningstabell:
| A | B | S (sum) | C (mente) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Boolske uttrykk:
- S = A ⊕ B (XOR – eksklusiv ELLER)
- C = A · B (AND)
Halvaddaren blir kalla «halv» fordi han ikkje har inngang for mente frå eit tidlegare siffer.
Ein heladdar legg saman to bitar pluss ein innkomande mente (carry in). Han er nødvendig for å legge saman fleirsifra binærtal.
Inngangar: A, B og Cᵢₙ (carry in)
Utgangar: S (sum) og Cᵤₜ (carry out)
Sanningstabell:
| A | B | Cᵢₙ | S (sum) | Cᵤₜ (carry out) |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Boolske uttrykk:
- S = A ⊕ B ⊕ Cᵢₙ
- Cᵤₜ = A · B + Cᵢₙ · (A ⊕ B)
Ein heladdar kan byggjast av to halvaddarar og ein OR-port.
Bruk halvaddarar og heladdarar til å legge saman dei 2-bits binærtala A₁A₀ = 11 og B₁B₀ = 01. Vis korleis bitane blir behandla steg for steg.
Vi legg saman 11₂ + 01₂ (3 + 1 = 4 i desimal).
Steg 1 – Minst signifikante bit (posisjon 0): Halvaddar
- A₀ = 1, B₀ = 1
- S₀ = 1 ⊕ 1 = 0
- C₀ = 1 · 1 = 1 (mente til neste posisjon)
Steg 2 – Posisjon 1: Heladdar
- A₁ = 1, B₁ = 0, Cᵢₙ = 1 (frå førre steg)
- S₁ = 1 ⊕ 0 ⊕ 1 = 0
- Cᵤₜ = 1 · 0 + 1 · (1 ⊕ 0) = 0 + 1 · 1 = 1
Resultat: Cᵤₜ S₁ S₀ = 1 0 0 = 100₂ = 4 i desimal. ✓
Ein halvaddar har inngangane A = 1 og B = 0. Rekn ut sum (S) og mente (C). Bruk deretter resultatet i ein heladdar der den andre inngangen er B = 1 og carry in = 0.
Kva er skilnaden mellom ein halvaddar og ein heladdar?
Oppsummering
I dette kapittelet har du lært om viktige kombinatoriske kretsar:
- Multipleksar (MUX): Ein digital veljar som sender éin av fleire inngangar til utgangen, styrt av veljarinngangar
- Dekodar: Konverterer eit binærtal til aktivering av éin bestemt utgang
- Halvaddar: Legg saman to enkeltbitar → gjev sum og mente
- Heladdar: Legg saman to bitar pluss innkomande mente → kan kjedast saman for fleirsifra tal
Viktige uttrykk
| Krets | Uttrykk |
|---|---|
| 2-til-1 MUX | Y = S̄·D₀ + S·D₁ |
| Halvaddar sum | S = A ⊕ B |
| Halvaddar mente | C = A · B |
| Heladdar sum | S = A ⊕ B ⊕ Cᵢₙ |
| Heladdar mente | Cᵤₜ = A·B + Cᵢₙ·(A⊕B) |
Bruk éin halvaddar og éin heladdar til å legge saman dei 2-bits binærtala 10 og 11. Vis utrekninga for kvar addar steg for steg, og oppgje det endelege svaret i binært og desimalt.
Du skal designe ein krets som styrer eit trafikklys. Kretsen har to inngangar (S₁, S₀) som kodar for tilstanden: 00=raudt, 01=raudt+gult, 10=grønt, 11=gult. Design ein dekodar med tre utgangar (R, G, Gu) for raud, grøn og gul lampe. Set opp sanningstabellen og skriv dei boolske uttrykka for kvar utgang.
Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.