Chapter 3 Introduction to Programmable Logic Devices

Chapter 3 Introduction to Programmable Logic Devices

Chapter 3 Introduction to Programmable Logic Devices 3-1 Brief Overview of Programmable Logic Devices Programmable logic falls into two different types: 1. Devices that can be programmed only once. Factory programmable 2. Devices that can be reprogrammed multiple times. Field programmable 23-2 Brief Overview of Programmable Logic Devices (continued) 33-3 Brief Overview of Programmable Logic Devices (continued) Simple programmable logic devices: Programmable Logic Arrays (PLAs): There is a programmable AND array and a programmable OR array, allowing users to implement combinational functions in two levels of gates. Programmable Array Logic (PAL): A special case of a PLA, in that the OR array is fixed and only the AND array is programmable. Many also contain flip-flops. PLAs and PALs were popular in the 1970s and 1980s due to ease of design. 43-4 Brief Overview of Programmable Logic Devices (continued) Simple programmable logic devices: Programmable Logic Devices (PLDs)/Generic Array Logic (GAL): Flash erasable/reprogrammable PALs. Contain macroblocks with arrays of gates, multiplexers, flip-flops, or other standard building blocks. Several of these macroblocks appear in a PLD. Lattice Semiconductor created a line of these: GALs 53-5 Brief Overview of Programmable Logic Devices (continued) Complex Programmable Logic Devices (CPLDs): Have more integration capability than SPLDs. Come in sizes ranging from 500 to 16,000 gates. Multiple PLDs placed into the same chip. 63-6 Brief Overview of Programmable Logic Devices (continued) Field-Programmable Gate Arrays (FPGAs) During the late 1980s, Xilinx started using static RAM storage elements to hold configuration information. Larger and more complex blocks containing static RAMs and multiplexers. With improved technology over the past 15 years, FPGAs can now contain more than 5 million gates. 73-7 Brief Overview of Programmable Logic Devices (continued) Comparison of devices: 83-8 Simple Programmable Logic Devices (SPLDs): Introduction Simple Programmable Logic Devices (SPLDs): Read-only memories (ROMs) Programmable Logic Arrays (PLAs) Programmable Array Logic (PAL) Programmable Logic Devices (PLDs)/Generic Array Logic (GAL) 93-9 SPLDs: Read-Only Memories (ROMs) Array of semiconductor devices that are interconnected to store an array of binary data. Once data is stored in the ROM, it can be read out but it cannot be changed. Outputs can be looked up: truth table. Basic types: mask-programmable ROMs, user- programmable ROMs (PROMs), erasable programmable ROMs (EPROMs), electrically erasable and programmable ROMs (EEPROMs), and flash memories. 103-10 SPLDs: ROMs (continued) Types: Mask-programmable ROMs: data array is permanently stored at the time of manufacture. PROMs: one-time programmable. EPROMs: use a special charge-storage mechanism to enable or disable the switching elements in the memory array. Can be erased using ultraviolet light. EEPROMs: similar to EPROM except that erasure is done using electrical pulses. Can be erased and reprogrammed only a limited number of times. Flash memories: similar to EEPROMs, except that they use a different charge-storage mechanism. Usually have built-in programming and erasure capability. 113-11 SPLDs: ROMs (continued) A ROM that has n input lines and m output lines contains an array of 2n words, and each word is m bits long. A 2n x m ROM can realize m functions of n variables since it can store a truth table with 2n rows and m columns. Typical sizes for commercially available ROMs: 32 words x 4 bits to 512K words x 8 bits, or larger. 123-12 SPLDs: ROMs (continued) ROM with n inputs and m outputs: 133-13 SPLDs: ROMs (continued) Example: Compute the size of the ROM required to implement an 8-to-3 priority encoder. 143-14 SPLDs: ROMs (continued) Answer: The 8-to-3 priority encoder has 8 inputs and 4 outputs. Hence, it needs a 28 x 4 bit ROM. 153-15 SPLDs: Programmable Logic Arrays (PLAs) Performs the same basic function as a ROM. A PLA with n inputs and m outputs can realize m functions of n variables. The internal organization of the PLA is different from that of the ROM: the decoder is replaced with an AND array that realizes selected product terms of the input variables. The OR array OR’s together the product terms needed to form the output functions. 163-16 SPLDs: PLAs (continued) Example of PLA that realizes these functions: F0 m(0,1,4,6) ABAC ' ' ' Fm1 (2,3, 4,6,7) BAC ' F2 m(0,1,2,6) ABBC ' ' ' F3 m(2,3,5,6,7) ACB 173-17 SPLDs: PLAs (continued) From the preceding example, realize the functions using a PLA: F1 m(2,3,5,7,8,9,10,11,13,15) F2 m(2,3,5,6,7,10,11,14,15) F3 m(6,7,8,9,13,14,15) Minimize each function: F1 bd b' c ab ' F2 c a' bd F3 bc ab' c ' abd 183-18 SPLDs: PLAs (continued) Equations from preceding plotted on Karnaugh maps: 193-19 SPLDs: PLAs (continued) Instead of minimizing each function separately, we want to minimize the total number of rows in the PLA table. Reduced PLA table and equations: F1 a' bd abd ab ''' c b c F2 a' bd b ' c bc F3 abd ab' c ' bc Note: a PLA table is different from a truth table for a ROM, as each row represents a product term. 203-20 SPLDs: Programmable Array Logic (PAL) The AND array is programmable and the OR array is fixed. Less expensive than the PLA because only the AND array is programmable; for this reason, designers use PALs to replace individual logic gates when several logic functions must be realized. When designing with PALs, simplify logic equations. AND terms cannot be shared among two or more OR gates. The number of AND terms that feed each output OR gate is fixed and limited. If the number of AND terms in a simplified function is too large, we may be forced to choose a PAL with more gate inputs and fewer outputs. 213-21 SPLDs: PAL (continued) Example: I1I’2+I’1I2 X’s in (b) indicate connections. 223-22 SPLDs: Programmable Logic Devices (PLDs)/Generic Array Logic (GAL) Flash erasable/reprogrammable. In addition to the AND-OR arrays that PALs have, most PLDs have some type of a macroblock that contains some multiplexers and some additional programmability. These PLDs are named with reference to their input and output capability. All typically have tristate buffers at the outputs and some of them have a dedicated output enable. 233-23 SPLDs: PLDs/GAL (continued) PLD 22CEV10 output macrocell: 243-24 Complex Programmable Logic Devices (CPLDs) Programmable ICs equivalent to several PLDs (that are interconnected using crossbar-like switch) in the same chip. When storage elements such as flip-flops are also included on the same IC, a small digital system can be implemented with a single CPLD. Essentially, a CPLD is an IC that consists of a number of PAL-like logic blocks together with a programmable interconnect matrix. 253-25 CPLDs (continued) N x M crossbar switch: each of the N input lines can be connected to any of the M output lines simultaneously. It is expensive to build the switches, but using them results in predictable timing. Many CPLDs are electronically erasable and reprogrammable: EPLDs (erasable PLDs). A CPLD contains macrocells grouped into function blocks. Some are based on PALs and some on PLAs. 263-26 CPLDs (continued) Example: Xilinx CoolRunner. Has 4 function blocks and each block has 16 macrocells. 273-27 Field-Programmable Gate Arrays (FPGAs): Introduction ICs that contain an array of identical logic blocks with programmable interconnections. Three major programmable elements in FPGAs: the logic block, the interconnect (routing), and the input/output block. Programmable logic blocks are created by using multiplexers, look-up tables, and AND-OR or NAND-NAND arrays. Have revolutionized the way prototyping and designing is done in the world due to the flexibility offered as it is reprogrammable. Vendors: Xilinx, Altera, Lattice Semiconductor, and Microsemi. 283-28 FPGAs: Introduction (continued) Advantages: Reduction in manufacturing time as one adopts FPGAs instead of MPGAs. Easier design iterations. Less costly to correct design mistakes or specification changes. Reduced prototyping costs. At low volumes, FPGAs are cheaper than MPGAs. 293-29 FPGAs: Introduction (continued) Disadvantages: Are less dense than traditional gate arrays (MPGAs). A lot of resources are needed to achieve programmability. MPGAs have better performance than FPGAs. Interconnection delays are unpredictable in FPGAs. PLDs such as PALs and GALs are simple and inexpensive. CPLDs are faster, cheaper, and more predictable in timing than FPGAs. 303-30 FPGAs: Organization Matrix-based (symmetrical array): Manufacturer: Most Xilinx FPGAs. Large granularity: capable of implementing 4- variable functions or more. Typically contain 8 x 8 arrays in the smaller chips and 100 x 100 or larger arrays in the bigger chips. Routing: two-dimensional channeled (horizontal and vertical). 313-31 FPGAs: Organization (continued) Matrix-based (symmetrical array): 323-32 FPGAs: Organization (continued) Row-based: Inspired by traditional gate arrays. Traditional mask-programmable gate arrays use very similar architectures. Routing: one-dimensional channeled routing, as the routing resources are located as a channel in between rows of logic resources. Manufacturer: some Microsemi FPGAs employ this architecture. 333-33 FPGAs: Organization (continued) Row-based: 343-34 FPGAs: Organization (continued) Hierarchical: Blocks of logic cells are grouped together by a local interconnect, and several such groups are interconnected by another level of interconnect. Manufacturer: Altera APEX20 and APEX II. 353-35 FPGAs: Organization (continued) Hierarchical: 363-36 FPGAs: Organization (continued) Sea-of-gates: Consists of a large number of gates with an interconnect superimposed on the sea of gates. Manufacturers: Plessey – mid-1990’s (sea-of- gates), Microsemi Fusion (sea of tiles).

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    76 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us