Altera andArrow Electronics have teamed up to bring NIOS II on the Cyclone 3 FPGA a snap. The compact BeMicro (Fig. 1) is only $49. Getting the BeMicro up and running too awhile but most of this was downloading the software and installing it. There is also a $29 proto board that the BeMicro module can plug into but I didn't get a chance to check that out.
The USB-based BeMicro (Fig. 2) contains a Cyclone III EP3C16F256C8N FPGA. The module also has 4 Mbytes of SRAM, a 16MHz clock oscillator, 3 status LEDs, 8 user LEDs, and an 80-pin edge connector. The latter can be used with the proto board or your own platform. Software development for the Nios II can be done simply with the USB connection.
The process starts by downloading a free copy of the development tools and documentation. There are two major dev tools: the Quartus II Web Edition FPGA design software and the Nios II Embedded Design Suite. These are not small files. The instruction booklet for using the BeMicro is a significantly smaller PDF file.
You will also need a PC running Windows XP/SP2, Vista or Windows 7 with at least 256Mbytes of RAM. I think a gigabyte or two of RAM is a more reasonable minimum.
The BeMicro manual is divided into six sections or modules that I walked through. Some are overviews like the second that presents the design flow. The process starts from the top with installation instructions for the USB driver and software install. This went very smoothly and let me start up the Quatus II project.
The process starts with the selection and configuration (Fig. 3) of the Nios II platform. The resulting configuration (Fig. 4) is extensive but on the order of a typical microcontroller. It is not the most complex system but sufficient to show how everything is selected and connected together (Fig. 5). I finished up this process by downloading the FPGA design to the Cyclone III on the BeMicro module.
At this point you switch development tools. The Quartus II is an Eclipse-based IDE. This is where the software development work is done. The Nios II IDE (Fig. 6) uses the definitions created by the Quartus tool and the demo application is relatively simple. On the other hand, if you are familiar with Eclipse and C/C++ then this will be all you need to get programming the Cyclone III and the Nios II processor.
Getting the BeMicro up and running is an afternoon project. Developing any substantial application will take siginficantly longer but the tools are there to take advantage of the Nios II.
Some of the online notes about the BeMicro indicates that you can be up an running in minutes. As you can see, the time is a bit longer but the time is definitely worth the investment since you will have a good feel for the development process. The full power of the FPGA is available although the intro material concentrates on the Nios II soft core aspect. There are other tutorials on Altera's site for developing IP for the rest of the FPGA and tying it into the Nios II.
If after checking out the BeMicro you find yourself looking for a heftier development platform then check out the Nios II Embedded Evaluation Kit and the Embedded Systems Development Kit. They are more substantial but more expensive.