Monday, November 02, 2009

Altium Nanoboard 3000: Day 1

I received an Altium Nanoboard 3000 with the condition that I provide feedback on my experience using it. I hope this information will be useful to Altium and to other Nanoboard users.

This will be the first in a multi-part series about using the Altium Nanoboard 3000 with the specific angle of teaching a total FPGA newbie how to get started with this board.

A friend of mine is a senior in MIT's Aeronautical Engineering department. He has to build a UAV for a class project and wants to use an FPGA to control servos. He asked me to teach him how to use FPGAs. I told him I was getting a new board aimed at providing a good user experience to newbies like him and that I would teach him how to use the board. We started to install the Altium Designer software on my friends dual-core laptop. "Should we read this license carefully or just accept it like we usually do?"

Eventually the Altium Designer completed installation and we started it up and figured out how the board-tied licensing works.

Our attempt to use the board was thwarted by a massive hard drive space requirement and extremely large download size of the Xilinx development tools. Installation of the webpack wasn't worth the time to clean up space on his PC and then download 5 GB on a computer which would rarely have the Nanoboard attached. I decided to install the Altium and Xilinx software on my own laptop and become familiar with using it before trying to pass it off to a newbie. My laptop is a single core (Pentium M), 1 GB RAM, Toshiba Satellite R10 tablet recently reformatted with a fresh install of Windows 7 (which broke a bunch of things, but is fine overall). Altium installed in about 24 minutes from the DVD and I left the Xilinx Webpack to download and install over a few hours while I did something else. One of the optional Xilinx DSP tools failed because it does not support Windows 7.

This Xilinx-dependency isn't necessarily Altium's fault, but if they're trying to focus on user experience, they aught to figure out how to make this all actually work without requiring multiple hours of downloading and installing. The DVD case provided seems more expensive than a USB key that could fit all the required software pre-installed on it. Frankly, I'm tired of software installation processes, my writings about EDA SaaS perhaps point to a better way: provide all the software on a remote host, give me a small 1 MB bitstream downloader to run locally and let's get on our jolly way already. Maybe a 10-20 MB maximum download and install size if you want to include some complex software locally near the board like an in-circuit-debugger. Xilinx's software downloader and installer requires 90 MB before you even start installing the rest of the 6 GB. I just don't see why it is technically necessary to download and install multiple Gigabytes of data before I can start pumping bitstreams down a USB cable.

Altium Designer System Requirements indicate that it was not designed to run in 1024 x 768 resolution and indeed several of the dialog boxes are cut off without ability to scroll or resize. My system barely meets the rest of the minimum specifications. I will probably have to install this software on a better system, but I do not have easy access to one now.

So I have installed all the required software from Altium and Xilinx onto my laptop and finished all the license registration setup with Altium and Xilinx. I'm about 20 seconds into the "Simple LED driver" demo video in the "Training Room" video set and I cannot insert a new schematic into the project as shown in the demonstration video. If I add a new VHDL file first, I can then insert a new schematic. I can then remove and close the VHDL file leaving just a schematic in the project. To isolate the problem I created a new project and attempted to add a new schematic and failed a few times. I repeated the VHDL insertion and then adding a new schematic had no problem. I restarted the Altium Designer and created a new project, and then attempted to add a new schematic: it failed again. The VHDL-followed-by-a-schematic trick works again. I just sent an email to Altium describing this bug.

Certain hints are missing from the first tutorial video which would really be helpful for first time Altium Designer users: "hit spacebar to rotate a schematic symbol", "hold control while dragging a block to extend the bus connection", "right click to terminate a bus line without attaching it to a port." Overall, the video is informative enough, and the help search is enough to someone who has done this before and knows the lingo (example: "net label" is a meaningless term to someone who has never designed electronic systems).

3:45 seconds into the "Simple LED Driver" video, I am told to be patient for the Xilinx tools to finish running. A few minutes into the build process, the Xilinx Mapper fails with this error:

INFO:Security:56 - Part 'xc3s1400an' is not a WebPack part.
INFO:Security:61 - The XILINXD_LICENSE_FILE environment variable is not set.
INFO:Security:63 - The LM_LICENSE_FILE environment variable is not set.
INFO:Security:68 - Please run the Xilinx License Configuration Manager
(xlcm or "Manage Xilinx Licenses")
to assist in obtaining a license.
ERROR:Security:9 - No 'ISE' feature was available for part 'xc3s1400an'.
ERROR:Security:12 - No 'xc3s1400an' feature was available (-5).
----------------------------------------------------------------------
This is an unfortunate error message to get because the Altium Nanoboard resources page has a clear link to "Download Xilinx ISE WebPACK 11.1." Unforgivable.

