Sie sind auf Seite 1von 8

1. Programmable logic device. a. Programmable Read Only Memory b. Programmable Array Logic c. Programmable Logic Array d.

Complex Programmable logic device. i. Field Programmable Gate Array (FPGA).

Programmable logic device. A typical PLD may have hundreds to millions of gates. All of the logic cells are predesigned and none of the mask layers are customized. Programmable logic devices ( PLDs ) are standard ICs that are available in standard configurations from a catalog of parts and are sold in very high volume to many different customers. However, PLDs may be configured or programmed to create a part customized to a specific application, and so they also belong to the family of ASICs. PLDs use different technologies to allow programming of the device. Figure 1.8 shows a PLD. important features that all PLDs have in common: No customized mask layers or logic cells Fast design turnaround A single large block of programmable interconnect A matrix of logic macrocells that usually consist of programmable array logic followed by a flip-flop or latch

FIGURE 1.8 A programmable logic device (PLD) die. The macrocells typically consist of programmable array logic followed by a flip-flop or latch. The macrocells are connected using a large programmable interconnect block.

One of the simplest programming technologies is to use fuses. In the original state of the device, all the fuses are intact. Programming the device involves blowing those fuses along the paths that must be removed in order to obtain the particular configuration of the desired logic function. PLDs are typically built with an array of AND gates (AND-array) and an array of OR gates (OR-array).

Advantages of PLDs: Problems of using standard ICs: Problems of using standard ICs in logic design are that they require hundreds or thousands of these ICs, considerable amount of circuit board space, a great deal of time and cost in inserting, soldering, and testing. Also require keeping a significant inventory of ICs. Advantages of using PLDs: Advantages of using PLDs are less board space, faster, lower power requirements (i.e., smaller power supplies), less costly assembly processes, higher reliability (fewer ICs and circuit connections means easier troubleshooting), and availability of design software. There are three fundamental types of standard PLDs: PROM, PAL, and PLA. A fourth type of PLD, which is discussed later, is the Complex Programmable Logic Device (CPLD), e.g., Field Programmable Gate Array (FPGA). Figure shows the conventional and array logic symbols for a multiple input AND and a multiple input OR gate.

Three Fundamental Types of PLDs: The three fundamental types of PLDs differ in the placement of programmable connections in the AND-OR arrays. Figure shows the locations of the programmable connections for the three types.

Programmable Read-Only Memory

The simplest type of programmable IC is a read-only memory ( ROM ). The most common types of ROM use a metal fuse that can be blown permanently (aprogrammable ROM or PROM ). An electrically programmable ROM , or EPROM , uses programmable MOS transistors whose characteristics are altered by applying a high voltage. You can erase an EPROM either by using another high voltage (an electrically erasable PROM , or EEPROM ) or by exposing the device to ultraviolet light (UV-erasable PROM , or UVPROM ). There is another type of ROM that can be placed on any ASICa maskprogrammable ROM (mask-programmed ROM or masked ROM). A masked ROM is a regular array of transistors permanently programmed using custom mask patterns. An embedded masked ROM is thus a large, specialized, logic cell. The same programmable technologies used to make ROMs can be applied to more flexible logic structures. Programmable Array Logic By using the programmable devices in a large array of AND gates and an array of OR gates, we create a family of flexible and programmable logic devices called logic arrays . The company Monolithic Memories (bought by AMD) was the first to produce Programmable Array Logic (PAL , a registered trademark of AMD) devices that you can use, for example, as transition decoders for state machines. A PAL can also include registers (flip-flops) to store the current state information so that you can use a PAL to make a complete state machine. programmable logic array Just as we have a mask-programmable ROM, we could place a logic array as a cell on a custom ASIC. This type of logic array is called a programmable logic array (PLA). There is a difference between a PAL and a PLA: a PLA has a programmable AND logic array, or AND plane , followed by a programmable OR logic array, or OR plane ; a PAL has a programmable AND plane and, in contrast to a PLA, a fixed OR plane.

Depending on how the PLD is programmed, we can have an erasable PLD (EPLD), or mask-programmed PLD (sometimes called a masked PLD but usually just PLD). The first PALs, PLAs, and PLDs were based on bipolar technology and used programmable fuses or links. CMOS PLDs usually employ floatinggate transistors.

Complex Programmable Logic Devices (CPLDs):


A CPLD contains a bunch of PLD blocks whose inputs and outputs are connected together by a global interconnection matrix. Thus a CPLD has two levels of programmability: each PLD block can be programmed, and then the interconnections between the PLDs can be programmed.

Field-Programmable Gate Arrays


A step above the PLD in complexity is the field-programmable gate array ( FPGA ). There is very little difference between an FPGA and a PLDan FPGA is usually just larger and more complex than a PLD. In fact, some companies that manufacture programmable ASICs call their products FPGAs and some call them complex PLDs .

FPGAs are the newest member of the ASIC family and are rapidly growing in importance, replacing TTL in microelectronic systems. Even though an FPGA is a type of gate array, we do not consider the term gate-arraybased ASICs to include FPGAs. This may change as FPGAs and MGAs start to look more alike. Figure 1.9 illustrates the essential characteristics of an FPGA: None of the mask layers are customized. A method for programming the basic logic cells and the interconnect. The core is a regular array of programmable basic logic cells that can implement combinational as well as sequential logic (flip-flops). A matrix of programmable interconnect surrounds the basic logic cells. Programmable I/O cells surround the core. Design turnaround is a few hours.

FIGURE 1.9 A field-programmable gate array (FPGA) die. All FPGAs contain a regular structure of programmable basic logic cells surrounded by programmable interconnect. The exact type, size, and number of the programmable basic logic cells varies tremendously.

The FPGA consists of 3 main structures: 1. Programmable logic structure, 2. Programmable routing structure, and 3. Programmable Input/Output (I/O). 1. Programmable logic structure The programmable logic structure FPGA consists of a 2-dimensional array of configurable logic blocks (CLBs).

Each CLB can be configured (programmed) to implement any Boolean function of its input variables. Typically CLBs have between 4-6 input variables. Functions of larger number of variables are implemented using more than one CLB. In addition, each CLB typically contains 1 or 2 FFs to allow implementation of sequential logic. Large designs are partitioned and mapped to a number of CLBs with each CLB configured (programmed) to perform a particular function. These CLBs are then connected together to fully implement the target design. Connecting the CLBs is done using the FPGA programmable routing structure. 2. Programmable routing structure To allow for flexible interconnection of CLBs, FPGAs have 3 programmable routing resources: 1. Vertical and horizontal routing channels which consist of different length wires that can be connected together if needed. These channel run vertically and horizontally between columns and rows of CLBs as shown in the Figure. 2. Connection boxes, which are a set of programmable links that can connect input and output pins of the CLBs to wires of the vertical or the horizontal routing channels. 3. Switch boxes, located at the intersection of the vertical and horizontal channels. These are a set of programmable links that can connect wire segments in the horizontal and vertical channels.

3. Programmable I/O These are mainly buffers that can be configured either as input buffers, output buffers or input/output buffers. They allow the pins of the FPGA chip to function either as input pins, output pins or input/output pins.

Das könnte Ihnen auch gefallen