Processor Design: System-On-Chip Computing for ASICs and FPGAs

James Ball
Altera, Inc.
In the mid to late 1990s, soft-core FPGA processors were of interest only to the academic community due to their high cost and low performance. A soft-core FPGA processor might have been able to fit in an 1990 s FPGA but it occupied the majority of the device. An off-the-shelf processor chip was cheaper, faster, and readily available.
With today s modern FPGAs, soft-core FPGA processors are now mainstream products. A soft-core processor occupies less than 1% of a high-capacity FPGA device and exceeds 200 DMIPS of performance. A soft-core FPGA processor is so small that in some cases it fits in the unused resources of an FPGA so is essentially free.
All RAM-based FPGA vendors provide soft-core FPGA processors optimized for their FPGAs. Altera [11] has the Nios II [14], Xilinx [465] has the MicroBlaze [466], and Lattice [255] has the Mico32 [256]. All of the soft-core FPGA processors follow the RISC principles developed by Hennessy and Patterson [187].
None of the major FPGA vendors provide soft-core implementations of established processor architectures (e.g. PowerPC, ARM) although some provide hard-core implementations. Soft-core implementations of established processor architectures are avoided partly due to licensing costs but mainly due to their low efficiency in an FPGA.
This chapter discusses the unique aspects of designing soft-core FPGA processors in contrast to designing soft-core ASIC processors. A brief overview of FPGA architecture is followed by a discussion of instruction set and design issues, a comparison of FPGA processor instruction sets, and...