Uživatelské nástroje

Nástroje pro tento web


pitel:isz:kombinacni_obvody

Kombinační logické obvody

Jsou to takové logické obvody, která okamžitě reagují na vstup. Jinými slovy neberou potaz v historii, nemají paměť. Skladají se pouze z logických hradel (z čeho jiného taky) a neobsahují zpětnou vazbu. Jakoukoliv implementaci je možné vyjádřit pomocí hradel NAND a invertorů. To se dá odůvodnit přes tzv. duální tvrzení (viz booleovská logika FIXME). NAND se používá, protože je konstrukčně nejjednodušší (AND je NAND s invertorem). Vyplýva to z možnosti zapsat A OR B = NOT(A) NAND NOT(B)1). Hradlo NAND je mozne použít jako invertor, pokud se připojí na oba vstupy stejný signál (ale je to „drahé“).

A B A or B not(A) nand not(B)
0 0 0 0
0 1 1 1
1 0 1 1
1 1 1 1

Multiplexor

Z několika vstupů vybírá jeden. Realizace pomocí dekodéru a AND hradel a OR hradla. S0 a S1 jsou bity „adresy“, podle které se vybírá jeden ze vstupů I0–3 a posílá se na výstup. Počet vstupů je 2n, kde n je počet bitů adresy. To protože je 2n kombinací hodnot bitů adresy.

Multiplexor

Interaktivní ukázka

Demultiplexor

Jeden vstup přiřadí do správného výstupu. Dekodér a AND hradla. Opět zde figuruje adresa S0 – n, tentokrát její rozsah určuje počet výstupů. Princip je přesně opačný, než u multiplexoru.

Demultiplexor

Kodér (enkodér)

Slouží k zakódování zprávy. Jednoduchým kodérem se myslí takový, který očekává pouze na jednom ze vstupů log. 1 a podle toho, na kterém vstupu to bylo, nastaví hodnoty na výstupech. Z takového signálu lze pak původní zprávu dekódovat. Vstupů je 2n, kde n je počet výstupů.

Používá se také na obsluhu sedmi-segmentového displaye. Na vstup se mu přivede např binárně zakódovaná čislice, a na výstup vyleze napětí na těch drátech, které rozsvěcují patřičné segmenty.

 Kodér 4 do 2

Dekodér

Slouží k rekonstrukci zakódované zprávy. Nejčastěji se používají binarní dekodéry n do 2n (např. 2 do 4, 3 do 8, …).

Dekodér 2 do 4

Interaktivní ukázka

Binární sčítačka

Poloviční

Poloviční sčítačka

A B S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

Interaktivní ukázka

Úplná

Úplná sčítačka

A B Cin S Cout
0 0 0 0 0
0 1 0 1 0
1 0 0 1 0
1 1 0 0 1
0 0 1 1 0
0 1 1 0 1
1 0 1 0 1
1 1 1 1 1

Interaktivní ukázka

Jde o dvě poloviční sčítačky za sebou a jeden OR. Dá se to jednodušše představit jako dva různé obvody – jeden pro součet a jeden pro carry.

Shrnutí (na co nezapomenout)

  • kombinační obvody nemají zpětnou vazbu (a tedy ani paměť)
  • reagují na vstup téměř okamžitě patřičnou úpravou výstupu (pouze fyziklní limity)
  • skládají se z log. hradel, vše se dá udělat pomocí NANDů díky duálnímu tvrzení booleovy algebry: A or B = not(A) nand not(B), např AND se implementuje jako not(NAND), NAND lze použít i jako invertor, ale přímé použití invertoru je „levnější“
  • kodér vs dekodér: kódování z jednoho do druhého a naopak. Například kód 1 z N na binární číslo (běžně má kodér 2n vstupů a n výstupů, dekodér naopak
  • multiplexor vs demultiplexor: výběr jednoho signálu z mnoha vs poslání vstupu na jeden z výstupů, má adresní vodiče, vnitřně využívá dekodér (jak multiplexor, tak demultiplexor)
  • sčítačka: jednobitová poloviční: XOR a AND, výstup z XORu je výsledek, z ANDu je carry
  • úplná sčítačka: dvě poloviční za sebou, znát schéma! (výsledek je prostě součet těch 3 vstupů, tedy A, B a Cin, vyšší bit výsledku je Cout, nižší S)

Co je třeba vědět kdyby se zeptali

  • duální tvrzení - výsledek operace se nezmění, pokud invertujeme vstupy, výstupy i operaci (or↔and, tedy A or B = not(A) nand not(B))
  • vědět, jak se dělá pravdivostní tabulka, aby ji člověk uměl nakreslit např. pro poloviční sčítačku
/var/www/wiki/data/pages/pitel/isz/kombinacni_obvody.txt · Poslední úprava: 30. 12. 2022, 13.43:01 autor: 127.0.0.1