Unit 6 1.Random Access Memory (RAM) Chapter 3 Combinational Logic Design 2.Programmable Logic

Similar documents
Chapter 6 Selected Design Topics

Memory and Programmable Logic

Semiconductor Memories: RAMs and ROMs

Lecture 13: Memory and Programmable Logic

Concept of Memory. The memory of computer is broadly categories into two categories:

Microcontroller Systems. ELET 3232 Topic 11: General Memory Interfacing

Presentation 4: Programmable Combinational Devices

ELCT 912: Advanced Embedded Systems

Memory and Programmable Logic

8051 INTERFACING TO EXTERNAL MEMORY

PROGRAMMABLE LOGIC DEVICES

Review: Chip Design Styles

UNIT V (PROGRAMMABLE LOGIC DEVICES)

Read-only memory Implementing logic with ROM Programmable logic devices Implementing logic with PLDs Static hazards

Basic Organization Memory Cell Operation. CSCI 4717 Computer Architecture. ROM Uses. Random Access Memory. Semiconductor Memory Types

UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

Read and Write Cycles

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE422)

SECTION-A

MEMORY AND PROGRAMMABLE LOGIC

Chapter 5 Internal Memory

ECE/Comp Sci 352 Digital Systems Fundamentals Kewal K. Saluja and Yu Hen Hu Spring Logic and Computer Design Fundamentals.

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE4220. PROGRAMMABLE LOGIC DEVICES (PLDs)

MEMORY BHARAT SCHOOL OF BANKING- VELLORE

Logic and Computer Design Fundamentals. Chapter 8 Memory Basics

CSEE 3827: Fundamentals of Computer Systems. Storage

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

Memory and Programmable Logic

Introduction to Programmable Logic Devices (Class 7.2 2/28/2013)

Lecture-7 Characteristics of Memory: In the broad sense, a microcomputer memory system can be logically divided into three groups: 1) Processor

Programmable Logic Devices

B.Tech II Year I Semester (R13) Regular Examinations December 2014 DIGITAL LOGIC DESIGN

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS

Digital Design, Kyung Hee Univ. Chapter 7. Memory and Programmable Logic

Chapter 6 (Lect 3) Counters Continued. Unused States Ring counter. Implementing with Registers Implementing with Counter and Decoder

Memory Overview. Overview - Memory Types 2/17/16. Curtis Nelson Walla Walla University

Programmable Logic Devices (PLDs)

Principles of Digital Techniques PDT (17320) Assignment No State advantages of digital system over analog system.

Memory & Simple I/O Interfacing

Embedded Systems Design: A Unified Hardware/Software Introduction. Outline. Chapter 5 Memory. Introduction. Memory: basic concepts

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 5 Memory. Outline. Introduction

William Stallings Computer Organization and Architecture 6th Edition. Chapter 5 Internal Memory

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

COMP3221: Microprocessors and. and Embedded Systems. Overview. Lecture 23: Memory Systems (I)

Menu. word size # of words byte = 8 bits

Code No: R Set No. 1

ECSE-2610 Computer Components & Operations (COCO)

P-2 Digital Design & Applications

CS 320 February 2, 2018 Ch 5 Memory

COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK SUBJECT CODE & NAME: EC 1312 DIGITAL LOGIC CIRCUITS UNIT I

Slide Set 10. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

Chapter 8 Memory Basics

R10. II B. Tech I Semester, Supplementary Examinations, May

ELCT 501: Digital System Design

II/IV B.Tech (Regular/Supplementary) DEGREE EXAMINATION. Answer ONE question from each unit.

UMBC. Select. Read. Write. Output/Input-output connection. 1 (Feb. 25, 2002) Four commonly used memories: Address connection ... Dynamic RAM (DRAM)

Summer 2003 Lecture 18 07/09/03

END-TERM EXAMINATION

I 4 I 3 I 2 I 1 I 0 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 T-125. ROM Truth Table (Partial) 1997 by Prentice-Hall, Inc.

