Login

How to choose an FPGA dev board. A guide for 2020 - Hacker News

Author: Ingrid

Jul. 07, 2025

11

0

How to choose an FPGA dev board. A guide for - Hacker News

My hope is we see io put to better use. Frankly DisplayPort is one of the best, most useful, easiest to use, highest bandwidth connections you can get, with a streams based architecture that supports many manners of interesting use. It seems OT to my following comments, is indeed pretty apes to oranges, but still one of my weirder but better hopes for ways we get fpga & other systems talking interestingly cheaply atop existing everyday consumer tech, which seems to be required for costs to be earthly & useful for integration. Go more open (no licensing fee & flexible) specs.

FMC tends to be big bulky & stupid expensive. PMOD is great for interfacing microcontroller shit, but this is FPGAs we are talking about. Throughput monsters with high speed serdes & rather fast regular io. These two longstanding options put you at a high very expensive end, or a pretty so so low density low data rate low cost end.

If you are looking for more details, kindly visit interwiser.

Which is silly. Everyone & their uncle is trying to push better high density connectors. Almost none have a community around them.

Very small & not a big community, but one example of an active much denser & higher throughput, there is syzyg.

https://syzygyfpga.io/

Also just a about out to the incoming io specs. There's a very big win when we can get better at stitching together systems & cxl, ccix, opencapi, & gen-z are each massively compelling new io/coherency systems.

Funny that it doesn't mention the wide variety of very cheap prototyping kits from Crowd Supply -- including Fomu that fits entirely in your USB socket. FPGA kits on CS start at $15.

My disappointment with the FPGA world is how stuck it is in the "emulate an ASIC" rut. These things, physically, could change their whole logic and connectivity design on the fly according to instantaneous requirements, but everybody assumes you have to load them up once at reset and leave them that way. Each switch-point setting is just a flip-flop, no different from any of the ones in the LUTs.

Manufacturers enforce this treatment by providing only serial access to the switch-point settings in their tooling, but there is probably a lot of room for more flexibility, at least in some.

Well comparing the FPGA world to the programming world cannot get any meaningless. If you read up about the state of HLS tools as of today, you will find enough experts telling you that they're nowhere near finding actual use in the industry, most of them only end up taking away the control you have over the design and all of them use way more resources when implemented than HDLs.

On the other end you have beginners asking stupid questions like 'okay how do I print hello world using python on this FPGA?' instead of thinking about the digital logic design that goes into it. Which is why I discourage the beginners from using anything but HDLs.

If anything HLS can be a good tool for professionals who already know what they're doing and understand what they're giving up by using an inherently sequential (programming) language to model inherently parallel hardware. They are in a position to use it as a tool to rapidly prototype their design and make incremental improvements thereafter, not beginners.

> What's wrong with having "print('hello world')" run on a micropython running on a risc V core on an FPGA?

Because it betrays a misunderstanding of WHY you are using an FPGA in the first place.

If you want to program a microcontroller, go get a microcontroller.

For more FPGA Boards manufacturerinformation, please contact us. We will provide professional answers.

You generally use an FPGA for a reason. And that reason almost always relates to speed (either latency or throughput). VERY occasionally it has to do with simply translating logic standards (changing from something like LVDS differential to standard CMOS, for example).

If you don't need speed, you should go back to the microcontroller. And, even if you need speed, you should still go back to a microcontroller and see if you can bend it to your needs somehow.

Programming an FPGA isn't just "throw some HDL around". Why do you need a clock? What are synchronizers and why do you need them? Why does my FPGA suddenly not have enough resources when I design a numerical divider and ask it to be fast?

Digital design != programming. And vice versa.

Programmers complain all the time "Git is easy. You just have to learn its mental model." and bitch about people that won't. So, why do you believe that wouldn't also hold for digital design?

> And why is it not simple?

How would you answer to someone complaining that "Why isn't programming simple? Dogma? Industry standards? Drinking the IDE vendor kool-aid?"

As a reminder, remember, "Hello, world." is a very difficult hurdle for most non-programmers.

> What's wrong with having "print('hello world')" run on a micropython running on a risc V core on an FPGA?

