FPGA Programming: Mechanism for Setting Transistors

  • Thread starter Thread starter antonantal
  • Start date Start date
  • Tags Tags
    Fpga Programming
AI Thread Summary
FPGAs are programmed using SRAM-based look-up tables (LUTs) and multiplexers, allowing for flexible logic configurations. Unlike EPROMs, which use control gates to set transistors, FPGAs typically rely on JTAG to load programming information into their volatile memory. When power is lost, the contents of the SRAM are erased, necessitating reprogramming upon reset. The programming mechanism involves configuring internal RAM arrays that manage logic functions and routing. For a deeper understanding of FPGA architecture and programming, resources like "VHDL for Programmable Logic" are recommended.
antonantal
Messages
242
Reaction score
21
What is the mechanism used for programming FPGAs? Is it the same as for EPROMs?
I know (although not sure this is correct either) that in EPROMs, for setting a transistor to "1" a control gate is used which is placed in the oxide layer of the MOS transistor and by applying a voltage between the drain and the control gate you will charge the control gate (for NMOS) with electrons (like the "-" plate of a capacitor) ,and thus increase the threshold voltage of the transistor which therefore will not conduct regardless of the voltage you apply on the gate.
 
Last edited:
Engineering news on Phys.org
Most FPGAs are volatile. After a reset, they read in their settings from an external serial JTAG memory device like a serial ROM or Flash. Is that what you are asking? There's probably a lot more info at Xilinx's website that can help.
 
No. I'm just curious how are the transistors inside a FPGA set to "1" and then how are they reset. I can't seem to find a detailed (transistor level) description of how FPGAs work.
 
Last edited:
There are several books on the subject. One example is "VHDL for Programmable Logic" by Kevin Skahill (Cypress Semiconductor). Note that it is oriented toward VHDL programming of FPGAs, CPLDs, etc; but it also describes the inner workings of FPGAs.

Essentially, an FPGA is a large set of programmable logic blocks on a chip, usually centered around "Look-Up Tables" (LUTs), often followed by multiplexers and latch arrays. By combining these, we can create an almost endless array of logic functions, simply by entering our logic choices into the LUTs and setting up steering paths to and from these blocks. This programming is controlled in the devices (usually) by a series of (semi-Hidden) RAM arrays that make up the look-up tables and others that control steering of the Multiplexers and the routing between the various logic blocks. (Ie., there are a lot more gates on the FPGA than just those that make up the advertised Logic Block components.) As berkeman stated, the JTAG input is used to load the programmed information into the internal control memory of these volatile devices. (Not all FPGAs etc. need be volatile, but this is generally the rule. They could also be programmed with internal EPROM, etc.)

KM
 
Most fast FPGAs are nothing more than SRAM-based lookup tables connected through multiplexers and routing resources like buffers. When they lose power, they lose the contents of their SRAM.

- Warren
 
Thanks. If the bits are set like in a SRAM than I got the picture.
 
Very basic question. Consider a 3-terminal device with terminals say A,B,C. Kirchhoff Current Law (KCL) and Kirchhoff Voltage Law (KVL) establish two relationships between the 3 currents entering the terminals and the 3 terminal's voltage pairs respectively. So we have 2 equations in 6 unknowns. To proceed further we need two more (independent) equations in order to solve the circuit the 3-terminal device is connected to (basically one treats such a device as an unbalanced two-port...
suppose you have two capacitors with a 0.1 Farad value and 12 VDC rating. label these as A and B. label the terminals of each as 1 and 2. you also have a voltmeter with a 40 volt linear range for DC. you also have a 9 volt DC power supply fed by mains. you charge each capacitor to 9 volts with terminal 1 being - (negative) and terminal 2 being + (positive). you connect the voltmeter to terminal A2 and to terminal B1. does it read any voltage? can - of one capacitor discharge + of the...
Thread 'Weird near-field phenomenon I get in my EM simulation'
I recently made a basic simulation of wire antennas and I am not sure if the near field in my simulation is modeled correctly. One of the things that worry me is the fact that sometimes I see in my simulation "movements" in the near field that seems to be faster than the speed of wave propagation I defined (the speed of light in the simulation). Specifically I see "nodes" of low amplitude in the E field that are quickly "emitted" from the antenna and then slow down as they approach the far...
Back
Top