Digital Integrated CircuitsÂĐ Prentice Hall 1995 Combinational Logic COMBINATIONAL LOGIC.
Combinational Circuit Design with Programmable Logic Devices
Transcript of Combinational Circuit Design with Programmable Logic Devices
Combinational Circuit Design with Programmable Logic Devices 287
āļāļāļāļĩāđ 6 Combinational Circuit Design with Programmable Logic Devices
6.1 Semicustom Logic Devices
āļāđāļēāļāļ§āļāļāļāļ circuit package (āļāļīāļāđāļāļāļĩ) āļāļđāļāļāđāļēāđāļŦāļĨāļāļĨāļāđāļāļĒāļāļēāļĢāļĨāļāļāđāļēāļāļ§āļāļĢāļ°āļāļąāļāļāļāļ integration āļāđāļķāļāđāļāļāļāđāļēāļāļ§āļāļāļāļāđāļāļāļāļāļāļīāļ āļāļ§āļē 20 āļāļāļĩāđāļāļēāļāļĄāļē āļāđāļēāļāļ§āļāđāļāļāļāļĩāđāļĄāļĩāļāļĒāļđāļāļāļāļīāļāđāļāļĩāđāļĒāļ§ (single chip) āđāļāļīāđāļĄāļāļķāđāļāļāļēāļāļāđāļēāļāļ§āļ2-3āđāļāļ āđāļ logic device āļāļēāļĄāļĄāļēāļāļĢāļāļēāļ 7400 Series SSI āđāļāļāļāđāļēāļāļ§āļāļĄāļēāļāļāļ§āļē 1 āļĨāļēāļ āļāļļāļāļāļĢāļ āđāļāļāļīāļ VLSI āļāđāļķāļāļĄāļĩāļŠāļĄāļĢāļĢāļāļāļ°āļŠāļđāļāđāļāļāļāļāļļāļāļąāļ āđāļāļĒāļāļāļāļīāđāļĨāļ§āļĢāļ°āļāļąāļāļāļāļ integration āļāļĩāđāļŠāļđāļāļāļķāđāļāļāļ°āļāļ§āļĒāļĨāļāļāļ·āđāļāļāļĩāđāļāļāļāđāļāļāļ§āļāļāļĢ (PCB) āđāļĨāļ°āļĨāļāļāļĨāļąāļāļāļēāļāļāļĩāđāļāļāļāļāļēāļĢāđāļ
āļĄāļĩāļ§āļīāļāļĩāļāļēāļĢāļāđāļē digital LSI logic circuit āđāļāļāļĢāļ°āļĒāļļāļāļāđāļ 3 āļ§āļīāļāļĩ āļāļ§āļĒāļŠāļ§āļāļāļĢāļ°āļāļāļāļāļēāļĄāļĄāļēāļāļĢāļāļēāļ SSI, MSI āđāļĨāļ° LSI āđāļĨāļ°āļāļ§āļĒāļāļļāļāļāļĢāļ full-custom VLSI āļŦāļĢāļ·āļāļāļ§āļĒāļāļļāļāļāļĢāļ semicustom āļāļāļāļāđāļąāļāļāļēāļĄāļĄāļēāļāļĢāļāļēāļ SSI, MSI āđāļĨāļ° LSI āļĄāļĩāļāļ§āļēāļĄāļŠāļ°āļāļ§āļ āđāļāļ·āđāļāļāļāļēāļāļ§āļāļāļĢāļŠāļēāļĄāļēāļĢāļāļāļđāļāļāļĢāļ°āļāļāļāđāļāļāļĒāļēāļāļĢāļ§āļāđāļĢāđāļ§āļāļ§āļĒāļāđāļīāļāļŠāļ§āļāļāļĩāđāļŠāļēāļĄāļēāļĢāļāļŦāļēāļāļ·āđāļāđāļāļāļēāļĒ āļāļĒāļēāļāđāļĢāļāđāļāļēāļĄāļāđāļēāļāļ§āļāļĢāļ§āļĄāļāļāļāļāļīāđāļāļŠāļ§āļāļāļĩāđāđāļ āļāļ°āļāđāļēāđāļŦāļāļēāđāļāļāļēāļĒāļāļĩāđāđāļāļīāļāļāļķāđāļāļāļāđāļāļāļŠāļđāļāļĄāļēāļāļāļķāļāļāļāļēāļāļāļĩāđāđāļĄāļŠāļēāļĄāļēāļĢāļāļĒāļāļĄāļĢāļąāļāđāļ āļāļēāļĢāļĢāļ§āļĄāļāļąāļāļāļāļāđāļāļāđāļŦāđāļāļāļāļļāļāļāļĢāļ custom āļŦāļĢāļ·āļ semicustom āđāļāļĩāļĒāļāļāļīāđāļāđāļāļĩāļĒāļ§ āļŦāļĢāļ·āļāļĄāļēāļāļāļ§āļēāļŦāļāļķāđāļāļāļīāđāļ āļāđāļķāļāļŠāļēāļĄāļēāļĢāļāļĨāļāļāđāļēāļāļ§āļāļāļīāđāļāļŠāļ§āļ āļāļąāđāļāļāļĩāđāļāļ°āđāļŦāļāļ§āļēāļĄāļŠāđāļēāļāļąāļāļāļĩāđāļāļēāđāļāļāļēāļĒāđāļāļĒāļĢāļ§āļĄāļāļĩāđāđāļāļīāļāļāļķāđāļ
āđāļāļāļēāļĢāļāļāļāđāļāļ full-custom āļāļąāđāļ IC āđāļāļāļđāļāļāļāļāđāļāļāļāļĩāļĨāļ°āđāļāļ āļāļ§āļĒāļāļēāļĢāļāļąāļāļ§āļēāļ(layout)āļāđāļīāļāļŠāļ§āļāļāļĢāļ°āļāļāļāļāļēāļĄāļĨāļąāļāļĐāļāļ°āļāļēāļāļāļēāļĒāļ āļēāļ āļāļēāļāļāļąāđāļāļāļ°āļāļąāļāļāļēāļāļēāļĢāļāļīāļāļāļāļĢāļ°āļŦāļ§āļēāļāđāļāļ āđāļāļĒāļāļēāļĢāđāļāļāļāļĄāļāļīāļ§āđāļāļāļĢāļāļ§āļĒāđāļāļāļēāļĢāļāļāļāđāļāļ (CAD) āļāļ°āļāđāļēāđāļŦāļāļēāļĢāļāđāļēāļāļēāļāļāļāļāļ§āļāļāļĢāđāļĨāļ°āļāļ·āđāļāļāļĩāđāđāļāļāļēāļĢāđāļāļāļīāļĨāļīāļāļāļāļĄāļĩāļāļ§āļēāļĄāđāļŦāļĄāļēāļ°āļŠāļĄāļĄāļēāļāļāļĩāđāļŠāļļāļ āđāļĄāļ§āļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļāļāđāļāļāļāļ°āļĄāļĩāļāļēāđāļāļāļēāļĒāļŠāļđāļāđāļĨāļ°āđāļŦāđāļ§āļĨāļēāļāļēāļāļāđāļāļēāļĄ āļāļēāļĢāđāļāļāļļāļāļāļĢāļ semicustom circuit āļāļ°āļĨāļāđāļ§āļĨāļēāļāļēāļĢāļāļāļāđāļāļāđāļāļĒāļāļēāļĢāļāļāļāđāļāļāđāļāļāđāļāđāļĢāļāļķāđāļāļĄāļēāļāļāļ āđāļĨāļ°āđāļāđāļāļĨāļĨāļĄāļēāļāļĢāļāļēāļ āļŦāļĢāļ·āļāļāļļāļāļāļĢāļāļāļĩāđāļŠāļēāļĄāļēāļĢāļāđāļāļĢāđāļāļĢāļĄāđāļ āđāļāļāļāļēāļĢ āđāļĢāļĒāļāļ·āļ āđāļāļāļĩ āļāļĩāđāļāļĢāļ°āļāļāļāļāļ§āļĒāļāđāļēāļāļ§āļāđāļāļāļāļĩāđāđāļĄāđāļāļĄāļĩāļāļēāļĢāđāļāļ·āđāļāļĄāļāļ āļāļđāļāļāļāđāļāļāļāļāļāļāļēāļĢāđāļāļĩāļĒāļāļĢāļ°āļāļļāļāļķāļāļ§āļīāļāļĩāļāļēāļĢāļāļīāļāļāļāļĢāļ°āļŦāļ§āļēāļāđāļāļāļāļāļāļēāļĢāđāļĢāļĒāđāļāļēāļāļąāđāļ āđāļāļāļēāļĢāļāļĨāļīāļāļāļļāļāļāļĢāļāļāļĩāđāđāļāđāļāļāđāļāļ 2 āļĢāļ°āļĒāļ° āđāļāļĢāļ°āļĒāļ°āđāļĢāļāļāđāļēāļāļēāļĢāđāļāļ·āđāļāļĄāļāļāđāļāļāđāļĨāļ°āļāļąāļāđāļāđāļāļāļīāļ āļĢāļ°āļĒāļ°āļŠāļļāļāļāļēāļĒāļāđāļēāļāļēāļĢāđāļāļ·āđāļāļĄāļāļāļĢāļ°āļŦāļ§āļēāļ layer āļāļāļ IC āļāļĩāđāđāļāļāļķāđāļāļĢāļđāļāđāļ§ āļāļāļāļāļēāļāļāļĩāđāļāđāļēāļāļ§āļāļāļīāļāļāļąāđāļāļŦāļĄāļ āļāļēāļĢāļĨāļāļĨāļāļāļāļāđāļ§āļĨāļēāļāļēāļĢāļāļĨāļīāļāļāļĒāļēāļāļāļēāļāļāđāļ āļāļēāļĢāđāļĢāļĒāļāđāļēāļāļ§āļāļĄāļēāļāļāļđāļāļāđāļēāđāļāļīāļāļāļēāļĢ āđāļāļĒāļĄāļĩāļāļēāļĢāđāļāļ·āđāļāļĄāļāļāļĢāļ°āļŦāļ§āļēāļāļāļąāđāļ (layer) āđāļŦāļāļīāļāļāļąāļ āđāļĨāļ°āļāļēāļāļāļąāđāļāļāļ°āļāļđāļāđāļāđāļāđāļ§āđāļāļ·āđāļāļĢāļāļāļēāļĢāļāđāļēāđāļāđāļ
āđāļāļĨāļĨāļĄāļēāļāļĢāļāļēāļ (standard cell) āđāļāļāļ§āļāļāļĢāļāļĩāđāđāļāļĢāļąāļāļāļēāļĢāļāļąāļāļāļēāļāļķāđāļāđāļĨāļ°āđāļāđāļāđāļ§āđāļ design library āļāļąāļāđāļāļĨāļĨāļĄāļēāļāļĢāļāļēāļāļāļ·āđāļāđ āļāļđāļāļāļāđāļāļāļāđāļēāļāļēāļĢāļāļĢāļ°āļāļīāļĐāļ IC āđāļāļĒāļāļēāļĢāđāļĨāļ·āļāļāđāļāļĨāļĨāļāļēāļ library , āļāļēāļĢāļĢāļ°āļāļļāļāđāļēāđāļŦāļāļāļāļāļāđāļāļĨāļĨāļāļĩāđāļāļ°āļ§āļēāļāļāļ IC āđāļĨāļ°āļāļēāļāļāļąāđāļ āļāđāļēāļāļēāļĢāđāļāļĩāļĒāļāļ§āļīāļāļĩāļāļĩāđāļāļ°āļāđāļēāđāļŦāđāļāļĨāļĨāđāļāļ·āđāļāļĄāļāļāļāļąāļ
288 Digital Logic Circuit Analysis and Design
āļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļĩāđāļāđāđāļŦāļĄāļ·āļāļāļāļąāļāļāļēāļĢāļāļāļāđāļāļāđāļāļāļ§āļāļāļĢāļāļ§āļĒāļāļļāļ SSI/MSI/LSI āļāļ§āļēāļĄāļāļąāļāļāļāļāļāļāļāļāļāļāļāđāļąāļ(āļāļēāļĢāļāđāļēāļāļēāļ)āđāļ cell library āļĄāļēāļāļĢāļāļēāļ āļāđāļķāļāļŠāļēāļĄāļēāļĢāļāđāļāļāđāļāđāļāļāļąāđāļāđāļāđāļāļāđāļāļĩāđāļĒāļ§āđ āļāļāļāļķāļ microprocessor āļāļąāđāļāļāļąāļ āļāļĩāļāļāļąāđāļāļĒāļąāļāļĄāļĩāļ§āļāļāļĢāļāļĩāđāļāļąāļāļāļāļāļāļ·āđāļāđ āļāļēāļĢāļāļāļāđāļāļāđāļāļĨāļĨāļĄāļēāļāļĢāļāļēāļāļŠāļ§āļāđāļŦāļāđāļĨāļ§āļĄāļĩāļāļ§āļēāļĄāđāļŦāļĄāļēāļ°āļŠāļĄāļāļāļĒāļāļ§āļēāļāļēāļĢāļāļāļāđāļāļ full-custom āđāļāđāļ§āļĨāļēāļāļēāļĢāļāļāļāđāļāļāļāļđāļāļĨāļāļĨāļāļĄāļēāļ IC āļāļĩāđāđāļāļĒāļąāļāļāļāļāļāļāļāļđāļāļāļķāđāļāļĢāļđāļāļāļēāļāļāļēāļĢāļāđāļēāđāļŦāđāļāļāļĢāļāļĒ (scratch) āļĢāļēāļ§āļāļąāļāļ§āļēāđāļāļāļāļēāļĢāļāļāļāđāļāļ full-custom āļāļąāđāļāļāļ·āļāļāđāļąāļ(layer)āļāļąāđāļāļŦāļĄāļāļāļāļāļāļēāļĢāļāļĩāđāļāļ°āļāđāļēāđāļŦāļāļīāļāļŠāđāļēāļŦāļĢāļąāļāđāļŦāđāļāļĨāļ°āļāļāļāđāļēāđāļāļāļĢāļ°āļĒāļļāļāļāđāļāđāļāļāļēāļāđāļāļāļēāļ°āļāļĒāļēāļ
āļāļąāđāļāļāļāļāļāļēāļĢāļāļķāđāļāļĢāļđāļāđāļāļ·āđāļāđāļāļāļāļļāļāļāļĢāļāļŠāđāļēāļŦāļĢāļąāļāđāļāļĨāļ°āļāļļāļāļāļĨāļāļ°āļŠāļēāļĄāļēāļĢāļāđāļĨāļĩāđāļĒāļāđāļāđāļāļĒāļāļēāļĢāđāļ programmable logic device (PLD) PLD āļāļ·āļ IC āļāļĩāđāđāļāļāļķāđāļāļĢāļđāļāđāļ§āļāļāļāđāļĨāļ§āđāļāļĒāđāļāļāđāļēāļāļēāļĢāļĢāļ§āļĄ flexible interconnection layer āđāļāļēāđāļāļāļ§āļĒ PLD āļāļĢāļ°āļāļāļāļāļ§āļĒāļāļĢāļąāļāļĒāļēāļāļĢāļāļĩāđāļāđāļēāđāļāļāđāļāļāļēāļĢāļĢāļąāļāļĢāļđāļāļķāļāļāļēāļĢāđāļŠāļāļāļāļēāļĢāđāļāļāļāļāļ§āļāļāļĢ(āļāļēāļĢāļŠāļ§āļīāļāļ)āļŠāļāļāļĢāļ°āļāļąāļāđāļĢāļ āđāļĨāļ°āļĄāļąāļāļāļ°āļĢāļ§āļĄāļŠāļ§āļāļāļĢāļ°āļāļāļāļāļ·āđāļāđ āđāļāļēāđāļāļāļ§āļĒ āđāļāļ·āđāļāđāļŦāļĄāļĩāļāļĢāļīāļĄāļēāļ(āļāļĨāļĨāļąāļāļ)āļĄāļēāļāđāļāļēāļāļąāļāđāļāļāļŦāļĨāļēāļĒāļāļąāļāļāļąāļ§āļāļ PLD āđāļāļĩāļĒāļāļŦāļāļķāđāļāļāļąāļ§ āļ§āļāļāļĢ PLD āđāļāļĢāļąāļāļāļēāļĢāļāļąāļāļāļēāđāļāļĒāļāļēāļĢāļāļāļāđāļāļāļāļēāļĢāđāļŠāļāļāļāļēāļāļāļĢāļĢāļ (logic expression) āļāļēāļĢāđāļāļĨ logic expression āđāļāļŠāļđāļĢāļđāļāđāļāļāļāļāļ PLD āđāļāļēāļŦāļĄāļēāļĒāđāļĨāļ°āļāļēāļāļāļąāđāļāļāļīāļāļāļąāđāļ logic expression āļĨāļāļāļ PLD āđāļāļĒāđāļāļĢāđāļāļĢāļĄāđāļĄāļāļĢ āļāļąāļāļāļąāđāļāļāļļāļāļāļĢāļāļāļēāļĢāļāđāļēāļāļēāļāļāļ°āļŠāļēāļĄāļēāļĢāļāļāļđāļāļāļĨāļīāļāļāļēāļāļāļēāļĢāļāļāļāđāļāļāđāļāđāļĄāļāļĩāđāļāļēāļāļĩāđāļāļēāļāļąāđāļ āļĒāļīāđāļāđāļāļāļ§āļēāļāļąāđāļāļāđāļēāļāļ§āļāļ§āļąāļāļŦāļĢāļ·āļāļŠāļąāļāļāļēāļŦāļāļĩāđāļāļāļāļāļēāļĢāđāļāļāļēāļĢāļāļĨāļīāļ āđāļāļāļāļēāļĢāđāļĢāļĒ āļŦāļĢāļ·āļ standard cell IC āļāļēāļāļāļāļāļēāļĢāļāļĩāđāļāļ°āđāļāļĨāļĩāđāļĒāļāļāļēāļĢāļāļāļāđāļāļāļāđāļŠāļēāļĄāļēāļĢāļāļāđāļēāđāļāļāļĒāļēāļāļĢāļ§āļāđāļĢāđāļ§āđāļĨāļ°āļāļēāļĢāļāđāļēāđāļāļāļĢāļ°āļĒāļļāļāļāđāļŦāļāđāļĄāđāļāļĨāļ·āļāļāļāļēāđāļāļāļēāļĒāļŠāļēāļĄāļēāļĢāļāļāđāļēāļāļķāđāļāđāļāļ āļēāļĒāđāļāđāļĄāļāļĩāđāļāļēāļāļĩāļŦāļĢāļ·āļāļāđāļąāļ§āđāļĄāļ
6.2 Logic Array Circuit āļ§āļāļāļĢ Programmable logic arrayāļāļ°āļĄāļĩāđāļāļĢāļāļŠāļĢāļēāļāļŦāļĢāļ·āļāļĄāļĩāļĢāļđāļāļĨāļąāļāļĐāļāļ āļēāļĒāđāļāđāļāļāļāļēāļĢāļāđāļēāđāļāļīāļāļāļēāļĢ
āļāļāļāļĨāļāļāļīāļ AND āđāļĨāļ° OR āđāļāļŦāļ§āļąāļāļāļāļĩāđāđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļāļĢāļ§āļāļŠāļāļāđāļāļĢāļāļŠāļĢāļēāļāļāļ·āđāļāļāļēāļāđāļĨāļ°āļāļēāļĢāļāđāļēāđāļāļīāļāļāļēāļĢāļāļāļāļ§āļāļāļĢāļāļĩāđāļĢāļ§āļĄāļāļķāļ āđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļĩāđāļāļ°āļāđāļēāđāļŦāļĄāļąāļāļŠāļēāļĄāļēāļĢāļāđāļāļĢāđāļāļĢāļĄāđāļāđāļāļĒāļāļđāļāļāļāđāļāļāļŠāļ§āļīāļāļāļāđāļīāļāļāļāļāļāļąāļ 6.2.1 Diode Operation in Digital Circuits Programmable logic devices āļāļąāđāļāļŦāļĨāļēāļĒāļĄāļĩāļĢāļđāļāļĨāļąāļāļĐāļāļāļĩāđāļŠāļĢāļēāļāļĄāļēāļāļēāļāļŠāļēāļĢāļāļķāļāđāļāļąāļ§āļāđāļēāđāļāļ āđāļāđāļāļ , āļāļĢāļēāļāļāļīāļŠāđāļāļāļĢ āļŦāļĢāļ·āļāļŠāļ§āļāļāļĢāļ°āļāļāļāļāļĩāđāļāļĨāļēāļĒāļāļāļą , PN āđāļāđāļāļāđāļāļāļāļļāļāļāļĢāļāļāļēāļāļāļīāđāļĨāđāļāļāļĢāļāļāļīāļāļŠāļāđāļķāļāļŠāļĢāļēāļāļāļķāđāļāļāļēāļāļĢāļāļĒāļāļāļāļāļāļŠāļēāļĢāļāļķāđāļāļāļąāļ§āļāđāļē 2 āļāļāļīāļāļāļ·āļ āļāļāļīāļ P āđāļĨāļ°āļāļāļīāļ N āļāđāļķāļāđāļŠāļāļāļāļāļąāļĢāļđāļāļāļĩāđ 6.1 āļŠāļēāļĢāļāļķāđāļāļāļąāļ§āļāđāļēāļāļ·āļāļāļļāļāļāļĢāļāļāļĩāđāļŠāļēāļĢāļĄāļēāļĢāļāļāđāļēāļāļąāļāļāļēāļĢāđāļŦāļĨāļāļāļāļāļĢāļ°āđāļŠāđāļāļāļēāđāļāļāļāļĩāļ§āļēāļ§āļąāļŠāļāļļāļāļĩāđāđāļāļāļāļāļ§āļāđāļāļāļĒāļēāļāđāļāđāļĄāļĄāļĩāļāļļāļāļ āļēāļāļāļĩāđāļāļāļ§āļē āļāļąāļ§āļāļēāđ āđāļāļāļāļāļāđāļāļ āļŠāļēāļĢ P āđāļĨāļ° N āđāļāļāļāļąāļ§āđāļŠāļāļāđāļŦāļĢāļđāļāļķāļāļāļēāļĢāđāļāļ āļāļąāđāļ§āļāļ§āļāļŦāļĢāļ·āļāļĨāļ āđāļāļāļēāļĢāļāļĢāļĢāļāļļāļāļĢāļ°āđāļŠāđāļāļāļēāļāļĩāđāļāļēāļāļāļąāļ§āļĄāļąāļ āļāļēāļĢāļāđāļēāļāļēāļāļāļāļāđāļāđāļāļāļāļ°āļĄāļĩāļĨāļąāļāļĐāļāļ°āđāļŦāļĄāļ·āļāļāļāļąāļāļŠāļ§āļīāļāļāđāļāļāļļāļāļĄāļāļāļī āđāļĄāļ·āļāđāļĄāļĩāđāļĢāļāļāļąāļāđāļāļāļēāļāļāļāļĢāļāļĄāđāļāđāļāļ āļāļ°āļāđāļēāđāļŦāļāļēāļ P (āđāļāđāļāļ) āļĄāļĩāļāļēāđāļāļāļāļ§āļ āđāļĄāļ·āđāļāđāļāļĩāļĒāļāļāļąāļāļāļēāļ N (āđāļāđāļāļ) āđāļāđāļāļāļāļĩāđāđāļĢāļĩāļĒāļāļ§āļē āļāļāļĢāđāļ§āļīāļĢāļāđāļāđāļāļŠ āļāđāļķāļāđāļāļĢāļĩāļĒāļāđāļāļāļąāļāļāļēāļĢāđāļāļāļŠāļ§āļīāļāļāļŦāļĢāļ·āļāļāļēāļĢāļāđāļāļāļ§āļāļāļĢāđāļĨāļ°āļāļāļĢāđāļ§āļīāļĢāļāđāļāđāļāļŠāļāļĩāđāļāļ°āļāļēāđāđāļŦāđāļāļāļīāđāļĢāļāļāļāļąāļāļāļāļĢāļāļĄāđāļāđāļāļāļāļĢāļ°āļĄāļēāļ 0 āđāļ§āļĨāļ āđāļĄāļ·āļāđāđāļāđāļāļāđāļāļĢāļąāļāđāļĢāļāļāļąāļāđāļāļāļāļ§āļ
Combinational Circuit Design with Programmable Logic Devices 289
āđāļĄāļ·āđāļāđāļāļĩāļĒāļāļāļąāļ āđāļāđāļāļ āđāļĢāļēāļāļ°āđāļĢāļĩāļĒāļāđāļāđāļāļāļāļĩāļ§āđāļē āļĢāļĩāđāļ§āļīāļĢāļāđāļāđāļāļŠ āļāđāļķāļāļĄāļĩāļāļĪāļāļīāļāļĢāļĢāļĄāđāļŦāļĄāļ·āļāļāļāļēāļĢāđāļāļāļ§āļāļāļĢāđāļāļāļāļĨāļāđāļēāđāļŦāđāļāļīāļāđāļĢāļāļāļąāļāļāļāļāļĢāļāļĄāđāļāđāļāļāļĄāļēāļ āļĢāļđāļ 6.1 āļĢāļāļĒāļāļ PN āđāļĨāļ° āļŠāļąāļāļĨāļąāļāļĐāļāđāļāđāļāļ
āđāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļāđāļāļ§āļāļāļĢāļāļīāļāļīāļāļāļĨ āļāļĨāļēāļĒāļāļēāļāļŦāļāļķāđāļāļāļāļāđāļāđāļāļāļāļ°āđāļāļ·āđāļāļĄāļāļāļāļąāļāđāļŦāļĨāļāļāļēāļĒāļāļĢāļ°āđāļŠāđāļāļāļēāļŦāļĢāļ·āļ āļāļĢāļēāļ§āļ āđāļāļĒāļāļēāļāļāļēāļāļāļąāļ§āļāļēāļāļāļēāļ āļāđāļķāļāđāļŠāļāļāđāļāļĢāļđāļ 6.2 a āđāļĨāļ° d āļāļĨāļēāļĒāļāļēāļāļāļ·āđāļāļŠāļēāļĄāļēāļĢāļāļāļ§āļāļāļļāļĄāđāļāļĒāļŠāļąāļāļāļēāļāļāļīāļāļīāļāļāļĨ āļŠāđāļēāļŦāļĢāļąāļ āļāļāļĢāđāļ§āļīāļĢāļ āļŦāļĢāļ·āļ āļĢāļĩāđāļ§āļīāļĢāļāđāļāđāļāļŠ āđāļāđāļāļāļāļĒāļēāļāđāļāļāļĒāļēāļāļŦāļāļķāđāļ āļāļēāļāļīāļāļēāļĢāļāļēāļāļēāļĢāļāđāļēāļāļēāļāļāļāļāļ§āļāļāļĢāđāļāļĢāļđāļ 6.2a āđāļĄāļ·āđāļāļŠāļąāļāļāļēāļ A āļĄāļĩāļĨāļāļāļīāļāđāļāļ 1 (āđāļĢāļāļāļąāļāļāļ§āļ) āđāļāđāļāļāļāļ°āļĢāļĩāđāļ§āļīāļĢāļāđāļāđāļāļŠ āđāļĨāļ°āļĄāļĩāļāļĪāļāļīāļāļĢāļĢāļĄāđāļŦāļĄāļ·āļāļāļ§āļāļāļĢāđāļāļ āļāđāļķāļāļĄāļĩāļĢāļđāļāļāļĢāļ°āļāļāļāđāļāļĢāļđāļāļāļĩāđ 6.2b āđāļāļāļĢāļāļĩāļāļĩāđāļŠāļąāļāļāļēāļāđāļāđāļŠāļ B āļāļ°āļāļđāļāļāļķāļāļāļķāđāļāđāļāļĒāļāļąāļ§āļāļēāļāļāļēāļāđāļāļĒāļąāļāđāļŦāļĨāļāļāļēāļĒāđāļĢāļāļāļąāļāđāļāļāļē āđāļāļāļāļēāļĢāļāđāļēāđāļŦāļŠāļąāļāļāļēāļ B āļĄāļĩāļĨāļāļāļīāļāđāļāļēāļāļąāļ 1 āđāļĄāļ·āđāļ A āļĄāļĩāļĨāļāļāļīāļ 0 ( 0 āđāļ§āļĨāļ) āđāļāđāļāļāļāļ°āļāļĨāļēāļĒāđāļāļ āļāļāļĢāđāļ§āļīāļĢāļāđāļāđāļāļŠ āļāļąāļāļāļąāđāļāļāļ°āđāļĢāļīāđāļĄāļāđāļēāļāļĢāļ°āđāļŠāļĄāļĩāļāļĪāļāļīāļāļĢāļĢāļĄāđāļŦāļĄāļ·āļāļāļāļēāļĢāļāļāļ§āļāļāļĢ āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.2c āļāđāļķāļāđāļāļāļāļēāļĢāļāđāļēāđāļŦāđāļĢāļāļāļąāļāļāļĩāđāļāļļāļ B āļĄāļĩāļĨāļāļāļīāļāđāļāļ 0 āļĢāļđāļāļāļĩāđ 6.2d , e āđāļĨāļ° f āđāļāļāļĢāļđāļāļāļĩāđāđāļŠāļāļāļāļĨāļĨāļąāļāļāđāļĄāļ·āđāļāļĄāļĩāļāļąāļ§āļāļēāļāļāļēāļāļāļāļĨāļāļāļĢāļēāļ§āļ
290 Digital Logic Circuit Analysis and Design
āļĢāļđāļāļāļĩāđ 6.2 āļāļēāļĢāļāđāļēāļāļēāļāļāļāļ PN āđāļāđāļāļāļŠāđāļēāļŦāļĢāļąāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļāđāļāļāļīāļāļīāļāļāļĨ (a) āļāļąāļāļāļąāļ§āļāļēāļāļāļēāļ pull-up (b) Reverse â biased :āđāļāđāļāļāđāļāļ; B pulled up āđāļāļ 1 (c) Forward-biased:āđāļāđāļāļāļāđāļāļ, āļāđāļēāđāļŦ B āđāļāļ 0 (d) āļāļāļąāļāļąāļ§āļāļēāļāļāļēāļ pull- down (e) Reverse biased : āđāļāđāļāļāđāļāļ ; B pulled down āđāļāļ 0 (f) Forward biased: āđāļāđāļāļ āļāđāļāļ , āļāđāļēāđāļŦ B āđāļāļ 1 6.2.2 AND and OR Logic Arrays
āļāļĪāļāļīāļāļĢāļĢāļĄāļāļĩāđāļāļ°āļāļāđāļāđāļāļŠāļ§āļāļīāļāļāđāļīāļāļāļāļāļāļąāļ āļāđāļķāļāļāđāļēāđāļāļīāļāļāļēāļĢāđāļāļĒ PN āđāļāđāļāļāđāļŠāļāļāđāļāļāļąāļāļāļĩ āđāļŠāđāļēāļŦāļĢāļąāļāļāļąāļ§āļāļĒāļēāļ āļ§āļāļāļĢāļĢāļđāļāļāļĩāđ 6.3a āđāļāļāļāļēāļĢāđāļŠāļāļāđāļŦāđāļāļēāđāļāļāļķāļ AND āļāļāļāļāļąāļāļāļ§āļĒ 3 āļāļīāļāļāļļāļāļāļ·āļ A, BāđāļĨāļ° C āļŠāđāļīāļāļāļĩāđāļāļĢāļ§āļāļŠāļāļāļāļ§āļēāļĄāļāļđāļāļāļāļāļāļāļāļ§āļāļāļĢāļāļĩāđāļāļ·āļ āļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļ (truth table) āđāļĄāļ·āđāļ ABC = 111 āđāļāđāļāļāļāļąāđāļāļŠāļēāļĄāļāļąāļ§āļāļ°āđāļāļāļŦāļĢāļ·āļāļāđāļēāļāļēāļ āđāļĨāļ°āđāļāļēāļāļāļāļļāļāļ°āļĄāļĩāļĨāļāļāļīāļāđāļāļ 1 āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.3b āļāļēA āđāļāļĨāļĩāđāļĒāļāđāļāļ 0 āđāļāđāļāļāļāļ°āļāļĨāļēāļĒāđāļāļāļāđāļāļāļŦāļĢāļ·āļāļāđāļēāļāļēāļ āļāļ°āđāļāđāļāļēāļāļāļļāļāđāļāļāļĨāļāļāļīāļ 0 āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.3c āļāđāļķāļāđāļāđāļāļāļāļĩāļ 2 āļāļąāļ§āļĒāļąāļāļāļāđāļāļāļāļĒāļđāļĄāļąāļāļāļāđāļ°āđāļĄāļĄāļāļĩāļĨāļāļĢāļ°āļāļāļāļāđāļāļēāļāļāļāļļ āļāđāļķāļāļāļĨāļĨāļąāļāļāļāļ°āļāļđāļāļāļāļāđāļŦāļĄāļ·āļāļāļāļāļąāļāļ§āļĒāđāļĄāļ·āđāļ ABC = 101 āđāļĨāļ° ABC = 110 āđāļĄāļ·āđāļāļāļīāļāļāļļāļāļĄāļēāļāļāļ§āļē 1 āļĄāļĩāļĨāļāļāļīāļāđāļāļ 0 āđāļāđāļāļāļāļ°āļāđāļāļāđāļĨāļ°āđāļāļēāļāļāļļāļāļāļ°āđāļāđāļŦāļĄāļ·āļāļāļāļāļąāļāļ·āļ āļĨāļāļāļīāļ 0 āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.3d āļāļąāļāļāļąāđāļāļ§āļāļāļĢāļāļĩāđāđāļŠāļāļāļāļąāđāļāļŦāļĄāļāđāļāļāļāļāļāļāļāļāļāļąāļ AND 3 āļāļīāļāļāļļāļ āđāļāļ·āđāļāđāļāļāļāļēāļĢāļāļĢāļ°āđāļĄāļāļīāļāļĨāđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļāļ§āļēāļĄāļāļđāļāļāļāļāļāļāļāļ§āļāļāļĢāļāļ§āļĢāļĄāļĩāļāļēāļĢāļāļĒāļēāļĒāļāđāļēāļāļ§āļāđāļāđāļāļāđāļāļ K āļāļąāļ§āđāļāđāļāļ·āđāļāļāļĩāđāļāļ°āđāļāļāļāļāļāļāļąāļ K āļāļīāļāļāļļāļ
Combinational Circuit Design with Programmable Logic Devices 291
āļĢāļđāļāļāļĩāđ 6.3 āļāļāļāļāļąāļ AND āļāļąāļāđāļāđāļāļāļāļēāļĢāđāļĢāļĒ (a) āļĢāļđāļāđāļāļāļāļ·āđāļāļāļēāļ (b) āđāļāđāļāļāđāļāļ :f āđāļāļ 1 (c)1āđāļāđāļāļāļāđāļāļ ,f āļāļ·āļ 0 (d) āđāļāđāļāļāļŦāļĨāļēāļĒāļāļ§āļąāļāđāļāļ ,f āđāļāļ 0 āļĢāļđāļāļāļĩāđ 6.4 āļāļāļāļāļąāļ OR āļāļąāļāđāļāđāļāļāļāļēāļĢāđāļĢāļĒ (a) āļĢāļđāļāđāļāļāļāļ·āđāļāļāļēāļ (b) āđāļāđāļāļāļāļļāļāļāļąāļ§āđāļāļ :f āđāļāļ 0 (c)1āđāļāđāļāļāļāđāļāļ ,f āļāļ·āļ 1
āđāļāļ·āđāļāļāļ§āļēāļĄāđāļāļēāđāļāđāļāļāļāļāļāļąāļ OR āļāļ°āđāļŠāļāļāļ§āļāļāļĢāđāļŦāđāļŦāđāļāļāļąāļāļĢāļđāļ 6.4a āđāļāļ§āļāļāļĢāļāļĩāđāđāļĄāļ·āđāļ ABC = 000
āđāļāđāļāļāļāļąāđāļāļŠāļēāļĄāļāļąāļ§āļāļ°āđāļāļāđāļĨāļ°āđāļāļēāļāļāļļāļāļāļ°āđāļāļĨāļāļāļīāļ 0 āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.4b āđāļĄāļ·āđāļ ABC = 100 āļāđāļķāļāđāļŠāļāļāđāļāļĢāļđāļ 6.4c āđāļāđāļāļ A āļāļ°āļāļāļŦāļĢāļ·āļāļāđāļēāļāļĢāļ°āđāļŠāđāļāļāļē (āļĄāļĩāļāļĪāļāļīāļāļĢāļĢāļĄāđāļāļāļāđāļāļāļ§āļāļāļĢ) āđāļāļēāļāļāļļāļāļāļĩāđāđāļāļāļ°āļĄāļĩāļĨāļāļāļīāļāđāļāļ 1 āļŠāļ§āļāđāļāđāļāļāļāļĩāļāļŠāļāļāļāļąāļ§āļĒāļąāļāļāļāđāļāļāļāļĒāļđ āļāđāļķāļāļĄāļąāļāļāļ°āđāļĄāļĄāļĩāļāļĨāļāļĢāļ°āļāļāļāļāđāļāļēāļāļāļļāļ āļāđāļķāļāđāļāļēāļāļāļļāļāļāļ°āļĒāļąāļāļĄāļĩāļĨāļāļāļīāļāđāļāļ 1 āđāļĄāļ·āđāļāļāļīāļāļāļļāļāļāļąāļ§āļāđāļ·āļāļĄāļĩāļāļēāļĨāļāļāļīāļāđāļāļ 1 āļāļ§āļĒ āļāļąāļāļāļąāđāļāļ§āļāļāļĢāļāļĩāđāđāļāļāļāļēāļĢāļāļāļīāļāļēāļĒāļāļķāļāļāļāļāļāļąāļ OR 3āļāļīāļāļāļļāļ āļ§āļāļāļĢāļāļĩāđāļŠāļēāļĄāļēāļĢāļāļāļĒāļēāļĒāđāļāđāļāļ K āļāļīāļāļāļļāļāļāļāļāļāļąāļāđāļāļĒāđāļāđāļāđāļāļ K āļāļąāļ§
6.2.3 Two â Level AND â OR Arrays
āļ§āļāļāļĢ AND āđāļĨāļ° OR āļāļĩāđāļāļāļīāļāļēāļĒāđāļāđāļĨāļ§āļāļēāļāļāļāļŠāļēāļĄāļēāļĢāļāļāđāļēāļĄāļēāđāļāļĩāđāļĒāļ§āļāļāļāļāļāļąāđāļāļ§āļīāļāļĩāļāļēāļĢāļāļāļāļĨāļāļāļīāļāđāļāļāļāļķāđāļāļŠāļēāļĄāļēāļĢāļāļāđāļēāļŦāļāļāļŠāļ§āļīāļāļāļāđāļīāļāļāļāļāļāļąāļāđāļāļāđāļ āļŠāđāļēāļŦāļĢāļąāļāļāļ§āļąāļāļĒāļēāļ āļāļāļīāļēāļĢāļāļēāļāļāļāļāļąāļ
f(a,b,c) = ab c + b c āļāđāļķāļāļāđāļāļ·āļāļĢāļđāļāđāļāļāļāļāļāļāļĨāļāļ§āļāļāļāļāļāļĨāļāļđāļāđāļ two â level āđāļāļ·āđāļāļāļ§āļēāļĄāđāļāļēāđāļāđāļāļāļāļāļāļąāļāļāļĩāđāļāļ°āđāļŠāļāļ
āđāļāļĢāļđāļāļāļāļāļĨāļāļāļīāļāđāļāđāļāļāļāļēāļĢāđāļĢāļĒāļāđāļķāļāđāļŠāļāļāđāļāļĢāļāļđ 6.5a āļĢāļđāļāļāļĩāđ6.5b āđāļāļāļ āļēāļāļāļĢāļ°āļāļāļāļāļāļāļĢāļđāļāđāļāļāļāļĩāđāļāļ°āļāļąāļāļĢāļąāļ āļāđāļķāļāđāļāļĒāļāļāļāđāļīāļāļ§āļāļāļĢāđāļāđāļāļāļĨāļāļāļāļīāļāļēāļĢāđāļĢāļĒ āļāļāļāļāļąāļ AND āļāļ°āđāļāļāđāļāļĒāđāļŠāļāđāļāļ§āļāļąāđāļāđāļĨāļ°
292 Digital Logic Circuit Analysis and Design
āļŠāļąāļāļĨāļąāļāļĐāļāļāļāļ AND āđāļāļāļāļ°āđāļāļāļāļąāļ§āļāļēāļāļāļēāļāđāļāļ pull â up āđāļĨāļ°āļāļāļāļāļąāļ OR āļāļ°āđāļāļāļāļ§āļĒāđāļŠāļāđāļāļ§āļāļāļ āđāļĨāļ°āļŠāļąāļāļĨāļąāļāļĐāļāļāļāļ OR āđāļāļāđāļāļāļāļ§āļąāļāļēāļāļāļēāļāđāļāļ pull â down āļŠāļąāļāļĨāļąāļāļĐāļ x āđāļāļāđāļāđāļāļ āļāļēāļāļāļĢāļąāđāļāđāļĢāļēāļāđāļĒāļāđāļ§āļāļŠāļąāļāļĨāļąāļāļĐāļāļāļāļ AND āđāļāļ·āđāļāļāļ§āļēāļĄāļāļ°āļāļāļąāļĢāļąāļāļāļāļāļ§āļāļāļĢ
āļĢāļđāļāļāļĩāđ 6.5 āļĢāļđāļāđāļāļāļāļāļāļāļĨāļāļ§āļāļāļāļāļāļĨāļāļđāļāļāļĩāđāđāļŠāļāļāļāļ§āļĒ AND-OR āļāļēāļĢāđāļĢāļĒ (a) āļāļēāļĢāđāļāļ·āđāļāļĄāļāļ AND āđāļĨāļ° OR āļāļēāļĢāđāļĢāļĒ (b) āļĢāļđāļāđāļāļāļāļĩāđāļāļ°āļāļāļąāļĢāļąāļ (Compact form)
āļĢāļđāļāļāļĩāđ 6.6 āđāļāļāļāļēāļĢāđāļŠāļāļāļāļķāļāļāļāļāļāļąāļāļŦāļĨāļēāļĒāļāļāļāļāļąāļāļāļķāđāļāļŠāļēāļĄāļēāļĢāļāļāļāļīāļāļēāļĒāđāļŦāđāļāļēāđāļāđāļāļāļ§āļĒāļāļēāļĢāđāļāļīāđāļĄāļ§āļāļāļĢ OR āđāļāļēāđāļāđāļāļŠāļąāļāļāļēāļāļĨāļāļāļīāļāļāļēāļĢāđāļĢāļĒ āđāļāļāļąāļ§āļāļĒāļēāļāļāļĩāļāđāļ°āđāļŠāļāļ 2 āļāļāļāļāļąāļāļāļąāļāļāļāđāļāļāļĩāđ f1 (a,b,c) = ab + c f2 (a,b,c) = ab + b c
Combinational Circuit Design with Programmable Logic Devices 293
āđāļāļāļąāļāđāļāļāļĄāļāļāļ ab āļāļĩāđāļāļĒāļđāđāļāļāļąāđāļ 2 āļāļāļāļāļąāļāļāļĩāđāļĄāļąāļāļŠāļēāļĄāļēāļĢāļāđāļāļāļāļēāļĢāļāđāļēāđāļāļāļīāļāļēāļĢāđāļāđāļāļĒ OR āđāļāļ āļāļąāđāļāļŠāļāļāļāļąāļ§ āļāđāļķāļāļāđāļēāđāļŦāļāļāļāļāļāđāļāđāļāļāļāļ°āļāļđāļāļĢāļ°āļāļļāļĨāļāđāļāđāļāļāļēāļĢāđāļĢāļĒāļŦāļĢāļ·āļāđāļāļĢāđāļāļĢāļĄāđāļāļĒāļāļēāļĢāđāļĢāļĒāļĄāļĩāđāļ§āđāļāļ·āđāļāļĢāļ°āļāļļāļĨāļāļāļīāļāļāļāļāļāļąāļ
āļāļēāļĢāļĢāļ§āļĄāļāļąāļāļāļāļ programmable AND array āđāļĨāļ° programmable OR array āđāļāļĒāļāļāļāļāļīāļ°āļāļēāļāļāļķāļ programmable logic array (PLA) āļŦāļĨāļąāļāļāļēāļāļāļēāļĢāđāļĄāļĄāļĩāļāļēāļĢāđāļāļēāļ°āļāļāļāļāļāļĨāļāļāļīāļāļāļāļāļāļąāļ āđāļĢāļēāļŠāļēāļĄāļēāļĢāļāđāļāļēāđāļāđāļāļ§āļēāļŠāļēāļĄāļēāļĢāļāļĢāļ°āļāļļāļĢāļđāļāđāļāļāļāļāļāđāļāđāļāļāđāļ
āļĢāļđāļāļāļĩāđ 6.6 āļŦāļĨāļēāļĒāļāļāļāļāļąāļāļāļĩāđāđāļŠāļāļāđāļāļĒ AND â OR āļāļēāļĢāđāļĢāļĒ āļāļąāļ§āļāļĒāļēāļāļāļĩāđ 6.1 āļāļāļāđāļāļ PLA āđāļāļĒāđāļ 3 āļĨāļāļāļīāļāļāļāļāļāļąāļāļāļāđāļāļāļĩāđāđāļĨāļ°āđāļŠāļāļāļāļēāļĢāđāļāļ·āđāļāļĄāļāļāļ āļēāļĒāđāļāļāļ§āļĒ f1(A,B,C,D,E) = A B D + B C D + A B C D E f2 (A,B,C,D,E) = A B E + B C D E f3 (A,B,C,D,E) = A B D + B C D E + A B C D
āđāļāļ·āđāļāļāļāļēāļāļĄāļĩāļāļ§āļąāđāļāļĢ 5 āļāļąāļ§āđāļāļĢāļāļąāļāļāļąāđāļ PLA āļāļ°āļāļāļāļĄāļĩ 5 āļāļīāļāļāļļāļ āļāđāļķāļāđāļāļĨāļ°āļāļāļąāļāļ°āļāļāļāļāļĢāļ°āļāļāļāđāļāļāļ§āļĒāļāļąāđāļāļŠāļ§āļāļāļĩāļŠāđāļĄāļāļđāļĢāļāđāļĨāļ°āļŠāļ§āļāļāļĩāđāđāļĄāļŠāļĄāļāļđāļĢāļ āļāļĨāļĢāļ§āļĄāļāļāļ 7 āđāļāļāļąāļāđāļāļāļĄāļāļĩāđāđāļĄāļāđāđāļēāļāļąāļāđāļāļāļąāđāļ 3 āļāļīāļāļāļāđāļāļĒāđāļĢāļīāđāļĄāļāļąāđāļāđāļāļāļīāļāļāļāļāļĩāđāļĄāļēāļāļāļāđāļāļāļāļąāļāļāļąāļāđāļĢāļ āļāļąāļāļāļąāđāļ PLA āļāļ°āļāļāļāļĄāļĩāđāļāļāļąāļāđāļāļāļĄāđāļāļīāļāļāļķāļāđāļāļĒāļēāļāļāļāļĒ 7 āđāļāļāļąāļāđāļāļāļĄ āļāļēāļĒāļāļĩāđāļŠāļļāļāļāļāļāļāļąāļāļāļąāđāļāļŠāļēāļĄāļāļ°āļāļāļāļāđāļēāļĄāļēāļĢāļ§āļĄāļāļāļą(OR) āđāļāļĢāļāļŠāļĢāļēāļāļāļāļ PLA āđāļŠāļāļāđāļāļāļąāļāļĢāļđāļāļāļĩāđ 6.7 āļāļēāļĢāļēāļāļāļĩāđ 6.1 āđāļŠāļāļāļāļēāļĢāđāļāļ·āđāļāļĄāļāļāļāļĩāđāļāļ°āļāļāļāļŠāļĢāļēāļāļāļķāđāļāđāļ AND āđāļĨāļ° OR āļāļēāļĢāđāļĢāļĒ āđāļāļāļēāļĢāļēāļāļāđāļēāļāļ§āļāļāļāļāđāļāļāļąāļāđāļāļāļĄāļāļ°āļŠāļāļāļāļĨāļāļāļāļąāļāļāđāļēāļāļ§āļāđāļāļāđāļāļĢāļđāļāļāļĩāđ 6.7 ,āđāļāļĨāļ°āļāļēāļĢāđāļāļ·āđāļāļĄāļāļāđāļāļŦāļāļķāļāđāđāļŠāļāđāļāļ§āļāļąāđāļāđāļāļīāļāļāļēāļāđāļāļĢāļāļąāļāđāļāļāļĄ āđāļ AND āļāļēāļĢāđāļĢāļĒāļāđāļķāļāđāļāļāļŠāļ§āļāļŦāļāļķāđāļāļāļāļ
294 Digital Logic Circuit Analysis and Design
āļāļēāļĢāļēāļ , 0 āđāļŠāļāļāđāļŦāļĢāļđāļāļķāļāļāļąāļ§āđāļāļĢāļāļąāđāļāđāļāļ·āđāļāļĄāļāļāđāļāļĢāļāļąāļāđāļĨāļ 1 āđāļŠāļāļāđāļŦāļĢāļđāļāļķāļāļŠāļ§āļāļāļĩāđāđāļĄāļŠāļĄāļāļđāļĢāļāļāļāļāļāļīāļāļāļļāļāļāļĩāđāđāļāļ·āđāļāļĄāļāļāđāļāļĢāļāļąāļāđāļĨāļ āđāļĨāļ° x āđāļŠāļāļāđāļŦāļĢāļđāļāļķāļāļāļēāļĢāđāļāļ·āđāļāļĄāļāļāđāļāļĢāļāļąāļāđāļĨāļ āļŠāđāļēāļŦāļĢāļąāļ OR āļāļēāļĢāđāļĢāļĒ , āđāļŠāļāļāļāļķāļāļāļēāļĢāđāļāļ·āđāļāļĄāļāļ āđāļĨāļ° 0 āđāļŠāļāļāļāļķāļāļāļēāļĢāđāļĄāđāļāļ·āđāļāļĄāļāļ
āļĢāļđāļāļāļĩāđ 6.7 PLA āļŠāđāļēāļŦāļĢāļąāļ āļāļąāļ§āļāļĒāļēāļ 6.1 āļāļēāļĢāļēāļāļāļĩāđ 6.1 āļāļēāļĢāļēāļ PLA āļŠāđāļēāļŦāļĢāļąāļ āļāļąāļ§āļāļĒāļēāļ 6.1
Combinational Circuit Design with Programmable Logic Devices 295
āļāļąāļ§āļāļĒāļēāļāļāļĩāđ 6.2 āđāļāļēāļāļāļļāļāļāļāļ 5 āļāļīāļāļāļļāļāļāļāļāļ§āļāļāļĢâmajority voterâ āļāđāļķāļāđāļŠāļāļāđāļāļĢāļđāļāļāļĩ āđ 6.8a āđāļāđāļāļĨāļ° majority āļāđāļķāļāļāļīāļāļāļļāļāļāļ·āļ 1 āļāļāļāļāļāđāļāļāļ§āļāļāļĢāļāļĩāđāļāļ§āļĒ PLA
āđāļāļēāļāļāļļāļāļāļ·āļ 1 āļāđāļķāļāļāļĢāļ°āļāļāļāļāļ§āļĒāļĄāļīāļāđāļāļāļĄ 3 āļŦāļĢāļ·āļāļĄāļēāļāļ§āļē āļāļāļāļāļąāļāļāļĩāđāļŠāļāļāļāļĨāļāļ āļāļ·āļ f(a,b,c,d,e) = mâ (7,11,13,14,15,19,21,23,25 â 31) āļĢāļđāļāļāļĩāđ 6.8 Majority voter āļāļāļāļāļąāļ§āļāļĒāļēāļ 6.2 (a) āđāļāļēāļāļāļļāļ = 1 āļāļē majority āļāļāļāļāļīāļāļāļļāļ = 1 (b) PLA
realization
āđāļ K â map āļŦāļĢāļ·āļāļ§āļīāļāļĩāļāđāļ·āļāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄ āļāļāļāļāļąāļāļāļĩāđāļŠāļēāļĄāļēāļĢāļāđāļŠāļāļāđāļŦāļāļąāļāđāļāļāđāļāļĢāļđāļāļāļāļāļāļēāļāļāļĒāļāļĩāđāļŠāļļāļāļāļāļāļāļĨāļāļ§āļāļāļāļāļāļĨāļāļđāļ f(a,b,c,d,e) = abc + abd + abe + acd + ace + ade + bcd + bce + bde + cde
āļāļāļāļāļąāļāļāļĩāđāđāļāļĩāļĒāđāļ§āļāļāļāļāļąāļ PLA āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.8b
296 Digital Logic Circuit Analysis and Design
āļāļāļĒāļāļĢāļąāđāļāļāļĩāđāļāļđāļāļāļāđāļāļāļ§āļāļāļĢāđāļāļĨāļĨāļĄāļēāļāļĢāļāļēāļāļāļāļ VLSI āđāļ programmable logic array āđāļŦāđāļāļāļāļĢāļ°āđāļĒāļāļāđāļāļāļēāļĢāđāļĒāļāļĨāļāļāļīāļāđāļāļāļŠāđāļēāļŦāļĢāļąāļāļāļēāļĢāđāļāļāļĨāļāļāļīāļāļāļĩāđāļĢāļ§āļĄāļāļąāļāļāļāļāļāļēāļāļāļąāļ āļāļēāļĢāđāļāļ·āđāļāļĄāļāļāļāļąāļāđāļ AND āđāļĨāļ° OR āļāļēāļĢāđāļĢāļĒāđāļāļīāļāļāļķāđāļāđāļāļĢāļ°āļŦāļ§āļēāļāļāļĢāļ°āļāļ§āļāļāļēāļĢāļŠāļĢāļēāļāļāļļāļāļāļĢāļ āļĢāļđāļāđāļāļāļāļāļ PLA āļāļ·āļāļāđāļēāļāļ§āļāļāļāļāļāļīāļāļāļļāļ , āđāļāļĢāļāļąāļāđāļāļāļĄ āđāļĨāļ°āļāļĨāļĢāļ§āļĄāļāļāļāđāļāļāļĄāļāļĩāđāļĢāļ°āļāļļāļāļĒāļđāđāļāļ§āļāļāļĢ āļāļāļāļĩāļāļāļāļāļēāļĢāđāļ PLAs āļāļāđāļĢāļāļāļ·āļ PLAs āļŠāļēāļĄāļēāļĢāļāļŠāļĢāļēāļāļāļķāđāļāđāļŦāļĄāļĩāļāļ§āļēāļĄāļāļĢāļ°āļāļāļąāļĢāļąāļāļāļāļāļ§āļāļāļĢāđāļāļĄāļēāļāļāļ§āļēāļ§āļāļāļĢāđāļāļĩāļĒāļāđāļāļēāļāļĩāđāđāļāļāļēāļāļĨāļāļāļīāļāđāļāļāļāļĩāđāđāļĒāļāļāļąāļ āļāļąāļāļāļąāļāđāļāļ°āļāđāļēāđāļŦāđāļāļāļ·āđāļāļāļĩāđāđāļāļāļīāļāļāļāļĒ āļāļāļāļĩāđāļŠāļāļāļāļ·āļ āļŠāļēāļĄāļēāļĢāļāđāļāļāļāļĄāļāļīāļ§āđāļāļāļĢāđāļāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļ§āļĒāđāļāļāļēāļĢāļāļāļāđāļāļāļĢāļđāļāļĢāļēāļāļāļāļ PLA āļāļēāļāļŠāļĄāļāļēāļĢāļĨāļāļāļīāļāđāļāđāļāļĒāļāļĢāļ āļāđāļēāđāļŦāđāļ§āļĨāļēāđāļāļāļēāļĢāļāļāļāđāļāļāļĨāļāļĨāļ āļāļāļŠāļļāļāļāļēāļĒāļĄāļĩāļ§āļīāļāļĩāļāļēāļĢāļāļāļŠāļāļāļāļēāļĢāļāļąāļāļāļēāļŠāđāļēāļŦāļĢāļąāļ PLAs āļāđāļķāļāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāļĩāļāļ§āļēāļ§āļīāļāļĩāļāļēāļĢāļāļāļŠāļāļāđāļāļĒāļ§āļāļāļĢāđāļāļĩāļĒāļāđāļāļēāļŠāđāļēāļŦāļĢāļąāļāļ§āļāļāļĢāļĨāļāļāļīāļāđāļāļāļāļĩāđāđāļĒāļāļāļąāļ
6.2.4 Field â programmable AND and OR Arrays
āļŠāļ§āļāļāļĢāļ°āļāļāļāļāļāļ Field â programmable logic āļāļ·āļ āļāļļāļāļāļĢāļāļāļĩāđāđāļĄāđāļāļĩāļĒāđāļ§āļāļāļāļāļąāļ AND / OR āļāļēāļĢāđāļĢāļĒ āļāļąāđāļāļāļ·āļāđāļāļĢāđāļāļĢāļĄāđāļāļĒāļāļđāļāļāļāđāļāļāļāļķāđāļāļāļāļāļāļēāļāļāļ°āļĄāļĩāļāļ§āļēāļĄāđāļāļāļāļāļāļ§āļēāļāļđāļāļĨāļīāļ āļŠāļ§āļāļĄāļēāļāļĄāļēāļāļĢāļāļēāļāļāļāļ Field â programmable āļāļ°āļāļĢāļ°āļāļāļāļāļ§āļĒ AND / OR āļāļēāļĢāđāļĢāļĒāļāđāļķāļāļŠāļēāļĄāļēāļĢāļāļāđāļēāļŦāļāļāļŠāļ§āļīāļāļāļāļīāļāļāļāļāļāļąāļāđāļāđāļāļāđāļāļĒāļĒāļāļĄāđāļŦāļāļđāļāļāļāđāļāļāļĢāļ°āļāļļāļŦāļĢāļ·āļāđāļāļĢāđāļāļĢāļĄāđāļāļāđāļ āļĢāļ§āļĄāļāļķāļāļāļēāļĢāđāļāļ·āđāļāļĄāļāļāđāļāđāļāļāļāļąāļāļāļēāļĢāđāļĢāļĒāđāļāļĒāđāļāļĢāļđāļāđāļāļāļāļāļāđāļāļāļąāļ āđāļĨāļ°āļāļĨāļĢāļ§āļĄāļāļāļāđāļāļāļĄ āļāļēāļĢāļāđāļēāļāļļāļāļāļĢāļ programmable āļāļ°āđāļāļāļ§āļŠāđāļĨāļŦāļ° (āļāļīāļāđāļāļīāļĨ â āđāļāļĢāđāļĄāļĩāļĒāļĄ , āđāļāđāļāđāļāļĩāļĒāļĄ â āļāļąāļāļŠāđāļāļ āļŦāļĢāļ·āļ āđāļĨāļŦāļ°āļāļŠāļĄāļāļĩāđāļāļĨāļēāļĒāļāļąāļ) āļĄāļēāļāļāļāļāļļāļāļĢāļĄāļāļāļąāđāļāđāļāļāđāļāļĨāļ°āļāļąāļ§āđāļāļĒāļāļāļĢāļ°āļŦāļ§āļēāļāđāļāđāļāļāļāļāļąāđāļŠāļāđāļāļēāļāļāļļāļ āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.9a āđāļāļĒāļāļ§āļŠāļāļĩāđāļāļāļāđāļāļ°āļāđāļēāļŦāļāļēāļāļĩāđāļāđāļāļāļ§āļāļāļĢāļāđāđāļŦāļĄāļ·āļāļāļāļąāļāļāļēāļĢāđāļāļ·āđāļāļĄāļāļāđāļāđāļāļāđāļāļēāļāļąāļāđāļāļēāļāļāļļāļāđāļāļĒāļāļĢāļ āļāļ§āļŠāļŠāļēāļĄāļēāļĢāļāļāļēāļāđāļāđāļĄāļ·āđāļāļĄāļĩāļāļĢāļ°āđāļŠāđāļāļāļēāļŠāļđāļāđāđāļŦāļĨāļāļēāļāļĄāļąāļāļāđāļāļ°āļāđāļēāđāļŦāđāļāļēāļāļāļļāļāđāļāļāļāļŠāļīāļĢāļ°āļŦāļĢāļ·āļāļāļēāļāļāļēāļĢāđāļāļ·āđāļāļĄāļāļāļāļąāļāļāļīāļāļāļļāļāļāļĩāđāļāļĢāļāļāļāļą Programmable AND array āļāļĩāđāđāļŠāļāļāđāļāļĢāļđāļ 6.9a āļāļąāļ§āđāļāļĢāđāļāļĨāļ°āļāļīāļāļāļļāļāļĄāļąāļāļāļ°āļŠāļĄāļāļđāļĢāļāđāļāđāļāļĒāļāļēāļĢāđāļāļ·āđāļāļĄāļāļāļāļāļāđāļāđāļāļāđāļĨāļ°āļāļ§āļŠāļāļąāļāđāļāļēāļāļāļāļļ āļāļēāļĢāđāļĨāļ·āļāļāđāļāļēāļāļ§āļŠāļāļāļāļāļāļāļāļąāļ§āđāļāļĢāļāļāļāđāļāļāļąāļ A , A , B , B , C āđāļĨāļ° C āļŠāļēāļĄāļēāļĢāļāļāđāļēāđāļ āļŠāđāļēāļŦāļĢāļąāļāļāļąāļ§āļāļĒāļēāļāļāļāļīāļēāļĢāļāļēāļŠāļ§āļīāļāļāļāļīāļāļāļāļāļāļąāļ f(A,B,C) = A B C āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļāļāļĩāđ 6.9b āđāļāļāļāļēāļĢāđāļāļēāđāļāđāļāļāļāļāļāļāļēāļāļāļīāļāļāļļāļ A , B ,āđāļĨāļ°C āļŠāļ§āļāđāļāđāļāļāļāļĩāđāļāļāļāļāļļāļāļĢāļĄāļāļąāļāļāļīāļāļāļļāļA , B āđāļĨāļ°C āļĒāļąāļāđāļŦāļĄāļ·āļāļāđāļāļīāļĄ āđāļāļāļĢāļāļĩāđāļāļĒāļĩāļ§āļāļąāļāļāļāļāļāļąāļ f(A,B,C) = A B āđāļāļāļāļēāļĢāđāļāļēāļāļ§āļŠāļāļāļāļāļąāđāļāļŠāļĩāđāļāļ§āļŠ āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.9c
āđāļĢāļēāļāļ°āđāļāļāļāļēāļĢāļ§āļēāļāļāļķāđāļāļĄāļĩāđāļāļāļēāļ°āđāļāđāļāļāđāļĨāļ°āļāļ§āļŠāđāļāļĒāđāļāļŠāļąāļāļĨāļąāļāļĐāļ shorthand notation āļāļ·āļ āđāļāļĒāļāļāļāļāļīāļ°āđāļāđāļāļāļĢāļđāļāļĢāļēāļāļāļāļ Programmable logic āđāļāļāļāļąāļĢāļđāļāļāļĩāđ 6.9d āđāļĨāļ° e āļāļēāļĄāļĩ x āđāļāļ·āđāļāļĄāļāļĒāļđ āļāđāđāļāļāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļ§āļēāļĄāļĩāļāļ§āļŠāļāļāļāļĒāļđ āļāļēāđāļĄāļĄāļĩ x āđāļāļ·āđāļāļĄāļāļāļāđāđāļāļāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļ§āļēāđāļĄāļĄāļĩāļāļ§āļŠāļāļąāļāđāļāđāļāļ·āļāļāļ§āļŠāļāļēāļ
Combinational Circuit Design with Programmable Logic Devices 297
āļĢāļđāļāļāļĩāđ 6.9 Fuse â programmable AND āļāļēāļĢāđāļĢāļĒ (a) Unprogrammed AND āļāļēāļĢāđāļĢāļĒ (b)
f(A,B,C) = A B C (c) f(A,B,C) = A B (d)Compact notation āļŠāđāļēāļŦāļĢāļąāļ (b) (e) Compact notation āļŠāđāļēāļŦāļĢāļąāļ (c)
āļĢāļđāļāļāļĩāđ6.10a āđāļāļāļ āļēāļāļāļāļ Programmable OR array āļāđāļķāļāļāļ°āļĄāļĩāļāļēāļĢāļŠāļĢāļēāļāļāļĨāļēāļĒāļāļąāļ Programmable AND array āļāļīāļāļāļļāļāļāļāļ OR array āļāļ·āļ P1, P2 āđāļĨāļ° P3 āļāļāļĒāļāļĢāļąāđāļāļāļĩāđ āđāļāļāļąāļāđāļāļāļĄāļŠāļĢāļēāļāđāļ AND array āļāļāļāļāļąāļāļāļāđāļāļāļĩāđ f(P1,P2,P3) = P1 + P3
āļāđāļķāļāļāļ°āđāļāļāļĨāļĨāļąāļāļāđāļŠāļāļāđāļāļĢāļāļđ 6.10b āđāļĨāļ°āļŠāļąāļāļĨāļąāļāļĐāļ shorthand notation āđāļŠāļāļāđāļāļĢāļāļđ 6.10c āļāļĢāļ°āļāļ§āļāļāļēāļĢāđāļĨāļ·āļāļāđāļāļēāļāļ§āļŠāļāļāļāļāļēāļāļāļļāļāļāļĢāļāđāļ Programmable logic āļāļ·āļāļāļēāļĢāļāļēāļāļāļķāļāļāļļāļāļāļĢāļāļāļĩāđāđāļāļprogramming āļāļąāđāļāļāļ·āļāļāļ°āđāļ āļāļāļĄāļāļ§āļīāđāļāļāļĢāļāļ§āļĒāđāļāļāļēāļĢāļāļāļāđāļāļ (CAD)
298 Digital Logic Circuit Analysis and Design
āļĢāļđāļāļāļĩāđ 6.10 Fuse â programmable ORāļāļēāļĢāđāļĢāļĒ (a) Unprogrammed AND āļāļēāļĢāđāļĢāļĒ (b) f(P1,P2,P3) = P1 + P3 (c) āļĢāļđāļāđāļāļāļāļĩāđāļāļ°āļāļāļąāļĢāļąāļ (Compact from)
6.2.5 Output Polarity Option
āđāļāļāļēāļĢāđāļāļīāđāļĄāļāļāļāđāļāļāļąāļāđāļĨāļ°āļāļĨāļĢāļ§āļĄāļāļāļāđāļāļāļĄ, āļāđāļēāļāļ§āļāļāļāļāļĢāļđāļāļĢāļēāļāļĨāļąāļāļĐāļāļ°āđāļ Programmable logic devices āļĄāļēāļāļĢāļāļēāļ , āļĢāļ§āļĄāļāļķāļāļāļąāđāļ§āđāļāļēāļāļāļļāļ Programmable , āļŠāļąāļāļāļēāļāļĒāļāļāļāļĨāļąāļāđāļĨāļ° bidirectional signal pins āļĢāļđāļāļāļĩāđ 6.11a āđāļāļāļĢāļđāļāļāļĢāļ°āļāļāļāļāļāļāļāļēāļĢāļĢāļ§āļĄāļāļąāļāļāļāļāļāļąāđāļ§āđāļāļēāļāļāļāļļāļāļĩāđāđāļĨāļ·āļāļāļ§āļēāļāļāļ PLDs : active hight , active low ,complementary āđāļĨāļ° āļāļąāļ§āđ programmable
Combinational Circuit Design with Programmable Logic Devices 299
āļĢāļđāļāļāļĩāđ 6.11 Output polarity option āļŠāđāļēāļŦāļĢāļąāļ field âprogrammable logic device (a) Output
polarity option (b) Fuse intact:Oi āļāļ·āļ active high, Oi=Si â 0 = Si (c) Fuse blown : Oi āļāļ·āļ active low , Oi=Si â 1 = Si
āļāļąāđāļ§āđāļāļēāļāļāļļāļāļāļāļ programmable āļŠāļĢāļēāļāļāļķāđāļāļāļēāļ Exclusive â OR (XOR) āđāļāļ āļāļąāļāļāļ§āļŠāļāļīāļāļāļļāļ 1
āļāļ§āļŠāļāļīāļāļāļļāļāļāļĩāđāļāļ°āļĄāļĩāļĨāļāļāļīāļāđāļāļ 0 āđāļĄāļ·āđāļāļāļ§āļŠāļĒāļąāļāļāļĒāļđāļŦāļĢāļ·āļāļĄāļĩāļĨāļāļāļāļīāđāļāļ 1 āđāļĄāļ·āđāļāļāļ§āļŠāļāļēāļāļāļēāļĢāļāļēāđāļāļēāļāļāļāļ XOR āđāļāļ āđāļĄāļ·āđāļāļāļ§āļŠāļĒāļāļąāļāļĒāļđāļāļ°āđāļŠāļāļāđāļāđāļāļĢāļđāļ 6.11b āđāļāļēāļāļāļļāļāļāļ°āđāļ Oi = Si â 0 = Si āļāļąāļāļāļąāđāļāđāļāļēāļāļāļļāļāļāļ°āļāđāļēāļāļēāļāđāļ active hight āđāļĄāļ·āđāļāļāļ§āļŠāļāļēāļāđāļŠāļāļāļāļąāļāļĢāļđāļ 6.11c āđāļāļēāļāļāļļāļāļāļ·āļ Oi = Si â 1 = Si āļāļąāļāļāļąāđāļāđāļāļēāļāļāļļāļāļāļ°āļāđāļēāļāļēāļāđāļ active low x āđāļŠāļāļāđāļŦāļĢāļđāļāļķāļāļ§āļēāļĄāļāļĩāļ§āļŠāļāļĒāļđ āļāļēāđāļĄāļĄāļĩ x āđāļŠāļāļāļ§āļēāļāļ§āļŠāļāļēāļāļāļķāđāļāđāļāļāļāļāđāļāļāļāļāļāļ AND / OR āļāļēāļĢāđāļĢāļĒ
āđāļāļāļēāļĢāđāļāļīāđāļĄāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāļāļāđāļāļēāļāļāļļāļ active hight āđāļĨāļ° active low āđāļĨāļ°āļāļąāđāļ§āđāļāļēāļāļāļļāļprogrammable āļāļąāđāļāļāļĨāļāļ§āļāļāļāļāļāļĨāļāļđāļ (SOP) āđāļĨāļ° āļāļĨāļāļđāļāļāļāļāļāļĨāļāļ§āļ (POS) āļāļąāļ§āļāļĒāļēāļāļĢāļđāļāļāļĩāđ 6.12 āđāļāļāļ āļēāļāļāļĢāļ°āļāļāļāļāļāļāļŠāļāļāļāļāļāļāļąāļāļāļāđāļāļāļĩāđ f1(A,B,C) = AB + A C f2(A,B,C) = (A+B) ( A +C) f1 āļāļĒāļđāđāļāļĢāļđāļāđāļāļāļāļāļ SOP āđāļĨāļ° f2 āļāļĒāļđāđāļāļĢāļđāļāđāļāļāļāļāļ POS āļāļēāļāļĢāļđāļāļāļĩāđāđāļŠāļāļ āļĢāļđāļāđāļāļāļāļāļ SOP āļāļ°āļāđāļēāļāļēāļāđāļāļĒāļāļēāļĢāļāđāļēāđāļŦāđāļāļēāļāļāļļāļāđāļāļ active hight āļĢāļđāļāđāļāļāļāļāļ POS āđāļŠāļāļāđāļāļĢāļđāļāđāļāļāļāļāļ POS āđāļŠāļāļāđāļāļĢāļđāļāļāļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļĩāļāļāļāļīāļāļāļāļąāļāļāđāļāļāļĩ āđ
(A + B) ( A + C) = ( )( )A B A C+ +
300 Digital Logic Circuit Analysis and Design
= ( ) ( )A B A C+ + +
= AB AC+ āļāļąāļāļāļąāđāļāļĢāļđāļāđāļāļāļāļāļ POS āļŠāļēāļĄāļēāļĢāļāļāđāļēāļāļĨāļąāļāļĄāļēāđāļŦāļāļĒāļđāđāļāļāļāļīāļāļāļāļāļ SOP āđāļ āļāļąāļāļāļąāļāđāđāļāļāļāļąāđāļāļāļĄ
āđāļĨāļ°āļāļąāđāļ§āđāļāļēāļāļāļāļļprogrammableāļŠāļēāļĄāļēāļĢāļāļāđāļēāđāļāđāļĄāļāļąāļāļāļāļāđāļāļĒāđāļāļĨāļāļāļāļīāđāļāļ(AND,OR,NAND, NOR,āļŦāļĢāļ·āļ NOT)
āļĢāļđāļāļāļĩāđ 6.12 Implementation āļāļāļāļĢāļđāļāđāļāļ SOP āđāļĨāļ° POS āđāļ programmable output polarity 6.2.6 Bidirectional Pins and Feedback Line
āļĨāļąāļāļĐāļāļ°āļāļāđāļĄāļāļĩāļāļŠāļīāđāļāļŦāļāļķāđāļāđāļ field â programmable logic devices āļāļēāļāđāļāļ·āļ bidirectional input / output pin , āļāļąāļāļ āļēāļāļāļĢāļ°āļāļāļāđāļāļĢāļāļđ 6.13a bidirectional pin āļāļ°āļāļđāļāļāļĨāļąāļāļāļąāļāđāļāļĒ three â state driver (āļāļēāļāļāļĢāļąāđāļāđāļĢāļĩāļĒāļāļ§āļē tristate driver) āļāļāļāđāļŠāļāļāļ§āļāļāļļāļĄāļāļĩāđāđāļāļ·āđāļāļĄāļāļ āļŦāļāļķāļāđāđāļāļāļąāļāđāļāļāļĄ āđāļĄāļ·āđāļāđāļŠāļāļāļ§āļāļāļĄāļļāđāļāļ 1, āđāļāđāļ§āļāļĢāļāļ°āđāļĢāļĩāļĒāļāļ§āļē enabled āđāļĨāļ°āļāļāļāļāļąāļāļāļ°āļāđāļāļāļ§āļāļāļĢ (āļŦāļĢāļ·āļāļāļāļŠāļ§āļīāļāļāļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.13b āđāļāļāļĢāļāļĩāļāļĩāđāļāļĨāļĢāļ§āļĄāļāļāļāđāļāļāļĄāļāļ°āļāļĨāļąāļāļāļąāļāđāļāļāļĩāđ pin āļāļąāļāļāļąāđāļāļāļ°āđāļāļāļāļāļāļąāļāļāļĩāđāļāļīāļāļāļāļļ āđāļāļāļēāļĢāļĢāļ§āļĄāļāļąāļāļāļąāđāļāļāļēāļāļĩāđāļāļ°āļāļđāļāļŠāļāļāļĨāļąāļāđāļāļāļĩāđ AND āļāļēāļĢāđāļĢāļĒ āļĄāļąāļāļŠāļēāļĄāļēāļĢāļāđāļāļĢāļđāļāđāļāļāļāļāļāđāļāļāļąāļāđāļāļāļĄ
Combinational Circuit Design with Programmable Logic Devices 301
āļĢāļđāļāļāļĩāđ 6.13 Bidirectional pin āđāļ programmable logic device (a) I Om āļāļ·āļ a bidirectional I/O pin (b)
Three-state driver enabled (Pn+1 = 1) (c) Three- state driver disabled (Pn+1=0)
āđāļĄāļ·āđāļāđāļŠāļāļāļ§āļāļāļĄāļļāđāļāļ 0 āđāļāđāļ§āļāļĢāļāļ°āđāļāļ disabled āđāļĨāļ°āļāļāļāļāļąāļāļāļ°āđāļāļāļ§āļāļāļĢ (āļŦāļĢāļ·āļāđāļāļāļŠāļ§āļāļīāļ)āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.13c āļāļĩāđāļāļ·āļāļĢāļđāļāđāļāļāļāļēāļĢāđāļĄāđāļāļ·āđāļāļĄāļāļāđāļāļāļĨāļĢāļ§āļĄāđāļāļāļĄāļāļāļ pin āļŠāļ§āļāđāļŦāļāļāļĩāļ§āđāļīāđāļāļāļĢāļāđāļāļāļĩāđāđāļŠāļāļĒāļāļāļāļĨāļąāļ (feedback line) āđāļŠāļāļāđāļāļāļąāļāļāļ§āļąāļāļĒāļēāļāļāļĢāļ°āļāļāļāļāļāđāļāļāļĩāđ
āļāļąāļ§āļāļĒāļēāļāļāļĩāđ 6.3 āļāđāļēāđāļāļīāļāļāļēāļĢ 2 â āļāļīāļ ripple â carry adder , āļāđāļķāļāđāļŠāļāļāđāļāļĢāļđāļ 6.14 a āđāļāļĒāđāļ programmable logic array āļāđāļķāļāļĄāļĩ 4 dedicated input pin , 3 dedicated output pin āđāļĨāļ° 2 bidirectional pins āļŠāļĄāļāļēāļĢāļĨāļāļāļīāļāļĄāļēāļāļĢāļāļēāļāļŠāđāļēāļŦāļĢāļąāļāļŦāļāļķāđāļāļŠāđāļāļ , i , āļāļāļ n-āļāļīāļ full adder āļāļāļąāļāļāđāļāļāļĩ āđ Si = A i B i C i-1 + A i B i C i-1+ A i B i C i-1+ A i B i C i-1 Ci = A i B i + A i C i-1 + B i C i-1
Ai āđāļĨāļ° Bi āļāļ·āļāļāļāļĄāļđāļĨāļāļēāļāļāļīāļāļāļļāļāđāļĨāļ° Ci-1 āļāļ·āļ āļāļąāļ§āļāļāļāļīāļāļāļļāļāļŠāđāļāļ i,Si āļĄāļąāļāļāļ·āļāļāļĨāļĢāļ§āļĄāđāļāļēāļāļāļļāļāđāļĨāļ° Ci āļāļ·āļāļāļąāļ§āļāļāļāļāļāđāļāļēāļāļāļļāļ āļŠāđāļēāļŦāļĢāļąāļāļāļēāļĢāļāļ§āļ ripple â carry, carry â out of one state āļĄāļąāļāļāļ°āđāļāļ·āđāļāļĄāļāļāļāļąāļāļāļąāļ§āļāļāļāļāļāļāļīāļāļāļļāļāđāļāļŠāđāļāļāļāļąāļāđāļāļāļķāđāļāđāļŠāļāļāđāļāļĢāļāļđ 6.14a
āļĢāļđāļāļāļĩāđ 6.14b āđāļŠāļāļāļāļēāļĢāļāđāļēāđāļāļāļīāļāļēāļĢāļāļāļ PLA āļāļēāļ āļāļĨāđāļāļāđāļāļāļ°āđāļāļĢāļĄāļāļēāļāļĢāļđāļ 6.14a āļ§āļāļāļĢāļāļ§āļāļāļāļāļāļēāļĢ 5 āļāļīāļāļāļļāļ āđāļĨāļ°āļŠāļĩāđ dedicated input pin ,bidirectional pin5 āļāđāļķāļāđāļāđāļāļāļīāļāļāļļāļāļāļ·āđāļāđ āļāļąāļāļāļąāđāļ āđāļāđāļ§āļāļĢ
302 Digital Logic Circuit Analysis and Design
āļāļāļ pin 5 āļāļ° disabled āđāļāļĒāđāļāļāļąāļ 16 āđāļŠāļāđāļāļĒāļĄāļĩāļāļ§āļŠāļāļĒāļđāļāļ§āļĒ āđāļŠāļāđāļāļāļąāļ 16 āđāļŠāļāļāļ°āđāļāļ 0 āļāļąāđāļāđāļāđāļāļāļąāļāļāļļāļāļāļīāļāļāļļāļāļāļđāļāļāļēāđāđāļāļīāļāļāļēāļĢ
āđāļāļāļĄāļāļāļāļāļąāļ§āļāļ C0 āļāļ°āđāļāļāđāļēāļāļ§āļāđāļāļāļĄāļāļāļ S1 āđāļĨāļ° C1 āļāļĨāļāļāļāļāđāļŠāļāļāļāđāļāļāļāļēāļ pin 6 āļāđāļķāļāļāļ°āļĒāļāļĄāđāļŦ C0 āļĢāļ§āļĄāļāļąāļ A1 āđāļĨāļ° B1 āđāļāļĒāļāļēāļāļŠāļĄāļāļēāļĢāļāļĩāđāļĄāļēāļāļāļ
āļĢāļđāļāļāļĩāđ 6.14 Two- bit ripple- carry adder āđāļ I/O āđāļĨāļ° feedback line (a) Blockdiagram with pin number (b) Programmable logic realization
Combinational Circuit Design with Programmable Logic Devices 303
6.2.7 Commercial Devices Programmable logic devices āļāļĩāđāļĄāļĩāļāļĒāļđāđāļāļ§āļāļāļēāļĢāļāļēāļĄāļĩāđāļāļĢāļāļŠāļĢāļēāļāđāļŠāļāļāđāļāļāļąāļāļĢāļđāļ 6.15 āļāđāļķāļāļĄāļĩ
āļāļīāļāļāļļāļāļāļĩāđāļāļĢāļ°āļĒāļļāļāļāđāļāļ AND āļāļēāļĢāđāļĢāļĒāļāļąāđāļāđāļāļĢāļđāļāđāļāļāļāļĩāđāļŠāļĄāļāļđāļĢāļāđāļĨāļ°āļĢāļđāļāđāļāļāļāļĩāđāđāļĄāļŠāļĄāļāļđāļĢāļ āđāļĨāļ°āđāļāļēāļāļāļļāļāļāļāļ AND āļāļēāļĢāđāļĢāļĒ āļāļĢāļ°āļĒāļļāļāļāđāļāļ OR āļāļēāļĢāđāļĢāļĒ āļāđāļēāđāļŦāļŠāļēāļĄāļēāļĢāļāđāļāļāļīāļāļāļāļāļĨāļāļ§āļāļāļāļāļāļĨāļāļđāļāļŦāļĨāļēāļĒāļāļīāļāļāļ āđāļāļēāļāļāļļāļāļāļāļOR āļāļēāļĢāđāļĢāļĒāļāļēāļāļāļ°āđāļĨāļ·āļāļāļāļąāđāļ§āļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄāđāļ āļāļēāļĢāļāđāļēāđāļŦāļĨāļāļĨāļāļāļāļāļāļļāļāļāļĢāļāļāļĩāđāļāļąāļāļāļāļ āđāļĨāļ°āļāļāļāļļāļāļĢāļ§āļĄāļāļķāļāļāļ§āļēāļĄāđāļĢāđāļ§āļāļĩāđāđāļāļīāđāļĄāļāļķāđāļ āļāļ§āļŠāļŠāļēāļĄāļēāļĢāļāļāļāļāļāļāļāļāļēāļ AND āļāļēāļĢāđāļĢāļĒ āļŦāļĢāļ·āļ OR āļāļēāļĢāđāļĢāļĒ āļŠāļ§āļāļāļĩāđāđāļŦāļĨāļ·āļāļāļ·āļ āļāļēāļĢāđāļĢāļĒāđāļāļĢāļđāļāļĢāļēāļāļāļĩāđāđāļĄāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļ āđāļĄāļ·āđāļ AND āļāļēāļĢāđāļĢāļĒāđāļĄāļĄāļĩāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļāļāļ°āļĄāļĩāļāļāđāļĄāļ§āļē āļāļ°āļāļāļāļĢāļ§āļĄāļāļąāļāļāļīāļāļāļļāļ (āđāļāļāļąāļāđāļāļāļĄ) āđāļĄāļ·āđāļ OR āļāļēāļĢāđāļĢāļĒāļāļĒāļđāļāļąāļāļāļĩāđāđāļāļĨāļ°āļāļīāļāļāļļāļ āļāļ·āļāļāļĨāļĢāļ§āļĄāļāļāļāļāļēāļĢāđāļĨāļ·āļāļāđāļāļāļąāļāđāļāļāļĄ āļāļļāļāļāļĢāļāļāļĩāđ AND āļāļēāļĢāđāļĢāļĒāļāļ°āļāļāļāļĩāđāđāļĄāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļ āđāļĨāļ° Programmable OR āļāļēāļĢāđāļĢāļĒ āļāļēāļāļāļķāļ Programmable read-only memories (PROMs) āđāļāļāļāļ°āļāļĩāđ Programmable AND āļāļēāļĢāđāļĢāļĒ , āļāļļāļāļāļĢāļ OR āļāļēāļĢāđāļĢāļĒāļāļĩāđāļāļāļāļĩāđ āļāļ°āļāļēāļāļāļķāļāļāļļāļāļāļĢāļ Programmable array logic (PAL) āļāļļāļāļāļĢāļāđāļāļāļēāļĢāđāļĢāļĒāļāļąāđāļāļāļđāļāļ·āļāļāļ·āļ Programmable āļāļĒāļđāđāļāđāļāļāļĄāļāļāļ field â programmable logic arrays (FPLAs) āļāļāđāļāļāļĩāđāđāļāļāļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļāļīāļāļāļāļāļĢāļđāļāļĢāļēāļāļāļļāļāļāļĢāļāļĄāļēāļāļĢāļāļēāļ āļāļļāļāļāļĢāļāļāļąāđāļāļāļ°āļāļĢāļ§āļāļŠāļāļāđāļāđāļāļĢāļēāļĒāļāļēāļĢāļāļąāļāļāļēāļĢāļēāļ 6.2
āļĢāļđāļāļāļĩāđ 6.15 āļāļ·āđāļāļāļēāļāđāļāļĢāļāļŠāļĢāļēāļ programmable device
304 Digital Logic Circuit Analysis and Design
āļāļēāļĢāļēāļāļāļĩāđ 6.2 Typical Commercially Available PLDS
Device Description input Product Term Output Output Polarity PLS100 PLA 16 48 8 Programmable PLS153 PLA 16 42 10 Programmable 82S123 PROM 5 32 8 Active high 82S129 PROM 8 256 4 Active high 82S131 PROM 9 512 4 Active high 82S135 PROM 8 256 8 Active high 82S137 PROM 10 1024 4 Active high 82S147 PROM 9 512 8 Active high 82S181 PROM 10 1024 8 Active high 82S185 PROM 11 2048 4 Active high 82S191 PROM 11 2048 8 Active high 82S321 PROM 12 4096 8 Active high PAL16H8 PAL 16 8 8 Active high PAL14H4 PAL 14 4 4 Active high PAL16C1 PAL 16 16 1 Complementary PAL18P8 PAL 18 8 8 Programmable
6.3 Field Programmable Logic Arrays 6.3.1 FPLA Circuit Structure
Field â programmable Logic Arrays (FPLAs) āļāļ·āļ āļŠāļ§āļāļāļĢāļ°āļāļāļāļāļāļāđāļāđāļāđāļāļ PLA āļĄāļąāļāļāļ°āļāļāļāļ§āļŠāļāļāļļāļāļĢāļĄāļāļąāļāđāļāđāļāļāđāļ AND āđāļĨāļ° OR āļāļēāļĢāđāļĢāļĒāļāđāļķāļāļāļķāđāļāļŠāļēāļĄāļēāļĢāļāļāļāļāļāļāļāđāļāđāļāļĒāļāļđāđāļ āļĄāļēāļāļĢāļāļēāļāļāļāļ FPLA āđāļĢāđāļīāļĄāļāļāđāļāļ 1975 āđāļāļĒ Signetics Corporation (āļāļāļ°āļāļĩāļāđāļ·āļ Philips Semiconductors) āļĢāļ§āļĄāļāļķāļ PLS 100 [4] , āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.16 āļāļāļĄāļēāļāđāļĄāļĩāļāļ§āļēāļĄāđāļāļāļāļēāļāļāļāļąāļāļāļāļĄāļē , āļĢāļ§āļĄāļāļķāļ PLS 153 [4] āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.17 āļāļĩāđāļāļ·āļāļŠāđāļīāļāļāļĩāđāļāļēāļāļāļąāļāđāļāļāļēāđāļāļ§āļāļāļāļāļāļīāļāļāļļāļ , āđāļāļāļąāļāđāļāļāļĄ āđāļĨāļ° āđāļāļēāļāļāļļāļ āđāļĨāļ°āļāļēāļĢāļāđāļēāđāļāđāļāđāļāļāļāļāļāļąāđāļ§āđāļāļēāļāļāļļāļ programmable ,āļāļāđāļāļ , āđāļĨāļ°āļĢāļđāļāļĢāļēāļāļāļ·āđāļāđ
āļĢāļđāļāļĢāļēāļāļāļāļ FPLA āļĄāļąāļāļāļ°āđāļŦāļĄāļāļ·āļāļāļąāļāļāļāđāļāļāđāļāļĒāđāļŦ i x p x o , āļāđāļķāļ i āļāļ·āļāļāđāļēāļāļ§āļāļāļāļāļāļīāļāļāļļāļāđāļ AND āļāļēāļĢāđāļĢāļĒ , p āļāļ·āļ āļāđāļēāļāļ§āļāļāļāļāđāļāļĢāļāļąāļāđāļāļāļĄāđāļ AND āļāļēāļĢāđāļĢāļĒ āđāļĨāļ° o āļāļ·āļāļāđāļēāļāļ§āļāļāļāļāđāļāļēāļāļāļļāļāļāļēāļ OR āļāļēāļĢāđāļĢāļĒ āļāļēāļĢāļāđāļēāđāļāļīāļāļāļēāļĢāļāļāļāđāļāļĨāļ°āļāļīāļāļāļļāļāļāļ°āļĄāđāļĩāļŦāļĨāļāļāļēāļĒāđāļŦ AND āļāļēāļĢāđāļĢāļĒ āļāđāļķāļāļāļ·āļāļāļĨāļĢāļ§āļĄāļāļāļ 2i āļāļīāļāļāļļāļāļŠāļēāļĄāļēāļĢāļāđāļāđāļāđāļāļāļąāļāđāļāļāļĄ, āđāļāļāļļāļāļāļĢāļ FPLA āļāđāļēāļāļ§āļāļĄāļēāļāđāļāļēāļāļāļļāļāļāļ°āļĒāļāļāļāļĨāļąāļāļĄāļēāļāļĩāđ AND
Combinational Circuit Design with Programmable Logic Devices 305
āļāļēāļĢāđāļĢāļĒ (āļŠāļĄāļāļđāļĢāļāđāļāļāđāļĨāļ°āđāļĄāļŠāļĄāļāļđāļĢāļāđāļāļ) āļāđāļķāļāļāđāļēāđāļŦāđāļāļāļĨāļĢāļ§āļĄāļāļ·āļ i+o āļāļąāļ§āđāļāļĢāđāļĨāļ°āļāļēāļĢāļāđāļēāđāļāļīāļāļāļēāļĢāļāļĒāļēāļāļāļ·āđāļāļŠāđāļēāļŦāļĢāļąāļāļāđāļēāđāļŦāđāļāļīāļāđāļāļāļąāļāđāļāļāļĄ
āļŠāđāļēāļŦāļĢāļąāļāļāļąāļ§āļāļĒāļēāļ PLS100 āļāļĩāđāđāļŠāļāļāđāļāļĢāļđāļ 6.16 āļāļ·āļāđāļāļĢāļāļŠāļĢāļēāļāļāļāļ (16 x 48 x 8) āļāđāļķāļāļĄāļĩ 16 āļāļīāļāļāļļāļ 48 āđāļāļāļąāļāđāļāļāļĄ āđāļĨāļ° 8 āđāļāļēāļāļāļļāļāļāļ§āļĒāļāļąāļ§āđ programmable āļāđāļķāļāļŠāļēāļĄāļēāļĢāļāļāđāļēāļāļēāļāđāļāđāļāļĒ tristate driver āļāđāļķāļāļāļ° enabled āļāļ§āļĒāļāļēāļĢāđāļĒāļāļāļāļīāļāļļāļāļāļāļāļāļēāļāļāļāļą āļāļąāļāļāļąāđāļāļāļīāļāļāļļāļāļāļāļ·āđāļŦāļĨāļāļāļēāļĒāļāļāļ AND āļāļēāļĢāđāļĢāļĒāđāļāļĢāļđāļāđāļāļāļāļāļ āļāļ§āļēāļĄāļŠāļĄāļāļđāļĢāļāđāļĨāļ°āđāļĄāļŠāļĄāļāļđāļĢāļ , āļāļļāļāđāđāļāļāļąāļāļŠāļēāļĄāļēāļĢāļāļāđāļēāđāļāļ 16 āļāļąāļ§āđāļāļĢāđāļ
PLS153A āļāđāļķāļāđāļŠāļāļāđāļāļĢāļđāļ 6.17 āļāļ·āļāđāļāļĢāļāļŠāļĢāļēāļ 18 x 42 x 10 , 8 āļāļēāļ 18 āļāļīāļāļāļļāļ pin āļāļĩāđāđāļāļāļāļīāļāļāļļāļ āļāļāļāļāļēāļāļāļĩāđ āļāļĩāļ 10 āļāļīāļāļāļļāļ pin āļāļ·āļ bidirectional lines controlled āđāļāļĒ tristate driver āđāļĄāļ·āđāļ āđāļāđāļ§āļāļĢ disable pin āļāđāļāļ·āļāļāļīāļāļāļļāļāļāļāļ AND āļāļēāļĢāđāļĢāļĒ āđāļāļĨāļ° tristate driver āļāļ°āļāļ§āļāļāļļāļĄāđāļāļĒāđāļāļāļąāļāđāļāļāļĄāļāļĩāđāđāļĒāļāļāļąāļ āļāļąāļāļāļąāđāļ 10 āļāļāļāđāļāļāļąāļāđāļāļāļĄāđāļāđāļāļāļēāļĢ enable tristate driver , āļāļĩāļ 32 āđāļāļāļąāļāđāļāļāļĄāļāļ·āļāļāļīāļāļāļļāļāļāļāļ OR āļāļēāļĢāđāļĢāļĒ āļāļąāļāļāļąāđāļ āđāļāļĨāļ°āđāļāļēāļāļāļļāļāļāļ·āļ programmable āļāļĩāđāļāļēāļāđāļāļĒāļąāļ XOR āđāļāļ 6.3.2 Realizing Logic Functions with FPLAs
āļāļ§āļĢāļāļ°āļĄāļāļĩāļēāļĢāļāļāļīāļāļēāļĒāļ§āļē FPLA āļŠāļēāļĄāļēāļĢāļāļĢāļ§āļĄāļāļąāļāļĨāļāļāļāļīāļāļāļāļāļāļąāļāđāļāļāļąāđāļāļāļāļ·āļāļēāļĢāđāļāļĢāļĩāļĒāļĄāļāļēāļāļŠāļ§āļāļāļāļāļāļĨāļĢāļ§āļĄāđāļāļāļąāļ āđāļāļ·āđāļāđāļŦāļāļąāļāļāļīāļāļāļļāļ āļāļąāļāļāļąāđāļ FPLA āđāļāļĩāđāļĒāļ§āļŠāļēāļĄāļēāļĢāļāļĨāļāļāđāļēāļāļ§āļāđāļāļāļēāļĢāļāļāļāđāļāļāļĨāļāđāļāđāļāļĒ āļĨāļāļāļīāļāļāļāļāļāļąāļāļāļēāļāđāđāļāđāļāļāđāđāļāļāđāļāļĩāļĒāđāļ§
āđāļĄāļ·āđāļāļāļāļāđāļāļāļāļīāļāļāļāļĨāļāļāļāļīāļŠāđāļēāļŦāļĢāļąāļāļāļēāļĢāļāđāļēāđāļāļīāļāļāļēāļĢāđāļ FPLA āļĄāļąāļāļāļ§āļĢāļāļ°āļāļāļāļ§āļēāļāļļāļāđāļāļīāļāļāļļāļāļŠāļēāļĄāļēāļĢāļāđāļāđāļāđāļāļĨāļ°āđāļāļāļąāļāđāļāļāļĄ āđāļĨāļ°āļāļāļļāđāđāļāļāļąāļāđāļāļāļĄāļŠāļēāļĄāļēāļĢāļāļĢāļ§āļĄāļāļĒāļđāđāļāđāļāļĨāļ°āļāļĨāļĢāļ§āļĄāļāļāļāđāļāļāļĄāļāļ§āļĒ āļāļāļāđāļēāļāļāļąāļāļąāđāļāļāļ·āļāđāļāļēāļāļāļ·āļāļāļĨāļĢāļ§āļĄāļāļāļāļāđāļēāļāļ§āļāđāļāļāļąāļāđāļāļāļĄ āļāļąāļāļāļąāđāļāđāļĄāļ·āđāļāļĨāļāļāļāļēāļāļāļīāļāļāļāļĨāļāļāļīāļāđāļ FPLA , āļāļēāļĢāļĨāļāļāļāļēāļāļāļāļāļāļĨāļĢāļ§āļĄāļāđāļēāļāļ§āļāđāļāļāļāļąāđāļāļāļĄāļāļ§āļĢāđāļāļāļ§āļāļąāļāļļāļāļĢāļ°āļŠāļāļāđāļāļāļąāđāļāļāļ āđāļ§āļāđāļāļĄāļąāļāļāļ°āļāđāļēāđāļāļŠāļđāļāđāļēāļāļ§āļāđāļāļāļąāļāļāļĩāđāđāļĨāđāļāļĨāļ, āļāļēāļĢāļĨāļāļĨāļāļāļāļāļāđāļēāļāļ§āļāđāļāļāļļāļāđāđāļāļāļąāļāđāļāļāļĄ āļāđāļķāļāļāļ°āđāļĄāđāļāļāļāļēāļĢāļāļĢāļ°āļŦāļĒāļāļąāļāļāļāļļāļ āđāļāļāļ§āļēāļĄāđāļāļāļāļĢāļīāļāļāļēāđāļĢāļēāđāļŦāđāļ§āļĨāļēāļāļĩāđāļāļ§āļŠāļāļēāļāļāļēāļĨāļāļāļ°āļāđāļēāđāļŦāđāļāļĢāđāļāļĢāļĄāļāļāļāļāļļāļāļāļĢāļāļāđāļēāļāļēāļāđāļāļāļēāļāļāļķāđāļ āļŠāđāļēāļŦāļĢāļąāļāđāļŦāļāļļāļāļĨāļāļĩāđāđāļāļāļ§āļīāļāļĩāļāļĩāđāļāđāļīāļĻāļĐāļŠāđāļēāļŦāļĢāļąāļāļāļēāļĢāļĨāļāļāļāļēāļāđāļāļ·āđāļāļāļēāļĢāļāļąāļāļāļēāļĢāļđāļāļĢāļēāļāļāļāļāļāļļāļāļāļĢāļ PLA āļāļąāđāļāļāļ·āļ āļāļ§āļēāļĄāļāļāļīāļāļĩāđāļāļ°āļĨāļāļāđāļēāļāļ§āļāļāļāļāđāļāļāļąāļāļāļąāđāļāđāļāļ āđāļāļāļēāļĢāļĢāļ§āļĄāļāļąāļāļāļąāđāļāđāļāđāļāļāļąāļāđāļāļāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāđāļāđāļāļĒāļāļĨāļĢāļ§āļĄāļāļāļāļŦāļĨāļēāļĒāđāđāļāļāļĄāđāļ FPLAs, āļ§āļīāļāļĩāļāļēāļĢāļĨāļāļāļāļēāļāļāļāļāļŦāļĨāļēāļĒāđāđāļāļēāļāļāļāļļ āļāļąāļāļāļąāđāļ āļ§āļīāļāļĩāļāļēāļĢāļāļāļ Quine â McCluskey āļŦāļĢāļ·āļāļ§āļīāļāļĩāļāļēāļĢāļāļāļ ESPRESSO āļāļ°āļāļđāļāđāļāļāļāļĒ āļ§āļīāļāļĩāļāļēāļĢāļāļāļ ESPRESSO āļāļ°āđāļāļāļ§āļīāļāļĩāļāļĩāđāđāļāđāļāļāļēāļĢāļāļąāļāļāļēāļĢāļđāļāļĢāļēāļāļŠāđāļēāļŦāļĢāļąāļāđāļāđāļāļāļēāļĢāļĨāļāļāļāļēāļāļāļāļāļ§āļāļāļĢ PLA āđāļāļĒāđāļāļāļēāļ°
āļāļąāļ§āļāļĒāļēāļāļāļąāļāļāļāđāļāļāļĩāđāđāļāļāļāļ§āļąāļāļĒāļēāļāļāļĢāļ°āļāļāļāđāļāļāļēāļĢāļāļāļīāļāļēāļĒāļāļēāļĢāđāļāļāļēāļāļāļāļāļāļļāļāļāļĢāļ FPLA
Combinational Circuit Design with Programmable Logic Devices 307
āļĢāļđāļāļāļĩāđ 6.17 Philips PLS153A FPLA[4]
āļāļąāļ§āļāļĒāļēāļāļāļĩāđ 6.4 āļāļāļāđāļēāđāļŦ 3 āļāļāļāļāļąāļāđāļāļāļąāļ§āļāļĒāļēāļ 6.1 āđāļāļāļāļĢāļīāļ āđāļāļāļļāļāļāļĢāļ PLS100 FPLA āļāļāļāļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.18 āļāļĩāđāđāļāļāļĢāļđāļāļāļĩāđāđāļŠāļāļāļāļēāļĢāđāļāļ·āđāļāļĄāļāļāļāļĩāđāļāļĢāļāļāļąāļāļāļēāļĢāļēāļāļāļĩāđ 6.1 āđāļāļāļ§āļąāļāļĒāļēāļ 6.1 āļŠāļ§āļāļāļīāļāļāļļāļāļāļ·āđāļāđāļāļāļ PLS 100 āļāļ°āđāļĄāļŠāļāđāļ āļāļąāļ§āļāļĒāļēāļāļāļĩāđ 6.5 āđāļ FPLA āļāđāļēāđāļŦāđāļāļāļāļĢāļīāļāđāļāļĄāļēāļāļĢāļāļēāļ TTL 4 â to â 1 line data selector /multiplex (āļ§āļāļāļĢāļāļāļāļī SN74153) āđāļŠāļāļāđāļāļĢāļđāļ 6.19 āđāļāļāļ°āđāļāļĢāļĄāļāļāļ PLA āļāļ·āļāđāļāļĢāļāļŠāļĢāļēāļāļāļāļāļāļēāļĢāļāļāļāđāļāļāļ§āļāļāļĢāļāļĩāđāđāļāļēāļāļąāļāđāļāļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.20 āļāļąāđāļāļāļ·āļ PLA āļāļāļāļāļēāļĢ 12 āļāļīāļāļāļļāļ , 2 āđāļāļēāļāļāļļāļ āđāļĨāļ° 8 āđāļāļāļąāļāđāļāļāļĄāļāļķāđāļāļĄāļąāļāļāļ°āļāļēāļĒāļŠāđāļēāļŦāļĢāļąāļāļāļēāļĢāđāļāļāļēāļāđāļ PLS100 FPLA , PLS153FPLA
6.4 Programmable Read â only Memory 6.4.1 PROM Circuit Structures
Programmable read â only memory (PROM) āļāļ·āļāļŠāđāļīāļāļāļĩāđāļĄāļĩāļĄāļēāļāļēāļāļŠāđāļēāļŦāļĢāļąāļ programmable logic device āļāļąāđāļāđāļāļ 1970 āđāļāļĢāļēāļ°āļ§āļēāļĄāļāļąāļāļđāļāļāļĢāļ°āļĒāļļāļāļāđāļāđāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļāđāļēāļāļāļāļāļāļĄāļāļīāļ§āđāļāļāļĢ PROM
308 Digital Logic Circuit Analysis and Design
āļāļĢāļ°āļāļāļāļāļ§āļĒ AND āļāļēāļĢāđāļĢāļĒ āđāļĨāļ° programmable OR āļāļēāļĢāđāļĢāļĒ āļāļĩāđāļāļāļāļĩāđ āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.21 AND āļāļēāļĢāđāļĢāļĒāļāđāļēāđāļŦāđāļāļīāļāļāļļāļ 2n āļāļĩāđāđāļāļāđāļāđāļāđāļāļĄāļāļīāđāļāļāļĄāđāļāļĢāļāļąāļāļāļāļ n āļāļīāļāļāļāļļāļāļąāļāļāļąāđāļāļāļāļĒāļāļĢāđāļąāļāļāļĩāđāļāļēāļāļāļķāļ āļāļēāļĢāļāļāļāļĢāļŦāļąāļŠ n â āļāļķāļ- 2n
OR āļāļēāļĢāđāļĢāļĒāļāļ°āļĄāļĩāļāļēāļĢāļĢāļ§āļĄāļāļāļąāļāļāļāđāļāļāļąāļāđāļāļāļĄāļāļķāđāļāļĢāļ§āļĄāļāļķāļāđāļāđāļāļĨāļ°āļāļĨāļĢāļ§āļĄāļāļāļāđāļāļāļĄ āļāļąāļāļāļąāđāļ āļāļĨāļĢāļ§āļĄāļāļāļāļĢāļđāļāđāļāļāļāļāļāđāļāļāļąāļāļāļēāļāļŦāļĨāļēāļĒāđāļāļāļāļāļąāļāļŠāļēāļĄāļēāļĢāļāđāļāļēāđāļāđāļāļāļēāļāļāļēāļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļāļŦāļĢāļ·āļ āļĨāļīāļŠāļāļāļāļĄāļīāļāđāļāļāļĄ āļāļēāđāļāļ§āļāļāļāļāļāļĨāļĢāļ§āļĄāļāļāļāđāļāļāļĄāđāļāļĨāļāļēāļĢāļ°āļŦāļ§āļēāļāļāļļāļāļāļĢāļ , āļāļēāļĄāļāļāļēāļāļāļāļāļāļīāļ , āļāđāļēāļāļ§āļāļāļāļpin āđāļāđāļāđāļāđāļāļ āđāļĨāļ°āļāļēāļĢāļāļīāļāļēāļĢāļāļēāļāļāļāļļāļāļāļ·āļāđāđ āļāļļāļāļāļĢāļ PROM āđāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāđāļāļāļāļĒāļēāļāļĢāļ§āļĄāļāļĒāļđāđāļāļāļąāđāļ§āđāļāļēāļāļāļļāļāļŦāļĢāļ·āļāļāļāđāļāļāđāļ
āļĢāļđāļāļāļĩāđ 6.22 āđāļŠāļāļāļāļąāļ§āļāļĒāļēāļāļāļāļāļĢāļđāļāļĢāļēāļāļāļāļPROM āđāļāđāļāļīāļāļāļēāļāļīāļāļĒ āļĄāļĩāļĢāļđāļāļĢāļēāļāđāļāļāļēāļ°āļāļķāđāļāļĄāļĩāđāļāļēāļāļāļļāļ tristate āļāđāļķāļāļāļ§āļāļāļļāļĄāđāļāļĒ chip â Enable āļāļ§āļāļāļļāļĄāļŠāļąāļāļāļēāļ āļāļēāļĢāļēāļ 6.2 āđāļŠāļāļāļĢāļāļđāļĢāļēāļāļāđāļēāļāļ§āļāļāļāļ Signetics bipolar PROMs āđāļĨāļ°āđāļŠāļāļāļāļ§āļēāļĄāđāļāļāļāļēāļāđāļāļāđāļēāļāļ§āļāļāļāļāļāļīāļāļāļāļļāđāļĨāļ°āđāļāļēāļāļāļļāļ āļĢāļđāļāļāļĩāđ 6.18 Realization āļāļāļāļāļēāļĢāļēāļ 6.1 āļāļ§āļĒ Philips PLS100 FPLA [4]
Combinational Circuit Design with Programmable Logic Devices 309
āļĢāļđāļāļāļĩāđ 6.19 SN74153 dual 4-to-1 multiplex 6.4.2 Realizing Logic Functions with PROMs
āļŠāļ§āļīāļāļāļāļīāļāļāļāļāļāļąāļāļŠāļēāļĄāļēāļĢāļāđāļāļāđāļāļĒāļĨāļąāļāļĐāļāļ°āđāļāļāļēāļ°āđāļāļĢāļđāļāļāļāļāļāļĨāļāļ§āļāļāļāļāļāļĨāļāļđāļ āļāļąāļāļāļąāđāļāđāļāļĨāļ°āđāļāļēāļāļāļļāļāļāļāļ PROM āļāļ°āļŠāļēāļĄāļēāļĢāļāļāđāļēāļŦāļāļāļĢāļāļđāđāļāļāļāļāļāļŠāļ§āļāļīāļāļāđāļīāļāļāļāļāļāļąāļāđāļāļāļ§āļĒāļāļēāļĢāđāļāļ·āđāļāļĄāļāļāļāļēāļĒāđāļāļāļāđāļāļēāļāļāļļāļāļĄāļēāļĒāļąāļāļĄāļīāļāđāļāļāļĄāļāļāļāļāļāļāļāļąāļ āļāļąāļāļāļąāļāđāļŠāļ§āļīāļāļāļāļīāļāļāļāļāļāļąāļāđāļāļāļēāļPROM , āļāļĒāļēāļāđāļĢāļāļāļ°āđāļāļāļāļāļāļąāļāļāļĩāđāļāļąāļāđāļāļāđāļĨāļ°āđāļāļāļāļĩāđāļĒāļāļĄāļĢāļąāļāđāļāļĢāļđāļāļāļāļāļāļĨāļāļ§āļāļāļāļāļāļĨāļāļđāļ āļŦāļĢāļ·āļ āđāļāļĄāļēāļāļēāļāļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļāļāļāļāļāļāļāļāļąāļ āļāļēāļāļāļąāđāļāļāļāļīāļāļāļāļāļĄāļīāļāđāļāļāļĄāļāļāļāļāļāļāļāļąāļāļāļ°āđāļāļ·āļāđāļĄāļāļāđāļāļāļĄāļāļāļ OR āļāđāļķāļāļāļ°āđāļāļāļĨāļĨāļąāļāļāđāļāļĢāļđāļāļāļāļ SOP āļāļ°āđāļĄāļĄāļĩāļāļāļāļĩāđāļāļāļēāļĢāļĨāļāļāļāļāļāļąāļāđāļĄāļ·āļāđāđāļ PROM āļĢāļđāļāđāļāļāļāļĩāđāđāļāļāļāļĩāđāļĒāļāļĄāļĢāļąāļāļāļ°āļāļāļāđāļ PROM āļāļĩāđāļĄāļĩāļāļ§āļŠ āļĄāļąāļāļāļ§āļĢāļāļ°āđāļ commercially â available PROM āđāļāļĢāļēāļ°āļāļ°āđāļĄāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļĄāļ·āđāļāļāļāļāļāļēāļĢāļāđāļēāļāļ§āļāļĄāļāļīāđāļāļāļĄāļāļĩāđāđāļĨāđāļāļĨāļ āļāļāļāļāļēāļāļāļ°āļĨāļāļāļāļēāļāļāļāļāļāļīāļāļĨāļ
310 Digital Logic Circuit Analysis and Design
āļĢāļđāļāļāļĩāđ 6.20 PLA realization āļāļāļ SN74153 dual 4-to â 1 multiplexer
āļĢāļđāļāļāļĩāđ 6.21 Programmable read-only memory (PROM) āļŠāļĄāļēāļĢāļ realize K āļāļāļāļāļąāļ f(I2,I1,I0)
Combinational Circuit Design with Programmable Logic Devices 311
āļĢāļđāļāļāļĩāđ 6.22 āļĢāļđāļāļĢāļēāļāļāļąāđāļ§āđāļāļāļāļ commercial PROM āļāļąāļ§āļāļĒāļēāļāļāļĩāđ 6.6 āļāļāļāđāļēāđāļŦ 3 āļŠāļ§āļāļīāļāļāļīāļāļāļāļāļāļąāļāļāļāđāļāļāļĩāđāđāļāļāļāļĢāļīāļāļāļ§āļĒ PROM 3 â āļāļīāļāļāļļāļ , 3 â āđāļāļēāļāļāļļāļ
f1(A,B,C) = AB + B C f2(A,B,C) = (A+ B +C)( A +B) f3(A,B,C) = A+BC
āļāļąāļāļāļąāļāđāļĢāļāļāļāļāđāļāļĨāđāļāļĨāļ°āļāļāļāļāļąāļāđāļŦāļāļĒāļđāđāļāļĢāļđāļāļāļāļāļāļĨāļāļ§āļāļāļāļāļāļĨāļāļđāļ f1(A,B,C) = AB + B C = AB C +ABC+ A B C+A B C = mâ (1,5,6,7)
f2(A,B,C) = (A+ B +C)( A +B) =(A+ B +C)( A +B+ C )( A +B+C) = Mâ (2,4,5) = mâ (0,1,3,6,7) f3(A,B,C) = A+BC = A B C +A B C+AB C +ABC+ A BC = mâ (3,4,5,6,7)
āļāļąāļāļāļąāđāļ āđāļāļēāļāļāļāļļ 1 āļāļ·āļāļāļēāļĢāđāļāļ·āđāļāļĄāļāļāļāļĩāđāđāļāļāļąāļāđāļāļāļĄ (1,5,6,7) āđāļāļēāļāļāļļāļ 2 āļāļ·āļāđāļāļ·āđāļāļĄāļāļāļāļĩāđāđāļāļāļąāļāđāļāļāļĄ (0,1,3,6,7) āđāļĨāļ°āđāļāļēāļāļāļāļļ 3 āļāļ·āļ āđāļāļ·āđāļāļĄāļāļāļāļĩāđāđāļāļāļąāļāđāļāļāļĄ (3,4,5,6,7) āļāļēāļĒāļāļĩāđāļŠāļļāļāļāļ°āđāļāļ§āļāļāļĢāļāļąāļāđāļŠāļāļāđāļāļĢāļđāļāļāļĩāđ 6.23
312 Digital Logic Circuit Analysis and Design
āļāļąāļ§āļāļĒāļēāļāļāļĩāđ 6.7 āđāļPROM āļāđāļēāđāļŦ 1 â āļāļīāļ full- adder module āđāļāļāļāļĢāļīāļ
āļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļāļīāļāļāļ full adder āđāļāļāļēāļĢāļēāļ 6.3 āļĢāļđāļāđāļāļāļāļāļāļāļēāļĢāļēāļāļāļĩāđ PROM āđāļāļĢāđāļāļĢāļĄāđāļāļĒāļāļēāļĢāļāđāļēāļāļ§āļŠāļāļāļāļāđāļēāđāļŦ 2 āļāļāļāļāļąāļāđāļāļāļĻāļāļđāļĒ āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.24 PROM 3-āļāļīāļāļāļļāļ, 2- āđāļāļēāļāļāļļāļ āđāļāļāļŠāđāļīāļāļāļĩāđāļāđāļēāđāļāļāļŠāđāļēāļŦāļĢāļąāļāļ§āļāļāļĢāļāļĩ āđ
āļāļąāļ§āļāļĒāļēāļāļāļĩāđ 6.8 āļāļāļāļāļāđāļāļāļāļēāļĢāđāļāļĨāļāđāļĨāļāļāļēāļāļŠāļāļāđāļāđāļāļāļĢāļŦāļąāļŠāđāļāļĢāļĒāđāļāļĒāđāļ PROM 4- āļāļīāļāļāļļāļ , 4 â āđāļāļēāļāļāļļāļ , āļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļāļāļāļāļāļēāļĢāđāļāļĨāļāđāļāļāļāļ·āļāļāļēāļĢāļēāļāļāļĩāđ 6.4 āļāļ°āļĄāļĩ 15 āļāļēāļ 16 āļāļĩāđāđāļāļāđāļāđāļāļāļāļāļĄāļāļīāđāļāļāļĄāļāļĩāđāđāļŠāļāļāđāļāđāļāļēāļāļāļļāļ (āļāļ°āļĄāļĩ āļĄāļīāļāđāļāļāļĄ 0 āđāļāļēāļāļąāđāļāļāļĩāđāđāļĄāđāļāļāļĒāļđāđāļ 4 āđāļāļēāļāļāļļāļ) āļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļāđāļāđāļāļāļēāļĢ mapped āđāļPROM āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.25
āļĢāļđāļāļāļĩāđ 6.23 PROM solution āļŠāđāļēāļŦāļĢāļąāļāļāļąāļ§āļāļĒāļēāļ 6.6
Combinational Circuit Design with Programmable Logic Devices 313
āļĢāļđāļāļāļĩāđ 6.24 PROM realization of full adder āļāļēāļĢāļēāļāļāļĩāđ6.3 āļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļāļāļāļ FULL â ADDER
āļĢāļđāļāļāļĩāđ 6.25 PROM realization āļāļāļāļāļēāļĢāđāļāļĨāļ binary â to âgray code
314 Digital Logic Circuit Analysis and Design
āļāļēāļĢāļēāļāļāļĩāđ 6.4 āļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļāļāļāļ Binary â To âGray Code 6.4.3 Lookup Tables
āļāļēāļĢāļāļĢāļ°āļĒāļāļļāļāđāļāļāļēāļ PROM āļāļ·āļ lookup table āđāļāļāļāļāļāļąāļāļāļ·āļāļāļēāļĢāđāļāđāļāđāļāļĢāļđāļāđāļāļāļāļĩāđāđāļāļāļāļēāļĢāļēāļāļāļąāļāļāļēāļĢāļāļīāļ§āđāļĄāļāļāļāļĩāđāđāļāđāļāļāļēāļĢāļāļēāļāļāļķāļ āļāļīāļāđāļāđāļ āđāļāļāļēāļĢāļēāļāđāļāļ·āļāđāđāļāđāļāļāļēāļāļāļāļāļāļāļāļąāļ āļŠāđāļēāļŦāļĢāļąāļāļāļēāļĢāļāļīāļ§āđāļĄāļāļāļāļąāđāļāđ āļāļąāļāļāļąāļāđ āļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļāļīāļŠāļēāļĄāļēāļĢāļāļāđāļēāđāļŦāđāļāļāļāļĢāļīāļāđāļāļĒ PROM ,lookup table āļŠāļēāļĄāļēāļĢāļāļāđāļēāđāļāļīāļāļāļēāļĢāđāļāļĒāļāļēāļĢāđāļāļĒāļĩāļāđāļāļĢāļđāļāđāļāļāļāļāļāļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļāļīāđāļĨāļ°āļĄāļąāļāļŠāļēāļĄāļēāļĢāļāļāđāļēāđāļŦāļāļēāļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļāđāļāļāļāļĢāļīāļāđāļāļāļ§āļĒ PROM , āļāļēāļĢāļēāļāļāļāļāļāļāļāļāļąāļāļāļĢāļĩāđāļāļ , āļĨāđāļāļāļāļēāļĢāļīāļāļķāļĄ, āđāļāđāļāđāļāđāļāđāļāļĒāļĩāļĨ, āđāļĨāļ°āļāļāļāļāļąāļāļāļ·āđāļāđāļŠāļēāļĄāļēāļĢāļāļāđāļēāđāļāļīāļāļāļēāļĢāđāļāļāļēāļĒ āļāļąāļ§āļāļĒāļēāļāļāļĩāđ 6.9 āļāļāļāđāļēāđāļāļāļīāļāļēāļĢ 8 â āļāļīāļ āđāļāļĒ 8- āļāļīāļ high â speed bit āđāļāļāļēāļĢāļāđāļēāļāļ§āļ P15-0 = A7-0 x B7-0
āđāļ PROM āļāļąāļāđāļ lookup tables āđāļāļāļēāļĢāļāđāļēāđāļāļīāļāļāļēāļĢāļāļēāļāļāļāļīāļāļĻāļēāļŠāļāļĢ āđāļ PROM āļāļāļēāļāđāļŦāļāļāđāļķāļāļĄāļĩ 16 āļāļīāļāļāļāļļ āđāļĨāļ° 6 āđāļāļēāļāļāļļāļāđāļāļāļēāļĢāļāđāļēāđāļāļīāļāļāļēāļĢāļŠāļđāļāļĢāļāļāļđāļāļ§āļĒ 216 āđāļāļ§ āđāļĨāļ§āđāļāļāđāļāļ 2 āļāļąāļ§āļāļĩāđāļāļđāļāļāđāļēāđāļāļīāļāļāļēāļĢāļĄāļēāđāļāļ 4 â āļāļīāļ āļāļąāļāļāļāđāļāļāļĩāđ P15-0 = A7-0 x B7-0 = ((A7-4 x 24) + A3-0) x ((B7-4 x 24) + b3-0) = (A7-4 x B7-4) x 28 + ((A7-4 x B3-0) + (A3-0 x B7-4)) x 24 + A3-0 x B3-0
Combinational Circuit Design with Programmable Logic Devices 315
āļāļĩāđāļāļ·āļāļāļēāļĢāļāđāļēāđāļāļāļīāļāļēāļĢāļāļĩāđāļāđāļēāđāļāļāļ§āļĒ 4- āļāļīāļ āđāļāļĒāļāļēāļĢāļāļđāļ 4-āļāļīāļ āļĄāļēāļŠāļđāļāļēāļĢāđāļāļāļāđāļēāļāļ§āļāđāļāļāļąāļ āļāļēāļĢāļāļđāļāļāļ§āļĒ 24 āđāļĨāļ° 28 āļŠāļēāļĄāļēāļĢāļāļāđāļēāđāļāđāļāļĒāđāļĨāđāļ·āļāļāđāļāļāļĄāļāļāļ 4 āđāļĨāļ° 8 āļĄāļēāļāļēāļāļāļēāļĒ āļāļĨāđāļāļāđāļāļāļ°āđāļāļĢāļĄāđāļāļĢāļđāļ 6.26 āļāļ·āļ āļĢāļ°āļāļāļāļāļ PROM āļāđāļķāļāđāļāļāļēāļĢāļāđāļēāđāļāļīāļāļāļēāļĢāđāļāļāļāļēāļĢāļāļđāļ PROM 1āļāļķāļ4 āļāļ·āļāđāļāļĢāđāļāļĢāļĄāļāļĩāđāļāļđāļ lookup tables āļāļēāļ 4- āļāļīāļāđāļāļĒāļāļēāļāļŠāļ§āļāļāļāļ 4-āļāļīāļ āļāļēāļāļŠāļ§āļāļāļāļāđāļāļāļąāļ āļāļ·āļāļāļĨāļĢāļ§āļĄāđāļāļĒāļāļēāļĢāļāļ§āļāđāļĨāļ°āļāļēāļĢāļāđāļēāđāļāļāļīāļāļēāļĢāđāļ PROM āļāļēāļāđāļāļāļāļąāļŠāļļāļāļāļēāļĒ
āļĢāļđāļāļāļĩāđ 6.26 Implementation āļāļāļ hight-speed binary multiplier āļāļ§āļĒ PROMs 6.4.4 General Read- only Memory Application
āļāļļāļāļāļĢāļāđāļāļāļāļĄāļāļīāļ§āđāļāļāļĢāļŦāļĢāļ·āļāļĢāļ°āļāļāļāļīāļāļīāļāļāļĨāļāļąāđāļāļŦāļĄāļāļāļ°āđāļ PROM āļāļ·āļ read-only memory (ROM) āļŠāđāļēāļŦāļĢāļąāļāļāļāļāļĒāļđāđāļāļāļāļļāļāļĢāļāļāļąāļāļāļĨāļēāļ§ āļāđāļķāļāđāļāļāļāļĩāđāđāļāļāđāļāļāļĄāļđāļĨāļāļāļāđāļāļĢāđāļāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ , āļāļēāļĢāļēāļāļāļēāļāļāļāļĩāđāļāļāļāļāļāļĄāļđāļĨāđāļĨāļ°āļāļēāļĢāļēāļāļāļēāļĢāđāļāļĨāļāđāļāļāļāļēāļāđ āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.22 āļāļāļĄāļđāļĨāļŠāļēāļĄāļēāļĢāļāļāļēāļāļāļēāļ ROM āđāļāļĒāđāļāļĢāļđāļāđāļāļāļāļāļāļāđāļēāļāļ§āļāđāļāļāļēāļĢāļēāļāļāļķāđāļāđāļĢāļĩāļĒāļāļ§āļē address , āļāļāļāļīāļāļāļļāļ An-1âĶA0 āļāļēāļĢāđāļĨāļ·āļāļāļāļāļĄāļđāļĨāļāļąāļ§āļāļąāļāļĐāļĢāļāļāđāļāļēāļāļāļļāļ OmâĶ..O1 āļāļđāđāļŦāļĄāļ·āļāļāļ§āļēāļāļ°āļāļāļāļāđāļēāđāļāļŦāļĨāļąāļāļāļēāļ time delay āļāļąāđāļāđāđāļĢāļĩāļĒāļāļ§āļē access time āļāļāļāļāļļāļāļāļĢāļ n - āļāļīāļāļāļļāļ , m - āđāļāļēāļāļāļļāļ PROM āļŠāļēāļĄāļēāļĢāļāđāļāđāļāđāļ§āđāļāļāļēāļĢāļēāļāđāļāļĒ 2n â m âāļāļīāļ āļāļāļāļāļāļĄāļđāļĨāļāļąāļ§āļāļąāļāļĐāļĢ āļāļāļīāļēāļĢāļāļēāđāļāļāļ°āđāļāļĢāļĄāļāļāļ PROM āđāļāļĢāļđāļ 6.27 āļāļēāļĢāđāļĢāļĒāļāļ°āļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļāļāļēāļĢāļāļāļāļĢāļŦāļąāļŠ n-
316 Digital Logic Circuit Analysis and Design
to-2n āđāļāļĨāļ°āđāļāļēāļāļāļļāļāļāļāļāļāļēāļĢāļāļāļāļĢāļŦāļąāļŠāļāļ°āđāļ 1 āļĄāļīāļāđāļāļāļĄāļāļāļāļāļīāļāļāļļāļ An-1âĶA0 OR āļāļēāļĢāđāļĢāļĒāļŠāļēāļĄāļēāļĢāļāļĄāļāļ 2n â m âāļāļīāļ āļāļāļāļāļēāļĢāđāļāđāļāļāļāļāđāļāļĨāļĨāđāļāļĨāļ°āļāļēāļĢāđāļāđāļāļāļāļĄāļđāļĨāļāļąāļ§āļāļąāļāļĐāļĢ m-āļāļīāļ Supplied address āļāļ·āļāļāļēāļĢāļāļāļāļĢāļŦāļąāļŠāļāļ§āļĒāļāļēāļĢāļāđāļēāđāļāļīāļāļāļēāļĢāļāļāļāļĢāļŦāļąāļŠāļāļāļāđāļāļēāļāļāļļāļāđāļāļāļēāļĢāđāļĨāļ·āļāļāļāļĩāđāļāļ°āđāļāđāļāđāļāļĨāļĨāđāļāļ·āđāļāļāļ°āļāļąāļāđāļāļēāļāļāļļāļ OmâĶO1
āđāļāļāļēāļĢāđāļāļĢāļĒāļĩāļĄāļāļāļĄāļđāļĨāđāļāļ·āđāļāļāļĩāđāļāļ°āđāļāđāļāđāļ PROM āđāļāļĒāļāđāļēāļŦāļāļāđāļŦāļāļĩāđāļāļĒāļđāļāļāļāđāļāļĨāļ°āļāļāļĄāļđāļĨāļāļąāļ§āļāļąāļāļĐāļĢāļāļĒāļđāđāļāļāļāļāđāļāļāļāļĩāđāļāļēāđāļŦāļāļ āđāļāļŠāļ§āļāđāļŦāļāļāļāļĄāļđāļĨāļāļ°āļāļĒāļđāđāļāļāļ·āđāļāļāļĩāđāđāļāļĨāļāļąāļ āđāļāļĒāđāļĢāļīāđāļĄāļāļēāļāļāļĩāđāļāļĒāļđāđāļĢāļāļāļĒāļđāđāļ PROM āđāļāļāļēāļ āļāļĒāļēāļāđāļĢāļāđāļāļēāļĄāļāļāļĄāļđāļĨāļāļ·āļāļŠāđāļīāļāļāļĩāđāđāļāļĢāļĩāļĒāļĄāđāļ§āđāļāļĢāļđāļāđāļāļāđāļ lookup tables āđāļāļĨāļ°āļāļēāđāđāļŦāļāļāļāļ°āļāļĒāļđāđāļāļĢāļđāļāđāļāļāļāļāļ data code āļāļąāđāļāļāļ·āļāđāļāļāļēāļāļ§āļīāļāļĩāļāļēāļĢāļāļĩāđāļŠāļąāļĄāļāļąāļāļāļāļąāļāļāļāļāļāļēāļĢāđāļāđāļāļāļāļĄāļđāļĨāđāļ PROM āļĢāļđāļāļāļĩāđ 6.27 PROM device as a 2n x m read â only memory
Combinational Circuit Design with Programmable Logic Devices 317
6.4.5 Read â only Memory Technologies āļāļēāļāļāļĩāđāđāļāļāļāļīāļāļēāļĒāđāļĢāļ·āđāļāļ Fusible link PROM āđāļ§āļāļāļāļŦāļāļēāļāļĩāđāđāļĨāļ§ , ROM āđāļĨāļ° programmable device āļāđāļ·āļāđ āļāļĩāđāļĄāļĩāļāļĒāļđāđāļāđāļāļāđāļāđāļĨāļĒāļĩāļāđāļ·āļāđ āļāđāļķāļāļāļ°āļāļāļāļāļąāļāļŠāļāļīāđāļāļ§āļēāļāļ°āđāļĨāļ·āļāļāđāļāđāļāļāļāļāļ°āđāļĢāļĢāļ°āļŦāļ§āļēāļ cost , speed , flexibility āđāļĨāļ° reusability āļāļ§āļēāļĄāļāļąāļāļāļāļāļāļāļāļāļļāļāļāļĢāļ PROM āđāļāļāđāļēāļŦāļāļāđāļāļĒāļāđāļēāļāļ§āļāļāļāļāđāļāđāļāļ āđāļĨāļ° fuse āļāļĩāđāļāļĢāļ°āļāļāļāļāļĒāļđāđāļāļāļļāļāļāļĢāļāļāļąāļāļāļĨāļēāļ§ āļāļēāđāļāļ n-āļāļīāļāļāļļāļ PROM āļāļ°āļĄāļĩāđāļāđāļāļ āļāđāļēāļāļ§āļ 2n āļāļąāļ§āļāļāļāļąāļāļāļāļīāļāļļāļ āđāļāđāļāļĨāļ° āđāļāļāļąāļ (āļāļąāļ§āđāļāļĢ n uncomplemented āđāļĨāļ° n complemented) āļāļēāđāļāļ n āļāļąāļ§āđāļāļĢ āļāļ°āļĄ āļĩāđāļāļāļąāļ āļāļāļ āļāļĩāđāđāļāļāđāļāđāļāļāļĒāļđ 2n , AND array āļāļĩāđāļĄāļĩāđāļāđāļāļ āļāđāļēāļāļ§āļ 2n*2n āļāļēāļĄāļĩ āđāļāļēāļāļāļļāļ āļāđāļēāļāļ§āļ k āļāļąāļ§ āļāļ°āļĄāļĩāđāļāđāļāļ āđāļĨāļ° āļāļ§āļŠ āđāļ OR āļāļēāļĢāđāļĢāļĒāļāđāļēāļāļ§āļ k*2n āļāļąāļ§ āļāđāļķāļāđāļāļĨāļ°āļāļąāļ§āļāļāļāđāļāļāļąāļāđāļāļāļĄāļāđāļēāļāļ§āļ 2n āļāļąāļ§ āļāļ°āļŠāļēāļĄāļēāļĢāļāļāļāđāļāļēāļāļąāļ āđāļāļēāļāļāļāļļāđāļāļĨāļ°āļāļ§āļąāđāļ āļāļąāļāļāļąāđāļ āļāļēāđāļāļāļēāļĒāļĢāļ§āļĄāļāļąāđāļāļŠāļīāđāļāļāļ°āđāļāļēāļāļąāļāļĢāļēāļāļēāļāļāļāđāļāđāļāļ āļāđāļēāļāļ§āļ (2n+k)*2n āļāļąāļ§āļĢāļ§āļĄāļāļąāļāļĢāļēāļāļēāļāļāļ fuse āļāđāļēāļāļ§āļ k*2n āļāļąāļ§ āļŠāđāļēāļŦāļĢāļąāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļāļāļąāļāļāļĢāļīāļĄāļēāļāļĄāļēāļāđ āļŠāļ§āļāđāļŦāļāļāļ°āđāļ mask-programmed ROM āļŦāļĢāļ·āļ ROM āļāļēāļĒāđ āđāļāļāļļāļāļāļĢāļ ROM āļāļ°āđāļĄāļĄ āļĩ user-programmable fuse āđāļāļāļāļĩāđ āđāļāļĢāļ°āļŦāļ§āļēāļāļāļąāđāļāļāļāļāļŠāļļāļāļāļēāļĒāļāļāļāļāļąāđāļāļāļāļāļāļēāļĢāļāļĨāļīāļ chip āđāļāđāļĢāļāļāļēāļ OR āļāļēāļĢāđāļĢāļĒ āļāļ°āļāļđāļāļāļāļąāđāļĢāļĩāļĒāļāļāļĒāļēāļāļāļēāļ§āļĢāđāļāļĒāļāļēāļĢāļ§āļēāļāļŦāļĢāļ·āļāļāļēāļĢāđāļ§āļāļāļĩāđāļĨāļ§āļ(wire)āļāļ§āļĒāļāļļāļāđāļāđāļāļ āļŦāļĢāļ·āļ āđāļāļāļāļĩāđāļĨāļ§āļāļāļ§āļĒ unblown fuse āļŦāļĢāļ·āļ blown fuse āļāļēāļĄāļĨāđāļēāļāļąāļ custom mask āļāļ°āļĢāļ°āļāļļāļāļĩāđāļāļĩāļāđāļ°āļ§āļēāļāļĨāļ§āļāļĢāļ°āļŦāļ§āļēāļāļāļąāđāļāļāļāļāļāļēāļĢāļāļĨāļīāļ āļāļ§āļĒāđāļŦāļāļāļļāļĩāđāļāļ°āđāļāļāļāļēāļĢāļāļēāđāļŦāļāļāļ§āļē cell āđāļāļāļ°āđāļāļ 1 āđāļĨāļ° cell āđāļāļāļ°āđāļāļ 0 āđāļāļĨāļ° ROM mask āđāļāļ custom āļāđāļķāļāļāļđāļāļāļāļāđāļāļāļāļēāļāļāļēāļĢāļēāļāļāļĩāđāļĨāļđāļāļāļēāļāļąāļāļŦāļēāļĄāļēāđāļŦ āđāļĨāļ°āļāļķāđāļāļāļ°āļāđāļēāđāļŦāļĄāļĩāļāļēāđāļāļāļēāļĒāđāļāļāļēāļĢāļāļąāļāļāļēāļŠāļāļđāļāļķāđāļāļāļ§āļĒ āļāļāļāļīāđāļĨāļ§āļāļ°āđāļāļāļŦāļĨāļēāļĒāļāļąāļāļāļāļĨāļĨāļēāļĢ āļāļāļ°āļāļĩāđāđāļĄāļāļĢāļēāļāļ programmable fuse āđāļ OR āļāļēāļĢāđāļĢāļĒ āļāļ°āļāđāļēāđāļŦāļāļēāđāļāļāļēāļĒāļāļāļ mask-programmed ROM chip āļāļāļĒāļāļ§āļēāļāļēāđāļāļāļēāļĒāļāļāļāļāļļāļāļāļĢāļ PROM āļāļĩāđāļĄāļĩāļāļļāļāļ āļēāļ(āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ)āđāļāļēāļāļąāļ āļāļēāđāļāļāļēāļĒāļāļĩāđāļāļĢāļ°āļŦāļĒāļāļąāļāļķāđāļāļāļĩāļāļđāđāļāļĨāļāļĨāļāđāļāļĒāļĢāļēāļāļēāļāļāļ mask (mask charge) āđāļāļ·āđāļāļāļāļēāļ ROM āđāļāļēāļāļąāđāļāļāļĩāđāļĄāļĩāļāļĨāļāļāļāļēāđāļāļāļēāļĒāđāļĄāļ·āđāļāļāļēāļĢāļŠāļąāđāļāļāļ·āđāļāļāļļāļāļāļĢāļāļāđāļēāļāļ§āļāļĄāļēāļ āđāļāļāļēāļāđāļēāļāļ§āļāļāļāļāļāļīāđāļāļŠāļ§āļāļāļāļĒāļāļ°āļāđāļēāđāļŦāļĄāļĩāļāļĨāļāļāļāļēāđāļāļāļēāļĒāļĄāļēāļāļāļķāđāļāđāļāļĒāļāļĩāļāđāļ°āđāļāļāļļāļāļāļĢāļ PROM āļāđāļķāļāļĨāļđāļāļāļēāļŠāļēāļĄāļēāļĢāļāđāļāđāļāļĢāļĄāđāļāđāļāļāļēāļ°āļāļēāļ āļĢāļ°āļŦāļ§āļēāļāļāļēāļĢāļāļāļąāļāļē logic circuit , āļŠāļēāļĢāļŠāļāđāļāļĻ(information)āļāļĩāđāļāļ°āļāļđāļāđāļāļāđāđāļ§āđāļ PROM āđāļāļĨāļ°āļāļąāļ§(āļāļĩāđāļĄāļĩāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļ, PROM undergo) āļāļ°āļĄāļĩāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļāļāļāļĒāļāļĢāđāļąāļāļāļāļāļĢāļ°āļāļąāļāđāļāļēāļĢāļāļāļāđāļāļāļāļđāļ debug āļāļĒāļēāļāđāļŠāļĢāđāļāļŠāļĄāļāļđāļĢāļ āļāļēāđāļŠāļĩāļĒāļāļēāļĒ āļāļĩāđ ROM āđāļĨāļ° PROM āđāļĄāļŠāļēāļĄāļēāļĢāļāļāļĢāļāļĄ (alert ) āđāļāļāļĢāļąāđāļāđāļĢāļāļāļĩāđāđāļāļĢāđāļāļĢāļĄ āļāļĒāļēāļāđāļĢāļāđāļāļēāļĄROM āđāļĨāļ° PROM āļŠāļēāļĄāļēāļĢāļāļāļđāļāļāļīāđāļāđāļĨāļ°āļāļļāļāļāļĢāļāđāļŦāļĄāļāļĩāđāļāļēāļāļāļēāļĢāđāļāļĢāđāļāļĢāļĄāļāļ°āđāļāļēāļĄāļēāđāļāļāļāļĩāđ āļāļļāļāļāļĢāļāļāļąāļāļāļĨāļēāļ§āļŠāļ§āļāđāļŦāļāļāļ°āđāļāļāļāļ§āļ Erasable programmable read-only memories (EPROM) OR āļāļēāļĢāđāļĢāļĒ āļāļāļ EPROM āļāļ°āļāļđāļāđāļāļĢāđāļāļĢāļĄāđāļāļĒāļāļēāļĢāđāļ special programming voltage āđāļāļ·āđāļāļāļĩāđāļāļ°āļāļąāļ (trap) electrical charge āđāļ cell āļāļĩāđāļĢāļ°āļāļļāđāļāļ 0 āļŦāļĢāļ·āļ 1 āļāļķāļāđāļĄāļ§āļēāļāļ°āđāļĄāļāļēāļ§āļĢāđāļāļēāļāļąāļ fuse āļāļĩāđāļŦāļĨāļāļĄāļĨāļ°āļĨāļēāļĒ, āļāļĢāļ°āđāļŠāđāļāļāļĩāļāđāļ°āđāļŦāļĨāļ·āļāļāļĒāļđāļāđāļķāļāļāļđāļāļāļąāļ(trap) āđāļ§āļĄāļēāļāļāļķāļ 10 āļ āļāļĒāļēāļāđāļĢāļāļāđāļēāļĄāļāļĢāļ°āđāļŠāđāļāļŠāļēāļĄāļēāļĢāļāļŦāļĄāļāđāļāļāļĒāļēāļāļĢāļ§āļāđāļĢāļ§āđāđāļāļĒāļāļēāļĢāļāļēāļĒāđāļŠāļ(irradiate)chipāļāļ§āļĒāđāļŠāļ ultraviolet āđāļāļĒāļāļēāļ quartz
318 Digital Logic Circuit Analysis and Design
window āļāļ chip āđāļĨāļ°āļāļēāļĢāļāļāļĄ(restoring) OR array āļĒāļąāļāļŠāļ āļēāļ§āļ°āļāļĩāđāđāļĄāđāļāđāļāļĢāđāļāļĢāļĄāļāļąāđāļāđāļāļāļ āļāļēāļāļāļąāđāļ EPROM āļāļēāļāļāļ°āļāļđāļāđāļāļĢāđāļāļĢāļĄāļāļ§āļĒāļŠāļēāļĢāļŠāļāđāļāļĻāđāļŦāļĄ( information) āļ§āļąāļāļāļąāļāļĢāļāļāļāļāļēāļĢāļĨāļāđāļĨāļ°āļāļēāļĢāđāļāļĢāđāļāļĢāļĄāđāļŦāļĄāļāļēāļāļāļ°āļāļđāļāļāđāļēāļāđāđāļēāđāļāļāļāļĢāļ°āļāļąāđāļāđāļāļ(design)āļāļđāļāļāļāļ āđāļĨāļ° EPROM āļāļđāļāļāđāļēāļĄāļēāđāļāļāļĒāļēāļāļāļēāļāļāđāļ EEPROM (electrically erasable programmable read-only memory) āļāļąāđāļāļāļĨāļēāļĒāļāļąāļ EPROM āđāļāļĒāļāļĩāđ EEPROM āđāļāļāđāļāļāļ§āļĒ 1 āđāļĨāļ° 0 āđāļāđāļāļĨāļĨ memory āđāļāļĒāļĄāļĩāļŦāļĢāļ·āļāđāļĄāļĄāļĩāļāļĢāļ°āđāļŠāđāļāļāļąāļ( trapped electrical charge ) āđāļāļāđāļāļĩāļĒāļ§āļāļąāļāļāļąāļ EPROM āļāļĢāļ°āđāļŠāļāļĩāđāļŠāļēāļĄāļēāļĢāļāļŦāļĄāļāđāļāđāļĨāļ° chip āļāđāļŠāļēāļĄāļēāļĢāļāļāđāļēāļĄāļēāđāļāļĢāđāļāļĢāļĄāđāļŦāļĄāđāļ āļāļĒāļēāļāđāļĢāļāđāļāļēāļĄāđāļ EEPROM āļāļēāļĢāļĨāļāļāđāļēāđāļāļāļ§āļĒāļāļĢāļ°āđāļŠāđāļāļāļēāđāļāļĒāļāļēāļĢāļāļēāļĒāđāļĢāļāļāļāļą(voltage)āļāļīāđāļĻāļĐāđāļŦāļāļąāļ chip āļāļēāļĢāļĨāļāđāļĨāļ°āļāļēāļĢāđāļāļĢāđāļāļĢāļĄāđāļŦāļĄāļāļāļ chip āļāļĩāđāļāđāļēāđāļāđāļāļĒāđāļĄāļāļāļāļĒāļēāļĒ chip āļāļāļāļāļēāļāļāļīāđāļāļāļēāļ(product ) āļāļąāļāļāļąāđāļāļāļēāļĢāļāđāļē EEPROM āļĄāļēāļāļĢāļ°āļĒāļļāļāļāđāļāđāļāļŠāļēāļĢāļŠāļāđāļāļĻāļāļĩāđāļāļāļāļāļēāļĢāđāļāļ·āđāļāļāļĩāđāļāļ°āđāļāļĨāļĩāđāļĒāļāđāļāļĒāđāļĄāļāļāļāļĄāļĩāļāļēāļĢāđāļāļĨāļ·āđāļāļ chip āļāļķāļāđāļāļāļāļĩāđāļāļēāļāļđāļāđāļāļĄāļēāļ āļāļļāļāļāļĢāļ EEPROM āļāđāļēāļāļ§āļāļĄāļēāļ support āļāļāļāļēāļĢāļĨāļāļāļāļ chip āļāļāļāļāļēāļāļāļĩāđāļĒāļąāļāļŠāļēāļĄāļēāļĢāļāļāđāļēāļŦāļāļāļāđāļēāđāļŦāļāļāļāļĩāđāļāļ°āļāđāļēāļāļēāļĢāļĨāļāđāļāđāļāļĒāđāļĄāļĢāļāļāļ§āļāļāļļāļāļāļĢāļāļāđāļīāļāļāļ·āđāļāđ āļāđāļēāđāļŦāļāļāļāļāļļāļāļļāļāļāļĢāļ EEPROM āļāļĩāđāđāļĢāļĩāļĒāļāļ§āļē flash memory āļāļāļĒāļĨāļ āļāđāļķāļāļāļļāļāļāļĢāļāļāļąāļāļāļĨāļēāļ§ support āļāļēāļĢāļĨāļāļāļāļ chip āļāļąāđāļāļŦāļĄāļ āļāļąāļāļāļąāđāļāļāļāļāļļāļāļāļĩāđāđāļāļāļīāļāļķāđāļāļāļķāļāļĄāļĩāļāļ§āļēāļĄāļĒāļāļ·āļŦāļĒāļļāļ āļāļļāļāļāļĢāļ EPROM āđāļĨāļ° EEPROM āļĄāļĩāļāļ§āļēāļĄāļāļąāļāļāļāļāļĄāļēāļāļāļ§āļēāļāļļāļāļāļĢāļ PROM āđāļĨāļ°āļāļ§āļĒāđāļŦāļāļļāļāļĩāđāļāļķāļāļāđāļēāđāļŦāļāļēāđāļāļāļēāļĒāļāļ bit āļŠāļđāļāļāļ§āļē PROM āļāļĩāđāļĄāļĩāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļēāļāļąāļ āļāļĩāļāļāļąāļāđ EPROM āđāļĨāļ° EEPROM āļĄāļĩāļāļēāļĢāļŦāļāļ§āļāđāļŦāļāļĩāļĒāđāļ§āļāļēāļĢāđāļāļĢ (propagation delay) āļāļēāļāļāļ§āļē PROM āđāļĨāļ° ROM āļāļĩāđāļĄāļĩāļāļāļēāļāđāļāļēāđāļāļāļą āđāļāļ·āđāļāļāļāļēāļāđāļāļīāļĄāļāđāļĩāļāļĢāļ·āđāļāļāļāđāļēāļāļēāļĢāļāļķāđāļāļĢāļđāļ (former) āļāļ°āđāļāđāļāļāđāļāđāļĨāļĒāļĩ NMOS āļŦāļĢāļ·āļ CMOS transistor āļŠāļ§āļ PROM āđāļĨāļ° ROM āđāļŦāđāļāļāđāļāđāļĨāļĒāļĩ bipolar TTL āļāļĒāļēāļāđāļĢāļāđāļāļēāļĄāļāļķāļāđāļĄāļāļ°āļĄāļĩāļāļēāđāļāļāļēāļĒāļāļĩāđāļŠāļđāļāļāļķāđāļāđāļĨāļ°āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ(Performance)āļāļĩāđāļāđāđāļēāļĨāļ āđāļāļāļāđāļ°āļĄāļĩāļāļ§āļēāļĄāļŠāļ°āļāļ§āļāđāļāļāļēāļĢāļĨāļāđāļĨāļ°āđāļāļĢāđāļāļĢāļĄ chip āđāļŦāļĄāļāļĩāļāļāļĢāđāļąāļāļŦāļāļķāđāļ āđāļāļāļēāļāļāļĢāļāļĩ EPROM āļŦāļĢāļ·āļ EEPROM āļāļĩāđāđāļāļĢāļ°āļŦāļ§āļēāļāļāļēāļĢāļāđāļēāļāļēāļāļāļāđāļāļ(prototyping) āļāļ°āļāļđāļāđāļāđāļāđāļ§āļŠāđāļēāļŦāļĢāļąāļ final product āļāļĒāļēāļāđāļĢāļāđāļāļēāļĄ āđāļāļŠāļāļēāļāļāļēāļĢāļāļāļĩāđāļāđāļēāļāļēāļĢāļāļĨāļīāļāļāļĨāļīāļāļ āļąāļāļāļāđāļēāļāļ§āļāļĄāļēāļ āļāļāļāļļāļāļāļĩāđāđāļāļāļīāļāļķāļāđāļĄāļēāļāļāļ°āļāļđāļāļĨāļāļĨāļāđāļāđāļāļĒāļāļēāļĢāđāļāļāļāļĩāđ EPROM āļŦāļĢāļ·āļ EEPROM āļāļ§āļĒ PROM āļŦāļĢāļ·āļ ROM āļāđāļēāļāļ§āļāđāļāļēāļāļāļąāļŦāļĨāļąāļāļāļēāļāļāđāļēāļāļēāļĢāļāļāļāđāļāļāļāļĢāļąāđāļāļŠāļļāļāļāļēāļĒ
6.5 Programmable Array Logic 6.5.1 PAL circuit structure
PAL āđāļāļīāļāļāļķāđāļāđāļāļ āļ.āļĻ. 1970 āđāļāļĒ Monolithic memories āđāļāļĒāļĄāļĩāļĢāļēāļāļēāļāđāđāļēāđāļāļ·āđāļāļāđāļēāļĄāļēāđāļāļāļŠāđāļēāļŦāļĢāļąāļāļĨāļāļāļīāļāđāļāļāļāļĩāđāđāļĒāļāļāļāļą , PROMs āđāļĨāļ° PLAs [5] PAL āđāļŠāļāļāđāļāļĢāļđāļāļāļĩāđ 6.28 āļāđāļķāļāļāļĢāļ°āļāļāļāļāļ§āļĒ programmable AND āļāļēāļĢāđāļĢāļĒ āđāļĨāļ° OR āļāļēāļĢāđāļĢāļĒāđāļāļāļāļāļāļĩāđ āđāļ OR āļāļēāļĢāđāļĢāļĒāđāļāļāļāļāļāļĩāđāđāļāļĨāļ°āđāļāļēāļāļāļļāļāđāļāļ·āđāļāļĄāļāļāļāļĒāļēāļāļāļēāļ§āļĢāļāļąāļāļāļĨāļļāļĄāļāļāļāđāļāļāļąāļāđāļāļāļĄ āđāļ PAL āļĢāļđāļāļāļĩāđ 6.28 āđāļāļāļāļąāļ§āļāļĒāļēāļāđāļāļĨāļ°āđāļāļēāļāļāļļāļāļāļ°āđāļāļ·āđāļāļĄāļāļāļāļąāļ 3 āđāļāļāļąāļ āļāļąāļāļāļąāļāđāđāļāļāļāļ§āļĒāļāļĨāļĢāļ§āļĄāļāļāļ 3 āđāļāļāļąāļāđāļāļāļĄ āđāļāļĢāļēāļ°āļ§āļē OR āļāļēāļĢāđāļĢāļĒāđāļāļāļāļāļāļĩāđāđāļāļ
Combinational Circuit Design with Programmable Logic Devices 319
āļāļ§āļĒ PAL āđāļŠāļāļāđāļāļĢāļđāļ 6.29 āļāļāđāļāļāļāļēāļāļāļāļ PROM āđāļāļāļļāļāđ 2n āļāļĩāđāđāļāļāđāļāđāļāļāļāļāđāļāļāļąāļāļāļ°āļāđāļēāđāļŦāđāļāļīāļ n āļāļąāļ§āđāļāļĢ PAL āļāđāļēāđāļŦāđāļāļīāļāļāļēāļĢāļāđāļēāļāļąāļāļāļēāđāļāļ§āļāļāļāļāđāļāļāļąāļāđāļāļāļĄ āļŠāļ§āļāļāļĩāđāđāļŦāļĨāļ·āļāļāļđāļāļāļāđāļāļāļāļ°āđāļĨāļ·āļāļāđāļāļāļąāļāļāļąāđāļāđāļāļ·āđāļāļŠāļĢāļēāļāđāļāļĨāļ°āļāļĨāļĢāļ§āļĄ āļāļąāļāļāļąāļāđāļāļāļāļļāļāļāļąāđāļāļŦāļĄāļāļāļāļ PAL āļāļ°āļāļāļāļāļāļīāļēāļĢāļāļēāđāļŦāļāđāđāļēāļāļ§āļēāđāļāļ·āđāļāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāļĢāļ°āļŦāļ§āļēāļ PROMs āļāļąāļ EPLAs āđāļāļāļĢāļāļĩāļāļāļ read- only memories , PAL āļāļ°āļ§āļēāļāļāļĒāļđāđāļāļŦāļĨāļēāļĒāļāđāļēāđāļŦāļāļāļāļāļāđāļāļāđāļāđāļĨāļĒāļĩāļ§āļāļāļĢ , āđāļāļāļēāļĢāđāļāļīāđāļĄ fuse- programmable bipolar TTL āđāļāļāđāļāđāļĨāļĒāļĩ NMOS āđāļĨāļ° CMOS āļāļĢāļēāļāļāļīāļŠāđāļāļāļĢāļāļāļĒāļāļĢāļąāđāļāļāļĩāđāļāđāļēāļĄāļēāđāļāļāļēāļāđāļ programmable AND āļāļēāļĢāđāļĢāļĒ āļāļāļāļāļļāļāļāļĢāļ PAL āļāļēāļāđāļāļķāđāļāļĄāļąāļāļĄāļĩāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļĢāļĨāļāđāļĨāļ°āđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļŦāļĄāđāļ āļāļīāļāļāļĩāđāļāļđāļāļāļķāļāļāļĩāđāļāļāļ·āļāļļāļāļāļĢāļ erasable programmable logic āļŦāļĢāļ·āļ EPLDs āļāļāļ°āļāļĩāļŦāđāļāļ§āļĒāļāļ§āļēāļĄāļāđāļēāļāļĩāđāļāļēāļāđāļāļāļĒāļēāļāđāļāļĒāļĩāļ§, CMOS āđāļĨāļ°NMOS EPLDs āļāļēāļāļāđāđāļŦāļĄāļ·āļāļāļāļąāļāļāļ·āļāļĄāļĩāļāļāļāļļāļāļāļĩāđāļŠāļđāļ āđāļĄāļ·āđāļāđāļāļĩāļĒāļāļāļąāļ bipolar TTL fuse â programmable â PALs āļāļĒāļēāļāđāļĢāļāđāļāļēāļĄāļāļĢāļ°āđāļĒāļāļāļāļĩāđāđāļāļāļ·āļ āđāļāļāļīāļāļāļĩāļŠāđāļēāļĄāļēāļĢāļāļĨāļāđāļĨāļ°āđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļŦāļĄāđāļ
āļĢāļđāļāļāļĩāđ 6.28 Programmable array logic (PAL) device
320 Digital Logic Circuit Analysis and Design
6.5.2 Realizing Logic Function āđāļāļĢāļēāļ°āļ§āļēāđāļāļĨāļ°āđāļāļēāļāļāļļāļāļĄāļĩāļāļēāļĢāļāđāļēāļāļąāļāļāļāļāļāļĨāļĢāļ§āļĄāđāļāđāļāļāļāļāļĩāđāļāļāļāđāļāļāļąāļāđāļāļāļĄ PALs āļĄāļĩāļāļāļāđāļēāļāļąāļ
āļĄāļēāļāļāļ§āļē PROMs āđāļĨāļ° FPLAs āđāļāļāđāļēāļāļ§āļāļāļāļāļŠāļ§āļīāļāļāļāļīāļāļāļāļāļāļąāļ āļāļąāļāļāļąāđāļāļāļēāļĢāđāļĨāļ·āļāļ PAL āļŠāđāļēāļŦāļĢāļąāļāļāļĢāļ°āļĒāļļāļāļāđāļāļāļēāļāđāļāļāļēāļ°āļāļĒāļēāļ āļāļ°āļāļāļāđāļāđāļāđāļāļāđāļēāļāļ§āļāļāļāļāđāļāļāļąāļāđāļāļāļĄāļāļāđāļāļēāļāļāļļāļ āļāļąāļāđāļāļ·āļāļĄāļąāļāļāļāļāļĄāļĩāļāđāļēāļāļ§āļāļāļĩāđāđāļāļĒāļĩāļāļāļāļŠāđāļēāļŦāļĢāļąāļāļāļĢāļāļĩāļāļĩāđāđāļĨāļ§āļĢāļēāļĒāļāļĩāđāļŠāļļāļāļāļāļāđāļāļāļąāļāđāļāļāļĄ āđāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļāļāļēāļ āļāļāļāļāļēāļāļāļĩāđ āļāļēāļĢāļāđāļēāļāļąāļāļāļāļāđāļāļāļāļąāđāļāļāļĄāđāļāļĩāļĒāđāļ§āđāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāļĢāļ°āļŦāļ§āļēāļ 2 āļāļĨāļĢāļ§āļĄāļāļāļāđāļāļāļĄāđāļ āļāļē 2 āļāļĨāļĢāļ§āļĄāļĄāļĩāđāļāļāļąāļāđāļāļāļĄāļĢāļ§āļĄāļāļąāļ , āđāļāļāļąāļāđāļāļāļĄāļāļąāđāļāļāļ°āđāļāļīāļāļāļķāđāļ 2 āļāļĢāđāļąāļ āđāļāļāļĢāļāļĩāļāļĩāđāļāļĩāļŠāļ§āļāļīāļāļāļīāļāļāļāļāļāļąāļāļŦāļĨāļēāļĒāđāļāļāļāļāļąāļ āļŠāļēāļĄāļēāļĢāļāđāļāļāļāļ§āļĒāļāļĨāļĢāļ§āļĄāļāļāļāļāđāļēāļāļ§āļāļāđāļēāļāļāļąāļāļāļāđāļāļāļąāļāđāļāļāļĄ āļāļąāļāļāļąāđāļ PALs āļāļ°āļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļĄāļēāļāļāļ§āļē PROMs āļŦāļĢāļ·āļ FPLAs āļŠāđāļēāļŦāļĢāļąāļ
āļāļāļāļāļąāļāļāļĩāđāļĄāļĩāļāļīāļāļāļļāļāļŦāļĨāļēāļĒāđāļāļąāļ§āđāļāļĢ āđāļāļĄāļąāļāļāļ°āļĄāļĩāļāđāļēāļāļ§āļāļāļāļĒāļŠāđāļēāļŦāļĢāļąāļāđāļāļāļąāļāđāļāļāļĄ āļāļĨāļļāļĄāļāļāļāļŠāļ§āļīāļāļāļāļīāļāļāļāļāļāļąāļāđāļ PAL āđāļāļāđāļāļāļ§āļĒāļāļēāļĢāļĨāļāļāļāļēāļāļāļāļāđāļāļāļąāļ āđāļāļ·āđāļāļāļāļēāļāļāļĨāļļāļĄāļāļāļāđāļāļāļāļąāđāļāļāļĄāļĄāļĩāļāļāļāđāļēāļāļąāļāļŠāđāļēāļŦāļĢāļąāļāđāļāļĨāļ°āļāļāļāļāļąāļ āļ§āļąāļāļāļļāļāļĢāļ°āļŠāļāļāđāļāļ·āđāļāļāļāļāđāļāļāļēāļĢāļāļāļāđāļāļāļāļ§āļĢāļāļ°āļĨāļāļāļāļēāļāļāļāļāļāđāļēāļāļ§āļāđāļāļāļāļąāđāļāļāļĄāđāļāļāļīāļāļāļ SOP āđāļāļĨāļ°āļāļīāļāļāļāļļāļŠāļēāļĄāļēāļĢāļāļāđāļēāđāļāļīāļāļāļēāļĢāđāļāđāļāđāļāļāļąāļāđāļāļāļĄāļāļąāđāļāļŦāļĄāļ āđāļāļāļēāļĢāļāļ§āļāđāļĢāļīāđāļĄāļāļēāļāđāļāļāļąāļāđāļāļāļĄāđāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāļĢāļ°āļŦāļ§āļēāļāđāļāļēāļāļāļļāļāđāļāļĄāļāļąāļāļ°āļŠāļēāļĄāļēāļĢāļāļāđāļēāđāļāđāļ PROM āđāļĨāļ° FPLAs āļĄāļąāļāđāļĄāļāļāļāļāļēāļĢāđāļāļ§āļīāļāļĩāļĨāļāļāļāļēāļāļāļāļāļŦāļĨāļēāļĒāđāđāļāļēāļāļāļļāļ āļŠāđāļēāļŦāļĢāļąāļ PLAāđāļāļĨāļ°āļāļĨāļĢāļ§āļĄāļāļ§āļĢāļāļ°āđāļāļāļāļīāļŠāļĢāļ°āļāļāļāļēāļĢāļĨāļāļāļāļēāļ
āļĢāļđāļāļāļĩāđ6.29 āļĢāļđāļāđāļāļāļĄāļēāļāļĢāļāļēāļāļāļāļ PAL
Combinational Circuit Design with Programmable Logic Devices 321
āļāļąāļ§āļāļĒāļēāļāļāļĩāđ 6.10 āļāļēāļĢāļĨāļāļāļāļēāļāļāļāļ 3 āļāļāļāļāļąāļāļāļĢāļāļĄāđāļāļāļą fÎą (A,B,C,D) = mâ (0,2,7,10) + d(12,15) f Îē (A,B,C,D) = mâ (2,4,5) + d(6,7,8,10) fÎģ (A,B,C,D) = mâ (2,7,8) + d(0,5,13)
āļāļĨāļĨāļąāļāļāļāļ·āļ 3 āļāļīāļāļāļāļāļąāļāļāļāđāļāļāļĩāđ fÎą (A,B,C,D) = A B D + B C D + A B C D f Îē (A,B,C,D) = A B + B C D fÎģ (A,B,C,D) = A B D + B C D + A B C D āļāļīāļāļāļ 3 āļāļīāļāļāļāļāļāļāļāļēāļĢ8 āđāļāļāļąāļāđāļāļāļĄ āđāļĄāļ§āļēāļāļ°āļĄ āļĩ5 āđāļāļāļĄāļāļĩāđāļĄāļĩāļĨāļąāļāļĐāļāļ°āđāļāļāļēāļ°āļāļąāļ 3 āđāļāļāļĄāļāļĩāđāđāļāļāļĢāļ°āļŦāļ§āļēāļāļŦāļĨāļēāļĒāđāļāļēāļāļāļļāļ āļāļīāļāļāļāļāļāļ PAL āđāļŠāļāļāđāļāļāļāļąāļĢāļđāļ 6.30 āļĢāļđāļāļāļĩāđ 6.30 PAL realization of fÎą (A,B,C,D) , fÎē (A,B,C,D) , fÎģ (A,B,C,D)
āļāļēāļĢāđāļāļāļāļīāļŠāļĢāļ°āđāļĄāļāļķāđāļāļāļāļāļąāļāļāļāļāļāļēāļĢāļĨāļāļāļāļēāļāđāļāļĨāļ°āļāļāļāļāļąāļāļāļąāļāļāļīāļāļāļāļāļāđāļāļāļĩ āđ
322 Digital Logic Circuit Analysis and Design
fÎą (A,B,C,D) = A B D + B C D + A B C D f Îē (A,B,C,D) = A B + B C D fÎģ (A,B,C,D) = A B D + B C D + A B C
āļāļāļāļāļēāļĢāļāļāļāļāļąāļāļāļāļāļāļĨāļĢāļ§āļĄāļāļāļāđāļāļēāļāļāļļāļāđāļĨāļ° 8 āđāļāļāļąāļāđāļāļāļĄāđāļāđāļāļĨāļ°āļāļĢāļāļĩ āđāļ PAL āļĢāļđāļāļāļĩāđ 6.30 āļĄāļĩāļāļāļāļāļąāļ f(A,B,C,D) āļāļĒāļđāđāļ 2 āđāļāļāļąāļāđāļāļāļĄ āļāļąāļāļāļąāđāļ 1 āđāļ 3 āđāļāļāļąāļāđāļāļ·āđāļāļĄāļāļāļāļąāļ OR āđāļāļ āļāļ°āđāļāļēāļāļąāļ 0 āļĢāļđāļāļāļĩāđ 6.31 āļāļąāļ§āđāļāļĢ A āļāļ·āļāļāļēāļĢāļĒāļēāļĒāļāļēāļāđāļāļāļāļąāđāļāļāļĄ(P3) āđāļāļĒāļāļēāļĢāļĒāļēāļĒāļāļ§āļŠ (A āđāļĨāļ° A) āđāļāļāļąāļāđāļāļāļĄ (P4) āļāļ°āđāļāļ 0 āđāļāļĒāļāļēāļāļ§āļŠāļĒāļąāļāļāļĒāļđāļāļēāđāđāļŦāļāļāđāļāļīāļĄ āđāļāļ·āļāđāļāļāļēāļ A.A = 0 āļāļ§āļŠāļāļ°āļāļĒāļđāļāļēāļāļāļēāļĒāļŠāđāļēāļŦāļĢāļąāļāđāļāļĨāļ°āđāļāļāļāļą āļāļąāđāļāļāļ·āļāļāļ°āļĄāļĩāļāļēāđāļāļ 0 āđāļāļāļąāļāļāļāļ P6 āđāļŠāļāļāđāļāļĢāļđāļ 6.30
āļĢāļđāļāļāļĩāđ 6.31 Product term involving āļāļąāļ§āđāļāļĢ A āđāļĨāļ°āļāļēāļĢ āļāđāļēāđāļāļīāļāļāļēāļĢāļāļąāļāļĄāļąāļ
6.5.3 PAL Output and Feedback Option āļĄāļēāļāļĢāļāļēāļ TTL āđāļĨāļ° CMOS PALs āļāđāļķāļāļāļ°āđāļāļāļāļāļīāļāļāļāļāļāđāļēāļāļ§āļāļāļīāļāļāļļāļ ,āđāļāļēāļāļāļļāļ āđāļāļāļąāļāđāļāļāļĄ
āļāļāđāļāļēāļāļāļļāļ āđāļĨāļ° āļāļāļāļāļąāļāđāļāļēāļāļāļļāļ PAL āļāđāļēāļāļ§āļāļĄāļēāļāļĢāļ§āļĄāļāļķāļāļāļąāđāļ§āđāļāļēāļāļāļļāļāđāļĨāļ°āļĒāļāļāļāļĨāļąāļāļ āļēāļĒāđāļāļāļēāļāđāļāļēāļāļāļļāļ āļĄāļēāļĒāļąāļ AND āļāļēāļĢāđāļĢāļĒ āļĨāļąāļāļĐāļāļ°āļāļ·āđāļāļāļĩāđāđāļĄāđāļŦāļĄāļ·āļāļāļāļāļąāļĢāļ°āļŦāļ§āļēāļ PAL āļĢāļ§āļĄāļāļķāļāļāļ§āļēāļĄāđāļĢāđāļ§āļŠāļ§āļīāļāļāļāļīāļāđāļĨāļ°āļāļēāļĢāļāļīāļāļāđāļēāļĨāļąāļāđāļāļāļē āļāļ§āļēāļĄāļŦāļĄāļēāļĒāļāļāļāļĢāļŦāļąāļŠ PAL āđāļāļāļĢāļāļēāļāđ
PAL I A O āđāļĄāļ·āđāļ I āļāļ·āļ āļāđāļēāļāļ§āļāļāļāļāļāļīāļāļāļāļļ O āļāļ·āļāļāđāļēāļāļ§āļāļāļāļāđāļāļēāļāļāļļāļ A āļāļ·āļāļāļāļīāļāļāļāļāđāļāļēāļāļāļļāļ āļāļąāļāđāļŠāļāļāļāļāđāļāļāļĩāđ L active low
Combinational Circuit Design with Programmable Logic Devices 323
H active high P programmable polarity C complementary outputs
āļŠāđāļēāļŦāļĢāļąāļāļāļąāļ§āļāļĒāļēāļ PAL 16L8 āļāļĩāđāđāļŠāļāļāđāļāļĢāļāļđ 6.32 āļāļ·āļ PAL 16 āļāļīāļāļāļāļļ 8 Active â low āđāļāļēāļāļāļļāļ āđāļāļĨāļ°āđāļāļēāļāļāļļāļāļāļ·āļāļāļĨāļĢāļ§āļĄāļāļāļ 7 āđāļāļāļąāļāđāļāļāļĄāđāļĨāļ°āļāđāļēāļāļēāļāđāļāļĒāļāļēāļĢāļāļ§āļāļāļļāļĄ tristate buffer āđāļāļĒāļāļēāļĢāļāļ§āļāđāļāļāļāļąāđāļāļāļĄ 6 āđāļāļēāļāļāļļāļāļāļ°āļĒāļāļāļāļĨāļąāļāđāļāļāļĩāđ AND āļāļēāļĢāđāļĢāļĒ PAL18P8 āļāļĩāđāđāļŠāļāļāđāļāļĢāļđāļ 6.33 āļĄāļĩ 8 bidirectional pins āļĢāļ§āļĄāļāļķāļ āđāļāļēāļāļāļļāļ programmable â polarity āđāļĨāļ° 10 āđāļāļēāļāļāļļāļ [5] tristate drivers āļāļ bidirectional line āļāļ°āđāļĄāđāļŠāļāļāļāļĒāļēāļāļāļąāļāđāļāļāđāļāđāļāļāļ°āđāļāļĢāļĄāđāļāļāļ°āđāļāļāļĢāļ§āļĄāļāļĒāļđāđāļ XNOR āđāļāļ āļĢāļđāļāļĢāļēāļāļāļāļāļāļļāļāļāļĢāļ PAL āļāđāļ·āļāļŠāļēāļĄāļēāļĢāļāļāļāđāļāđāļ [5] āļāļąāļ§āļāļĒāļēāļāļāļĩāđ 6.11 āļāļāļāđāļāļāļ§āļāļāļĢ PAL āļāļĩāđāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāļŠāļāļ 4-āļāļīāļ āđāļāļĒāđāļĄāļāļīāļāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļāļāļāđāļēāļāļ§āļāđāļĨāļāļāļēāļāļŠāļāļ , A = (a3a2a1a0) āđāļĨāļ° B = (b3b2b1b0) āđāļĨāļ° āļāļēāļāļĩāđāļāđāļēāļŦāļāļāđāļŦ 3 āļāļīāļāļāļļāļ X= 1 āļāļē A=B, Y= 1 āļāļē A>B , āđāļĨāļ° Z = 1 āļāļē A<B
āļŠāļēāļĄāļēāļĢāļāđāļāļĩāļĒāļāđāļāļāļŠāļĄāļāļēāļĢāđāļāļāļąāļāļāļāđāļāļāļĩ āđX = (a3 b3)(a2 b2)(a1 b1)(a0 b0) Y = a3 b 3 + (a3 b3)a2 b 2 + (a3 b3)(a2 b2)a1 b 1 + (a3 b3)(a2 b2)(a1 b1)a0 b 0 Z = a 3b3 + (a3 b3) a 2b2 + (a3 b3)(a2 b2) a 1b1 + (a3 b3)(a2 b2)(a1 b1) a 0b0 āđāļĄāļ·āđāļ ai bi = a i b i + aibi
āļŠāļĄāļāļēāļĢāļāļĩāđāļāļĒāļđāđāļāļĢāļđāļāļāļāļ SOP āļāđāļķāļāļāļ°āđāļ 16 āđāļāļāļąāļāđāļāļāļĄāļŠāđāļēāļŦāļĢāļąāļ x āđāļĨāļ° 15 āđāļāļāļąāļāđāļāļāļĄāļŠāđāļēāļŦāļĢāļąāļ y āđāļĨāļ° Z
Ei = ai bi , āļŠāđāļēāļŦāļĢāļąāļ i = 0,3 āļāļĩāđāļāļ·āļāđāļāļāļĄāļāļĩāđāļāļāļāļāļĨāļąāļāļĄāļēāļāļĩāđ AND āļāļēāļĢāđāļĢāļĒ āļāļĨāļļāļĄāļāļāļāļŠāļĄāļāļēāļĢāļāļ°āļāļĨāļēāļĒāđāļāļ
X = E3E2E1E0 Y = a3 b 3 + E3a2 b 2 + E3E2a1 b 1 +E3E2E1a0 b 0 Z = a 3b3 + E3 a 2b2 + E3E2 a 1b1 + E3E2E1 a 0b0
324 Digital Logic Circuit Analysis and Design
āļĢāļđāļāļāļĩāđ 6.32 PAL16L8: active low output[5]
āļĢāļđāļāļāļĩāđ 6.33 PAL18P8: programmable â polarity output [5]
Combinational Circuit Design with Programmable Logic Devices 325
āļĢāļđāļāļāļĩāđ 6.34 4-bit comparator mapped onto a PAL18P8 device [5]
326 Digital Logic Circuit Analysis and Design
6.6 Computer â aided Design Tool for PLD Design āļāļāļĄāļāļīāļ§āđāļāļāļĢāļāļ§āļĒāđāļāļāļēāļĢāļāļāļāđāļāļ CAD āļāļĩāđāļāļēāļĒāļāļĒāļđāļāļēāļĄāļāļāļāļāļĨāļēāļāđāļāļĒāļāļąāđāļ§āđāļāđāļāļāđāļāļ 2 āļāļāļīāļ
āļāļ§āļĒāļāļąāļ āļāļ·āļāļāļĢāļ°āđāļ āļāļāļĩāđāļĄāļĩāļāļēāļĢāđāļāļāļēāļāļāļĩāđāļāļēāļĄāđāļāļāļāļĩāđāļāļđāļāļēāļĒāļāđāļēāļŦāļāļāļāļķāđāļāđāļāļ·āđāļāđāļāđāļāļāļēāļ°āļāļēāļ āđāļĨāļ° āđāļāļāļāļĩāđāđāļāļāļēāļāļāļąāđāļ§āđ āđāļ(āļŦāļĢāļ·āļāđāļāļāļāļĩāđāđāļāļāļŠāļēāļāļĨ) āļāļđāļāļēāļĒāļŦāļĨāļēāļĒāđāļāļēāļāļąāļāļŦāļē CAD āđāļāļ·āđāļāļāļąāļāļāļēāļāļēāļĢāļāļāļāđāļāļāļāļĒāļēāļāđāļāļĒāđāļāļāļēāļ°āļŠāđāļēāļŦāļĢāļąāļāļāļāļāđāļāļ PLD āļāļąāļ§āļāļĒāļēāļāđāļāļ MAX+PLUS II āļāļēāļāļāļĢāļīāļĐāļąāļ Altera āđāļĨāļ° AMAZE āļāļēāļāļāļĢāļīāļĐāļąāļ Signetics āļāļĒāļēāļāđāļĢāļāđāļāļēāļĄ āļĄāļĩāļĢāļ°āļāļ CAD āļāļēāļāļĢāļ°āļāļāļāļĩāđāļŠāļāļąāļāļŠāļāļļāļāļāļēāļĢāļāļąāļāļāļēāļāļēāļĢāļāļāļāđāļāļāļāļļāļāļāļĢāļāļāļĩāđāļāļāļāđāļ PLD āđāļāļāļĒāļēāļāļāļīāļŠāļĢāļ° āđāļĨāļ°āļāļēāļāļāļąāđāļāļāđāļēāđāļāļ·āđāļāļĄāđāļĒāļāļāļēāļĢāļāļāļāđāļāļāļāļąāļāļāļļāļāļāļĢāļāļāļĩāđāđāļĨāļ·āļāļāļāļēāļ library āļāļēāļāđ āļāđāļķāļāļĄāļĩāļāļĒāļđāļĄāļēāļāļĄāļēāļĒ āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļļāļāļāļāļāđāļāļāļāļĩāđāđāļāļāļēāļāļāļąāđāļ§āđāđāļ āđāļāđāļ PALASM āļāļēāļāļāļĢāļīāļĐāļąāļ Advanced Micro Devices, CUPL āļāļēāļāļāļĢāļīāļĐāļąāļ Logical Devices , ABLE āļāļēāļāļāļĢāļīāļĐāļąāļ DATA I/O āđāļĨāļ° PLDesigner āļāļēāļāļāļĢāļīāļĐāļąāļ Minc āļāļļāļāļāļāļĄāļāļīāļ§āđāļāļāļĢāļāļ§āļĒāđāļāļāļēāļĢāļāļāļāđāļāļāļŠāđāļēāļŦāļĢāļąāļāļāļēāļĢāļāļāļāđāļāļ PLD ( PLD CAD packages) āļāļ°āļŠāļēāļĄāļēāļĢāļāđāļāđāļāļāļąāđāļāļāļēāļĢāļāļāļāđāļāļāđāļāļ·āđāļāļāļĢāļ°āļāļīāļĐāļāļāļķāđāļāļĄāļēāđāļŦāđāļĨāļ°āđāļāļēāđāļāđāļāđāļāļĢāļđāļāđāļāļāļāļąāđāļ§āđāļ āļĢāļ§āļĄāļāļķāļ schematic diagrams , logic equations , truth table āđāļĨāļ° sequential circuit state diagrams and state table āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļāļāļĩāđ 6.35 āđāļāļĨāļ°āđāļāļāļāļ°āļāļđāļ translate āļŦāļĢāļ·āļ compile āđāļŦāļāļĒāļđāđāļāļāļāļĢāļĄāļāļāļ logic equation āđāļĨāļ°āļāļēāļāļāļąāđāļāļāļ°āļāđāļēāļāļēāļĢ minimize āđāļāļĒāđāļāļ§āļīāļāļĩāļāļĩāđāļāļĨāļēāļĒāđāļāļąāļ āļāļđāļāļāļāđāļāļāļĄāļąāļāļāļ°āļĄāļĩāļāļēāļāđāļĨāļ·āļāļāļāļāļ minimization algorithm āļāđāļķāļāļāļāļāđāļĨāļ·āļāļāđāļāļēāļĢāļ°āļŦāļ§āļēāļāđāļ§āļĨāļēāļāļēāļĢāļāđāļēāļāļ§āļāļŦāļĢāļ·āļāļāļĨāļĨāļąāļāļāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄ āđāļāļ(design)āļāļĩāđāļāļēāļāļāļēāļĢ compile āđāļĨāļ§āļāļēāļāļāļ°āļāđāļēāđāļāļāđāļēāļĨāļāļ(simulate)āđāļāļ·āđāļāļāļĩāđāļāļ° verify āļāļ§āļēāļĄāļāļđāļāļāļāļ āđāļĨāļ°āđāļāļ·āđāļāļāļĢāļ°āđāļĄāļīāļ timing āđāļĨāļ° āļāļēāļĢāļēāļĄāļīāđāļāļāļĢāļāđāļ·āļāđ āđāļĄāļ·āđāļāđāļāļ(design)āļāļđāļāļāļāļāđāļĨāļ§ āļāļēāļāļāļąāđāļ logic equation āļāļ°āļāļđāļāđāļāļ·āđāļāļĄāđāļĒāļāđāļāļēāļāļąāļāļāļļāļāļāļĢāļ PLD āļāļĩāđāđāļāđāļĨāļ·āļāļāđāļ§ āļāļēāļāļēāļĢāđāļāļ(design)āđāļĄāđāļŦāļĄāļēāļ°āļŠāļĄāļāļąāļ PLD āļāļĩāđāđāļĨāļ·āļāļ āļāļđāļāļāļāđāļāļāļāļ°āļāļāļ modify āļāļąāđāļāđāļāļ(design) , āđāļĨāļ·āļāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāđāļ·āļ āļŦāļĢāļ·āļ āđāļāļ(āđāļĒāļ)āđāļāļ(design)āđāļŦāđāļāļ module āđāļ PLD āđāļāļĨāļ°āļāļąāļ āļĢāļ°āļāļ CAD āļāļēāļāļĢāļ°āļāļāļĄāļĩāļāļēāļĢāļāļāļŦāļēāļāļēāļ library āļāļāļāļāļļāļāļāļĢāļāļāļĒāļēāļāļāļąāļāđāļāļĄāļąāļāļī āđāļĨāļ°āļāđāļēāļŦāļāļ PLD āļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄāļāļĩāđāļŠāļļāļāđāļĨāļ°āļāļĢāļāļāļąāļāļāļāļāđāļēāļŦāļāļ(āđāļāļ·āđāļāļāđāļ)āļāļĩāđāļĢāļ°āļāļļāđāļ§āđāļāļāļĒāļēāļāļāļąāļāđāļāļĄāļąāļāļī āļāļēāļāļĢāļ°āļāļāļŠāļēāļĄāļēāļĢāļāļāđāļēāļāļēāļĢāđāļāļ(āđāļĒāļ)āđāļāļ(design) āđāļāļ·āđāļāļāļĩāđāļāļ°āđāļāļ·āđāļāļĄāđāļĒāļāļāļąāļ PLD āļāļēāļāđ āļŦāļĢāļ·āļāļāđāļēāļāļēāļĢāļĢāļ§āļĄāđāļāļ(design)āļāļĩāđāļĄāļĩāļāļāļēāļāđāļĨāđāļāđāļāļ·āđāļāđāļŦāđāļŦāļĄāļēāļ°āļŠāļĄāļāļąāļ PLD āļāļĨāļĨāļąāļāļāļāļāļāļāļąāđāļāļāļāļāļāļēāļĢāđāļĨāļ·āļāļāļāļļāļāļāļĢāļāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄ (device-fitting step) āļāļ·āļ fuse map āļāđāļķāļāđāļāļ map āļāļāļ fuse āđāļ PLD āļāđāļķāļāļāļ°āļĢāļ°āļāļļāļ§āļē fuse āļāļąāļāđāļāļāļĩāđāļŦāļĨāļāļĄāļĨāļ°āļĨāļēāļĒ (āļāļĢāļ°āđāļŠāđāļāļāļ°āļŦāļĒāļļāļāđāļŦāļĨāļāļąāļāļāļĩāđāļāļ·āđāļāļāļāļēāļ fuse āļĨāļ°āļĨāļēāļĒāđāļāļĢāļēāļ°āļāļĢāļ°āđāļŠāđāļāđāļĢāļāđāļāļīāļāđāļ ) āđāļĨāļ° fuse āđāļāļāļĩāđāđāļŦāļĨāļ·āļāļāļĒāļđāđāļāđāļāļ(design) āđāļāļāļĢāļāļĩāļŠāļ§āļāđāļŦāļ āļĄāļēāļāļĢāļāļēāļāđāļāļāļĄāļēāļāļĢāļāļēāļ JEDEC āļāļđāļāđāļāļŠāđāļēāļŦāļĢāļąāļ fuse map āļāļēāļāļāļąāđāļ fuse map āļāļ°āļāļđāļ down load āđāļāļ·āđāļāđāļāļĢāđāļāļĢāļĄ pattern āļāļāļ fuse āđāļŦāļāļąāļ chip āļāļļāļāļāļēāļĢāļāļāļāđāļāļ PLD āļŠāļ§āļāđāļŦāļāļāļ°āđāļāļ āļēāļĐāļēāļĢāļ°āļāļąāļāļŠāļđāļ(high-level language)āđāļāļ·āđāļāđāļŠāļāļāđāļāļ(design) āđāļ logic equation , truth table āļŦāļĢāļ·āļ sequential circuit state machine format āļāļļāļāļāļāļāđāļāļ PLD āļŦāļĨāļēāļĒāļāļļāļāļāļĩāđāļĒāļāļĄāļĢāļąāļāļāļēāļĢāļāļāļāđāļāļāļāļĩāđāļāļĢāļ°āļāļīāļĐāļāļāļķāđāļāđāļāļāļāļąāļ schematic capture program āđāļāļāļĢāļāļĩ
Combinational Circuit Design with Programmable Logic Devices 327
āđāļŦāļĨāļēāļāļĩāđ schematic āļāļ°āļāļđāļ translate āđāļāļāļĢāļđāļāđāļāļāļāļāļ logic equation āļāļēāļāļ āļēāļĐāļēāļāļĩāđāđāļāđāļāļĒāļāļļāļāļāļēāļĢāļāļāļāđāļāļ PLD āļāļąāđāļāđāļāļ āļĢāļđāļāļāļĩāđ 6.36 āļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļēāļĢāļāļāļāđāļāļPLD
āļŠāđāļēāļŦāļĢāļąāļāļāļąāļ§āļāļĒāļēāļ āļĢāļđāļāļāļĩāđ 6.38 āļāļ°āđāļŠāļāļāđāļāļāļ°āđāļāļĢāļĄāļāļāļāđāļāļāļ āļđāļĄāļīāļŠāđāļēāļŦāļĢāļąāļ 1-āļāļīāļ full adder āđāļāļāļ°āđāļāļĢāļĄāļāļĩāđāļāļīāļāļāļķāđāļāđāļāļĒ Mentor Graphic Design Architect schematic editor āđāļĨāļ°āļāļēāļĒāļāļāļāđāļāļĒ Minc PLDesigner program āļĄāļēāđāļāļāļ āļēāļĐāļē PLD āļāļĨāļĨāļąāļāļāļāļĩāđāđāļāļāļāļ PLD āđāļŠāļāļāđāļāļĢāļđāļ 6.37 āđāļĨāļ°āļāļēāļĢāļĨāļāļŠāļĄāļāļēāļĢāļĨāļāļāļīāļāđāļāļĒ PLD āļāļāļĄāđāļāđāļĨāļāļĢ āļāļĨāļĨāļąāļāļāļāļĩāđāđāļāđāļŠāļāļāđāļāļĢāļđāļ 6.38 āđāļāļŦāļąāļ§āļāļāļāļąāļāđāļāđāļāļāļāļēāļĢāđāļŠāļāļāļāļķāļ āļ āļēāļĐāļē PDL āđāļĨāļ°āļāļēāļĢāļāļāļāđāļāļāļ āļēāļĐāļē PLD āđāļāļāļāļ·āđāļ āļāļ·āļ PLD āļāļĩāđāļāļĨāļēāļĒāļāļąāļ
328 Digital Logic Circuit Analysis and Design
āļĢāļđāļ 6.36 1- bit full adder schematic diagram
6.6.1 Design Representation with PDL
PLD (PLD Designer Design Language) āļāļ·āļāļĢāļđāļāđāļāļāļāļāļ āļ āļēāļĐāļēāļĢāļ°āļāļąāļāļŠāļđāļāļāļķāđāļāđāļāđāļāļāļļāļāļāļĢāļāļāļēāļĢāļāļāļāđāļāļāļāļāļ PLD āļāļąāđāļāļŦāļĄāļ , āļŠāļēāļĄāļēāļĢāļāļāļāļāđāļāļāđāļāļŠāļĄāļāļēāļĢ , āļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļ(truth table) ,āļāļąāļāļŠāļ āļēāļ§āļ°(state diagram) , āļāļēāļĢāļēāļāļŠāļ āļēāļ§āļ°(state table) āđāļĨāļ° āļĢāļđāļāđāļāļāļāļāļāļāļĪāļāļīāļāļĢāļĢāļĄāļāļ·āđāļāđ āļāļąāļ§āļāļĒāļēāļāļāļĢāļ°āļāļāļāđāļŠāļāļāđāļāļĢāļđāļ 6.37 āđāļāļĨ PLD āļāļ°āļāļĒāļđāđāļāļŠāļ§āļāļŦāļąāļ§ āļāļēāļĢāđāļāļŠāļąāļāļĨāļąāļāļĐāļāđāļāļāļāļāļāļāļąāļāđāļĨāļ°āļāļīāļāļāļ āđāļĨāļ°āļāļēāļĢāļāļīāļĒāļēāļĄāļāļāļāļāļąāļāđāļāļ·āđāļāđāļāđāļāļāļēāļĢāļāļĢāļ°āļāļēāļĻāļŠāļąāļāļĨāļąāļāļĐāļāļāļīāļāļāļļāļāđāļĨāļ°āđāļāļēāļāļļāļ āđāļĨāļ°āļŠāļĄāļāļēāļĢāļĨāļāļāļīāļ , āļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļ(truth table) āđāļĨāļ° state machine āļāļāļāļīāļāđāļŦāđāļāļāļēāļāļāļ°āđāļāđāļāļāļēāļĢāļāļāļāđāļāļāđāļāļĨāļāļąāđāļāļŦāļĄāļāļāđāđāļ
Input āđāļĨāļ° Output Singnal Declarations
āļāļļāļāđāļāļĢāļąāđāļāļāļĩāđāļĄāļĩāļāļēāļĢāļāļāļāđāļāļāļāļ°āļĄāļĩāļāļēāļāļāđāļēāļāļ§āļāļāļāļāļāļīāļāļāļļāļāļ āļēāļĒāļāļāļāđāļĨāļ°āđāļāļēāļāļāļļāļ āđāļĨāļ°āđāļāļāļēāļāļāļĢāļāļĩāđāļāļĨāđāļ PLD āļŠāļąāļāļāļēāļāļāļ°āļāļđāļāļāļīāļĒāļēāļĄāļŦāļĢāļ·āļāļāļĢāļ°āļāļēāļĻāļāļāļāļāļāļāļāļąāļāļāļ·āđāļāđ āđāļāļāļļāļāļāļĢāļ programmable logic , āļāļīāļāļāļļāļāļ āļēāļĒāļāļāļāļŠāļēāļĄāļēāļĢāļāđāļāļāļāļīāļāļāļļāļ pin āļŦāļĢāļ·āļ I/O line āļāđāļķāļāđāļāļēāļāļāļļāļāđāļŦāļĨāļēāļāļąāđāļāļāļ° disabled āļāļąāļ§āļāļĒāļēāļāļāļāđāļāļāļĩāđāļāļ°āđāļŠāļāļāļĢāļđāļāđāļāļāļāļāļāļāļēāļĢāļāļĢāļ°āļāļēāļĻāļāđāļēāļāļ§āļāļŠāļąāļāļāļēāļāļāļīāļāļāļļāļāđāļĨāļ° āđāļāļēāļāļāļļāļ INPUT x,y [I3..I0] ; âdedicated input: OUTPUT x, [c3..c0] ; âcombinational output OUTPUT x,y ENABLED_BY oe âcombinational output with tristate drivers BIPUT x1, x2 ENABLED_BY oe âI/O line āļŠāđāļēāļŦāļĢāļąāļāļāļąāļ§āļāļĒāļēāļ āļāđāļēāļāļ§āļāļŠāļąāļāļāļēāļāļāļĩāđāđāļāļāļĨāđāļēāļāļąāļāļāļēāļāļāļ°āļāđāļēāļŦāļāļāđāļŦāđāļāļĒāđāļāļŠāļąāļāļĨāļąāļāļĐāļāļāļāļāđāļāļ§
Combinational Circuit Design with Programmable Logic Devices 329
āļĢāļđāļāļāļĩāđ 6.37 1-bit full adder PDL description generated from the schematic
āļāļĩāļĒāđāļ§āļīāļĢāļ ENABLED_BY āļāļēāļāđāļāđāļāđāļāļēāļāļāļāļļāđāļāļāļēāļ°āļāļāļāļāļāļļāļāļĢāļāļĨāļāļāļīāļāļāļāļ· S.EQN =CIN*/B*/A
+/CIN*B*/A +/CIN*/B*A +CIN*B*A ; â(4 terms)
COUT.EQN =A*CIN +B*CIN +B*A; â(3 terms)
330 Digital Logic Circuit Analysis and Design
āļāļēāļĢāļēāļāļāļĩāđ 6.5 PLD Language Logical Operations Logic Equations
āļŠāļĄāļāļēāļĢāļĨāļāļāļīāļāļāļ·āļ āļāļ§āļŠāđāļ PDL āļāđāļķāļāļĢāļ°āļāļļāđāļ§āļāļąāļāđāļāļāđāļāļĒāđāļāļĩāļĒāļāđāļ§āđāļāļāļĢāļ°āļāļēāļĐ āļāļēāļĢāļāđāļēāđāļāļīāļāļāļēāļĢāļāļāļ PDL āļĨāļāļāļīāļāđāļŠāļāļāđāļāļāļēāļĢāļēāļ 6.5 āļāđāļķāļāļāļ°āđāļŠāļāļāļĨāđāļēāļāļąāļāļāļēāļĢāļĄāļēāļāļāļ āļ§āļāđāļĨāđāļāļāđāđāļāļāļŠāļīāđāļāļŦāļāļķāđāļāļāļĩāđāļāđāļēāđāļāļāļāļāļāđāļ āļĢāļđāļāļāļĩāđ 6.39 āđāļŠāļāļāļŠāļĄāļāļēāļĢāļĨāļāļāļīāļāļāļāļāļ§āļāļāļĢ 1 â āļāļīāļ full â adder āļāđāļķāļāļāļĒāļđāđāļ PDL āļŠāļĄāļāļēāļĢāđāļ PDL āļŠāļēāļĄāļēāļĢāļāļĄāļĩāļāļīāļāļāļāđāļāļŦāļĨāļēāļĒāļĢāļđāļāđāļāļ āļāļēāļāļāļąāļ§āļāļĒāļēāļāļāļ°āđāļāļāļāļīāļāļāļ SOP āļŦāļĢāļ·āļ POS āļāļ°āļāļąāļāļāļāļāđāļāļāļāļīāļāļāļāļŦāļĨāļēāļĒāļĢāļ°āļāļąāļ āđāļĄāļ·āđāļāļāļāļāđāļāļāļāļāļĄāđāļāđāļĨāļāļĢāļāļļāļāđāļŠāļĄāļāļēāļĢāļŠāļēāļĄāļēāļĢāļāđāļāļĨāļāđāļāļāļĢāļđāļāđāļāļāļāļāļ SOP āļŠāļāļāļĢāļ°āļāļąāļāļāļĩāđāļāļāļāļāļēāļĢ AND / OR āļāļēāļĢāđāļĢāļĒ āļāļāļ PAL āđāļĨāļ°PLA āļŠāđāļēāļŦāļĢāļąāļāļāļąāļ§āļāļĒāļēāļāļĢāļđāļāļāļĩāđ 6.39b āđāļŠāļāļāđāļāļēāļāļāļļāļāļāļāļāļāļāļĄāđāļāđāļĨāļāļĢ PDL āļŠāđāļēāļŦāļĢāļąāļāļŠāļĄāļāļēāļĢ full adder āļāļāļāļĢāļđāļāļāļĩāđ 6.39a S.EQN = CIN*/B*/A +/CIN*B*/A s =(a(+)b(+)cin; +/CIN*/B*A
cout = (a*b)+(a*cin)+(b*cin); +CIN*B*A; COUT.EQN = A*CIN +B*CIN +B*A;
(a) (b) āļĢāļđāļāļāļĩāđ 6.39 āļāļēāļĢāđāļāļ full adder āđāļ PDL āļāļ§āļĒāļŠāļĄāļāļēāļĢāļĨāļāļāļīāļ
(a) āļŠāļĄāļāļēāļĢ PDL āļĨāļāļāļīāļ (b) āļāļēāļĢāļŦāļēāļŠāļĄāļāļēāļĢāļāļ§āļĒ PDL compiler
Combinational Circuit Design with Programmable Logic Devices 331
āļāļēāļĢāļāļ§āļĒāđāļāļāļēāļĢāļāļąāļāļāļēāļŠāļĄāļāļēāļĢāļĨāļāļāļīāļāđāļĨāļ° mapping āļĄāļēāļĒāļąāļāļāļļāļāļāļĢāļāđāļāļāļēāļ°āļāļļāļāđāļāļīāļāļāļļāļ , āđāļāļēāļāļāļļāļ āļŦāļĢāļ·āļ biput (bidirectional input/output) āļāļēāļāļāđāļēāļŦāļāļāđāļāļ active low āļŠāđāļēāļŦāļĢāļąāļāļāļąāļ§āļāļĒāļēāļāļĢāļđāļāļāļĩāđ 6.40 āđāļŠāļāļāļāļķāļāļāļēāļĢāđāļāļāļāļīāļāļāļāļŠāļ§āļāļīāļāļāļīāļāļāļĩāđāđāļŦāļĄāļ·āļāļāļāļąāļ
x = ab cd+ = ( a + b )( c + d ) āļāļēāļāļĢāļđāļāļāļĩāđ 6.40a āļāļ°āđāļāļāļāļēāļĢāđāļāļĨāļāļāļīāļāļāļāļāļāļĢāļđāļāđāļāļ SOP āđāļāļĒāđāļāļāļĪāļĐāļāļāļĩāļāļ Demorgan āļ§āļāļāļĢ
AND/OR āđāļāļĢāļđāļ 6.40b āļāļēāļĨāļāļāļīāļāđāļāļēāļŦāļĄāļēāļĒāļĄāļĩāļāļēāļĢāđāļāļĨāļāđāļāļĢāđāļ§āļāļĢāđāļāļāļīāļāļāļļāļ āđāļŠāļāļāđāļāļĢāļđāļ 6.40c āļāļāļĄāđāļāđāļĨāļāļĢāļāļ°āđāļāđāļ AND/OR āļāļēāļĢāđāļĢāļĒāļāļēāļāļāļīāļāļāļ SOP ab + cd āđāļĨāļ°āļŠāļĄāļĄāļļāļāļīāđāļāļēāļāļāļļāļāđāļāđāļ§āļāļĢāļāļ°āđāļāļĨāļāļĄāļąāļāļāļķāđāļāđāļŠāļāļāđāļāļĢāļđāļ 6.40d āļŠāļąāļāļāļēāļāļāļ°āļāļāļāđāļāļāļāļĩāđ active low āļāđāļķāļāđāļŠāļāļāđāļāļĢāļđāļ 6.40e OUTPUT x; x= /(a*b+c*d); (a) LOW_TRUE OUTPUT x; x= a*b + c*d; (c) OUTPUT x;
332 Digital Logic Circuit Analysis and Design
/x=a*b+c*d; (e) āļĢāļđāļāļāļĩāđ 6.40 āđāļ active â hight āđāļĨāļ° active â low device output (a) PLD description āļāļāļ ab cd+
(b) Schematic diagram (active â high output) (c) PLD description āļāļāļ x = ad+cd (d)Schematic diagram (inverted output) (e) Alternate PLD from āļāļāļ x = ab + cd
Macros
Macro āļāļ·āļāđāļāļĢāļ·āđāļāļāļāļąāļāļĢāļŠāđāļēāļŦāļĢāļąāļāļŠāļąāļāļāļēāļāļāļķāđāļāđāļāļāđāļāļĒāļāļāļāļāļąāļāļāļąāđāļāļāļ·āļ āđāļāļāļĒāļēāļāļāđāđāļēāđ āļāļąāļāļāļąāļāđāļāļīāļāļāļāļāļāļāļŠāļ§āļīāļāļāļāļīāļāļāļ°āđāļāļĨāļāļāļīāļāđāļāļāļāļēāļāđ āļŦāļĨāļēāļāļŦāļĨāļēāļĒāļĢāļđāļāđāļāļāļāļāļ macro āļŠāļēāļĄāļēāļĢāļāļāļīāļĒāļēāļĄāđāļāļāļāļąāļāļĩāđ
MACRO macro â name [(parameters)] text;
āđāļāļĨāļīāļŠāļāļāļāļĢāļđāļāļāļ°āļāļĒāļīāļēāļĄ 3 macro āļŠāļ§āļāļāļĢāļ°āļāļāļāļ§āļāļāļĢāđāļāđāļāļāļ°āđāļāļĢāļĄāļāļāļāđāļāļāļ āļđāļĄāđāļīāļāļĢāļāļđ 6.36 āļŠāđāļēāļŦāļĢāļąāļāļāļąāļ§āļāļĒāļēāļ AND āđāļāļ 2 āđāļāļ 2 āļāļīāļāļāļļāļāļāļēāđāļŦāļāļāđāļāļĒ MACRO AND2(io,i1)(io*i1) ;
āļāđāļēāļŦāļāļāļāļāļāļāļąāļ AND 2 āļāđāļķāļ AND āļĄāļĩ 2 āļāļąāļ§āđāļāļĢ io āđāļĨāļ° i1 3 copies āļāļāļ AND 2 marco āđāļāļīāļāļāļķāđāļāđāļāļāļāļāļāļąāļāļāļāļ full adder
MACRO N$11 AND2 (A,B) ; MACRO N$12 AND2 (A,CIN) ; MACRO N$13 AND2 (B,CIN) ;
āļāđāļēāļŦāļāļ 3 AND āđāļāļ 2 āļāļīāļāļāļļāļāļāļķāđāļāđāļāļĩāļĒāļāđāļāļēāļāļąāļāļāļīāļāļāļāļĨāļāļāļāļī āļāđāļķāļāļāļĒāļēāļĒāđāļāļ N$11 = A * B ; N$12 = A * CIN ; N$13 = B * CIN ;
OR āđāļāļāđāļĨāļ° XOR āļāļĩāđāđāļāđāļāļĢāļđāļāļāļĩāđ 6.36 āļāļ·āļāļāļēāļĢāļāļāļīāļāļēāļĒāđāļāļĒāđāļāļāļīāļĒāļēāļĄāļāļāļ macro āļāđāļķāļāļāļāļīāļāļēāļĒāđāļ§āđāļāļŠāļ§āļāļāļāļāļāļēāļĢāļāļīāļĒāļēāļĄāļŦāļāļēāļāļĩāđāļāļēāļĢāļāđāļēāļāļēāļ āļāļēāļĢāļŠāļĢāļēāļāļĨāļāļāļīāļāđāļāļ COUT , N$14 āđāļĨāļ°S āļāļĩāđāļāļīāļāļāļļāļāļāļāļāļĄāļąāļāļāđāļēāļāļēāļāđāļāļĒāļāļ°āļāļāļāļĄāļĩāļāļīāļāļāļļāļāļāļāļāļ§āļāļāļĢāđāļĨāļ°āđāļāļēāļāļāļļāļāļāļĩāđāđāļāļāļāļāļīāļāļāļāļ AND āđāļāļ N$11, N$12 āđāļĨāļ° N$13 āļāđāļķāļāļāļāļīāļāļēāļĒāđāļ§āđāļāļĢāļđāļ 6.38 āļāļāļāļāļēāļāļāļĩāļĒāđāļąāļāđāļŠāļāļāļāļķāļāļŠāļĄāļāļēāļĢāļāļĩāđāļŠāļĢāļēāļāļāļķāđāļāļāļēāļāļĢāļēāļĒāļāļēāļĢāļāļāļ PDL āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļ 6.37
Combinational Circuit Design with Programmable Logic Devices 333
Truth Tables āļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļāļīāļāļ°āđāļŠāļāļāļāļĨāļĢāļ§āļĄāļāļāļāļāļąāļ§āđāļāļĢāļāļīāļāļāļļāļāļāļāļāļĨāļāļāļīāļāļāļāļāļāļąāļāđāļĨāļ°āļāļēāļāļāļāļāļāļāļāļąāļ
āļŠāđāļēāļŦāļĢāļąāļāļāļēāļĢāļĢāļ§āļĄāļāļąāļāļāļāļāđāļāļĨāļ°āļāļąāļ§ āđāļāļ·āđāļāđāļāļāļāļēāļĢāļāļĢāļ°āļŦāļĒāļąāļāđāļ§āļĨāļē , āļŦāļĨāļēāļĒāđāļāļāļāļāļąāļāļāļĩāđāđāļāļāļāļĒāļāļ§āļĢāļāļ°āļāđāļēāļĄāļēāļāļĒāļđāđāļāļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļāđāļāļĒāļĩāļ§āļāļāļą āļŠāđāļēāļŦāļĢāļąāļāļāļąāļ§āļāļĒāļēāļāļāļĩāđ āđāļāļāļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļāļāļāļ full adder āļāļāļāđāļāļĢāļđāļāļāļĩāđ 6.39 āļāđāļķāļāļāđāļēāļĄāļēāđāļŠāđāļ§āđāļāļĢāļđāļāļāļĩāđ 6.41a āļĢāļđāļāļāļĩāđ 6.41 āļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļ Full adder (a) āļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļ (b) āļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļāļāļāļPLD
āļāļēāļĢāļāļāļīāļāļēāļĒ PDL full adder āļāļāļāļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļ āđāļŠāļāļāđāļāļĢāļđāļ 6.41b āļāļĢāļĢāļāļąāļāđāļĢāļāļāļ°āļāđāļēāļŦāļāļāļāļąāļ§āđāļāļĢāļāļīāļāļāļļāļāđāļĨāļ°āđāļāļēāļāļāļļāļāļāļđāļāđāļĒāļāđāļāļĒ (::) āļāļĢāļĢāļāļąāļāļāļāļĄāļēāļāļąāļ§āđāļāļĢāļāļīāļāļāļļāļ 1 āļāļąāļ§āļāļ°āļāļĒāļđāđāļāļĢāļēāļĒāļāļēāļĢāđāļĨāļ°āļāļ°āļĄāļĩāļāļēāđāļāļēāļāļāļļāļāļŠāļāļāļāļĨāļāļāļāļąāļāļāļīāļāļāļļāļ āļāļēāļāļāļāļāļēāļĢāļāļīāļāļāļēāļāļąāļ§āđāļāļĢāļāļāļāļāļīāļāļāļļāļāļāļēāļāļāļēāļāđāļāļēāļāļāļļāļāļāļāđāļ°āđāļŠāļāļāđāļāļĢāļđāļāļāļāļāļŠāļĄāļāļēāļĢāļāļĩāđāļāļīāļāļāļēāļāļąāļ§āđāļāļĢāļāļąāđāļāļāļĒāļđ 6.6.2 Processing a PDL Design File
āļŦāļĨāļąāļāļāļēāļāļāļąāđāļāļāļāļāļāļēāļĢāļāļāļāđāļāļ PDL , PDL āļāļāļĄāđāļāđāļĨāļāļĢāļāļ°āļāļđāļāđāļāđāļāļ·āđāļāđāļāļĨāđāļĨāļ°āđāļāļ·āđāļāļĨāļāļāļēāļĢāļāļāļāđāļāļāļāļķāđāļāļŠāļīāđāļāļāļąāļāļāļĨāļēāļ§āļāļ°āđāļāļĩāđāļĒāļ§āļāļāļāļāļąāļāļŦāļĨāļēāļĒāđāļāļąāđāļāļāļāļ āļāđāļķāļāļŠāļēāļĄāļēāļĢāļāđāļŠāļāļāđāļŦāđāļŦāđāļāđāļāđāļāļīāļāļāļēāļĒāļ āļēāļāļŦāļĢāļ·āļāđāļāļīāļāļāļĪāļāļīāļāļĢāļĢāļĄāđāļāđāļāļĒāđāļāļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļ (truth tables) ,āļāļēāļĢāļēāļāļŠāļ āļēāļ§āļ°(state tables) , āļŦāļĢāļ·āļāđāļāļ§āļīāļāļĩāļāđāļ·āļāđ āļāļāļĄāđāļāđāļĨāļāļĢāļāļĢāļ°āļāļāļāļāļķāđāļāđāļāļĒāļāļēāļĢāđāļāļĨāļ state machine āđāļŦāđāļāļāļŠāļĄāļāļēāļĢāļĨāļāļāļīāļāļāļĩāđāļāļĢāļ°āļāļāļāļāļ§āļĒāđāļāļēāļāļāļļāļāļāļļāļāļāļąāļ§āđāļāļĒāļĄāļĩāļāļīāļāļāļļāļāļāļĩāđāđāļāļ flip â flop āđāļāļāļāļąāļ§āļāļĢāļ°āļāļļāļ āļāļēāļĢāļāļāļāđāļāļāđāļāļĒāļāļĒāļđāđāļāļĢāļđāļāđāļāļāļāļāļāļŠāļĄāļāļēāļĢāļĨāļāļāļīāļ āđāļĨāļ°āļŠāļĄāļāļēāļĢāļāļĩāđāļāļĨāļēāļ§āļāļķāļāļāļĩāđāļāļ°āļāđāļēāđāļŦāļāļēāļĒāļāļķāđāļāđāļāļĒāļāđāļēāđāļŦāļāļĒāļđāđāļāļĢāļđāļāđāļāļ SOP 2 āļĢāļ°āļāļąāļ (two â level) āļāđāļķāļāļŠāļēāļĄāļēāļĢāļāļāđāļēāļĄāļēmapped āļāļąāļāļāļ AND / OR āļāļēāļĢāđāļĢāļĒ āļāļāļāļāļļāļāļāļĢāļ PAL āļŦāļĢāļ·āļ PLA āļāļĩāđāđāļĨāļ·āļāļāđāļ§
334 Digital Logic Circuit Analysis and Design
āđāļāļāļąāđāļāļāļāļāļāļēāļĢāļāđāļēāđāļŦāļŠāļĄāļāļēāļĢāļāļēāļĒāļāļķāđāļ āļŠāļĄāļāļēāļĢāļāļ°āļāļđāļāļĨāļāļĢāļđāļāđāļāļĒ 1 āđāļ 4 āļāļēāļāđāļĨāļ·āļāļāļāļķāđāļāļāļ°āļāđāļēāļŦāļāļāđāļāļĒāļāļđāđāļ āļāļēāļāđāļĨāļ·āļāļāđāļĢāļāđāļĄāļĨāļāļāļąāđāļāļŦāļĄāļāļāļ°āļāđāļēāđāļŦāļŠāļĄāļāļēāļĢāļāļĒāļđāđāļāļĢāļđāļāļāļāļ SOP āļāļēāļāđāļĨāļ·āļāļāļāļĩāđāļŠāļāļāđāļāļ§āļīāļāļĩāļāļāļ ESPRESSO āļāđāļķāļāļāļ°āļĨāļāļŠāļĄāļāļēāļĢāđāļāļāļĒāļēāļāļĢāļ§āļāđāļĢāđāļ§ āđāļāļĒāļāļēāļĢāđāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļāđāļēāļāļāļĒ āđāļāļĄāļąāļāđāļĄāļāđāļēāđāļāļāļ§āļēāļāļ°āđāļāļāļĨāļāļĩāļāļĩāđāļŠāļļāļ āļāļēāļāđāļĨāļ·āļāļāļāļĩāđāļŠāļēāļĄāļāļ·āļāđāļāļ§āļīāļāļĩāļāļāļ ESPRESSO āļāļąāļ Quine â McCluskey āļāļēāļāđāļĨāļ·āļāļāļāļĩāđāļŠāđāļĩāđāļāļ§āļīāļāļĩ Quine â McCluskey āļāđāļķāļāļāļ°āļāđāļēāđāļŦāđāļāļāļĨāļāļĩāļāļĩāđāļŠāļļāļāđāļāļĄāļąāļāļāļ°āļāļāļāđāļāđāļ§āļĨāļēāđāļāļāļēāļĢāļāđāļēāļāļ§āļāļāļēāļāļāļķāđāļ āđāļĨāļ°āđāļāļŦāļāļ§āļĒāļāļ§āļēāļĄāļāđāļēāļĄāļēāļāļāļķāđāļ
āļāļąāļ§āļāļĒāļēāļāļāļēāļāļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļāđāļāļĢāļđāļāļāļĩāđ 6.41 PDL āļāļāļĄāđāļāđāļĨāļāļĢāļāļ°āļāđāļēāđāļŦāļŠāļĄāļāļēāļĢāļĨāļāļāļīāļāļāļąāļāđāļāļĢāļđāļ 6.42 āđāļāļĒāļāļēāļĢāđāļāļ§āļīāļāļĩāļāļāļ ESPRESSO āđāļāļāļēāļĢāļĨāļāļĢāļđāļāļāļāļāļŠāļĄāļāļēāļĢ
COUT.EQN = A*CIN +B*CIN +B*A; â(3 terms)
S.EQN =CIN*/B*/A +/CIN*B*/A +/CIN*/B*A +CIN*B*A
āļŦāļĨāļąāļāļāļēāļāļāļĩāđāļāļāļĄāđāļāđāļĨāļāļĢāđāļĨāļ§ āļāļąāđāļāļāļāđāļāļāļ·āļāļāļēāļĢāļāļĢāļ§āļāļŠāļāļāđāļāļĒāđāļāļāļēāļĢāļāđāļēāļĨāļāļāļāļāļāļāļąāļāļāļēāļĢāļāđāļēāļāļēāļāđāļĨāļ°āļ āļēāļĐāļē PDL āļāļ°āļŠāļēāļĄāļēāļĢāļāļĒāļāļĄāđāļŦ test vector āđāļĨāļ°āļĄāļĩāļāļēāļĢāļāđāļēāļĨāļāļāđāļāļ·āđāļāļāļĩāđāļāļ°āļāđāļēāļŦāļāļāļāļ§āļĒāđāļāļĨāđāļāļāļēāļĢāļāļāļāđāļāļ āļāļēāļĢāļāļāļĄāđāļāļĨāļŠāļēāļĄāļēāļĢāļāļāđāļēāđāļāļāļąāļāļāļĩāļāļąāļāļāļāđāļāļāļĩāđ āđāļāļĒāļāļēāļĢāļāđāļēāļĨāļāļāļāļ§āļĒāđāļāļĢāļ·āđāļāļāļĄāļ·āļ PLD SIM āļāļāļ āļĢāļ°āļāļāļŠāļĢāļēāļ PLD āđāļĄāļ·āđāļāļāļēāļĢāļŠāļąāļāđāļāļĢāļēāļ°āļŦPLD āļāļđāļāļĢāļ§āļĄāđāļāļēāđāļ§āđāļāļāļēāļĢāļāļāļāđāļāļāļāļ·āđāļāđāđāļāļ Mentor Graphic Falcon Framework āļāđāļķāļāļāļąāđāļāļāļāļāļāļąāļāđāļāļāļ·āļāļāļēāļĢ mapping āļŠāļĄāļāļēāļĢāđāļŦāđāļāļĒāļąāļāļāļļāļāļāļĢāļāļāļĩāđāđāļĨāļ·āļāļ āļĢāļ°āļāļ PLDesigner āļāļ°āļĄāļĩ library āđāļĨāļ°āļāļ°āļŠāļēāļĄāļēāļĢāļāđāļĨāļ·āļāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļĩāđāļāļĩāļāļĩāđāļŠāļļāļāđāļŦāđāļŦāļĄāļēāļ°āļāļąāļāļāļēāļĢāļāļāļāđāļāļāđāļāđāļāļĒāļāļ°āđāļāļāļēāļĄāļāļāļāđāļēāļŦāļāļāļāļĩāđāļāļđāđāļāđāļāļĢāļ°āļāļļāđāļ§
āļŠāļĢāļļāļ āļŠāđāļēāļŦāļĢāļąāļāļāļāļāļĩāđāđāļĢāļēāļŠāļēāļĄāļĢāļāđāļ programmable logic device āđāļāļāļēāļĢāļāđāļēāđāļāļāļīāļāļēāļĢāļĢāļ§āļĄāļ§āļāļāļĢāļĨāļāļāļīāļ āļāļ°āļĄāļĩ
āļāļēāļĢāļāđāļēāđāļŠāļāļāđāļāļĢāļāļŠāļĢāļēāļāļ§āļāļāļĢāļāļ·āđāļāļāļēāļāļāļāļ three type āļāļāļ PLDs , āđāļĨāļ°āļāļāļīāļāļēāļĒāļāļēāļĢāļāļĢāļ°āļāļ§āļāļāļēāļĢ mapping āļĨāļāļāļīāļāļāļāļāļāļąāļ, āļĢāļ§āļĄāļāļķāļāļĄāļĩāļāļąāļ§āļāļĒāļēāļāļāļĢāļ°āļāļāļ āļāļēāļĒāļāļĩāđāļŠāļļāļāļāļāļīāļāļēāļĒāļāļēāļĢāđāļāļāļāļĄāļāļīāļ§āđāļāļāļĢāđāļāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāđāļāļāļēāļĢāļāļāļāđāļāļāđāļāļ·āļāđāļāļąāļāļāļēāļ§āļāļāļĢ PLD
Combinational Circuit Design with Programmable Logic Devices 335
āļāđāļēāļāļēāļĄāļāļēāļĒāļāļāļāļĩāđ 6 6.1 āļāļāļāļāļāđāļāļāļāļēāļĢāđāļāļĨāļ BCD to excess â 3 code āđāļāļĒāđāļ (a) Logic network (two-level NAND gate) (b) PLA(āđāļāļĢāļđāļ 6.7) (c) ROM (āđāļāļĢāļđāļ 6.25) (d) PAL (āđāļāļĢāļđāļ 6.30) 6.2 āļāļāļāđāļēāđāļāļāļīāļāļēāļĢāļāļāļāļāļąāļāļāļāđāļāļāļĩāđāđāļāļĒāđāļ (a) 4-to-16 decoder āđāļĨāļ° logic gate (b) PLA(āđāļāļĢāļđāļ 6.7) (c) ROM (āđāļāļĢāļđāļ 6.25) (d) PAL (āđāļāļĢāļđāļ 6.30) f1(A,B,C,D) = mâ (0,1,2,3,6,9,11) f2(A,B,C,D) = mâ (0,1,6,8,9) f3(A,B,C,D) = mâ (2,3,8,9,11) 6.3 āļāļāđāļ 32 x 6 ROM āđāļāļāļēāļĢāđāļāļĨāļāđāļāļāđāļĨāļāļāļēāļāļŠāļāļ 6-bit āđāļāļ 2 digit BCD
(a5a4a3a2a1a0)2 = [(x3x2x1x0)BCD (y3y2y1y0)BCD]10 āđāļāļĒāđāļŠāļāļ ROM āđāļāļĢāļđāļāđāļāļāļāļāļāļāļēāļĢāļēāļāļāļ§āļēāļĄāļāļĢāļīāļ
6.4 āļāļāđāļŠāļāļāļāļēāļĢāļāļēāđāđāļāļīāļāļāļēāļĢāļāļāļāļāļąāļāđāļāļāļ 6.2 āđāļāļĒāđāļ (a) PLS100FPLA (b) PAL16L8
6.5 āļāļāđāļŠāļāļāļāļēāļĢāļĨāļāđāļĨāļāļāļēāļāļŠāļāļāđāļāļĒāđāļ (a) PLS100FPLA
(b) PAL16L8