Combinational Circuit Design with Programmable Logic Devices

49
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 āđāļĨāļ°āļˆāļēāļāļ™āļąāđ‰āļ™ āļ—āđāļēāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āļ§āļīāļ˜āļĩāļ—āļĩāđˆāļˆāļ°āļ—āđāļēāđƒāļŦāđ€āļ‹āļĨāļĨāđ€āļŠāļ·āđˆāļ­āļĄāļ•āļ­āļāļąāļ™

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

306 Digital Logic Circuit Analysis and Design

āļĢāļđāļ›āļ—āļĩāđˆ 6.16 Philips PLS100/101 FPLA[4]

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