FPGAs

guddler

Busting vectors like it's 1982!
vacBacker
Feedback
10 (100%)
Credits
4,058CR
Anyone got any tips on where to start, what to read / learn etc.?

Even picking up some kind of dev board doesn't seem straight forward! I figured I'd have a nose for a Spartan 3E board as that was the basis on the Open Source LA project but when you start to look there are a gazillion different versions and variants. Not very beginner friendly.
 

trm

Who loves you, and who do you love?
Feedback
2 (100%)
Credits
2,877CR
I'll post some details on my devboard later on tonight, but I got a Spartan 3A (IIRC) from Farnell http://uk.farnell.com/xilinx/hw-spar3a-sk-uni-g/kit-starter-spartan-3a/dp/1605825?Ntt=1605825

I went for this one as it was quite close to the devkit the guy at FPGA Arcade is using and I wanted to try out (and learn) from his work, but it's got a better colour depth output than some of the other Spartan 3 boards.

I've also got some books which have been pretty useful but my biggest problem was lack of large blocks of time I could dedicate to learning it. Dipping in and out meant that I'd spend half of each session figuring out what I'd got up to before and then only having time for a bit of progress. Plus my eval license on the tools expired
smiley19.gif
 

guddler

Busting vectors like it's 1982!
vacBacker
Feedback
10 (100%)
Credits
4,058CR
Hmmm, £180 + VAT. Err, ouch?! Or is that just what these things cost?

I guess that's the general idea though, to start off having a nose about with some of the stuff that's already out there like at FPGA arcade.

Trouble with some of these things is that they cost a lot of money and can be very specific. I bought the Microchip PIC development kit and ICE (In Circuit Emulator / Debugger) for the 9100 keyboard project. Ok, it got used a fair amount at the time, but aside from once when my PIC mysteriously 'de-programmed' itself it's been on the shelf ever since. Don't honestly even know if I've still got the environment set up any more.

Now I can't remember what that cost. i have the invoice in the box though so if I want to depress myself further tonight I can check but I seem to think that may have been circa £120 or so
smiley5.gif
. Never recouped that cost, though I guess I did get a working 9100 keyboard out of it though
smiley20.gif


One quick question, what language is FPGA development done in? The PIC was assembler. And it's own flavour at that IIRC. There was a C compiler available from a 3rd party but it was lots of $$$ and the hobby version simply didn't work! Hopefully the FPGA is something a little more friendly!
 

trm

Who loves you, and who do you love?
Feedback
2 (100%)
Credits
2,877CR
Quickie as it's a manic day, but you can synthesize from a schematic, or code in VHDL or Verilog or there are C to VHDL/Verilog compilers. Some of these need tools from Xilinx (the synthesis stuff definitely, in my experience).

I'd have a look on ebay for some second hand dev kits as I'd guess some people need to remain on the cutting edge as newer faster/bigger FPGAs are released. Plus I'm sure somewhere like Sparkfun or the like will be producing kits - I think the benefit of buying an actual first party manufacturer kit is that you can call the vendor for in-depth support which isn't something I think we'd need.
 

trm

Who loves you, and who do you love?
Feedback
2 (100%)
Credits
2,877CR
Have a look at http://www.fpgaarcade.com for some more on the Amiga FPGA stuff. He did a lot of work on analysing the custom chips and I think some of his work cross-pollinated into the minimig product. The FPGAarcade guy is planning on releasing a JAMMA PCB which will run loads of the old classic games and seems quite close to being ready.
 

DaveAS

User
Credits
336CR
What are your-long term goals with the kit? If you want to hook up external DIY boards, one of the simpler kits may be a good choice because the connectors are easily mounted onto stripboard. The basic Spartan 3 starter is ideal in this respect and comes with an option for a massive 1000K gate FPGA. As Tim mentioned earlier, the basic boards have the disadvantage of crappy VGA. The S3 has a whopping 8 colours! It's easy to hack in more resistors or make an adaptor board though.

You'll also need to consider 5v tolerance if interfacing to arcade boards. Spartan 3 and above are not 5v tolerant, although on the 3s you can at least provide limited support by adding series current-limiting resistors. Each i/o has a clamp diode to supply and the resistors reduce the max current for a logic '1' to something that won't kill the FPGA. A gotcha with this technique is when you have a bidirectional line connected to a low impedance. You're forced to insert the current limiting resistor to protect the FPGA which then effectively creates a voltage divider. An example would be a bidirectional bus with low value pull-up or pull-down resistors.