Computer Organization. 8th Edition. Chapter 5 Internal Memory

Organization. 5.1 Semiconductor Main Memory. William Stallings Computer Organization and Architecture 6th Edition

CREATED BY M BILAL & Arslan Ahmad Shaad Visit:

IT T35 Digital system desigm y - ii /s - iii

Code No: R Set No. 1

Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN

CENG 4480 L09 Memory 3

Programmable Logic Devices. Programmable Read Only Memory (PROM) Example

Injntu.com Injntu.com Injntu.com R16

Sir Sadiq s computer notes for class IX. Chapter no 4. Storage Devices

DKT 122/3 DIGITAL SYSTEM 1

Chapter 4 Main Memory

Experiment 3: Logic Simplification

Combinational Logic Circuits

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS

CMPE 415 Programmable Logic Devices FPGA Technology I

Memory & Logic Array. Lecture # 23 & 24 By : Ali Mustafa

Very Large Scale Integration (VLSI)

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2017 Lecture 13

Address connections Data connections Selection connections

Fig. 6-1 Conventional and Array Logic Symbols for OR Gate

William Stallings Computer Organization and Architecture 8th Edition. Chapter 5 Internal Memory

Lecture 20: CAMs, ROMs, PLAs

Introduction read-only memory random access memory

Model EXAM Question Bank

MODULE 12 APPLICATIONS OF MEMORY DEVICES:

Memory memories memory

Memory Pearson Education, Inc., Hoboken, NJ. All rights reserved.

ORG ; Week8. Memory and Memory Interfacing

Internal Memory. Computer Architecture. Outline. Memory Hierarchy. Semiconductor Memory Types. Copyright 2000 N. AYDIN. All rights reserved.

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>

Logical Design of Digital Systems

Random Access Memory (RAM)

Computer Structure. Unit 2: Memory and programmable devices

Summary. Boolean Addition

PLAs & PALs. Programmable Logic Devices (PLDs) PLAs and PALs

Lecture Objectives. Introduction to Computing Chapter 0. Topics. Numbering Systems 04/09/2017

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

Chapter 13 Programmable Logic Device Architectures

Logic and Computer Design Fundamentals. Chapter 2 Combinational Logic Circuits. Part 3 Additional Gates and Circuits

COMP2121: Microprocessors and Interfacing. Introduction to Microprocessors

Transcription:

EE 200: Digital Logic Circuit Design Dr Radwan E Abdel-Aal, COE Unit 6.Random Access Memory (RAM) Chapter 3 Combinational Logic Design 2. Logic Logic and Computer Design Fundamentals Part Implementation Technology and Logic Design (Sections 7.5-7.7) Charles Kime & Thomas Kaminski 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) (Sections 7.2-7.3). Random Access Memory (Read/Write) Storage element Memory device for data storage A latch or a flip flop stores one bit A register of m such flip flops stores m bits m = 8: Byte, m = 6: Word, m = 32: double words, m = 64: Quad words, etc. Over the years, Processors have used larger and larger registers to store/ process data: m = 4, 8, 6, 32, 64, 28 bits

Computer Storage The computer needs to store programs and data Primary Storage Solid State (Semiconductor) Memory (Random Access) Volatile Read/Write (RAM)* - Faster Speed - More Costly (per bit) - Smaller Capacity - Closer to processor Non Volatile (e.g. for booting) Read Only (ROM) Secondary (Mass) Storage Discs, tapes, CDs (Sequential Access) Now new mass storage devices are Solid State (semiconductor)! Static Dynamic SRAM ROM PROM EPROM EEPROM? DRAM: - Larger Capacity - Cheaper per bit - Lower power - But needs continuous refreshing to maintain data * Misnomer Why? The Read/Write becoming a misnomer as well! Chapter 3 - Part 3 Random Access (Read/Write) Memory (RAM) - A RAM memory Chip effectively contains a number of registers - Why random access? Time taken to transfer data to or from any address (storage location) is the same regardless of the address - This is different from sequential storage, e.g. Disc, CD, or tape Example: 024 ( k) locations 6-bit each Chapter 3 - Part 4 2

