Page 300 - Embedded Microprocessor Systems Real World Design
P. 300
as there must be some degree of parallelism and the instructions must be
synchronized.
~ ~
MicrocontrolledFPGA Combinations
Many microprocessor designs have a microprocessor and one or more program-
mable logic devices (PLDs). The PLDs usually function as address decoders, I/O
peripherals, or even fairly complex state machines connected to the processor.
The Atmel FPSLIC (Field Programmable System Level Integrated Circuits) com-
bines an AVR microprocessor core with Atmel’s AT40K field programmable gate
array (FPGA) architecture on a single chip. The FPSLIC devices are programmed
at power up from an external memory, allowing you to create sophisticated
microprocessor-based systems with just two chips. The FPGA part of the device is
PCI compliant, so you can directly interface the AVR to a PCI bus.
The AVR microprocessor of the FPSLIC includes the AVR core, two UARTs, three
timers, a watchdog timer, and a real-time clock. Sixteen 1/0 lines are available from
the AVR, although 1/0 can also be implemented in the FPGA. The Atmel AT17
family EEPROM memories are compatible with the FPSLIC, storing both the AVR
code and the FPGA configuration.
The FPGA part of the FPSLIC includes a hardware multiplier for fast DSP-like
operations and a fast dual-port SRAM for communication with the AVR. The device
includes 10,000 to 40,000 gates and 864 to 2,880 registers, depending on which
specific chip you are using.
The AVR and FPGA are tied together via the dual-port RAM. In addition, four
memory locations in the AVR are mapped into the FPGA, so you can build custom
peripherals for the AVR with the FPGA logic. Finally, 16 interrupt signals pass from
the FPGA to the AVR so the FPGA logic can generate interrupt requests to the
microprocessor. The FPSLIC is available in packages ranging from an 84pin PLCC
to a 352-pin BGA.
Another manufacturer offering microcontroller/FPGA combo chips is Cypres
MicroSystems. Their CY8C25xxx family of programmable system-on-chip parts
includes both configurable peripherals and analog blocks, as well as an 8-bit micrc-
controller. The analog blocks can be configured to create ADCs, digital-to-analog
converters (DACs), filters, and other functions.
In addition to FPGAs with embedded microcontrollers, you can also embed a
microcontroller into a standard FPGA just like you would any other logic block.
A microcontroller built this way may make less efficient use of chip real estate than
a dedicated microcontroller IC, but it can simplify the overall system design. Xilinx
has an application note that describes such a microcontroller.
Advanced Microprocessm Concepts 281