Altera Nios II / Cyclone III Embedded Evaluation Kit (NEEK)
Farnell list price at time of testing: £368:03
Background
Just before Christmas, the UPS man rolled up at chateau DigiWiz clutching an unexpected present from Alistair at Element 14, a brand spanking new Altera Nios II Embedded Evaluation Kit (known as the NEEK). The kit is a rather interesting beastie, with some really nice features and, unfortunately, some rather disappointing ones too. The box it arrives in is a compact 12x20x26cm and contains the main evaluation system protected by high density foam. Additionally, there is a pre-programmed 1GB SD -card to boot the kit from, a compact 24W PSU (with UK, Euro and US leads), USB to SD adaptor, 6ft USB cable, Cat 5 cable and loopback connector.
What is it?
Orac for the 21st Century (apologies to anyone who isn’t familiar with early 80s BBC Sci-fi series). Officially it is the Altera Nios II Embedded Evaluation Kit. TerASIC has it’s name all over, so I guess they did the specific design work. It exists to promote the NIOS II processor. The Nios II is a 32-bit ‘soft’ cpu, intended to sit inside your FPGA system. The idea is that rather than have an external processor, you save on component count and build it within your FPGA design, saving yourself money and board space. It is based on the Cyclone III starter kit, but also adds a ‘mezzanine’ board with its own FPGA that interfaces with the LCD panel, video I/O and audio I/O.
The motherboard has a very usable spec , comprising;
32MB DDR SDRAM
1MB SRAM
16MB parallel flash
Altera EP3C25 FPGA with 25,000 usable logic elements.
In addition, the motherboard has a USB slave, 10-pin JTAG and power connectors, power and reset switches. (The USB connects via an FTDI FT245 parallel adaptor to the JTAG terminals). There are also several stupidly bright blue LEDs. I cannot emphasise how bright they are. Glance at the board for a fraction of a second and you will be left with yellow spots in front of your eyes. Usable I/O comprises a high density connector (connected to the mezzanine board) and 4 switches and user programmable LEDs. More on this later.
The mezzanine board has a plethora of connectors. Including; SD card, 10/100 Ethernet, PS/2, RS232, VGA out, RCA/video-in, audio line in / line out and microphone in. Finally, set on top of this is the rather sexy looking 800x480 touch-screen LCD. If this kit does nothing in it’s life then it will pay for itself just by sitting on your desk attracting attention. I’m sure I don’t need to tell the engineers and marketers out there that a crisp touch screen + twinkly blue LEDs is sellable combination.
The entire assembly is bolted together via brass stand-offs, with a Perspex “sandwich” layer to protect things and give it the “Orac” look. The PCBs are very pleasing to the eye, and use top quality components from big names like Linear, Analog Devices and so on.
Initial Impression
Insert the SD card. Plug the power in. Switch on. Go Ooooo! Aaaah! As the NEEK had arrived just before Christmas, I could hardly not play with my new toy! I can confirm that the rest of my family instantly fell in love with it's blue LEDs, nice LCD and general techy-ness.
The system boots from the bundled SD card and the touch screen graphic interface gives you the option of 23 demos, from a simple photo-frame app to a hardware generated Mandlebrot fractal. Or at least it does in theory, because around half the time on my machine, it will load the app and then do nothing. Rebooting usually makes the app work second time. The system takes around 10 seconds to boot to the selector, then over a minute to load one of the larger apps. This isn’t exactly a great show of speed. I guess the system is using the SD card in serial mode rather than high speed parallel, but if it is this slow in production then it is going to rule out many potential end products.
The LCD is impressively crisp, with an excellent contrast and lack of smearing. It is nice to see an LCD 1 step up from the standard QVGA/VGA fare that is often seen even on high end gear. It isn't a cheap item, but it is certainly something I will consider for my own projects. Unfortunately, the touch screen is a flexible membrane overlay which flexes and seems to stick to your finger slightly. I’m not sure how robust that would be in a commercial or industrial environment. The whole stack of PCBs and Perspex has a nice solid feel, but I’m not sure how long it would last in a college or university environment.
Software
The Eval Kit comes with a CD and DVD of development software. Do NOT install it. Most of it is out of date now, and downloading the latest software from Altera is necessary for licensing reasons (the packaged software requires a license registration, the newer software doesn’t).The whole install / uninstall / install process took a couple of hours.
Even with the help of the tutorials I felt utterly overwhelmed. Licensing for the dev software, for the NIOS II itself, for LCD driver packages, for this, for that... A huge amount of reading and messing around. I am an engineer, not a legal expert or an accountant for goodness sake! Without paying a lot of money, you can only run the system tethered to the host PC.
Before I comment on the development suite, I should say that I have been away from FPGAs for five or six years and even then anything over 1000 gates made me break out in a sweat. I do use Visual Studio and various CAD suites (Altium etc) so busy development environments aren’t exactly new to me. As soon as I booted up Quartus though, it felt like the learning curve had turned into the proverbial concrete wall. To a poor engineer who is used to writing code in relatively plain text with traditional tools, this is rather overwhelming. Someone at Altera really needs to take a look at the IDE and consider what really needs to be there by default. More does not equal better.
Usability
I am a bit puzzled to know what market NEEK is targeted at. So far as I can see, it is mainly for students who want to make another MP3 player or LCD picture frame. Why? Well, other than the video and audio I/O, we are limited to 4 switched and 4 LEDs (all of which are situated on the base board and point towards the desk). A 40-pin GPIO connector on the mezzanine would have made a lot of difference. Someone coming into FPGAs for the first time is going to be utterly overwhelmed by the sheer amount of “stuff” involved in getting even a basic project up and running.
From the performance of the demos, the Nios II doesn’t seem to be breaking any records in terms of speed. The spinning box demo looked rather ragged to say how few vertices and polygons are being manipulated, and the C-to-Hardware compiler just served to make the processor seem even slower. It does seem slightly at odds with the concept of BoM reduction that it requires an additional FPGA to deal with the LCD.
When dealing with the more demanding demos, the FPGAs do get quite warm and the entire system uses a fair amount of power (aside from the LCD backlight). I don't think the NIOS II can compete with ARM7/9 chips when it comes to outright processor power, or energy efficiency. When licensing costs are taken into account, you will need to be looking at a production runs in the 10s of thousands or more before it is cheaper than an ARM and some glue logic.
Pros:
Well specced FPGA
Good amount of RAM and Flash
Crisp, vibrant LCD
Cool Perspex and blue LED design with nicely laid out PCBs and good quality components
Inexpensive for what it is.
Video and Audio I/O
Well specced FPGA
Good amount of RAM and Flash
Crisp, vibrant LCD
Cool Perspex and blue LED design with nicely laid out PCBs and good quality components
Inexpensive for what it is.
Video and Audio I/O
Cons:
Horrible software
Steep learning curve
No easily available parallel I/O for user applications
Needs an additional FPGA to run the LCD
The Nios II seems rather slow.
Who is it for?
Horrible software
Steep learning curve
No easily available parallel I/O for user applications
Needs an additional FPGA to run the LCD
The Nios II seems rather slow.
Who is it for?
Conclusion:
A great looking little kit, priced at a level quite a bit below that of most true dev kits. If you have an application that needs the resources in this kit then the NEEK is well worth strong consideration. If you are a developer that mostly deals with industrial or embedded systems, then don’t be seduced by the sexy packaging. In my case, it has inspired me to look at other FPGA dev kits. It really is a part of electronics that I need to catch up on. Unfortunately, despite having less fast I/O these are coming in at over £1000 which is well out of reach of a small business like mine. I think for the time being, I will be sticking to cheap fast ARM chips for most of my products.
Here are some videos I took of some of the NEEK's demo applications:
A virtual car dashboard and audio VU meters. Shows off the nice LCD very well: http://www.youtube.com/watch?v=etnACAIC5GA
3D Cube, demonstrating the NEEK and touch screen. Also demonstrating the slow loading speed and tendency to crash http://www.youtube.com/watch?v=Dtuiy-btxXk
Realtime Mandelbrot Fractal generation in hardware using the C-to-Hardware (C2H) compiler. http://www.youtube.com/watch?v=12EwT6_7igc
The original Orac! http://www.youtube.com/watch?v=NoHkaFDTiD8
Additional:
For inspiration, I was watching one of Dave Jones' video blogs on FPGAs, and I totally agree with a point he made: FPGA manufacturers are obsessed with I/O. It is almost impossible to get a fast FPGA with a good pool of gates that doesn't also have 300/600/1200 connection BGA packaging. It doesn't need to be as low density as DIP40/28 (although that would be nice), but if they want to sell more devices and expand their market, they really must look at the less exotic end of the market. It really is a major obstacle to small development houses out here.
Finally, a big thanks again to Alistair. I look forward to seeing comments!
Mike.
Design Engineer,
Digital-Wizardry.co.uk
Digital-Wizardry.co.uk