Size or Storage Capacity of a Memory Device # of storage locations x width of each location (bits) Address = k bits, Data width = n Number of registers (storage locations) = 2 k locations Each location is m-bit wide Memory size is 2 k locations x n bits each Total storage Capacity in bits: Number of storage locations x width of data in each location Example: k = 0, n = 8 Size: 2 0 locations x 8 bits each K Bytes of storage = K Bytes = 8 K bits Can be pin R/W Address bus Control bus Chip Select (Enable) (write) (read) Data bus Usually on the same (bidirectional) data pins, with opposite directions enabled for reads and writes What is k, n for a 64 K x Byte memory? RAM Memory Read and Write Operations Write: Enable the memory device (Chip Select) Apply the address of the location you want to write to Apply the data to be written to data I/P pins Activate the WRITE Control input Data on the input pins are written into addressed location Chip Select READ: Enable the memory device (Chip Select) Apply the address of the location you want to write to Activate the READ Control input Data stored at addressed location appears at the Data O/P pins (are read) after some propagation delay (access time) 3

Memory Write and Read Cycles Processor 0 Data at I/Ps into addressed location here t setup t hold Data must be valid here Memory Write and Read Cycles Processor Access time (e.g. 20 ns) Old data on the O/P data bus New data retrieved from the addressed location 4

Types of RAM (Read/Write) Memories Two Basic Types: Static RAM (SRAM): Data stored in latch ( latch per bit) and remains as long as power remains ON -bit Cell 4 Transistors SRAM Dynamic (DRAM): Data stored as a charge on a capacitor can be lost due to leakage, needs to be periodically refreshed, otherwise data will be lost even with power ON Comparison: Speed, Cost, Density, Applications () Bit Only Transistor Per -bit cell Bare Circuits (Storage Only) Write Read DRAM Modeling a Complete bit circuit (BC) with controls = to select bit Here, a cell that is not selected Produces a (0/) O/P? Data Q Data Encapsulated SR=00: No Change (Read) /0 Chapter 3 - Part 0 5

4 words (locations) x 4 bits (6-bit) RAM With Direct Decoding ( Enable for each word ) A0 Bus A Select all bits in a row (word) 4-bit (Write) Bus Bit Control I/P to all bits in a column Word (location) 0 puts 0s on all word select lines To all bits Problem: large RAMs require large decoders K Byte RAM: Decoder has K 0-input ANDs 4-bit (Read) Bus Represents 4 wires I/Ps to the OR Tri-state Can help! Chapter 3 - Part Solution: 2-D Decoding (2 Enables for each word) Uses 2 smaller (/2 size) decoders (, Y) K Words Memory (0-bit address: 0 address pins on the chip) Use two 5-to-32 decoders LS Half of address bits Decoder has 32 gates (5 I/Ps) 2 wires enable the selected word MS Half of address bits Each Decoder now has 32 gates (of 5 I/Ps each) Verify: This reduces # of AND gates needed for building decoders by a factor of 6 Chapter 3 - Part 2 6

