440 likes | 457 Views
Understand the taxonomy of PLDs, their varieties like PROMs, PLAs, PALs, and GALs. Learn about programming PLDs, types of PLDs, and their implementation flow. Explore the differences between PLAs and PALs. Dive deep into the significance of PLD implementation steps and design tools.
E N D
ECE 171Digital Circuits Chapter 10Programmable Logic Devices (PLD) Herbert G. Mayer, PSU Status 4/20/2018 Copied with Permission from prof. Mark Faust @ PSU ECE
Syllabus Taxonomy of ICs PLDs Fuses PLD Implementation PROMs PLAs PALs GALs References
Taxonomy of ICs Design Methodology SML (S small, M medium, L large) • Standard Components by Scale of Integration (SSI, MSI, LSI) • Small, Medium, Large • Off-the-shelf Components • Basic Universal Building Blocks (AND, OR, NAND, NOR, etc.) • Application Specific Standard Parts (ASSP) • Target Specific Application Area, but not Customer Specific! • e.g. Printer Controller, USB Interface IC, HDD I/F • Application Specific IC Parts (ASIC) • Custom Design of IC Targeting Specific Market • Full-custom, standard cell, gate-arrays • e.g. ATI 3D Graphics Engine (ATI is part of AMD since 2006) • Programmable Logic Devices (PLD) • Can be used to implement wide variety designs, in Lab or Field • e.g. FPGA (Field-Programmable Gate Arrays)
PLDs • Programmable logic device (PLD) is an electronic component to build reconfigurable circuits • Unlike a logic gate with fixed function, a PLD has no function specified at the time of manufacture • Before a PLD can be used, it must be programmed • Programming a PLD means customizing for a specific purpose • Also called configuring the PLD, or reconfiguring • Configuring consists of “blowing” certain fuses, thus enabling or disabling selected functions • Often initial functions included all options, such as a signal and also its complement, which would not be meaningful! • One of the 2 must be eliminated to create a working device
PLDs • Abstract PLD below has inputs a and b, both and their complements are connected to and gates and thus to output o • All have a via (path) over fuses, some of which must be blown to leave only meaningful, defined functions a b o
Reason for PLDs • Shortened design time, start with s/t that works • Fast prototyping! • Rapid design changes • Reprogrammable • No masks, jumpers, PCB traces • Decreased PCBreal estate + silicon space on IC • Less space than multiple standard logic packages • Improved reliability • Fewer packages • Fewer external interconnects
Types of PLDs Programmable Logic Devices (PLDs) • PROM: Programmable Read Only Memory (1960s) • PLA: Programmable Logic Array [Signetics] (1975) • PAL:TM Programmable Array Logic (1978) • GAL:TM Generic Array Logic • CPLD: Complex PLD • FPGA: Field Programmable Gate Array PALÔ and GALÔ are registered trademarks of Lattice Logic
AND-OR-Array Architecture Device type AND array OR array Product term sharing PROM Fixed at factory Programmable Yes PLA Programmable Programmable Yes PAL/GAL Programmable Fixed at factory No
Programmable Symbology • View Pull up resistors R, consider a, bopen, closed: • Openswitch: Voltage drops across A and B toward ground, not across R, due to no current through R • We call this: equals logic 1 • Closed switch: A and B are grounded, current through R, 0 Volt A and B to ground • We call this: equals logic 0
Fuses • Fuses were actual real fuses in early technology • Now they generally are just named fuses! • Can be: fuses, transistor circuits, or SRAM-based • Volatile and nonvolatile • Nonvolatile • UV (ultra-violet erasable) • EE (electrically erasable) • Universal Programming Unit (from manufacturer) • Fuse map • JEDEC standard format (Joint Electronics Device Engineering Council) • Several programs generate (MACHXL, ABEL, CUPL)
PLD Implementation Flow of Steps of PLD Design and Manufacture
PLD Implementation Schematic Capture • PROM • PLA • PAL/GAL • CPLDs Design Tools Fuse Map HDL Universal Programmer Tool and PLD vendors: Xilinx, Altera, Lattice
PROMs Product term sharing
PROMs • Express the number of outputs No as function of the number of inputs Ni = n • No = n2 • Adding one PROM input doubles number of outputs! • Careful, engineers! • MaskROM is fully programmed one time at the factory
PLA vs. PAL • PLAs and PALs are both programmable logic devices (PLD) that implement combinational circuits • PLA has programmable and-gate array, plus programmableor-gate array • PAL has programmableand-gate array, plus a fixedor-gate array -newer, yet more restricted! • As a result, PLAs are slower (longer path), harder to implement, more expensive: more silicon real-estate • Detail on both below . . . • Becoming obsolete, in favor of programmability!
PLAs • Programmable logic arrays (PLA) are PLD used to implement a specific combinational circuits • PLA consists of and-gate planes with 2nand-gates for n inputs • Linked to or-gate planes producing m output outputs signals • Allows generation of sums of products of input signals • PLAs offer more flexibility vs. PALs by allowing programmable and-gate and or-gate planes!
PALs • Programmable arrayslogic (PAL): also technology used to implement logic functions in silicon • Introduced 1978 by Monolithics Memories Inc. (MMI); now Lattice semiconductors in Oregon • MMI trademarked the term PAL • PALs consist of small PROMs plus added output logic to implement any desired logic function • Using specialized machines, PAL devices were field-programmable: in end-customer lab!
PALs PALs come in several variants: • One-time programmable (OTP) devices could not be updated after initial programming • MMI offered a similar family called HAL, or "hard array logic", which were like PAL devices mask-programmed at factory • UV erasable versions had a quartz window over the chip die: To erase for re-use with an ultraviolet light source; like EPROMs • Later versions (e.g.: PALCE22V10) were flash erasable devices
PALs • Flash Erasable PAL: type of non-volatile storage device (similar to EE Prom), where erasing can be done, but done by block • Not by individual datum; hence restricted flexibility! • Superseded in late 1990 by FEPROMs that could be re-written, some fixed but large number of times
PLD Advantages • Short design time • Rapid prototyping! • Rapid design changes • Reprogrammable • No masks, jumpers, PCB traces • Decreased PCB “real estate” • Less space than multiple standard logic packages • Improved reliability • Fewer packages, fewer external interconnects
PALxxyyzz Nomenclature xx Maximum number of AND array inputs zz Maximum number of dedicated outputs y Type of outputs = Combination, Registered, or Versatile Combinational H active high L active low P programmable C complementary Registered R registered RP registered, with programmable polarity Versatile V programmable as combinational or registered
Nomenclature Examples PAL3H2 3 inputs 2 outputs Active H outputs PAL16L8 16 inputs 8 outputs Active L (0s of function) PAL22V10 22 inputs 10 outputs Active L or H (1s or 0s) Versatile
GAL Emulate any PAL; Reprogrammable Fuses are non-volatile memory cells
CPLDs – Complex PLDs • Complex Programmable Logic Device (CPLD): • Programmable logic device with complexity between PALs and FPGAs • Architectural features of both • Main building block of CPLD is Macrocell • Containing logic, implementing disjunctive normal form (DNF) expressions • Plus specialized logic operations • DNF: A sum of products formula!
A B F1 F2 F3 F4 0 0 1 0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 Implement Some Choices Implement F1, F2, F3, F4: F1 = invert A, ignore B F2 = A OR B gate F3 = A NAND B gate F4 = A XOR B gate With Technology of: PROM PLA PAL
A B F1 F2 F3 F4 0 0 1 0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 Fuse map Address Data 0 A 1 F 2 7 3 4 PROM Implementation NOT, OR, NAND, XOR
A B F1 F2 F3 F4 0 0 1 0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 PLA Implementation NOT, OR, NAND, XOR
A B F1 F2 F3 F4 0 0 1 0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 PLA Implementation NOT, OR, NAND, XOR
A B F1 F2 F3 F4 0 0 1 0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 PAL Implementation NOT, OR, NAND, XOR
Logic Conventions • Positive Logic Convention (PLC) • Signals always “active high”; we also say:“asserted high” • Bubble o or negation indicator to show complement • Direct Polarity Indication (DPI) • “mixed logic” notation • Suffix (H) or (L) indicates active high H or active low L • Polarity indicator or wedge to indicate active low L PLC DPI Type of Signal Name Signal Name Signal A or A(H) A(H) or A(L) Active High B or B(H) B(H) or B(L) Active Low
Bibliography • PLD: https://en.wikipedia.org/wiki/Programmable_logic_device • PLA: https://en.wikipedia.org/wiki/Programmable_logic_array • PAL: https://en.wikipedia.org/wiki/Programmable_Array_Logic