COE 202: Digital Logic Design Memory and Programmable Logic Devices

Slides:



Advertisements
Similar presentations
Boolean Algebra Variables: only 2 values (0,1)
Advertisements

Memory and Programmable Logic
CS1104 – Computer Organization
Lecture 11-1 FPGA We have finished combinational circuits, and learned registers. Now are ready to see the inside of an FPGA.
Registers and Decoder.
PLDs ROM : Programmable OR array
Random-Access Memory (RAM)
Overview Programmable Implementation Technologies (section 6.8)
Programmable Logic PAL, PLA.
Programmable Logic Devices
1 Programmable Logic. 2 Prgrammable Logic Organization Pre-fabricated building block of many AND/OR gates (or NOR, NAND) "Personalized" by making or breaking.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Chapter 3 – Combinational.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
CPEN Digital System Design
Parity. 2 Datasheets TTL:  CMOS: 
Chapter 6 – Selected Design Topics Part 4 – Programmable Implementation Technologies Logic and Computer Design Fundamentals.
Memory and Programmable Logic
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 6 – Selected Design Topics Part 4 – Programmable.

Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Chapter 3 – Combinational.
Multiplexers, Decoders, and Programmable Logic Devices
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
CENG 241 Digital Design 1 Lecture 12
Programmable Array Logic (PAL) Fixed OR array programmable AND array Fixed OR array programmable AND array Easy to program Easy to program Poor flexibility.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 13 – Programmable.
Figure to-1 Multiplexer and Switch Analog
EE 261 – Introduction to Logic Circuits Module #8 Page 1 EE 261 – Introduction to Logic Circuits Module #8 – Programmable Logic & Memory Topics A.Programmable.
Programmable Logic Devices, Threshold Logic
Memory and Programmable Logic
Random-Access Memory (RAM)
Chapter 5 Memory and Programmable Logic 5.1. Introduction 5.2. Random Access Memory 5.3. Memory Encoding 5.4. Read Only Memory 5.5. Programmable Logic.
Memory and Programmable Logic Dr. Ashraf Armoush © 2010 Dr. Ashraf Armoush.
PLD (Programmable Logic Device) Wednesday, October 07, ARINDAM CHAKRABORTY LECTURER,DEPT. OF ECE INSTITUTE OF ENGINEERING & MANAGEMENT.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 6 – Selected Design Topics Part 4 – Programmable.
Memory and Programmable Logic Memory device: Device to which binary information is transferred for storage, and from which information is available for.
ROM & PLA Digital Logic And Computer Design
J. Christiansen, CERN - EP/MIC
Programmable Logic Devices
ECE DIGITAL LOGIC DESIGN CHAPTER – VI PART 2 PLA AND MEMORY DEVICES
1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub.
Princess Sumaya University
Memory 10/27/081ECE Lecture. Memory Memory Types Using memory to implement logic functions 10/27/082ECE Lecture.
Chapter 0 - reVieW Combinational Logic Circuit, Combinational Logic Circuit, Propagation Delay, Propagation Delay, Programmable Logic. Programmable Logic.
Programmable Logic Devices (PLDs)
IC design options PLD (programmable logic device)
Programmable logic devices. CS Digital LogicProgrammable Logic Device2 Outline PLAs PALs ROMs.
Chapter 7 Memory and Programmable Logic
1 Chap 6. Memory and Programmable Devices Memory & Programmable Logic Device Definitions Memory –a collection of cells capable of storing binary.
Programmable Logic Devices
Gunjeet Kaur Dronacharya Group of Institutions. Outline Introduction Random-Access Memory Memory Decoding Error Detection and Correction Programmable.
Programmable Logic Devices
Chapter- 9 Programmable Logic Devices DHADUK ANKITA ENRL NO Noble Engineering College- Junagadh.
CENG 241 Digital Design 1 Lecture 13
This chapter in the book includes: Objectives Study Guide
Memory and Programmable Logic
ETE Digital Electronics
Digital Design Lecture 14
Sequential Programmable Devices
Overview Part 1 - Implementation Technology and Logic Design
Overview The Design Space Programmable Implementation Technologies
Logic and Computer Design Fundamentals
Dr. Clincy Professor of CS
This chapter in the book includes: Objectives Study Guide
ECE 434 Advanced Digital System L03
حافظه و منطق قابل برنامه ریزی
ECE434a Advanced Digital Systems L02
حافظه و منطق قابل برنامه ریزی
Dr. Clincy Professor of CS
Presentation transcript:

COE 202: Digital Logic Design Memory and Programmable Logic Devices Courtesy of Dr. Ahmad Almulhem KFUPM

Objectives Memory Programmable Logic Devices (PLD) KFUPM

Memory Memory: A collection of cells capable of storing binary information (1s or 0s) – in addition to electronic circuit for storing (writing) and retrieving (reading) information. n data lines (input/output) k address lines 2k words (data unit) Read/Write Control Memory size = 2k X n KFUPM

Memory (cont.) Two Types of Memory: Random Access Memory (RAM): Write/Read operations Volatile: Data is lost when power is turned off Read Only Memory (ROM): Read operation (no write) Non-Volatile: Data is permanent. PROM is programmable (allow special write) KFUPM

Programmable Logic Devices Programmable Logic Device (PLD) is an integrated circuit with internal logic gates and/or connections that can in some way be changed by a programming process Examples: PROM Programmable Logic Array (PLA) Programmable Array Logic (PAL) device Complex Programmable Logic Device (CPLD) Field-Programmable Gate Array (FPGA) A PLD’s function is not fixed Can be programmed to perform different functions KFUPM

Why PLDS? Fact: But: A programmable logic device can be: It is most economical to produce an IC in large volumes But: Many situations require only small volumes of ICs Many situations require changes to be done in the field, e.g. Firmware of a product under development A programmable logic device can be: Produced in large volumes Programmed to implement many different low-volume designs KFUPM

PLD Hardware Programming Technologies In the Factory - Cannot be erased/reprogrammed by user Mask programming (changing the VLSI mask) during manufacturing Programmable only once Fuse Anti-fuse Reprogrammable (Erased & Programmed many times) Volatile - Programming lost if chip power lost Single-bit storage element Non-Volatile - Programming survives power loss UV Erasable Electrically Erasable Flash (as in Flash Memory) KFUPM

Used symbol in PLD Multi-input OR gate There is a connection There is no connection conventional symbol array logic symbol Most PLD technologies have gates with very high fan-in Fuse map: graphic representation of the selected connections KFUPM

Programmable Logic Devices (PLDs) All use AND-OR structure- differ in which is programmable Fixed AND array (decoder) Programmable OR array connections Outputs Inputs Programmable read-only memory (PROM) Programmable array logic (PAL) device Programmable logic array (PLA) KFUPM

Read-Only Memory (ROM) ROM: A device in which “permanent” binary information is stored using a special device (programmer) k inputs (address)  2k words each of size n bits (data) ROM DOES NOT have a write operation  ROM DOES NOT have data inputs 2k x n ROM k inputs (address) n outputs (data) Word: group of bits stored in one location KFUPM

Internal Logic of a 32x8 ROM ROM Internal Logic The decoder stage produces ALL possible minterms 32 Words of 8 bits each 5 input lines (address) Each OR gate has a 32 input A contact can be made using fuse/anti-fuse Internal Logic of a 32x8 ROM 1 2 3 . 28 29 30 31 I0 I1 I2 I3 I4 A7 A6 A5 A4 A3 A2 A1 A0 5-to-32 decoder KFUPM

Programming a ROM Every ONE in truth table specifies a closed circuit Inputs Outputs I4 I3 I2 I1 I0 A7 A6 A5 A4 A3 A2 A1 A0 1 . 1 2 3 . 28 29 30 31 I0 I1 I2 I3 I4 A7 A6 A5 A4 A3 A2 A1 A0 5-to-32 decoder x Every ONE in truth table specifies a closed circuit Every ZERO in truth table specifies an OPEN circuit Example: At address 00011  The word 10110010 is stored KFUPM

Combinational Circuit Implementation with ROM ROM = Decoder + OR gates Implementation of a combinational circuit is easy Store the truth table by programming the ROM Only need to provide the truth table KFUPM

Example 1 Example: Design a combinational circuit using ROM. The circuit accepts a 3-bit number and generates an output binary number equal to the square of the number. Solution: Derive truth table: Inputs Outputs A2 A1 A0 B5 B4 B3 B2 B1 B0 SQ 1 4 9 16 25 36 49 KFUPM

ROM truth table – specifies the required connections Example 1 (cont.) Inputs Outputs A2 A1 A0 B5 B4 B3 B2 B1 B0 SQ 1 4 9 16 25 36 49 8 X 4 ROM A0 A1 A2 B5 B4 B3 B2 B1 B0 ROM truth table – specifies the required connections B1 is ALWAYS 0  no need to generate it using the ROM B0 is equal to A0  no need to generate it using the ROM Therefore: The minimum size of ROM needed is 23X4 or 8X4 KFUPM

