Lecture 1
Lecture 1
configurable (programmable) blocks of logic along with configurable interconnects between these blocks. Design engineers can configure (program) such devices to perform a tremendous variety of tasks.
Depending on the way in which they are implemented, some FPGAs may only be programmed a single time, while others may be reprogrammed over and over again. Not surprisingly, a device that can be programmed only one time is referred to as onetime programmable (OTP).
The key thing about FPGAs The thing that really distinguishes an FPGA from an ASIC is the crucial aspect that resides at the core of their reason for being is embodied in their name:
A simple programmable function As a basis for these discussions, lets start by considering a very simple programmable function with two inputs called a and b and a single output y (Figure 1-1).
The inverting (NOT) gates associated with the inputs mean that each input is available in both its true (unmodified) and complemented (inverted) form. Observe the locations of the potential links. In the absence of any of these links, all of the inputs to the AND gate are connected via pull-up resistors to a logic 1 value. In turn, this means that the output y will always be driving a logic 1, which makes this circuit a very boring one in its current state. In order to make our function more interesting, we need some mechanism that allows us to establish one or more of the potential links.
Fusible link technologies One of the first techniques that allowed users to program their own devices wasand still isknown as fusible-link technology. In this case, the device is manufactured with all of the links in place, where each link is referred to as a fuse (Figure 1-2).
When an engineer purchases a programmable device based on fusible links, all of the fuses are initially intact. This means that, in its unprogrammed state, the output from our example function will always be logic 0.
The point is that design engineers can selectively remove undesired fuses by applying pulses of relatively high voltage and current to the devices inputs. For example, consider what happens if we remove fuses Faf and Fbt (Figure 1-3).
Devices based on fusible-link technologies are said to be one-time programmable, or OTP, because once a fuse has been blown, it cannot be replaced and theres no going back.
Antifuse technologies As a diametric alternative to fusible-link technologies, we have their antifuse counterparts, in which each configurable path has an associated link called an antifuse. In its unprogrammed state, an antifuse has such a high resistance that it may be considered an open circuit (a break in the wire), as illustrated in Figure 1-4.
This is the way the device appears when it is first purchased. However, antifuses can be selectively grown (programmed) by applying pulses of relatively high voltage and current to the devices inputs.
For example, if we add the antifuses associated with the complementary version of input a and the true version of input b, our device will now perform the function y = !a & b (Figure 1-5).
An antifuse commences life as a microscopic column of amorphous (noncrystalline) silicon linking two metal tracks. In its unprogrammed state, the amorphous silicon acts as an insulator with a very high resistance in excess of one billion ohms (Figure 1-6a).
The act of programming this particular element effectively grows a linkknown as a viaby converting the insulating amorphous silicon into conducting polysilicon (Figure 16b). Not surprisingly, devices based on antifuse technologies are OTP, because once an antifuse has been grown, it cannot be removed, and theres no changing your mind.
Mask-programmed devices Electronic systems in generaland computers in particularmake use of two major classes of memory devices: read-only memory (ROM) and random-access memory (RAM). ROMs are said to be nonvolatile because their data remains when power is removed from the system. Other components in the system can read data from ROM devices, but they cannot write new data into them. By comparison, data can be both written into and read out of RAM devices, which are said to be volatile because any data they contain is lost when the system is powered down.
Basic ROMs are also said to be mask-programmed because any data they contain is hardcoded into them during their construction by means of the photo-masks that are used to create the transistors and the metal tracks (referred to as the metallization layers) connecting them together on the silicon chip. For example, consider a transistor-based ROM cell that can hold a single bit of data (Figure 1-7).
PROMs The problem with mask-programmed devices is that creating them is a very expensive pastime unless you intend to produce them in extremely large quantities. Furthermore, such components are of little use in a development environment in which you often need to modify their contents.
The first programmable read-only memory (PROM) devices were developed at Harris Semiconductor in1970.
These devices were created using a nichrome-based fusible-link technology.
EPROM-based technologies People started to think that it would be nice if there were some way to create devices that could be programmed, erased, and reprogrammed with new data. One alternative is a technology known as erasable programmable read-only memory (EPROM), with the first such devicethe 1702being introduced by Intel in 1971
An EPROM transistor has the same basic structure as a standard MOS transistor, but with the addition of a second polysilicon floating gate isolated by layers of oxide (Figure 1-9).
In order to program the transistor, a relatively high voltage (the order of 12V) is applied between the control gate and drain terminals. This causes the transistor to be turned hard on, and energetic electrons force their way through the oxide into the floating gate in a process known as hot (high energy) electron injection. When the programming signal is removed, a negative charge remains on the floating gate. This charge is very stable and will not dissipate for more than a decade under normal operating conditions.
The energy required to discharge the electrons is provided by a source of ultraviolet (UV) radiation.
EEPROM-based technologies Electrically Erasable Programmable Read-Only Memories (EEPROMs or E2PROMs). An E2PROM cell is approximately 2.5 times larger than an equivalent EPROM cell because it comprises two transistors and the space between them (Figure 1-11).
The E2PROM transistor is similar to that of an EPROM transistor in that it contains a floating gate, but the insulating oxide layers surrounding this gate are very much thinner. The second transistor can be used to erase the cell electrically.
FLASH-based technologies A development known as FLASH can trace its ancestry to both the EPROM and E2PROM technologies. The name FLASH was originally coined to reflect this technologys rapid erasure times compared to EPROM. SRAM-based technologies SRAM is a type of RAM that holds data, placed within its cells, until the values are either overwritten or the power is removed. This is opposed to Dynamic RAM (DRAM), which allows the data to exit by the cells discharging, every few milliseconds unless it is refreshed.
SPLDs and CPLDs The first programmable ICs were generically referred to as programmable logic devices (PLDs). The original components, which started arriving on the scene in 1970 in the form of PROMs.
PROMs
PLAs
PALs
CPLDs