[chbot] Kickstart in FPGA course...

Charles Manning manningc2 at actrix.gen.nz
Wed Feb 16 03:03:51 GMT 2011


On Tuesday 15 February 2011 18:28:00 Mark Atherton wrote:
> The idea of a short course to get people started should cover the basics.

Sounds like a good place to start...

>
> Bear in mind that total documentation for modern, complex FPGAs run
> into the thousands of pages - the trick is to learn how to navigate
> or where to look to find how to navigate the data.

Yes, I dabbled with FPGAs 15 years ago. They're far more complex now, but if 
you're working at the VHDL level then most of that is hidden.

>
> I went with Altera rather than Xilinx because of it's usage at Tait
> and the associated knowledge base - that is a big thing for me as it
> could help open them up as a client.
>
>  From a pragmatic point of view don't forget to look at the number of
> leaded pins and pin pitch of the less complex parts. BGA while cute
> are difficult to manage on 2 layer PCBs.
>
>  From a beginners viewpoint, a cheap CPLD is probably OK just to see
> what you can do with the technology.
>
> ... and so the Altera vs Xilinx battle raged.

I really don't think this is such a big deal for logic dabbling. Sure, the 
toolset layout is different (different workflows) but the basic principles 
are the same. So too is any VHDL etc. so the learning probably works out the 
same.

The differences seem to show themselves more once you start running code on 
internal processors etc.

Well lets not limit the fight to Xilinx vs Altera. Don't forget Actel and 
Lattice!

Lattice have a nice wee demo board 
(http://www.latticesemi.com/products/developmenthardware/developmentkits/xp2breviadevelopmentkit.cfm)
for USD49. This comes with demos to run an 8-bit micro etc. It uses a parallel 
cable for programming though :-( or USB for an extra 149 :-( and Windows 
only :-(.

Actel have a nice USD99 
http://www.actel.com/products/hardware/devkits_boards/smartfusion_eval.aspx

This has a hard-wired internal Cortex-M3 ARM CPU + 200k gates etc etc. USB 
download :-). Linux only available for parts of the toolchain  :-(.. OLED 
display, Ethernet, DACs and hot and cold running water :-).  Web server 
software...

This hooks up to an Eclipse-based environment for programming/debugging 
(Windows only) but various support forums indicate some Linux workarounds.

The Actel is perhaps a more interesting meld of custom logic + regular CPU 
programming that many robotics people would want to actually do.

Lots of choices though the Actel has some real interesting extensions.



>
> -Mark
>
> Actually, I do have an old Xilinx board kicking around has never been
> powered up and I am secretly hoping that Altera isn't chosen then
> someone else gets to talk about something I know little about...
>
> At 05:38 p.m. 15/02/2011, Mike Field wrote:
> >Hi Charles,
> >
> >It doesn't matter which board, as long as we all use the same tool stack.
> >
> >If anybody wants to get a bespoke board because it has just the features
> >you want and the tools you want then you won't be able to leverage of
> >off the shared experience and resources of the group when it comes to
> >getting your hardware and tools working. You will most probably learn a
> >lot more doing it though!
> >
> >That is why I am most happy if people are using any  Digilent board that
> >works with Webpack. The options are:
> >
> >- Basys2-100k board - AU$97
> >No offchip Flash/Ram,
> >equivalent to 100,000 logic gates
> >some onchip RAM/ROM
> >
> >- Basys2-250k board - AU$110
> >No offchip Flash/Ram
> >equivalent to 250,000 logic gates,
> >more onchip RAM/ROM
> >
> >- Nexys2-500k board - AU$172
> >16MB Flash, 16MB RAM
> >Equivalent to 500,000 logic gates
> >even more onchip RAM/ROM
> >
> >- Nexys2-1200k board - AU$215
> >16MB Flash, 16MB RAM
> >equivalent to 1,200,000 logic gates
> >even more of onchip RAM/ROM
> >
> >I do have one board to lend if price was a real pain point but they were
> >keen to give it ago, but even the cheapest baord one will do a lot of
> >stuff (eg drive a PS/2 mouse, Serial port , and VGA, and other stuff at
> >the same time)
> >
> >Anything more than that is getting into really serious money. Likewise
> >if everybody else says that Altiris is "da bomb". or is used in the
> >local Uni, then I want in on that stuff and will get one for myself.
> >
> >Another option would be for a tiny CPLD, at AU$30, but if you then pay
> >AU$49 for a JTAG cable, it is only $19 less than a board with power
> >supply, switches, connectors, clocks and lights on it, and you don't
> >have to play around with a breadboard and jumpers. In my book CPLD are
> >not really a starter for 10 for a first introduction to programmable
> > logic.
> >
> >I guess that my aim is to  help people with the "This stuff is looks to
> >be really cool - why haven't I heard more about these? How do I start"
> >sort of problems. Gosh darn it is hard to get started by yourself.
> >
> >STOP READING NOW UNLESS YOU HAVE NOTHING BETTER TO DO :-)
> >
> >Here is my experience:
> >"Hey, I would love to play with one of those, I can almost afford to get
> >one!" Then the problems start...
> >
> >- WTF is JTAG?
> >- Do I need a JTAG programmer?
> >- Which programmer for what board?
> >- Will this work with that no-cost software?
> >- This board has extra RAM, this one has a DIMM socket, this has none!
> >What do I want?
> >
> >Oh, bugger it I'll take a punt on Board X. It's the best I can get in my
> >budget. "Holly heck! Check out that postage!" I'll have to wait for my
> >pocket money (being a married man and all...)
> >
> >< Contact distributor, ask a few questions, wait a week or two for the
> >board to arrive>
> >
> >I've got the board.
> >- Oh, what drivers to I need?
> >- Install drivers and board vendor's tools.
> >- But where is the design tools? They are not in the box!
> >- How do I get them?
> ><Download the tools from the site>
> >- Bugger - didn't work with windows 7 (at that time).
> >- Install an XP virtual machine.
> >- Bugger! I've downloaded the wrong version - I wanted the free one!
> ><Download another bunch of files>
> >
> >Phew! Now have toolkit Installed, but...
> >- What's all this licensing crap about?
> ><Obtain license and work out how to apply it>
> >
> >Yay! ready to build something
> >- Oh, what settings do I need for the FPGA type on my board?
> >- What model/packaging/speed grade is it? Where are the parts datasheet?
> >- How do I get the reference projects to compile and download?
> >- Hey they compile and download but they don't work! What's up?
> >- Where do I get an accurate constraints file? The net names one I have
> >doesn't match the I/O connectors in the reference projects!
> >
> >Gosh, that was to hard, how about I just play with the lights and
> >switches.. success!
> >- How come  doesn't the system clock work?
> >- Oh! It's on a different pin than the tool expects by default!
> >Wow. A binary counter. That was bloody epic.
> >
> >And from then on it was lots of shagging around... but still a lot of
> >hard questions!
> >- What datasheet do I need for the memory?
> >- How can I stuff some test data into flash?
> >- Can I make it talk to my PC over USB?
> >- Which pin is that USB-to-EPP bridge WRITE  signal on? It's not
> >mentioned anywhere in the documentation!
> >- Bugger! "Memutil" doesn't seem to work with this flash chip!
> >- How do I use this using the C API on the PC!
> >- All I want to do is write some data flash from my PC. How hard can it
> > be!? ...
> >



More information about the Chchrobotics mailing list