Design av kombinatoriske kretser med multipleksere, dekodere og addere.
Kombinatorisk logikk
I kombinatoriske kretser bestemmes utgangen utelukkende av de nåværende inngangsverdiene. Kretsen har ingen hukommelse – den «husker» ikke hva som skjedde tidligere. Dette skiller kombinatoriske kretser fra sekvensiell logikk (som vi ser på i senere kapitler), der utgangen også avhenger av tidligere tilstander.
Kombinatoriske kretser er byggesteinene i alle digitale systemer. Fra enkle velgere (multipleksere) til aritmetiske enheter – alle er bygd opp av logiske porter i ulike kombinasjoner.
I dette kapittelet skal du lære:
- Hva multipleksere (MUX) og dekodere er
- Hvordan halvaddere og heladdere fungerer
- Å designe enkle kombinatoriske kretser fra en sannhetstabell
En multiplekser (MUX) er en digital velger – den velger én av flere innganger og sender den videre til utgangen.
2-til-1 MUX:
- Har to datainnganger (D₀ og D₁), én velgerinngang (S) og én utgang (Y)
- Når S = 0, sendes D₀ til utgangen: Y = D₀
- Når S = 1, sendes D₁ til utgangen: Y = D₁
Boolsk uttrykk for 2-til-1 MUX:
Y = S̄ · D₀ + S · D₁
4-til-1 MUX:
- Har fire datainnganger (D₀–D₃), to velgerinnganger (S₁, S₀) og én utgang
- Velgerinngangene danner et 2-bits binærtall som velger inngang
| S₁ | S₀ | Y |
|---|---|---|
| 0 | 0 | D₀ |
| 0 | 1 | D₁ |
| 1 | 0 | D₂ |
| 1 | 1 | D₃ |
Bruksområder: Dataseleksjon, rutingsystemer, implementering av logiske funksjoner.
En dekoder konverterer et binært inngangssignal til ett av flere utgangssignaler. Bare én utgang er aktiv (høy) om gangen.
2-til-4 dekoder:
- Har to innganger (A₁, A₀) og fire utganger (Y₀–Y₃)
- Inngangene tolkes som et 2-bits binærtall, og den tilsvarende utgangen aktiveres
| 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åder: Adressedekodering i hukommelseskretser, sjusegment-display, valg av enhet i datasystemer.
Et system har to temperatursensorer (Sensor A og Sensor B). En bryter S bestemmer hvilken sensor som leses. Beskriv hvordan en 2-til-1 MUX kan brukes, og skriv det boolske uttrykket.
Vi kobler:
- Sensor A til inngang D₀
- Sensor B til inngang D₁
- Bryteren til velgerinngang S
Boolsk uttrykk:
Y = S̄ · A + S · B
Funksjon:
- Bryter av (S = 0): Y = 1 · A + 0 · B = A → Sensor A leses
- Bryter på (S = 1): Y = 0 · A + 1 · B = B → Sensor B leses
Multiplekseren fungerer som en elektronisk bryter som velger mellom de to sensorene basert på styringsinngang S.
En 4-til-1 MUX har velgerinngangene S₁ = 1 og S₀ = 0. Hvilken datainngang kobles til utgangen?
En halvadder legger sammen to enkeltbiter og gir et sum-bit (S) og et mente-bit (C, carry).
Innganger: A og B (én bit hver)
Utganger: S (sum) og C (mente/carry)
Sannhetstabell:
| 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)
Halvadderen kalles «halv» fordi den ikke har inngang for mente fra et tidligere siffer.
En heladder legger sammen to biter pluss en innkommende mente (carry in). Den er nødvendig for å legge sammen flersifrede binærtall.
Innganger: A, B og Cᵢₙ (carry in)
Utganger: S (sum) og Cᵤₜ (carry out)
Sannhetstabell:
| 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)
En heladder kan bygges av to halvaddere og en OR-port.
Bruk halvaddere og heladdere til å legge sammen de 2-bits binærtallene A₁A₀ = 11 og B₁B₀ = 01. Vis hvordan bitene behandles steg for steg.
Vi legger sammen 11₂ + 01₂ (3 + 1 = 4 i desimal).
Steg 1 – Minst signifikante bit (posisjon 0): Halvadder
- A₀ = 1, B₀ = 1
- S₀ = 1 ⊕ 1 = 0
- C₀ = 1 · 1 = 1 (mente til neste posisjon)
Steg 2 – Posisjon 1: Heladder
- A₁ = 1, B₁ = 0, Cᵢₙ = 1 (fra forrige 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. ✓
En halvadder har inngangene A = 1 og B = 0. Beregn sum (S) og mente (C). Bruk deretter resultatet i en heladder der den andre inngangen er B = 1 og carry in = 0.
Hva er forskjellen mellom en halvadder og en heladder?
Oppsummering
I dette kapittelet har du lært om viktige kombinatoriske kretser:
- Multiplekser (MUX): En digital velger som sender én av flere innganger til utgangen, styrt av velgerinnganger
- Dekoder: Konverterer et binærtall til aktivering av én bestemt utgang
- Halvadder: Legger sammen to enkeltbiter → gir sum og mente
- Heladder: Legger sammen to biter pluss innkommende mente → kan kjedes sammen for flersifrede tall
Viktige uttrykk
| Krets | Uttrykk |
|---|---|
| 2-til-1 MUX | Y = S̄·D₀ + S·D₁ |
| Halvadder sum | S = A ⊕ B |
| Halvadder mente | C = A · B |
| Heladder sum | S = A ⊕ B ⊕ Cᵢₙ |
| Heladder mente | Cᵤₜ = A·B + Cᵢₙ·(A⊕B) |
Bruk én halvadder og én heladder til å legge sammen de 2-bits binærtallene 10 og 11. Vis beregningen for hver adder steg for steg, og oppgi det endelige svaret i binært og desimalt.
Du skal designe en krets som styrer et trafikklys. Kretsen har to innganger (S₁, S₀) som koder for tilstanden: 00=rødt, 01=rødt+gult, 10=grønt, 11=gult. Design en dekoder med tre utganger (R, G, Gu) for rød, grønn og gul lampe. Sett opp sannhetstabellen og skriv de boolske uttrykkene for hver 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.