[EDIT: Fixed some missing info above: the low impedance issue only applies to bidirectionals because you of course don't need a current limiting resistor on an output]

Digilent design many of the boards Xilinx sell, including the 3A one Tim mentioned. They have loads of variants and add-ons on their website:

http://www.digilentinc.com/

Looks like you have to order the programming cables separately now. They used to bundle a parallel port one with every board for free.

--
Dave

davespicer2011-03-17 18:54:45
 

guddler

Busting vectors like it's 1982!
vacBacker
Feedback
10 (100%)
Credits
4,058CR
Well, simple answer is, at the moment there is no long term goal. Well, I guess there probably is, and it's to learn what FPGAs are and how and where they could be useful to me
smiley1.gif


Obviously though I suppose whatever I end up doing (if anything) is likely to need interfacing to old arcade hardware so the 5v issue is going to need to be overcome!

As far as programming cables, I've got a programmer that does in-circuit programming, both JTAG and ISV (if that's right?) and understands far more than I can remember about the languages that go along with that. Is that any help? If not there's a tonne of cheap knock off programming cables on eBay.

I guess given that most modern dev boards are going to suffer from the 5v tolerance problem, the 3E dev board that has USB rather than serial on it is pretty much the same price as the 3A. Hopefully I'm going to get to have a play about with Tim's dev board though!
 

trm

Who loves you, and who do you love?
Feedback
2 (100%)
Credits
2,877CR
I'll bring it and the VHDL books along to the tech-meet. Saves posting 'em. Too tired to contribute to the discussion tonight as I'm just about to finish work but have some input (and questions for Dave
smiley36.gif
) tomorrow.
 

DaveAS

User
Credits
336CR
http://shop.trenz-electronic.de/catalog/default.php?cPath=1_48Hmmm.. from the sounds of it you need 2 boards. A fully featured one to play around with and learn on, then something a bit more bare bones when it comes to bolting on your own bits and pieces.

The S3E has the same comedy 8 colour VGA as the S3. Tim's suggestion of the 3A board might be better as a standalone. Both have USB programming built in, which I'd actually completely forgotten about. There you go, I've changed my mind already.
smiley36.gif


These things are a pain in the **** because you never will find one board that does everything you want and any advice is a case of "if you wanna do xxxx, buy aaaa; but if you wanna do yyyy, buy bbbb".

One of these would be good as a bare bones option:

http://shop.trenz-electronic.de/catalog/default.php?cPath=1_48

Very cheap, level converters + regulators + flash on board and they can fit straight onto a standard pitch proto board.

--
Dave

davespicer2011-03-18 14:12:48
 

guddler

Busting vectors like it's 1982!
vacBacker
Feedback
10 (100%)
Credits
4,058CR
Ha, posts crossing!

Just having a bit of a relax before knocking it on the head for the night (hey, we all relax in different ways!) and one of the very first hits I saw when googling about interfacing to 5v was this one:
http://www.xilinx.com/support/documentation/application_notes/xapp646.pdf

It's actually a reference design for connecting a Spartan 3 series or a Virtex II (whatever one of those is) to either a 3.3v or 5v PCI bus via the use of a "IDT Quick Switch" device. The device is basically a pack of 10 NMOS transistors with a clamping arrangement and such a tiny delay (250ps) that it claims to have no effect on timing as far as the FPGA is concerned. The reference design can cope with up to 4 of these switches which makes... 40 pins. Hmmm
smiley1.gif


And then there's whatever the Open Source Logic Analyser project uses to investigate as well.

Lot's to investigate
smiley1.gif
 

DaveAS

User
Credits
336CR
Aha... yea, those modules over at Trenz use similar devices for level conversion. They're bidirectional too, which kinda makes my head hurt.

Oh, I meant to mention software. Grab the Xilinx webpack and you get a free version of Modelsim to play with. You can try writing some simple VHDL stuff and testing it in simulation. Beyond the design side, you'll also want to learn to write testbenches to provide stimulus and verify design operation. You can do everything in VHDL, so no need to learn another language for testing.

I wish I could recommend a good VHDL book. I've had loads and they've all been a bit cack.

--
Dave
 
Top