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).