ChipCenter Questlink
SEARCH CHIPCENTER
Search Type:
Search for:




Knowledge Centers
Product Reviews
Data Sheets
Guides & Experts
News
International
Ask Us
Circuit Cellar Online
App Notes
NetSeminars
Careers
Resources
FAQ
EE Times Network
Electronics Group Sites

EXCALIBUR MARKS THE SPOT


Circuit Cellar Online
THE MAGAZINE FOR COMPUTER APPLICATIONS
Circuit Cellar Online offers articles illustrating creative solutions
and unique applications through complete projects, practical
tutorials, and useful design techniques.

EXCALIBUR MARKS THE SPOT

Silicon Online by Tom Cantrell

Start ı Soft Machines ı Roots ı GNU Wave ı Price is Right ı Sources and PDF

ROOTS

The idea of running a CPU in an FPGA goes way back. In 1994, an app note appeared effectively describing a processor, though even the author conceded that it was little more than a programmable state machine. [1]

Around the same time, local FPGA guru Philip Freidin was crafting his own homebrewed design, the R16 (see Photo 1). Indeed, some of you may have had the pleasure of seeing Philip demonstrate it at a "Roll Your Own RISC" session I ran at the Embedded Systems Conference a few years ago.

Photo 1ıIn the early ı90s, Philip Freidin created the R16, one of the first FPGA CPUs to demonstrate a practical level of price and performance. I love those switches and LEDs!

 

Recently in the pages of Circuit Cellar, you saw Jan Grayıs excellent article series, "Building a RISC System in an FPGA", describing the xr16, which is freely available for non-commercial use (www.fpgacpu.org). [2] Like Freidinıs design, the xr16 is a minimalist 16-bit RISC with architecture carefully optimized for FPGA implementation. Because tools are the bane of one-off CPU designs, Grayıs work is notable for including a C compiler, a port of Hanson and Fraserıs LCC. [3] Designed with portability in mind, LCC has historically targeted 32-bit CPUs (ıx86, SPARC, MIPS), but Gray was able to compel LCC to generate code for his 16-bit machine as well (see Listing 1).

Listing 1ıHere is an example of the code generated by LCC for the xr16. Notice the implementation of semantically-rich assembly language macro-instructions using lower-level primitives that comprise the native xr16 instruction set.

 

These and other pioneering designs have demonstrated that a soft-core running in an FPGA can achieve a practical level of functionality, performance, and price.

However, much depends on how carefully and cleverly the architecture is mapped to the hardware. As shown in Table 1, a 16-bit version of Nios uses 13% of a 200k gate APEX FPGA (or about 26k gates), and runs at 50 MHz.

Table 1ıThe Nios core consumes about 20k (16-bit) to 40k (32-bit) gates. Though difficult to compare, this seems a bit high compared to hand-crafted designs, but keep in mind that Alteraıs latest FPGA has 51,840 LEs, equivalent to 1.5 million gates!

 

Because gate counts are notoriously hard to decipher, itıs easier to think in terms of bang per buck. According to Altera, the FPGA goes for $40 in volume, leaving a processor cost of about $5, which works out to 10 MIPS per buck. For applications that take advantage of its performance, Nios is definitely competitive with conventional embedded micros.

Assessing the success of the Nios design requires detailed review and hands-on evaluation. What seems clear at this time is that the march of silicon will continue to erode the efficiency and performance concerns that remain. For now, the most interesting thing about Nios isnıt the architecture but the strategy surrounding it.

PREVIOUS NEXT


Circuit Cellar provides up-to-date information for engineers. Visit www.circuitcellar.com for more information and additional articles.
For subscription information, call (860) 875-2199, subscribe@circuitcellar.com or subscribe online. ıCircuit Cellar, the Magazine for Computer Applications. Posted with permission.

Click here to get your listing up.

Copyright © 2003 ChipCenter-QuestLink
About ChipCenter-Questlink  Contact Us  Privacy Statement   Advertising Information  FAQ