4
\$\begingroup\$

I've been under the impression that FPGAs were merely, well, field-programmable gate arrays, but I've seen some example schematics with resistors, capacitors, and such in them. As such, can an FPGA serve only as a replacement for 7400-series ICs, or also for resistors or other passive components?

\$\endgroup\$
  • 2
    \$\begingroup\$ If you've seen some example schematics, you should post them (pictures or links). That will reduce the guesswork. \$\endgroup\$ – Nick Alexeev Jun 18 '13 at 1:36
  • \$\begingroup\$ @NickAlexeev I can look around for some, but as far as I know, application schematics do not influence chips' capabilities. ;) \$\endgroup\$ – Tortoise Jun 18 '13 at 1:37
  • 2
    \$\begingroup\$ @Tortoise But knowing what you've been reading does help us tell you where you've gone wrong. \$\endgroup\$ – user3624 Jun 18 '13 at 1:55
4
\$\begingroup\$

FPGAs can replace digital logic as well as (in mixed-signal FPGAs) a few analog components (mostly larger bits like ADCs/DACs, comparators, PLLs, etc.).

The analog/passive equivalent is the FPAA, and there are a few examples already in existence such as Lattice Semiconductor's ispPAC line.

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ Diodes Inc 700-series appear to be mask-configured rather than field programmable. Do you have a link or more information that says they can be field-programmable? \$\endgroup\$ – The Photon Jun 18 '13 at 18:00
  • \$\begingroup\$ @ThePhoton: Nope. \$\endgroup\$ – Ignacio Vazquez-Abrams Jun 18 '13 at 19:46
9
\$\begingroup\$

FPGA's can emulate all sorts of devices (CPU's, Ethernet controllers, Encryption stuff), but that is not where FPGAs shine. The cool thing about an FPGA is that it can do all sorts of things that don't currently exist!

You could emulate an ARM CPU in an FPGA, but why do that when you can buy a real ARM for 10% of the cost? You could emulate a GPU in one, but it would be slower and much more expensive than buying one.

But you could design your own device that doesn't currently exist. How about a 3-D "microphone" that connects to a large array of normal microphones and generates a cool 3-D "image" using techniques similar to synthetic-aperture-radar? Or a controller that interfaces to a large array of servo motors for some performance art thing?

A lot of FPGAs are used to interface a standard computer or embedded CPU to something unique. Ultrasound transponders, for example.

So, while you can emulate a lot of things, if you just view an FPGA as something that can emulate other things then you're missing the point of FPGAs.

| improve this answer | |
\$\endgroup\$
  • 1
    \$\begingroup\$ According to some research I've read, sufficiently large number of microphones for detailed room mapping is in fact 5. I'll try to dig up the source if I can. \$\endgroup\$ – AndrejaKo Jun 18 '13 at 5:56
  • 1
    \$\begingroup\$ @AndrejaKo My coworkers extensively researched this. The goal was not mapping a room, but making a super conference phone where the mics can easily locate and separate out each individual person while not picking up HVAC and other noises. The number and size of the mic array is important, and directly impacts the frequency range and resolution of the array. For a medium to large conference room, having 40 to 100 mics spread out over 30 feet wide is required for reasonable audio performance. But this is very different than just mapping a room. \$\endgroup\$ – user3624 Jun 18 '13 at 15:31
  • \$\begingroup\$ That's some quite interesting technology! \$\endgroup\$ – AndrejaKo Jun 18 '13 at 20:08
  • \$\begingroup\$ @AndrejaKo Here's a thing on acoustic room mapping: bigpondnews.com/articles/Technology/2013/06/18/… \$\endgroup\$ – user3624 Jun 18 '13 at 22:08
3
\$\begingroup\$

What can be replaced by a FPGA?

Entire rooms full of hardware have been replaced by FPGAs.

Pretty much anything a 7400-series ICs can do, a FPGA can also do:

Any digital function can be implemented with FPGAs. By "digital function", I mean something where each input is either "0" or "1" at any one instant, and each output is either "0" or "1" at any one instant, and the output depends only on some function of the input and some internal digital state. More complicated functions generally require a "larger" FPGA, or partitioning across multiple FPGAs.

Some 7400-series ICs -- and most FPGAs -- implement a few things that don't quite fit that definition of a "digital function":

  • open-drain outputs
  • bidirectional data buses
  • slew-rate limited outputs
  • internal "pull-up resistors" and "pull-down resistors" (on input pins)

What can't be replaced by a FPGA?

Alas, there are many things on a PCB that can't be replaced by a FPGA.

  • Digital functions that also must run at high speeds. (The available FPGAs keep getting better and better, allowing more complex and faster systems to be built from them, but the same process used to make a fully-generic FPGA chip can also be used to make a full-custom CPU or other ASIC chip that can pack slightly more functionality on the chip and make it go significantly faster -- but hard-wired to do only that one thing). (However, for embarrassingly parallel problems, a bunch of FPGAs, each one working on several parts of the problem in parallel, can finish a task faster and at lower cost than any reasonable number of CPUs -- see Deep Crack and COPACOBANA).

  • Continuous-time functions like PLLs. (However, many FPGAs also include a PLL on the same chip).

  • Analog functions and RF functions -- pure baseband analog functions such as anti-aliasing filters, op-amps, Ethernet transformers, etc.; mixed-signal functions such as comparators, ADCs, DACs, etc.; and radio-frequency functions such as heterodyning mixers. (As Ignacio Vazquez-Abrams pointed out, there exist a few FPGAs that include an ADC or two and a DAC or two, and there also exist FPGA-like chips -- the FPAA and mixed-signal PSoC, etc. -- that can be programmed to do some of these analog functions). (However, there are many tricks people use to replace large amounts of analog circuitry and RF with a small amount of analog circuitry and a DSP, and the DSP itself can be replaced by a FPGA).

  • Power circuits: voltage regulators, current limiters, over-voltage protection circuits, H bridges, maximum power-point trackers, power inductors, PoE injectors, PoE splitters, etc.

  • High-voltage circuits

  • Antennas

  • Sensors

  • Actuators, LEDs and other displays, etc.

  • connectors

I've seen some example schematics with resistors, capacitors, and such in them.

I've seen schematics of the stuff intended to go inside a FPGA, showing pull-up and pull-down resistors and lots of 7400-series boxes and other logic symbols, but I've never seen one with capacitors. Could you give me a link?

I've seen lots of schematics of the stuff intended to go on a PCB, showing a big box labeled "FPGA" in the middle and lots of other components around it -- voltage regulator and capacitors required by the FPGA datasheet for proper operation of the FPGA, and other components required by the application that couldn't be replaced by that FPGA.

| improve this answer | |
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.