FPGA Discussion

Hi all,
Tonight Eyal, Ryan and myself had a long discussion re FPGA development.

Eyal has bought himself a cheap Spartan 6 based board, ~$30 or so. I purchased a different board with the same FPGA but less circuitry for much the same. See http://www.chinaqmtech.com/. They offer two Spartan 6 boards, mine is the cheaper, only has 32Mb of SDRAM. Both boards require a JTAG programmer, an additional cost. Spartan 6 is older technology and uses a legacy tool chain.

http://www.digilentinc.com has nice boards but a little more expensive. Cheapest is the CMod S7, a Spartan 7 on a very small, breadboardable layout. Very minimal but does have a built in programmer. Uses the Vivado tool chain, the current offering.

You can dive into FPGAs without spending anything and just download Vivado to play in the simulator. No cost.

My suggestion is Verilog over VHDL, particularly if you know C. Most recent digital logic texts include examples in one or the other, sometimes both. An excellent author is Pong Chu, an American professor. He has written two books with the same topics, one in Verilog, the other in VHDL.

Hope this sparks some discussion.


In my experience the barrier for most people getting into FPGAs is finding an interesting and new application that can’t be done easier in a microcontroller/SBC.

It no doubt worth considering the Lattice offering these days as well. They make smaller and usually easier to deal with parts. Of course there’s also the open source tool chain for certain parts as well now.

I’ve also have in the mail a Spartan 6 board with SDRAM, probably the same as the one you’ve got. Looking at the Xilinx IP available, there’s no Single Data Rate SDRAM controller available for S6, only DDR. Have you found a controller to work with this board?

I bought the SDRAM board purely because it was cheaper and I want to give my apple2fpga project a permanent home. Right now the Apple 2 lives on my Digilent Spartan 3 dev board which needs to be reassembled and reprogrammed every time I want to play.

The projects memory needs are completely satisfied by the fpga block ram resources, the SDRAM is unneeded.

As far as “interesting and new application that can’t be done easier in a microcontroller/SBC” goes, I think for some things the novelty of just doing it on an FPGA can be worth the barrier to entry. Perhaps not always, but there’s a difference between, say, an Apple II emulator running on a Pi and one on an FPGA that behaves as the original hardware did, and may even be compatible, to an extent, with the original hardware.

After last night I stayed up late reading on all sorts of shenanigans, and while it pains me to think just how ill informed and naive I was less than 24 hours ago, the appeal of FPGA’s is really starting to grow on me. I’d argue the barrier to entry may not be that people cannot think of projects to do on them that would not be simpler on an SBC, but that they may not understand just how flexible FPGA’s really are.
Perhaps that flexibility may scare people, “infinite possibilities” doesn’t exactly give you the slap in the right direction that “You’ve got 32k of program space and 2k of RAM, just write as many blinking LED’s as you can until it’s full” does.
I’d say it was the lack of apparent, well, not constraints, but perhaps structure that scared me away from FPGA’s at first, but now I know it’s not quite as bad as I probably psyched myself into thinking it was.

Hi Ryan,
I too came home and read up on the 2A03. It got me interested enough to implement a very minimal triangle channel.

See https://github.com/makehackvoid/fpga-sig/tree/master/2019_ricoh2A03

I think the system emulators are one of the better ‘hobby’ projects I’ve seen on FPGAs. Along with all the SDR things people are doing.

I’ll chuck in here a recommendation for those getting started, check out the nandland youtube channel. It obviously a work in progress, but he has some of the most clear and practical explanations of things like crossing clock domains that are super helpful to learn early on if you intend on interfacing within anything.

1 Like

Well I’m lost for words, that’s just fantastic.
I’d like to say I’m making progress on my own demo, but, well, things are taking their time.

BTW, diagram is here: https://github.com/makehackvoid/fpga-sig/blob/master/2019_ricoh2A03/tri_channel_1.jpg

I had a stickybeak through, I won’t say it’s surprisingly simple, I will say that it’s much more refined than any of the messes I’ve ended up making, however.

Tonight Eyal, Rene and I hacked up a quick blink example for the QM Spartan 6 board.

1 Like