I ran the
Xilinx License Configuration Manager to get a 30-day node-locked evaluation license so I can use target the FPGA on the NanoBoard with my laptop for 30 more days. My Altium Designer license lasts until next year though, so either Altium will have to get me another gift or I'll have to see if I can use my license for ISE at work on my laptop: though for my work I run Xilinx tools on a beefy machine over a remote desktop connection on a VPN and I'm not sure if the license can be transferred or otherwise used by my laptop. I will not be installing Altium Designer on my work computer since the license is tied to the NanoBoard itself.

After setting up the 30-day-node-locked-evaluation-license from Xilinx, everything runs as expected and as demonstrated in the video: I can control the boards LEDs using sliders in Altium Designer on my PC to control the Red, Green and Blue values. Very satisfying effect, and after all the initial bumps I look forward to exploring rest of the tutorials, at least in as much free time as I can scrounge between now and when my temporary evaluation license of ISE expires.

Overall first impressions: Altium has not field-tested the user experience of the NB3000 on an FPGA-n00b. Since I am being their guinea pig I feel like I have to be pretty explicit about how my experience deviates from the marketing claims on their website. Let me break down their claims and give you my verdict:

"Not your average FPGA-based development board" - definitely above average. This board has decidedly more sex-appeal than any other I have received in the past. It even has MIDI I/O already soldered on the board so I don't need to go out and buy an optocouper and a female connector to make MIDI synthesizers.

"you don't need any FPGA design experience to use it" - I sincerely doubt that someone without Xilinx already installed could get through the installation and licensing in less than 5 hours. Assuming the installation and licenses are already set, I don't think a newbie can get through the first 4:35 Simple LED Driver demo video in less an hour. The video should be drawn out to make each step even more explicit (how to make bus connections, rotate schematic symbols, etc). Now that I've taken care of all the licensing, I will see how my Aeronautical Engineering friend gets through the first tutorial video.

"Simply install the software, connect the NanoBoard and you're ready" - Ready to get frustrated with the Xilinx webpack installation. And then get frustrated with the Xilinx license. The initial user experience with the NanoBoard still needs some polish, and I think this article will help them with that.

7 comments:

svofski said...

Their product info page is in Flash? I couldn't even find what this board is about, let alone tech specs. When will the marketing people finally get a clue?

Amir said...

Most of the product info is in the form of videos. I think this is actually quite nice. Though I did recently convince my uncle not to make his corporate site using flash because he wanted it to be viewable on iPhone.

xjordanx said...

I can see that the Xilinx software issue is frustrating. The device used by the NB3000 is supposed to be supported by the webpack and this was a bug in the ISE 11.1 license. IMO you're better off using older versions of FPGA vendor tools and waiting til they iron out bugs like that one.

In response to Svofski, I found that the data sheet PDF is downloadable from http://nb3000.altium.com/PDFs/NB3000 Product Data Sheet_en.pdf

Amir said...

I just ran through the LED driver demo with my friend. I helped guide him a little bit by showing him how to create wires and buses and explained the difference. I even showed him what happens when you try to synthesize a bus with a name like A instead of A[7:0].

The major things missing from the intro video:

"bring up the library by clicking..."

"hit spacebar to rotate the symbol"

"you'll see the red "X" when you're making a connection"

"hold control while dragging a symbol will keep the bus connected"

"right click to terminate a bus line without attaching it to a port."

svofski said...

Thank you xjordanx! But I think basic information should be available in plain English HTML, as easily accessible and indexable as possible, a PDF should be placed nearby and videos belong to additional extras. They got it all upside down. Oh well..

I'm looking forward into more reviews!

Emperor_Dane said...

DUDE, GET A BETTER SYSTEM.

ALTIUM works great, so do XILINX, but they require something decent. Seriously Ive run into the same thing, most of the time its solved by just using something quicker.

if your friend goes to MIT, chances are he has access to a decent computer. Tether the NB3000 to it, install everything there and do it all over VNC or some remote desktop.

you cant design on a crowded desk, your not going to be able to do anything useful at 1024*768

raykj said...

Thanks for the review, Amir -- I am too looking forward to any followup posting.

Despite your difficulties, I chose to purchase one of these, given the value proposition.

I'm still working thru the tutorials and getting familiar with the tools and board.

One problem that I'm seeing is that the self-booting application provided with the board -- the one that sequences thru images on the display -- fails to self boot some or (after firmware update, now) pretty much all of the time, leaving a white display when it fails.

The "bouncing ball" example compiles and runs fine but that is downloaded via Altium Designer and doesnt self boot.

Do you see any problem?

I have a "support request" in on this issue. Lets see how that goes -- one problem here is that the company is not based in US, so support could be dicey unless they are responsive.

Re: Xilinx tools problem -- just to share the quickest path thru the 11.1 / 11.3 mess: Download the "full" 5Gb version of 11.1 even though you are only going to use the free functionality. Select "Webpack" for license. Once 11.1 is running, have it update itself to 11.3. It warns about your licence not covering all components of the upgrade but thats ok. At the conclusion, you are running 11.3 and it appears to work with Altium Designer fine.