A full system based on the SpartanMC consists of the processor
core, a configurable amount of memory and a set of peripherals
which are required for the particular application. Complex
peripherals can work autonomously on the content of a block
memory, which allows DMA style operation (e.g. USB). Lightweight
devices which just require several registers can be integrated
much easier into the system via direct connection to the
processors data and address bus (e.g. UART, Timer). Of course, this
interface also enables desings using both techniques (e.g. CAN).