En Flip/Flop er i
stand til at lagre 1-bit og hvis man kobler 8 F/F's
parallelt kan der lagres 1 byte.
De mindste FPGA
kredse indeholder 800 F/F's (i runde tal) og man har
således mulighed for at implementere 100 bytes. Men
prisen bliver alt for høj samtidig med at det giver
en dårlig udnyttelse af FPGA'en.
En Configurable
Logic Block indeholder foruden 2 F/F's også to Look
Up Tables. En LUT er i virkeligheden en 16x1-bit RAM
og hvis man ønsker det kan den også bruges som en
RAM - med andre ord får man ekstra 16 F/F's hver
gang en LUT bruges som en RAM.
Alle nyere FPGA
kredse indeholder såkaldte Block RAM blokke (BRAM).
Spartan 3E xcs100 indeholder for eksempel 4 stk BRAM
af 18kbit og xcs500 indeholder 20 stk BRAM
En BRAM kan også betragtes som en ROM kreds fordi
man definerer indholdet hver gang kredsen bliver
programmeret.
Endvidere kan BRAM bruges som Dual-port RAM - Det
vil sige at to systemer (CPUer) kan få fat i de
samme data via hver sin Adresse og Data bus.
Ydermere kan bredden af data-bussen indstilles til
1,2,4,9,18 eller 36 bits bredde.
Det oprindelige
formål med digitalteknik og computere var ønsket /
drømmen om at kunne foretage aritmetiske beregninger
automatisk. Hjernen i en computer kaldes for en CPU
(Central Processing Unit) og hvis man kigger nærmere
ind i en CPU vil den næsten altid indeholde en blok
med betegnelsen ALU - Aritmetic Logic Unit.
En ALU kan
opfattes som "lommeregneren" i en CPU idet den kan
modtage to tal (f.eks. kaldet A og B) samt en
kommando (f.eks. kaldet S) og som resultat kan
leveres F = A + B. Side 485 i wakerly viser
funktionen af en 74x382 4-bit ALU.
De fire klassiske
regneoperatorer: +,-,x og / kan naturligvis
implementeres med digitalteknik. Det er imidlertid
lidt kompliceret at implementere multiplikation og
division (specielt division) så vi vil "nøjes" med
addition og subtraktion.