English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
All categories

Does the following make any sense? "Programmable logic devices enable the configuration of logic gates on a chip after it has been produced." This is for a school assignment where I have to find the relationship between logic gates and fpgas and this is what i came up with. Any information or feedback would be very helpful

2007-10-29 10:38:21 · 4 answers · asked by RS 2 in Science & Mathematics Engineering

4 answers

The other answers cover FPGAs pretty well.

The secpnd part of your question has less of a well-defined answer.

A "gate" is traditionally something like an AND, with two one-bit inputs and one one-bit output. There are other functions, and the number of inputs can vary, but a "gate" is traditionally a small function block built from transistors. "x AND y AND z" could be implemented with one 3-input gate. "(x OR y) AND z" would usually be said to include two gates, and AND and an OR.

Although they're called "gate arrays," FPGAs don't give actual gates to the logic designer. Some use multiplexors, but most use small memories called lookup tables (LUTs). You can define the AND function by writing the function table for it - the output value for each possible input. The LUT imitates an AND gate by storing the function table for "AND" in the memory, and producing an AND value according to the input values that select the table entry.

That's where things get hard to define. Depending on the model of FPGA, the LUT might have 3, 4, or more inputs. The LUT can implement any possible function of that number of inputs (and LUTs can be combined if you need more inputs), no matter how many traditional "gates" it would have taken to implement that function. People have arguments about how many "gates" an FPGA represent because no one can agree on the translation from LUT to gate.

It gets even funnier for the newer FPGAs. In addition to LUT logic, they have "hard" (fixed-function) multipliers, memory banks, RAM interfaces, network interfaces, oscillators (PLLs or DLLs), and lots of other special functions on up to whole processors - maybe multiple processors. It's not at all clear how to add all those things into the fictional gate count. It's not even clear whether they should be counted.

2007-10-29 17:57:17 · answer #1 · answered by Tom V 6 · 1 0

amansscientiae has a great answer, but I'm not sure if that is what you are looking for.

The answer to your question is yes and no. There are programmable logic devices that are programmed once in a programmer and installed on a printed circuit board. These are not reconfigurable, generally speaking. They are also called one-time-programmable (OTA) devices.

Some field programmable logic arrays (FPGAs), on the other hand, *are* programmable once they have been installed on the printed circuit board. Most FPGAs fit into this class of device (reprogrammable).

Some kinds of FPGAs are not reprogrammable, notably Actel brand.

All FPGAs are programmable by the customer who buys the unprogrammed (blank) chips.

Large arrays of logic that are fixed in their logic design and are programmed at the factory (not reprogrammable) are generally known as application specific ICs (ASICs).

.

2007-10-29 12:36:39 · answer #2 · answered by tlbs101 7 · 1 0

Sort off... but it depends what you mean by that.

Most high density FPGAs (from Xilinx, Altera and pretty much all other manufacturers who are still with us), implement logic functions in lookup-tables (LUTs) which hold "equivalent" logic. So instead of building real gates, these chips hold little memory blocks which act like several gates together.

For instance, if you have a look-up table with four inputs and one output, you can implement ANY logic function with four inputs. There are 2^(2^n) different circuits with n inputs and one output. So for n=4 you get 16=2^4 independently possible output results and 2^16 different circuits. Some of these circuits are trivial (like the ones where the output is always 0 or 1, no matter what the inputs do), others require one, two, three, four or up to six gates (depending on what you count as a single gate... usually people count inverters, or, nor, nand and nor with two inputs as one gate). If you design all 65536 smallest possible circuits which implement the logic functions with four inputs and you average that out, you end up with a number of close to 4 gates per 4 input LUT. If you look at a typical mix of logic in a microprocessor or similar, you end up with a lot of logic blocks which also fit the four input circuit very well. That's why both Altera and Xilinx stay close to those 4 input LUTs in their designs. People who have tried with 2-, 3- and more than 4,- to 5-input LUTs have all gone out of business. 2- and 3- input LUTs need to many layers to implement typical functions like counters and are too slow. Wider LUTs are under-utilized and the chip is too expensive.

Modern FPGAs also implement functions with wide inputs like multiplexers and multipliers and functions with long gate delays like adders in special logic that is independent of their look-up table memories. This is done to speed things up and save LUTs for commonly needed circuit blocks.

And many have powerful microprocessors and large program/data memories implemented on the same chip. If you look at the die photographs you will see that the FPGA matrix is huge and the special function blocks are typically small.

Even so, most (90%) of the transistor functions on these chips is not logic at all but interconnect, i.e. switches, clock buffers etc.. The CEO of Altera once said something like

"We are a company which builds electronic switches with a little bit of logic on the side.".

He is right.

So you really have a mix of functionality now which allows the designer to make circuits in varieties of ways which BEHAVE as if they were made from the basic gates without actually being implemented that way.

2007-10-29 11:00:25 · answer #3 · answered by Anonymous · 2 0

FPGAs are usually used to implement high speed signal processing microprocessors usually need separate ROM for the program and RAM for data, and separate interface circuits microcontrollers have limited ROM and RAM internally, and some native interface provisions

2016-05-26 00:56:12 · answer #4 · answered by ? 3 · 0 0

fedest.com, questions and answers