THE PROJECT
Several
companies sell FPGA CPU cores, but most are synthesized
implementations of existing instruction sets, filling
huge, expensive FPGAs, and are too slow and too costly
for production use. These cores are marketed as ASIC
prototyping platforms.
In
contrast, this article shows how a streamlined and
thrifty CPU design, optimized for FPGAs, can achieve
a cost-effective integrated computer system, even
for low-volume products that cant justify an
ASIC run.
Ill
build an SoC, including a 16-bit RISC CPU, memory
controller, video display controller, and peripherals,
in a small Xilinx 4005XL. Ill apply free software
tools including a C compiler and assembler, and design
the chip using Xilinx Student Edition.
If
youre new to Xilinx FPGAs, you can get started
with the Student Edition 1.5. This package includes
the development tools and a textbook with many lab
exercises.[3]
The
Xilinx university-program folks confirm that Student
Edition is not just for students, but also for professionals
continuing their education. Because it is discounted
with respect to their commercial products, you do
not receive telephone support, although there is web
and fax-back support. You also do not receive maintenance
updatesif you need the next version of the software,
you have to buy it all over again. Nevertheless, Student
Edition is a good deal and a great way to learn about
FPGA design.
My
goal is to put together a simple, fast 16-bit processor
that runs C code. Rather than implement a complex
legacy instruction set, Ill design a new one
streamlined for FPGA implementation: a classic pipelined
RISC with 16-bit instructions and sixteen 16-bit registers.
To get things started, lets get a C compiler.