The $449 Nios II Evaluation Kit, Cyclone III Edition (Fig. 1) is designed to give FPGA developers a compact, multimedia platform that can support one or more soft-core processors such as the 32-bit NIOS II. The perpetual-use license for the development tools doubles the cost but the tools are worth the money if you decide to develop applications using the NIOS II.
Cyclone III Starter Board contains a Cyclone III EP3C25F324 FPGA running at 50 MHz. An Altera EPM3128A CPLD handles USB programming interface as well as LCD and most peripherals. Video outputs for LCD and VGA are supported. On the back of the system are four user-controlled push buttons. There are also four user-controlled LEDs on the back of the unit (Fig. 2) in addition to the 800- by 480-color LCD display with touch-screen support.
The board storage support includes 32-Mbytes of DDR SDRAM, 1-Mbyte of synchronous SRAM, and 16-Mbytes of Intel P30/P33 flash plugs and SD card interface. The kit comes with a 128-Mbyte SD card. Other interfaces include a 24-bit CD-quality audio CODEC with line-in, line-out, and microphone-in jacks, 10/100 Ethernet, PS/2 and a serial port.
The kit is ready to run right out of the box (Fig. 3) with a set of demo applications contained on the SD card. This is because the system is setup with the default configuration based on the NIOS II processor as noted in the block diagram (Fig. 4). The applications are loaded into memory and executed by NIOS II core. Some of the sample applications include a picture viewer, a Web server and a Mandelbrot acceleration demo built using the Nios C2H compiler.
If application software is what you want to create and you can use the default peripheral configuration, then you are ready to program.
The kit comes with the usual collection of tools, including the Quartus II Web Edition with SoPC Builder (Fig. 5) and the ModelSim-Altera Web Edition—which provides simulation support. Most software developers will be working with the Nios II Embedded Design Suite. The evaluation version of the Nios II C-to-Hardware acceleration compiler will probably garner some interest as well. Evaluation versions of Micrium’s MicroC/OS-II real-time OS and InterNiche Technologies’ NicheStack TCP/IP Network Stack - Nios II Edition are included as well. Embedded Linux can be downloaded from the NIOS Forum.
The usual IP and Nios II core support is part of the package. This is augmented by an evaluation license for El Camino’s SD/MMC SPI IP Core. This allows the core to be used on the kit platform, but like most IP it must be licensed for deployment. The same is true for the contents of the MegaCore IP Library.
Full schematics, layout and bill of materials (BOM) are included. The reference manual for the system is extensive.
Running the built-in applications will keep you busy for a while, but eventually you want to check out the user guide and tutorials. They let you rebuild a NIOS II system from scratch, amongst other things. A similar tutorial will walk you through the software side and you can easily crank out a simple application to load onto the flash card in less than an hour depending upon how familiar you are with any of the tools. Significantly less if you have used Eclipse before.
Moving past the tutorials is where you will run into a new learning curve depending upon your FPGA expertise and what you want to do with the system. Adding a couple stock IP items is a relatively trivial task, but it can get you into new parts of Quartus. It is not so much a matter of being very complicated, but rather having lots of options to understand. More tutorials would be handy, especially ones that would incorporate custom hardware with the NIOS II system and with other subsystems in an incremental fashion. This should also be coupled with the software definitions, how they would be documented, and so on. All of this is possible, but to a developer that is new to FPGA design it could be a little daunting. Using examples from NIOS II forum will likely clear up any issues, so don’t rely solely on the documentation that comes with the kit.
There are no real surprises on the software side once the various header files are available. This is true for any processor, not just the NIOS II. In fact, there is really no difference between cross-development for the NIOS II or any other platform.
I definitely like the Nios II Evaluation Kit. It runs right out of the box, but the fun really begins when you start programming the system. The ability to customize the peripherals and gain access to the flexibility of the FPGA is where the power of the system will be highlighted. Luckily, all the necessary tools come with the kit, so it is just a matter of using them.
One area I would like to see improved—with respect to tutorials—is multi-core support. The FGPA can easily handle a second core, and multi-core development is becoming more important every day. Adding a couple tutorials would definitely help. There is some discussion of this on the forums, so check that out if you have the inclination to double your fun.