Obsah

02 - Kombinační logické obvody

Export page to Open Document format

Úvod

Něco málo

Popis
  • Hierarchicky uspořádaný obvod, ve kterém jednotlivé komponenty zpracovávají a mezi sebou komunikují informaci reprezentovanou v binární podobě
  • Struktura jednotlivých komponent neobsahuje cykly (spětné vazby)
  • Výstupy jsou závislé pouze na aktuální hodnotě vstupu (nezáleží na předchozích hodnotách),
    dáno vztahem: \vec{y} = f(\vec{x}), a také je nelze spojovat
  • Hodnoty na vstupech jsou okamžitě propagovány na výstup (není třeba synchronizace)


Aktivní logická úroveň - úroveň, při které je vstup či výstup aktivní (záleží na výrobci, př. log1 = aktivní, log0 = neaktivní; může být i naopak). To, že je signál (vstup/výstup) aktivní v log1 zjistíme tak, že v schématu neni daný signál negován. Opačně to pak platí pro log0, kde je signál negován (ve schématu je nakresleno prázdné kolečko).

Př. Na následujícím obrázku je signál RDY' aktivní v log0 a signál REQ aktivní v log1.

Základní stavební bloky (logické členy)

zsb.jpg

Základní komponenty (funkční moduly)

Multiplexor

Popis
Obvod vybírající z N vstupů jeden výstup. Výběr je řízen adresovými signály přivedenými na vstupy A_1A_m. Vztah mezi maximálním počtem vstupů (N) a počtem adresových vstupů (m): N = 2^m


Značka
mx1.jpg alebo

Struktura
mx2.jpg

Použití:

  • převod paralelního vstupu na sériový (data selector)
  • součást dalších kombinačních obvodů
  • tvorba logických fcí

Příklad logické funkce
logfce.jpg

Pozn.: Kromě statické log 0 a 1 lze na vstup MX přivést i libovolnou proměnnou.

Demultiplexor (DMX)

Popis
  • Opak k multiplexoru, převádí sériový vstup na paralelní výstup.
  • Přenáší logickou hodnotu z jednoho datového vstupu D na jeden z 2^N výstupů, přičemž ostatní výstupy mají neaktivní log. úrovně.

Značka
demx1.jpg alebo

Struktura
demx2.jpg

Kodér

Popis
Opak k dekóderu, produkuje jedinečný výstupní binarní kód pro každou kombinaci vstupních proměnných.

Opak k dekodéru

Struktura
koder.jpg

Užití

  • prioritní kodér (přidělování sběrnice, řadič přerušení)

pocet_datovych_vstupu = 2 ^ pocet_datovych_vystupu

Dekodér (DC)

Popis

Logický obvod převádějící N vstupů na. M výstupu (převod mezi dvěma binárními kódy). Pokud je M = 2^N, potom se jedná o binární dekodér. Některé výstupy mohou být nevyužity – např. BCD dekodér.

Použití

  • dekódování adres
  • převod BCD na číslo 1-10
  • dekodéry pro sedmisegmentové displeje

BCD dekodér Dekóduje 4-bitový kód BCD (prvních deset binárních čísel) na kód dekadický (vždy pouze jeden z deseti výstupů je aktivní).

Dekodér adres
dekoderadres.jpg

Struktura dekodéru
dekodestruktura.jpg

Dekodér 4 na 16 složený z dvoch 2 na 4 (maticová struktura)
dekoder4to16.jpg

Implementace funkce f(P, X, Q) = Σm(0,1,4,6,7)

dekoderlogfce.jpg

Dekodér pro sedmisegmetnové displeje
Na vstupu je BCD kód a na výstupu je 7 signálů pro řízení světelných segmentů dispeje tak, aby tvořily dekadická číslice od 0 po 9.

Binární sčítačka

Popis
Princip je sčítání jednotlivých bitů na stejných pozicích spolu s přenosem, který vzniká pokud dojde k sečtení dvou jedniček.

Poloviční sčítačka

Taková, která neuvažuje přenos (carry) z nižšího řádu (pro sčítání nejnižších bitů)

S_0 = \overline{A_0}B_0 + A_0\overline{B_0} = A_0 ⊕ B_0

C_1 = A_0B_0

poloscitacka1.jpg

poloscitacka2.jpg

Úplná sčítačka

Oproti poloviční sčítačce uvažujeme přenos z nižšího řádu

scitacka1.jpg

scitacka2.jpg

Úplnou sčítačku je také možné vytvořit pomocí polovičních

