Anyone here actually do meaningful stuff with FPGA devices?

Thread Starter

ApacheKid

Joined Jan 12, 2015
157
I bought a couple of books on this subject about 18 months ago, but barely spent any time. They are intriguing but I'd like hear of any actual projects people here have built that leverage and 'program' their own devices.
 

AnalogKid

Joined Aug 1, 2013
8,687
Lattice Semiconductor CPLD or FPGA:

FAA radar timing controller
Dual-port memory manager
VMW bus interface with interrupt control
VXI bus interface
cPCI bus interface and SSD manager
1024 x 4 SIM routing switcher
High-speed synchronous 4-bit 16-port data transfer system

ak
 
Last edited:

Thread Starter

ApacheKid

Joined Jan 12, 2015
157
Lattice Semiconductor CPLD or FPGA:

FAA radar timing controller
Dual-port memory manager bus interface
VXI bus interface
cPCI bus interface and SSD manager
1024 x 4 SIM routing switcher
High-speed synchronous 4-bit 16-port data transfer system

ak
OK sounds pretty solid, mind if I reach out if/when I get around to exploring FPGAs?

Thx
 

ronsimpson

Joined Oct 7, 2019
1,017
CPLD is limited as to what it can do, but it is a God send for me. Often I have some large ICs and just need a couple functions more. (2input AND, 3 input OR, FF, two inverters, and a 3 bit counter) Small random support gates all fit into one IC.

FPGA has much less limitations. Anything digital can happen.
 

AnalogKid

Joined Aug 1, 2013
8,687
CPLD is limited as to what it can do, but it is a God send for me.
I shifted to FPGA's only because CPLDs were being discontinued. IMnsHO, the CPLD is the world's ultimate logic device, and is the near-perfect hobbyist platform for someone with a little money and even more time. Whenever someone asks about building a clock or event counter or whatever from scratch without a uC, I think CPLD. It is true logic circuit design but without most of those messy wires. The downsides are learning a new schematic editor and acquiring a programmer, so I rarely propose it as a solution. Still, great parts.

ak
 

Analog Ground

Joined Apr 24, 2019
420
I bleed Altera. I use FPGAs for high speed data acquisition and control. Custom interfaces, on-the-fly processing, buffering, etc. I have not used discrete logic except bus transceivers and clock drivers for decades. Throw in a CPLD. Beware of a somewhat steep learning curve for design entry, synthesis ("compiling") and simulation. The payoff is flexibility and being able to make changes easily. Once you get over the hump, you won't go back.

FPGA samples:
- 218 channel counter board for photon counting
- 200 channel DAC controller
- High frame rate image processing (5 kHz)
- Mirror control for adaptive optics systems
CPLD Samples:
- Inserting test patterns into data streams
- Microcontroller I/O expansion (lots of this)
 

atferrari

Joined Jan 6, 2004
4,120
So, how could I start with FPGA (skipping CPLDs, right?)

I am affraid of ending reading much more than actually needed. Happened to me in the past, many times.
 

Analog Ground

Joined Apr 24, 2019
420
So, how could I start with FPGA (skipping CPLDs, right?)

I am affraid of ending reading much more than actually needed. Happened to me in the past, many times.
FPGAs and CLDs are "two sides of the same coin". There is no good reason to start with one or the other. It depends on what you want to do with your designs and you won't know which until you jump in and get some experience. I can say this because there are newer device families which are blending traditionally CPLD or FPGA features together. So, no big deal. For example, FPGA look-up table (LUT) architecture (how the logical elements inside are structured) is combined with internal configuration memory which traditionally is only in CPLDs.

A more important decision is how do you want to enter your designs. Schematics? Hardware Design Language? If you want to start with schematic entry, find a development system which still supports schematic entry (not all do). Then, decide on the hardware. If you want to replace traditional discrete logic, I recommend going with a CPLD device. Start with lots of "macrocells" like 512 or 256 to give you lots of room to try stuff. Get a lower cost development board with some LEDs and general purpose I/O and go for it. For me, just reading is pointless. I have to have something to make jump. Here is a thought. Save the money on books and put it towards a development board. There is lots of free info to get started. Of course, download the free version of the development environment.

One hump is the cost of a "programmer". Get a good one affiliated with the device manufacturer. Don't worry about spending some cash. You have spent more on an o-scope and other bench equipment.

No matter which way you go, your experience will carry over into other types of devices and other development environments. It is not an earth shattering decision when you get started.
 

ronsimpson

Joined Oct 7, 2019
1,017
I have used Xilinx FPGAs. Love & hate but they are a big player in the market.

Not using Xilinx! SparkFun There are some small low cost boards and programmer here. I don't know much about them! For the cost of lunch you can have hardware.

BangGood Here is a large board for a low cost. ALTERA is a good option.
Xilinx Low end board I think it has the programmer built in.
 

tlbs101

Joined Jul 23, 2020
2
I bought a couple of books on this subject about 18 months ago, but barely spent any time. They are intriguing but I'd like hear of any actual projects people here have built that leverage and 'program' their own devices.
The Delta 4 and Atlas V launch vehicles use FPGAs extensively in their avionics (I designed several boards using them). The Mars rovers Spirit and Opportunity used Xilinx Virtex-II FPGAs. I designed some avionics for a U-2 aircraft upgrade using FPGAs. In 2005 I had the world speed record for gathering 2 MSPS radar data and processing 1024-pt FFTs on the framed data, at 1.2 ms per 512x1024 frame, using Xilinx Virtex-1 class FPGAs
 