Further Improvements for DRAM Address Multiplexing (reduced the # of address pins DRAMs are large in capacity Their large address needs a Large number of pins on the chip We can half the number of pins If we use separate registers for the row and column Addresses on the chip 64K = 2 6 locations (6-bit address) Row, then Column The 6 bit address is Supplied to the chip on only 8-pins:. Row part with the RAS signal 2. Column part with the CAS signal Helps reduce the physical size of DRAM chips 8 ½ normal size of the address bus of 6 bits 256 row enables 8 256 column enables = 64 K bits In a 2-D array 256 rows x 256 columns Chapter 3 - Part 3 2. Logic Implementation Technologies Overview Why programmable logic? logic: Technologies and Configurations Examples of Logic Devices: Read-Only Memory (ROM) Array Logic (PAL) Logic Array (PLA) VLSI Logic Devices (Field Gate Arrays- FPGA) Chapter 3 - Part 4 7

The Rationale: Why Logic? Facts: (Economy of Scale) It is most economical to produce ICs in large volumes But: In many situations users require: ICs in smaller volumes Integrated Circuits Frequent changes to be done in the field, e.g. on the Firmware of a product under development A programmable logic device can be a good compromise: Produced in large quantities But also allows users to program it many times* (in the field) to accommodate changes on small volumes (*nowadays: erasable, reprogrammable, etc.) 5 Logic Concept Locations of connections inserted/removed by user determine the logic function implemented Chapter 3 - Part 6 8

Hardware Programming Technologies How connections are made: The ROM case ROM: In the Factory (not user-programmable) Cannot be erased or reprogrammed by user Programmed permanently through the VLSI mask during manufacturing of the chip PROM: only once, e.g. using fusible links (metal connections) many times (Erase & then Re-program) Ultra-Violet (UV) Erasable, e.g. EPROMs (off situ) Electrically Erasable, (in situ) e.g. EEPROMs Flash Memory Chapter 3 - Part 7 Logic Configurations: (SOm or SOP) All use AND-OR structure- differ in which is programmable AND OR How many Possibilities? Connections to the AND Connections to the OR Fixed Read Only (non-volatile) Memory (PROM) Fixed Array Logic (PAL) Logic Array (PLA) (Maximum flexibility) 8 9

ROM, PAL and PLA Configurations Inputs Fixed Connections PROM Fixed AND array (e.g. decoder) Connections (a) read-only memory (PROM) OR array Outputs Inputs Connections AND array Fixed Connections Fixed OR array Outputs PAL (b) array logic (PAL) device Inputs Connections AND array Connections OR array Outputs PLA (c) logic array (PLA) device Chapter 3 - Part 9 Wiring Conventions for Logic We deal with a large number of gates and gate inputs Need a more concise way of expressing gate circuits graphically Inputs Inputs (literals) A A B B wire F marks a connection, i.e. an input to the OR For the connections shown, F =? Chapter 3 - Part 20 0

a. Read Only Memory (ROM): &: Fixed- OR: Prog sum of fixed minterms Example: 8 4 PROM (n = 3 i/p (address) lines, m = 4 o/p lines) The fixed "AND" array is in a 3-to-8 decoder giving all 8 minterms "OR s. We use a single line to A B represent all inputs to an LSB C OR gate. An in the n I/Ps array indicates connecting the minterm to the OR Example: For input (A,B,C) = 00: output is (F 3,F 2,F,F 0 ) = 00. 8 3-input fixed ANDs give all 8 minterms m0 Exercise: Express the F as - Σm() - an algebraic expression in A,B,C A2 A A0 D0 D D2 D3 D4 D5 D6 D7 m O/Ps m7 F3 F2 F F0 2 n x m Connections 8 Minterms ROM 3-input 4-output CL cct seen differently This ROM implements this truth table Can look at it in several ways: - As an 8 words x 4-bit memory: at address 000 we permanently stored data 0 (non volatile) - As a look-up table: Enter I/P 000 you get corresponding O/P 0 - As an implementation of 3-I/P 4 O/P Combinational Logic (Using a decoder and 4 OR gate- Unit 3) Chapter 3 - Part 22

Read Only Memory (ROM): n i/ps to m o/ps 2 n permanent storage locations x m bits each A Read Only Memory (ROM) has: n input (address) lines 2 n storage locations, 2 n minterms m output lines (word width for each storage location) A Fixed array of 2 n AND gates implements all the n-input minterms Obtained from an n-to-2 n decoder Array of m OR gates to form m Som outputs. The program for a PROM is simply the multiple-output truth table to be implemented For a at an output in the table, a connection is made from the corresponding minterm to the corresponding OR gate For a 0 entry, no connection is made Can be viewed as a memory with the m inputs as addresses of data (output values), hence ROM or PROM names! Device on previous slide is an 8 x 4 memory (8 locations x 4-bit wide) Truth table is a listing of the memory contents at each input address Chapter 3 - Part 23 Read Only Memory (ROM) Advantages/Limitations Q. For M (Mega) Byte PROM Device (M locations x 8 bits) n # of Input (address) lines n =? # of Output lines m =? M B PROM Advantages of ROMs: (= advantages of the canonical form) Can implement any function (since all minterms of the input variables are available!) PROM Program is derived directly from the truth table specifying the information to be stored Disadvantages: (disadvantages of the canonical form- No SOP optimization) As n increases Large Decoders needed (2 n AND gates, each having n inputs) Chapter 3 - Part 24 Example G byte memory? Sizes m 2

ROM-based Designs (Canonical Form), Som for Combinational & Sequential circuits For Combinational Circuits: ROMs can be used to implement a combinational circuit given its truth tables Example: Look up table example: 3 ; is a 4-bit Cuber 3 unsigned integer You should be able to determine the minimum ROM size (# of locations x word size) required for a given problem For Sequential Circuits: Use ROMs to implement the combinational part of the sequential circuit ROM-based Designs: Combinational Circuits: Individual O/Ps Example : Implement the following two combinational functions using a ROM F (,Y) = m (,2,3) F2 (,Y) = m (0,2) Solution should: Specify the smallest ROM required: ROM has n = 2 inputs ( 2 2 = 4 locations) and m = 2 outputs ( Each location has 2 bits) i.e. a 4 x 2 bit ROM Specifying the ROM data content (to be programmed into the ROM): Directly from the truth table of the two functions Show the connection diagram for this ROM (Decoder + ORs) Index 0 2 3 Give Logic Diagram ROM Programming Table 3

ROM-based Design Examples: Combinational Circuits: Look-up Tables Example 2: 2 look-up table, is 3-bit binary number Specification: Use a ROM to implement a combinational circuit that accepts a 3-bit unsigned binary number at the input and generates its squared value at the output. 2 Formulation: 8 x 6 bits ROM, Truth Table Observations on the truth table:. Output B 0 = Input A 0 2. Output B = Always 0 8 Locations 6 bits No need to store data for B0 and B This reduces the size of the ROM required from 8 x 6 bits to 8 x 4 bits ROM-based Designs: Combinational Circuits : Look-up Tables Example 2, Continued Truth Table for Reduced ROM 8 Locations Implementations of the 2 Look-up Table: 4 bits 4

ROM-based Designs: Sequential Circuits Conventional Design Individual FFs ROM-Register Sequential Cct Design Very compact! Present State Assume D type FFs: D inputs ROM provides O/P per FF (= Next state!) Present State ROM Input (address) ROM Output (data stored at each address) ROM-based Designs: Sequential Circuit- D FF D-type The ROM Required Present State Inputs to FFs D- FF: per FF External I/P Careful with order of inputs Q2 Q LSB Q2+ Q+ Y External O/P Organization Assume D type FFs: ROM provides O/P per FF ROM Truth Table Derive the state diagram For this sequential circuit Present State I/P Next State O/P 5

Array Logic (PAL) PAL is the opposite of the ROM, having a set of programmable ANDs combined with a set of fixed ORs- ( = has selectable I/Ps) PAL has some outputs from OR terms that can be fed back (as internal inputs) to all other AND terms, allowing implementation as multi-level (>2) logic circuits Some PALs have outputs that can be complemented, allowing F implementation as a POS: F = F Advantages over ROM SOP Allows optimized implementation as Sum of a few Products (usually not all minterms would be available) For a given total # of gates, a PAL can support larger n and m than a ROM Limitation:. Functions with many products: may not be possible 2. Sharing of products between sections is not possible! multiple generation! Chapter 3 - Part 32 6

PAL Example sum of > 3 products Remove all unused connections Product term AND gates inputs A A B B C C D D W W For this totally unused product, Leave all connections intact A Why? 2 3 4 W All fuses intact (always = 5 0) F: Deceptively 2-level! but its is not! 5 F Opposite of ROM: AND I/Ps: programmable OR I/Ps: Fixed B 6 7 8 9 Handling a sum of > 3 products F2 C For a totally unused product, Leave all connections intact D 0 2 A A B B C C D D W W Fuse intact Fuse blown For Unused Section: O/P = 0 or? Chapter 3 - Part 33 PAL Programming Table Equations: F = A B C + A B C + A B C + ABC F2 = AB + BC + AC F was factored - has four terms (> 3) Factor out last two terms as W Product term AND Inputs A B C D W 0 0 Keep True & remove other. 2 Full gate not used. 3 Keep both * * * * * 4 0 0 5 0 0 6 7 8 9 Keep Complement. & remove other Remove both connections Outputs W = A BC + ABC F = = A B C + AB C + W = W PAL Programming Table F2 = Y = AB + BC +AC Section PAL comes with all Connections made. 0 Unused Section Connections that are 2 Keep All Connections 0 O/P not needed should be removed How many connections are removed for product Chapter?, for 3 product - Part 3? 34 7

c. Logic Array (PLA) Programming at both the product and the sum levels n inputs (n = 3) A B What are the equations for F and F 2? Note: Now Products can be shared among O/Ps C 3 groups of Connections, Get size of each group of connections for a PLA with: n inputs, p products, m outputs CC B B AA 0 PLA with 3-inputs, 4 product terms, 2-outputs, & programmable output inversions 2 3 4 A B B C A C A B p products (p = 4) Fuse intact Fuse blown Programming the Output inversions F m outputs (m = 2) F 2 F 2 Express F2 as a SOP Chapter and 3 POS - Part 35 Logic Array (PLA) Compared to ROMs and PALs, PLA is the most flexible & economical programmable device: having programmable ANDs, programmable ORs, and even programmable output inversions! Advantages More concise implementations than ROM Uses K-map optimized products Allows larger 2-level sums than with PALs: All product terms are available for sharing by all summing Ors You do not have to generate a product more than once as in PAL PLAs have outputs that can be complemented, so a SOP can be that of either F or F, whichever proves more optimal - globally But still The limited # of product terms can limit the application of a PLA. Solution: Use global multiple-output optimization to reduce the number of product terms required to fit it into the PLA. Chapter 3 - Part 36 8

PLA Global Optimization Example F(A,B,C), F2(A,B,C), PLA: (3 inputs, 4 products, 2 outputs with programmable o/p inversion) BC K-map A specifications 0 0 How can this be implemented A with only four products? Complete the programming table Choose implementations (F or F) that has the largest # of shared products! Is this PLA enough if we choose to implement F & F2 directly? 00 0 0 0 C F = A BC + A B C + A B C F = AB + AC + BC + A B C AB AC BC ABC B 0 0 0 PLA programming table Product term 2 3 4 Inputs A B C BC A A F map 0 0 0 C F2 map F 2 = AB + AC + BC F 2 = AC + AB + BC 0 00 0 0 0 0 Outputs (C) F 0 (T) F 2 B 0 SUM (OR) Programming (Vertically) Product (AND) Programming (horizontally) Chapter 3 - Part 37 Logic Array (PLA) Example, Contd. A B C Good sharing of products! The 4 products AB Give algebraic expressions of F and F2 C C B B A A 2 3 4 F2 F We implement F as a SOP Using the PLA and then invert it, as this is more economical AC BC ABC Fuse intact Fuse blown 0 But we actually need F as an O/P, not F- So invert F With the OR F F 2 Chapter 3 - Part 38 9