Aritmetické obvody
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:
Si = součet
Realizace:
XOR:
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:
Si = součet pi = přenos
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:
Značka:
Realizace úplné sčítačky:
Postup:
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.
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.
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