Papabravo

Joined Feb 24, 2006
14,672
We build a clone of a TTL processor design to execute some code from the 1970's. Worked like a champ. Inside there was even a duplication of the ALU originally made from 74181's. Another design was a communications microcode processor ending with message masking and matching like they do in a CAN controller. Very powerful stuff when you work with VHDL.
 

WBahn

Joined Mar 31, 2012
26,295
I haven't done anything with either FPGAs or CPLDs lately (haven't done any hardware designs for the better part of a decade now), but I used to use FPGA's for most of the test boards I would design to verify the ASICs that we designed. Had a daughter board for the drive electronics I designed that allowed us to program the control logic and interfaces into the FPGA instead of designing a new PCB daughter card. Saved a LOT of time and money. Eventually I took that a step further and came up with a programmable loop controller (basically a very optimized but narrowly specialized stripped-down CPU) that could be configured over an RS-232 link from a PC terminal window and could read/right control registers in the FPGA that interacted with the port pins on the daughter card. That saved a lot of time and effort provided the person doing the ASIC design took those capabilities into account and leveraged them when designing the chip. A few years later I was doing some consulting work for them and noticed some similarities in the documentation of one of the new ASICs and my loop controller. Turned out that they eventually took my loop controller design and turned it into a standard cell that nearly all of their ASIC designs then employed to run the chip's internal logic.

One one test board I had one FPGA and four CPLDs that essentially split out the communications data stream into four substreams that worked in parallel with high-speed SRAMS and to process the signals and drive the chip. It was a nice application of using each type of device for what it was good at instead of trying to use a one-size-fits-all approach.
 

andrewmm

Joined Feb 25, 2011
650
FPGA's are every where.

Just from my experiance.

All the internet backbone is made using FPGA's
All "professional" video mixing is done in FPGA's
All Wireless phone masts are done in FPGAs
All the military and space gear is FPGA base,
Medical gear is FPGA based,
Your car will have multiple FPGAs in it.
All the electricity industry is based upon FPGAs
Your digital camera will have a FPGA, as will your phone.

FPGAs have a few uses.

They tend to lead the way in any technology sector.
They have amazing parallel processing capability
They are sued to mop up "odd" functions and glue logic in a design.

When ideas are new, there is no ASIC or dedicated chip for the job.
Even when things are old, like digital video mixing, the pure amount of multiple / accumulate operations that need t be done per frame is to high for a CPU, so FPGAs are used.
Yes there has been attempts to use GPUs , but they fall down when there is more than a few video inputs / outputs, they dont have the bandwidth being limited by the PCIe bus speed .
 

WBahn

Joined Mar 31, 2012
26,295
Don't you think that claiming that ALL military and space gear is FPGA-based and, similarly, that ALL of each of those other applications is entirely FPGA-based is going a bit overboard?

FPGAs are deployed in those applications to greater and lesser degrees. In many of those applications they are the exception rather than the rule. For consumer-scale products they are seldom cost effective as they are very expensive in comparison to ASICs once you reach a volume sufficiently large to amortize the mask costs. They are certainly used heavily in developing many of those devices, but the consumer rarely touches a device that has one in it.
 

andrewmm

Joined Feb 25, 2011
650
Don't you think that claiming that ALL military and space gear is FPGA-based and, similarly, that ALL of each of those other applications is entirely FPGA-based is going a bit overboard?

FPGAs are deployed in those applications to greater and lesser degrees. In many of those applications they are the exception rather than the rule. For consumer-scale products they are seldom cost effective as they are very expensive in comparison to ASICs once you reach a volume sufficiently large to amortize the mask costs. They are certainly used heavily in developing many of those devices, but the consumer rarely touches a device that has one in it.
Just a point, I did not say entirely.

As for a consumer rarely touches a device with FPGAs,
I personally disagree, but thats my opinion based upon what I have worked on.

The ASIC used to be a BIG product market, but IMHO, the market has changed over the last 20 years. The costs of the BIG ASICs is just so high, that few applications are around that have the volumes or life times to average out the costs.

As for FPGA cost, the commercial price has nothing to do with the size of chip / amount of silicon. hence the reason its quiet possible to purchase boards with FPGAs on, that are cheaper than one can purchase the FPGA on its own.

So as for original question,
IMHO, yes FPGAs are very much in use and relevant.
 

soyez

Joined Aug 17, 2020
51
I bought a couple of books on this subject about 18 months ago, but barely spent any time. They are intriguing but I'd like hear of any actual projects people here have built that leverage and 'program' their own devices.
Another advantage of FPGAs as far as vitality effectiveness is that FPGA sheets don't need a host PC to run, since they have their own info/yield — we can set aside vitality and cash on the host. This as opposed to GPUs, which speak with a host framework utilizing PCIe or NVLink, and consequently require a host to run.
 

tlbs101

Joined Jul 23, 2020
2
We build a clone of a TTL processor design to execute some code from the 1970's. Worked like a champ. Inside there was even a duplication of the ALU originally made from 74181's. Another design was a communications microcode processor ending with message masking and matching like they do in a CAN controller. Very powerful stuff when you work with VHDL.
I'll bet your FPGA clone could operate at a much higher clock frequency, too.
 

Papabravo

Joined Feb 24, 2006
14,672
I'll bet your FPGA clone could operate at a much higher clock frequency, too.
Yes, but there were reasons not to do that to preserve the original timing relationships of various operations. If there was new code to write and run I'm sure we would have done that, but there wasn't so we didn't.
 
Top