5 ms·
Aren't FPGA's used mostly to test/design a circuit that you would then go on to actually fabricate/build? I could be wrong but I thought FPGA's were stateless (
by jaxtellerSoA 8y ago
Aren't FPGA's used mostly to test/design a circuit that you would then go on to actually fabricate/build? I could be wrong but I thought FPGA's were stateless (meaning if they powered off/reboot you loose everything and have to set it up from scratch again).
- zwieback 8y agoYes and yes but new uses are emerging, it's like 3D printing: there's a crossover where the extra cost you pay for flexibility becomes too much to compete with hard wired logic despite the high initial cost.
- monocasa 8y agoTo be fair, it's not new. People have been using FPGAs in that capacity for decades.
- zwieback 8y agoVery true, but mostly EEs and embedded SW/FW engineers. I think the SW tools, although still awful, are reaching the point where more SW-focused developers can take advantage of FPGA flexibility. Which isn't to say every programmer shouldn't be forced to struggle through a Verilog or VHDL project - that'll put some hair on your chest and the fear of god into you. I'll see your async and raise you an "always @(posedge clk)"
- stumpylog 8y agoNo, they retain state. We used an Altera DE1 in school and it retained our burnt in program until erased or reprogrammed
- zwieback 8y agoProbably burned into an external EEPROM or flash, the FPGA fabric itself still has to be configured by some external means. It's pretty fast but on-the-fly reprogramming of the FPGA logic is still an issue where you want to very quickly switch the logic on the FPGA.
- monocasa 8y agoMost FPGAs I've seen go out of their way to allow you to reconfigure while it's running, you just have to jump through a few extra hoops and get down and dirty with the floor plan.
- kevin_thibedeau 8y agoOlder Altera CPLDs and Actel/Microsemi antifuse based FPGA families have nonvolatile configuration within the fabric. They enjoy the benefit of near instant start up since there is no programming phase to transfer a bitstream from an external flash part.
- spilk 8y agosome have the configuration memory on-die as well to keep part count down. Also good to help protect your bitstream, but this isn't infallible of course.
- delroth 8y agoMany FPGAs can load their bitstream from Flash.
- jaxtellerSoA 8y agoCool, didn't know that. Is the boot time fairly slow compared to booting a normal PC?
- 3chelon 8y agoNo, FPGAs are used in production. There are also plenty of flash-based FPGAs available.
- mercurywells 8y agoSome FPGAs have built in flash that they will automatically load a bitstream from upon boot. If they don't, they typically can load the bitstream from an external flash chip upon powering up, or even via a microcontroller that's interfacing with the flash chip.
- ashleyn 8y agoThis is exactly how the Mega Everdrive and similar retro flashcarts work. The "OS" loaded from SD card configures an FPGA inside the cartridge.
- jaxtellerSoA 8y agoThanks, didn't know that. Is the boot process slow?
- LeifCarrotson 8y agoThat is incorrect, or at least inaccurate, on both counts. FPGAs are often used to test/design not a "circuit" but an ASIC (application-specific-integrated-circuit) that you will then go on to actually build. Or, if your application doesn't have volume to suppprt the ASIC engineering costs but can support the FPGA unit cost, you just leave it as an FPGA. There are millions of devices (industrial machines, research, testing, etc) where this makes sense. And not all FPGAs loose state when powered down. For those that do, there's typically an easy way to hook up a little Flash chip and bootloader to reload the state automatically on reset. For those that don't have that option (EG, currently working with an ABB robot, Mecco laser, and Rockwell PLC which all contain FPGAs, only the Mecco can boot itself), you store state in battery-backed SRAM and just leave the RAM on at all times.
- corerius 8y agoAbsolutely. In the worlds I work in, FPGA has been standard practice for years and years. As of late, it's becoming more common to place the CPU there for cost reduction. In addition, you get the opportunity to both update the part and/or to change it's behavior via (for instance) a user setting.
- joemi 8y ago> FPGAs are often used to test/design not a "circuit" but an ASIC (application-specific-integrated-circuit) To be pedantic, an ASIC (and any IC really) is a circuit, as denoted by the "C" standing for "circuit".
- luddaite 8y ago> Aren't FPGA's used mostly to test/design a circuit that you would then go on to actually fabricate/build? We use FPGAs in cell sorting because we need to make decisions off of high dimensional data with low latency. The cells moving through our system have velocities higher than 1 m/s. They flow past a set of lasers and wind up in a droplet less than a millisecond later so we need to make a decision whether or not to sort a droplet within that time frame. We don't use ASICs because we don't move enough volume to justify the startup cost.
- vvanders 8y agoThey're also really common for interconnect fabric on reasonably complex systems. Lattice does really well in this space with their low-cost FPGAs/CPLDs.
- mirashii 8y agoAre you doing this in a commercial context, or in a university lab or similar? I've seen a few papers come out of universities using this technique but I haven't gotten to look at any commercial gear to see how it works under the hood.
- luddaite 8y agoThe company I work at manufactures these instruments. There are a bunch of videos on Youtube explaining how these systems work if you search for "flow sorting". I can also answer questions if you have them.
- stormbrew 8y agoI have at least 4 FPGAs that will never be made into asics sitting in my office right now and they're not even for highly technical stuff. They're retro video game things (2 everdrives, a video upscaling device called the OSSC, and an HDMI adapter that plugs into the digital out port of the gamecube originally made for component output). I bought all these things off the shelf. There are definitely some markets that are well served by FPGAs but are still too small for actual fabrication processes.
- Grazester 8y agoA fellow retro gamer. I love my OSSC
- TheAdamist 8y agoThey make it into commercial products, for a recent example see nvidia using it in the gsync modules for 4k displays. Although a retail priced $2600 fpga doesn't make for a cheap end product, even when purchased in quantity. https://www.pcper.com/reviews/Graphics-Cards/ASUS-ROG-Swift-PG27UQ-27-4K-144Hz-G-SYNC-Monitor-True-HDR-Arrives-Desktop/Tea https://www.pcper.com/reviews/Graphics-Cards/ASUS-ROG-Swift-...
- Twirrim 8y agoThe Bing team at Microsoft use FPGAs in production. I was chatting with one of their developers recently who is focussed on that space for them and he mentioned they find they get similar performance to GPUs, but with significantly less power consumption, while affording them the same levels of flexibility for their particular use case.
- planteen 8y agoThey are used in production all over the place, along with their smaller cousin, the CPLD. If you see a part on a PCB by Xilinx, Altera, Lattice, or some MicroSemi parts, odds are that it's an FPGA. Many FPGAs lose their configuration on power-off, so you configure the bitstream using a CPU for example. As others have said, there are also flash-based ones. I personally know of many embedded systems using FPGAs (spacecraft and medical applications), signal processing such as radar, many PCIe cards, etc.