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

you’ve mentioned building a logic analyser on several occasions.
Check out:

I know of sump, and was considering the use of the PC side (client) of it.

I should look through my old projects and see if I still have any part of the (very) simple project I built somewhere in the mid 80’s. I think.

But more to the point, I still consider a logic analyzer to be a suitable first FPGA project, with the emphasis on the hardware (capture) part.

@eyal, the sump project consists of a pc client and a Spartan 6 based fpga sampler.

Whilst a logic analyser is a reasonable project, you have to admit, a bit like building a VGA interface or any of the other standard learning projects, there’s very good cheap logic analysers available off the shelf.

If fact unless you interface the SDRAM, you’d probably be better off hooking up the ChipScope IP (xilinx term, but Altera or Lattice have an equivalent.)

As an alternative with similar level of complexity, I reckon you could make a low spec/feature version of one of these https://www.joulescope.com/ Personally I think it’s just a matter of time before a cheap open source alternative comes out. I’d love to see a $20-30 design that you could have made by one of the PCB assembly services on-demand.

I have been playing with a Haasoscope based on the Altera Max 10, has been alot of fun as an O-scope but also does 8ch at 250MSPs logic analyzer through matplot for visualisation and command - being open-source so the implementation is all there, I can bring it along one wednesday.

https://www.crowdsupply.com › andy-haas › haasoscope

@Harvs I hear you. I selected this project as a simple one for me to learn to use the tools and the language.

BTW, the joulescope is still $800. I need to run a test that lasts a few months (my 2nd test is running now) and I am getting good results with the INA219 (soon INA226). I am also experimenting with the tiny eZ430-F2013. It should run using less than 1mA (It measured 440uA when doing a busy wait) and has a 16-bit ADC so should cover 5uA-300mA which is all I need.

Yes, please bring it in.
I looked at this project before and thought the small recording depth is an issue. I use a humble Rigol DS1074Z and regularly take a single shot then spend time drilling into the detail.

Talking FPGA, yesterday I received my board and programmer. Let’s play.


Not sure where you’re starting from, suggest the book on Verilog by Pong Chu.