4-bitová aritmeticko-logická jednotka se dvěma vstupy A a B a výstupem Y s přenosem C. Jednotka může provádět 16 různých operací (viz tabulka).
Jednotce lze ručně nastavit vstupní příznak carry, který je u některých operací použit. Výsledná data (včetně vstupů) jsou zobrazena na šestnácti LED diodách a také na čtyřmístném sedmisegmentovém displeji. Všechny vstupní hodnoty se nastavují pomocí přepínačů, které jsou umístěny na externí rozšiřující desce společně s LED diodami.
Vývoj probíhal na vývojových deskách CoolRunner-II (CLPD) a Zybo (FPGA). Obě desky jsou od firmy Digilent. Program běží na obou deskách nezávisle, pouze na desce Zybo je nutné snížit vstupní hodinový kmitočet (na 10 kHz) a invertovat výstupy (carry, carry_in, parity).

CoolRunner-II Starter Board [1]

Zybo Zynq-7000 ARM/FPGA SoC Trainer Board [2]

Rozšiřující deska s tlačítky, přepínači a LED diodami
ALU jednotka s vlastní sadou početních/logických/binárních operací, viz např. 74181

Zapojení ALU jednotky s deskou Zybo
![]() | ![]() |
Schéma externího hardware připojeného k desce Zybo. Vlevo displej, vpravo LED diody a přepínače.
| Řídící signál | Funkce | Popis |
| 0x0 | Y = A + B | Součet |
| 0x1 | Y = A - B | Rozdíl |
| 0x2 | Y = A + 1 | Inkrementace |
| 0x3 | Y = A - 1 | Dekrementace |
| 0x4 | Y = A + B + C | Součet s přenosem |
| 0x5 | Y = A - B - C | Rozdíl s přenosem |
| 0x6 | Y = A or B | Logický součet |
| 0x7 | Y = A and B | Logický součin |
| 0x8 | Y = A xor B | Exkluzivní logický součet |
| 0x9 | Y = not A | Logická negace |
| 0xA | Y = A >> 1 | Rotace vpravo |
| 0xB | Y = A << 1 | Rotace vlevo |
| 0xC | Y = (A + C) >> 1 | Rotace vpravo s přenosem |
| 0xD | Y = (A - C) << 1 | Rotace vlevo s přenosem |
| 0xE | Y = A'H <=> A'L | Přehození nejvyššího a nejnižšího čtvrbytu |
| 0xF | Y = A mul B | Součin |
Některé části (disp_mux) jsou doplněné šablony od pana Frýzy [3].
| Celkové zjednodušené | Více podrobné |


