Stick It With NIOS II

Aug. 11, 2010
Technology Editor Bill Wong takes a hands-on look at Arrow Electronics' BeMicro Nios II development kit based on Altera's Cyclone III FPGA.

BeMicro host Altera Cyclone FPGA

BeMicro on-board peripherals

Quartus II Nios II configuration

Quartus II Nios II configuration

Quartus II schematic layout of Nios II

Nios II Eclipsed-based IDE

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.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!