RISC-V is slightly odd in that actual microcontroller hardware is a bit thin on the ground. However, wanting to play with RISC-V via an FPGA development board that isn't explicitly set up for that purpose is kind of like learning Rust by programming an STM32F7 development kit.

You can, but boy are you making your life miserable.

Are you interested in learning more about Digital Signal Processing Products? Contact us today to secure an expert consultation!

[SOLVED] - Seeking help choosing an FPGA develoment board.

Hi, I would like to learn about FPGA and whether or not it may be useful for my intended purposes.

The main purpose I have in mind right now is to use the FPGA for pattern recognition. It's my understanding that many people have been using FPGAs for this purpose already.

I have the following constraints. Mostly financial. I'm a hobbyist working in robotics. I use Raspberry Pi and Arduino boards to do most of my processing and microcontrolling. I'm looking to add inexpensive FPGA boards to my toolbox. The pattern recognition I mentioned above is one application, but there may be others that I'm not even aware of at this time due to my ignorance of what FPGAs are even capable of.

With all of the above in mind I've been considering the following FPGA boards.

RioRand® EP2C5T144 Altera Cyclone II FPGA Mini Development Board (Price: $23.90)



I like the small size and small price of this board at under $20. But I have no clue what its limitations are.

A second board that I've been considering is this one at almost twice the cost at $38:
Waveshare XILINX Spartan-3E Core Board XC3S500E XILINX FPGA Evaluation Development Board Kit (Price: $38.99)



Between these two boards, is one more powerful than the other? Would the Xilinx Spartan 3E be far more powerful than the EP2C Altera Cyclone and therefore well worth twice the dough?

Like I say, I'm new to FPGA and I don't really know what to choose.

My main concerns are cost and footprint. I like a small board that I can tuck away in my robots. And I like a small cost allowing me to purchase several of these over time. So these two boards are attractive to me. I just don't know whether the Xilinx is worth twice the money?

I can actually get the Altera Cyclone II boards for as low as about $15 from other sources. So the Xilinx Spartan 2E is actually more than twice as much. But is it worth it in terms of having a more powerful or more dense FPGA chip?

Thanks for reading.

Other suggestions are welcome too. But please keep in mind that cost and small footprint are two important factors for my applications. With either of those you'll still need to buy a programmer, which will be anywhere from ~$10 to ~$150 depending on if you buy some aftermarket clone or the actual programmer from the vendor.

You may want to do more research.

Something like this might be more useful:
The miniSpartan3 is our new, low cost, tiny, FPGA kit. It starts at just $29, and there is a more powerful FPGA chip available for $39.

Features:

The Spartan 3A XC3A50 FPGA ($29), or the Spartan 3A XC3A200 FPGA ($39) from Xilinx.
An on-board USB JTAG Programmer to power and program your FPGA.
An on board USB to Serial Interface.
One HDMI output port.
41 digital I/O pins.
A 4-channel analog to digital converter running at 200 KSPS with 8 bit resolution.
4 Mbit SPI Flash.
32Mhz oscillator.
3 LEDs for debugging.
2 DIP switches.
Dimensions:

1.6 inches wide
2.5 inches long
In the same price range of the other two but has the JTAG programmer built into the board, that is something you may want to keep in mind (do you need a programmer). The only issue I see with this board may be the requirement that you power the board from the JTAG. As you want to install it in a robot, you may not want it permanently attached to a computer. Hi ads-ee,

Thanks for the tip on the Spartan 3A XC3A50 FPGA board. I'm only just now trying to get into FPGAs and there seems to be an over-abundance of products to choose from, which is good I guess, but can also be confusing for someone just starting out.

As far as the JTAG programmer is concerned its my understanding that I can get one of those for the Altera Cyclone II for under $10. And then I can use that same programmer for any additional boards I buy. I didn't really look into a programmer for the XILINX Spartan-3E board yet.

My main concern right now is to try to understand exactly how powerful the actual FPGA chips are.

I'm not sure about this but it appears to me that the following might be correct:

The Altera Cyclone II has an EP2C5T144 FPGA chip on it. From what I can make out this means that it has only 5k logic gates? (I think that's what the 5 stands for in the chip number) I'm not even sure what the 144 at the end means.

The XILINX Spartan-3E Core Board appears to have XC3S500E FPGA chip. From what I can make out this means that the FPGA has 500k logic gates? Is that correct? Is so then the Xilinx board would clearly be far more powerful than the Altera board. But I'm not sure if my information is correct.

The Spartan 3A XC3A50 that you just pointed to appears to have 50k logic gates.

So thus far, (if the numbers above are correct) it appears that the Spartan 3E has the most to offer in terms of the actual FPGA chip? It also appears that the Altera Cyclone would be vastly limited in comparison with only 5k logic gates (or whatever that number stands for)? But I don't know if my information is correct.

Am I doing this right?

I'd like to get the most bang for my buck, and based on the numbers above (if I'm doing this right) the the Spartan 3E appears to have the most powerful FPGA chip on it. Also if I can get a JTAG programmer for it for around $10 that would be a one-shot investment since I could use that same programmer to program any future Spartan 3Es I might buy.

I definitely want to get something. But I'd like to make the wisest choice first time around. And right now the Spartan 3E board looks like the most powerful FPGA chip for the buck at 500k LEs (whatever "LE" means). If I'm reading these chip numbers correctly.

I like the Altera Cyclone, but if it only has 5K LEs compared with 500K LEs of the Spartan 3E then the Sparan 3E seems to win hands-down in terms of having more to offer.

I take it that LE means logic units or logic blocks? I don't know what LE stands for exactly but I think it has something to do with how much logic is available on the chip.


So in summary it appears to me that the following might be true:

Altera Cyclone II EP2C5T144 = 5K logic gates or units?
Spartan 3A XC3A50 = 50k logic gates or units?
Spartan 3A XC3A200 = 200k logic gates or units?
Spartan-3E XC3S500E = 500k logic gates or units?

Is this correct?

Is so, the Spartan 3E board looks like the best choice in terms of offering the most programmable logic gates. And the Altera Cyclone looks almost crippled in comparison! Unless I'm doing this wrong. You usually look at the datasheet for the part to determine how many "logic cells" you have.

The EP2C5 is in the first column (captured from the Cyclone II handbook)

As you can see there are only LE (logic elements) and each of those has 1 4-input LUT and a FF, therefore there isn't much logic. Now the Spartan 3 series though uses the inflated equivalent gate count (what ever hand waving BS that means), so the 500K gates really mean you have:

i.e. slices, with 2 LUTs and 2 FFs per slice. So it's only 2x the size of the EP2C5 the other parts you mention are even smaller than the EP2C5. The XC3A50 only has 704 slices! So it's way smaller than the EP2C5.

For any board you are interested in you should get the datasheet/user guide and see what capabilities it has most of these documents have within the first chapter a table like the above summarizing the features. Though you'll have to dig into the architecture to determine what a Slice/CLB/ALM/LE means in terms of numbers of LUTs and FFs.

Both the Cyclone II and the Spartan 3 series are very old (antiquated) parts, the only thing going for them is they are cheaper than the newer parts, but then again a Spartan 6 board (still an old part) that is $50+ will have easily as much if not more usable logic than the xc3s500 (and the part is still supported).

Things like the Arty 7 35T have deceptively large amounts of logic as it uses 6-input LUTs, DSP blocks, large amounts of BRAM, XADC, Transceivers, PLLs, PCIe endpoint. In this case the 35 is once again a marketing number as it seems to be an average of the number of LUTs and FFs so it's half way between the number of LUTs and the number of FFs. Regardless with slices you get 20.8K LUTs and 41.6K FFs. But to get all this you'll have to fork over $99.

To give you an idea of what the slices buys you...
The microblaze in a Artix 7 runs around 200 MHz uses perhaps LUTs and FFs for a typical configuration. They also have a table entry for running with Linux and an MMU, which comes in at LUTs, FFs, and 142 MHz.

Comments

0

0/2000

Guest Posts

If you are interested in sending in a Guest Blogger Submission,welcome to write for us!

Your Name: (required)

Your Email: (required)

Subject:

Your Message: (required)

Join Us