Example 2 Problem: Tabulate the truth for an 8 X 4 ROM that implements the following four Boolean functions: A(X,Y,Z) = Sm(3,6,7); B(X,Y,Z) = Sm(0,1,4,5,6) C(X,Y,Z) = Sm(2,3,4); D(X,Y,Z) = Sm(2,3,4,7) Solution: 8 X 4 ROM A X B Y C Z D Inputs Outputs X Y Z A B C D 1 KFUPM

Example 3 (Size of a ROM) Problem: Specify the size of a ROM (number of words and number of bits per word) that will accommodate the truth table for the following combinational circuit: An 8-bit adder/subtractor with Cin and Cout. Solution: Inputs to the ROM (address lines) = 8 (first number) + (8 second number) + 1 (Cin) + 1 (Add/Subtract)  18 lines Hence number of words in ROM is 218 = 256K Size of each word = number of possible functions/outputs = 16 (addition/subtraction) + 1 (Cout) = 17 Hence ROM size = 256K X 17 KFUPM

Sequential Circuit Implementation with ROM Combinational Circuits inputs X outputs Z FFs next state present state sequential circuit = combinational circuit + memory Combinational part can be built with a ROM as shown previously Number of address lines = No. of FF + No. of inputs Number of outputs = No. of FF + No. of outputs KFUPM

Example Example: Design a sequential circuit whose state table is given, using a ROM and a register. State Table We need a 8x3 ROM (why?) 3 address lines and 3 data lines Exercise: Compare design with ROMs with the traditional design procedure. KFUPM

Types of ROMs A ROM programmed in four different ways: ROM: Mask Programming By a semiconductor company PROM (Programmable ROM) User can blow/connect fuses with a special programming device (PROM programmer) Only programmed once! EPROM (Erasable PROM) Can be erased using Ultraviolet Light Electrically Erasable PROM (EEPROM or E2PROM) Like an EPROM, but erased with electrical signal KFUPM

Other PLDs All use AND-OR structure- differ in which is programmable Fixed AND array (decoder) Programmable OR array connections Outputs Inputs Programmable read-only memory (PROM) Programmable array logic (PAL) device Programmable logic array (PLA) KFUPM

Programmable Logic Array (PLA) AND array and OR array are programmable XOR is available to complement an output if needed Example: 3 inputs/2 outputs F1 = A B’ + A C + A’ B C’ F2 = (AC + BC)’ Source: Mano’s textbook KFUPM

Programmable Logic Array (PLA) Example F1(A,B,C), F2(A,B,C), PLA: (3 inputs, 4 products, 2 outputs with programmable inversion) B B BC BC K-map specifications How can this be implemented with only four products? Complete the programming table Choose implementations (F or F) that use the largest # of shared products! How many products needed if we implement F1 and F2? 00 01 11 10 00 01 11 10 A A 1 1 1 A 1 1 A 1 1 1 1 F1 map F2 map C C F = A BC + A B C + A B C F = AB + AC + BC 1 2 F = AB + AC + BC + A B C 1 F = AC + AB + B C 2 PLA programming table Outputs SUM (OR) Programming Product Inputs (C) (T) term A B C F F 1 2 AB 1 1 1 – 1 1 Product (AND) Programming AC 2 1 – 1 1 1 BC 3 – 1 1 1 1 ABC 4 1 –

Programmable Logic Array (PLA) Example, Contd. Fuse intact 1 Fuse blown F 2 A B C 4 3 The 4 products AB AC BC But we actually need F1 as an O/P, not F1- So invert F1 with the XOR ABC Implement F1 using the PLA then invert it (more economical) F2 F1

Programmable Array Logic (PAL) Fixed OR array and programmable AND array Opposite of ROM Feed back is used to support more product terms AND output can not be shared here! Example: 4 inputs/4 outputs with fixed 3-input OR gates W = A B C’ + A’ B’ C D’ X = ? Y = ? Z = ? Source: Mano’s textbook KFUPM

Field Programmable Gate Array (FPGA) Xilinx FPGAs Configurable Logic Block (CLB) Programmable logic and FFs Programmable Interconnects Switch Matrices Horizontal/vertical lines I/O Block (IOB) Programmable I/O pins Source: Mano’s textbook KFUPM

More on PLDs Read Section 6.8 in the textbook Wikipedia/Youtube KFUPM