inexpensive PCI-E based FPGA's availability (was fast USB3-device FPGA's) - Page 1
Forum section: electronics / general

author: Unknown
author_rank: Unknown
timestamp: April 29, 2014, 10:46:26 am
content: POST REMOVED AT USERS REQUEST

author: Fsck
author_rank: Super Contributor
timestamp: April 29, 2014, 10:55:51 am
content: PCIE is usually the way to have "high speed" connections to a PCbut then again, "high speed" is relative.

author: jeremy
author_rank: Super Contributor
timestamp: April 29, 2014, 11:12:51 am
content: I asked a similar question at one point:https://www.eevblog.com/forum/microcontrollers/cypress-fx3-development-kit/msg408611/#msg408611

author: jeremy
author_rank: Super Contributor
timestamp: April 29, 2014, 12:04:52 pm
content: For an oscilloscope, one does not really need to get close to the PC to get good performance. What is difficult to do is the real-time behaviour; interfaces like USB3 have a non-deterministic bandwidth over short time scales because it is a shared bus. Even on a modern CPU, because of the imperfect nature of pipelining/branch prediction, it is difficult to get the real time guarantees that would be needed for a high speed oscilloscope. And then you have to process the data; I would imagine that it would be not too difficult to get an ADC to stream data to your PC at 1-2Gb/s using one of the cypress FX3 boards but it would be very hard to process that information at >1Gb/s.If you look at the 62GHz agilent oscilloscopes, they "just" have a barebones PC connected to FPGAs via PCI-Express. This trend is the same in basically all DSOs on the market; the FPGAs talk relatively slowly to application processor which draws the pretty menus. Alternatively, some DSOs pass the video signal through FPGA/ASIC so it can replace the pixels on the display area with the waveform information. A general purpose CPU is just not "real-time" enough for this sort of purpose.As I understand it, interconnect bandwidth is not really the limiting problem in any of these devices; it is in the DAC/ADC and analog performance.

author: darrell
author_rank: Regular Contributor
timestamp: May 01, 2014, 02:19:39 am
content: As far as I know, the cheapest is the Altera EP4CGX15 in a 169 ball BGA at about $25 in 1 piece quantities. I was able to lay it out on 4 layers, but it was a bit of a puzzle to keep good signal integrity around the transceivers. That's 1 lane gen 1. I was able to do DMA transfers without too much trouble on that chip. Expect perhaps 200 MB/s. You have to format your own PCIe TLPs like most other FPGAs. This isn't an easy project.To move up to Gen 2 and more lanes, probably Xilinx XC7K70T at around $120. I'm currently working on a board with that and prefer it to the Cyclone IV part.

author: darrell
author_rank: Regular Contributor
timestamp: May 01, 2014, 03:04:05 pm
content: Quote from: pereczes on May 01, 2014, 12:42:47 pm$120 is just the chip (Digikey). I'm not aware of any cheap dev boards. It's a test and measurement application taking in 8 ADC channels at 100 MS/s, 14 bits and is capable of streaming that to RAM on the PC.I did not realize you were a complete FPGA beginner. I would suggest starting with something other than PCI Express or you will be really frustrated. The internal PCI Express cores are quite complicated and have hundreds of ports. That is part of why acquisition boards are so expensive as they have to include the logic development cost into the few boards they sell. Perhaps, start with something that grabs samples to internal block RAM and read it back with one of those SPI to USB devices. You might also look at the Red Pitaya if you want something hackable, but already working.