Aritmetické obvody

Z MediaWiki SPŠ a VOŠ Písek
Verze z 9. 4. 2010, 21:26, kterou vytvořil Fsvoboda (diskuse | příspěvky)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání

Aritmetické obvody

• provádí aritmetický součet nebo rozdíl binárních čísel a nebo binárně kódovaných dekadických čísel

Sčítačky

Základem těchto obvodů je buď poloviční, nebo úplná sčítačka. Poloviční sčítačka se od úplné liší tím, že nemá vstup pro vstupní přenos. Úplná sčítačka má vstup pro vstupní přenos a dva vstupy pro sčítance.

1. SČÍTAČKA MODULO 2:

• realizuje aritmetický součet, dvou stejnolehlých bitů dvou binárních čísel

(A,B,….) A = … ai B = … bi


Pravdivostní tabulka:

pravdivostní tabulka pro sčítačku modulo 2









Si = součet

Součet





Realizace:

XOR:

Realizace






2. PŮL-SČÍTAČKA:

• realizuje aritmetický součet stejnolehlých bitů dvou čísel a ještě vytváří přenos do vyššího řádu

Pravdivostní tabulka:

Pravdivostní tabulka pro půl-sčítačku





Si = součet pi = přenos

Chyba při vytváření náhledu: Chybějící soubor
Realizace půl-sčítačky








3. ÚPLNÁ SČÍTAČKA:

•realizuje aritmetický součet v jednom řádu, přenos do řádu vyššího a přitom respektuje přenos z řádu nižšího

Pravdivostní tabulka:

Chyba při vytváření náhledu: Chybějící soubor
Pravdivostní tabulka pro úplnou sčítačku








Značka:

Chyba při vytváření náhledu: Chybějící soubor
Značka úplné sčítačky






Realizace úplné sčítačky:

Chyba při vytváření náhledu: Chybějící soubor
Realizace pomocí půl-sčítačky





Postup:

Chyba při vytváření náhledu: Chybějící soubor
Postup řešení







Další informace ke sčítačkám

Problematika sčítaček je velmi podobná problematice komparátorů. Pro popis sčítačky v jazyku HDL stačí opět jeden příkaz, její rozvinutí do tvaru SOP nebo POS je však ještě náročnější na počty termů než komparátor. Jen přenos z nejvyššího bitu vyžaduje 2n - 1 termů pro n-bitovou sčítačku.

Chyba při vytváření náhledu: Chybějící soubor
Obr. 3.4 Jednobitová sčítačka (a) a její blokový symbol (b). FA - full adder








Tam, kde není kritická rychlost sčítačky, je možno použít iterativního přístupu podle Obr. 3.5. Odpovídající zapojení jednobitové sčítačky (bloku s označením FA) je nakresleno na Obr. 3.4.

Obr. 3.5 Iterativní zapojení n-bitové sčítačky














Podobně jako u komparátoru, je i u iterativního zapojení sčítačky spotřeba strukturních prvků lineárně závislá na počtu bitů sčítačky, tomuto počtu je však úměrné i zpoždění. Proto byla vyvinuta řada přístupů ke kompromisnímu řešení. Jedním z nich je vytvoření přenosového signálu pro každý bit třístupňovým zapojením - tzv. zrychlený přenos (carry lookahead) metodou P-G (Propagate - Generate) - viz například [4] nebo [5]. Pro vytvoření přenosového signálu jsou v obvodech PLD a zejména FPGA často obsaženy speciální struktury, které jsou mnohem rychlejší, než kdyby byly vytvořeny z univerzálních obvodových prvků (např. z makrobuněk obvodů CPLD). Jinou možností je použití registrové techniky zvané pipelining, která bude vysvětlena později.

Operaci odčítání je možno realizovat sčítačkou využitím kódu dvojkového doplňku - opět viz například [4]. Problematika obvodového řešení odčítaček je proto velmi podobná problematice sčítaček.

Kombinační násobičky patří mezi poměrně složité subsystémy a jejich obvodové řešení přesahuje rámec tohoto kurzu. Základní informace lze najít např. ve [4]. Současné návrhové systémy jsou již většinou schopny vytvořit optimalizované zapojení automaticky na základě symbolického zápisu v jazyku HDL s použitím příslušného aritmetického operátoru. Například násobička dvou čtyřbitových vstupních operandů v obvodu XC 9572XL (syntéza v systému ISE) spotřebuje necelou polovinu jeho strukturních prvků. Do menšího obvodu XC 9536XL se však nevejde, pravděpodobně pro problémy s propojením funkčních bloků. V obvodech FPGA se násobičky implementují poměrně často, zejména u konstrukcí pro číslicové zpracování analogových signálů (signálových procesorů). Z toho důvodu se také často v těchto obvodech setkáme s násobičkami pevně zapojenými (tzv. hardwarovými násobičkami, na rozdíl od násobiček vytvořených z univerzální programovatelné struktury). Hardwarové násobičky mohou být lépe optimalizovány než násobičky vytvořené z programovatelné struktury, mají tedy menší zpoždění a odběr (podobně jak je tomu u speciálních struktur pro generování přenosového signálu u sčítaček), pokud se však v konstrukci příslušná operace nevyskytuje, je jejich použitelnost pro jiné účely omezená.

Kombinační děličky se používají méně často než násobičky, a současné programovatelné obvody obvykle pro ně neobsahují zvláštní podpůrné struktury. Výjimkou je dělení celistvou mocninou dvojky, které je ekvivalentní posuvu dělence. Algoritmy pro dělení jsou zpracovány v tzv. jádrech IP (Intellectual Property), která obsahují aritmetické operace včetně dělení, zpravidla jsou však určena pro programovatelné obvody určitého výrobce (nejsou nezávislá na cílovém obvodu) a nebývají dostupná bezplatně


Zdroje informací

http://www.urel.feec.vutbr.cz/~kolouch/pld/1_prednasky/kapitola03_03.html

school.webz.cz/4/DATs/7.doc

www.comtel.cz/files/download.php?id=4181


Filip Svoboda B1. I- 9. 4. 2010, 23:20