Vícebitová sčítačka

Sériová sčítačka
Pomocí jedné sčítačky, D klopného obvodu a pomocných registrů víme vypočítat součet dvou libovolně dlouhých binárních čísel. Jedná se o synchronní sčítačku s taktem T_c. Do KO D se ukládá mezivýsledek (hodnota carry).

serscitacka.jpg

Sčítačka s postupným šířením přenosu
  • Je tvořena zřetězení několik jednobitových úplných sčítačiek.
  • Pseudo-paralerní (Carry musí procházet přes všechny stupně sčítačky)
  • Cenově výhodné řešení
  • Pomalé - Zpoždění jednoho logického členu je \Delta ⇒ zpoždění jedné sčítačky 2\Delta, pro n bitů je doba zpoždění 2n\Delta. → Pro 32, 64 bitové čísla je lepší CLA (Carry Look - Ahead).

parscitacka.jpg

Paralelní sčítačka - CLA (Carry Look Ahead)
  • Přenos se negeneruje postupně ale paralelně.
  • Tyto obvody se označují jako sčítačky se zrychleným přenosem.
  • Dokáže sečíst dvě binární čísla v logaritmickém čase.

cla.jpg

G (generate)

  • značí případ, kdy určitě nastane přesun do vyššího řádu, př. 73 + 66 (přesun desítek (7+6=13) na stovku)
  • G(A,B) = A.B

P (propagate)

  • značí případ, kdy může nastat přesun (podezření) do vyššího řádu, př. 33 + 64 (3+6=9, stačí, aby součet jednotek vyvoval přesun do vyššího řádu)
  • P(A,B) = A xor B

Kdy nastane přenos (carry)? Pokud nastane generate nebo propagate

C_{i+1} = G_i + (P_i.C_i)

Takže je možné dopředu spočítat přenosy:

C_{0} = CI
C_{1} = G_0 + (P_0C_0)
C_{2} = G_1 + (P_1C_1) = G_1 + P_1G_0 + P_1P_0C_0
C_{3} = G_2 + (P_2C_2) = G_2 + G_1P_2 + G_0P_2P_1 + P_2P_1P_0C_0
C_{4} = G_3 + (P_3C_3) = G_3 + G_2P_3 + G_1P_3P_2 + G_0P_3P_2P_1 + P_3P_2P_1P_0C_0

atd.

Dále označujeme:

GP = P_3P_2P_1P_0
GG = G_3 + G_2P_3 + G_1P_3P_2 + G_0P_3P_2P_1

struktura CLA částí

clastructure.jpg

carry vstupy mezi sčítačkami jsou nahrazeny vstupy z CLA.

P_i, G_i mají zpoždění \Delta, C_i 2\Delta, celkem tedy 3\Delta, celkový součet potom v čase 4\Delta

Tedy konstantní časová složitost, ovšem s růstem bitů roste prostorová složitost, proto potřeba jiné principy.

Sčítačka s výběrem přenosu

scitackavyberprenosu.jpg

Pro každé 4 bity se spočíta součet (pro druhé a další čtveřice dvakrát - jeden s CI 1 a jeden s CI 0), podle C_3 se potom vybere, který součet se vybere.

Složitost sčítaček

Typ Čas Plocha
Postupný přenos O(n) O(n)
2 – stupňový CLA 4 O(n^2)
Stromový CLA k-nární O(log_k n) O(n log_k n)
Přeskakování přenosu O(\sqrt{n}) O(n)
Výběr přenosu O(\sqrt{n}) O(n)

Detekce přetečení (Overflow)

  • Přetečení je detekováno když je součet obou čísel v absolutní hodnotě větší, než maximální hodnota kterou je možné uložit do výsledku. Př. Když na 8 bitech sečteme 200 a 200, na 8 bitů sa uloží pouze výsledek 144. Proto je nutné brát v potaz i bit vzniklý přetečením.
  • Předpokládáme, že čísla jsou reprezentována ve dvojkovém doplňku.
  • Závisí na hodnotách najvyšších bitov oboch sčítancov, na nejvyšším bite výsledku a na hodnotě přenosu.

OV = \overline{A_3 ⊕ B_3} . (C_4 ⊕ S_3)

Odkazy

Zdroje

Zdroje

02
Celé jménoOK!!!
vagy2011-04-11 16:30:25 
Jirka Hynek2011-04-11 17:51:46 
Fituska User2012-01-26 15:10:56 
Martin Pavelka2016-05-24 17:32:34 
 4