ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

Similar documents
EECS150 - Digital Design Lecture 23 - FSMs & Counters

FSM Optimization. Counter Logic Diagram Q1 Q2 Q3. Counter Implementation using RS FF 10/13/2015

ECE380 Digital Logic

Lecture 7: Logic design. Combinational logic circuits

EECS150 - Digital Design Lecture 18 - Counters

EECS150 - Digital Design Lecture 18 - Counters

ELEC Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10)


King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department

EECS150 - Digital Design Lecture 11 - Shifters & Counters. Register Summary

EECS150 - Digital Design Lecture 17 - Sequential Circuits 3 (Counters)

Department of Electrical & Electronics EE-333 DIGITAL SYSTEMS

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.

EECS Components and Design Techniques for Digital Systems. FSMs 9/11/2007

LOGIC CIRCUITS. Basic Experiment and Design of Electronics

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits

CPE100: Digital Logic Design I

ALU, Latches and Flip-Flops

Reg. No. Question Paper Code : B.E./B.Tech. DEGREE EXAMINATION, NOVEMBER/DECEMBER Second Semester. Computer Science and Engineering

Ch 7. Finite State Machines. VII - Finite State Machines Contemporary Logic Design 1

Logic. Combinational. inputs. outputs. the result. system can

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 7 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

Appendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs

CPE100: Digital Logic Design I

The Design Procedure. Output Equation Determination - Derive output equations from the state table

Digital Electronics Sequential Logic

Chapter 7. Sequential Circuits Registers, Counters, RAM

EECS150 - Digital Design Lecture 25 Shifters and Counters. Recap

Lecture 10: Synchronous Sequential Circuits Design

( c) Give logic symbol, Truth table and circuit diagram for a clocked SR flip-flop. A combinational circuit is defined by the function

Fundamentals of Computer Systems

CSE140: Components and Design Techniques for Digital Systems. Midterm Information. Instructor: Mohsen Imani. Sources: TSR, Katz, Boriello & Vahid

Sequential Logic Worksheet

Philadelphia University Student Name: Student Number:

Models for representing sequential circuits

Synchronous Sequential Logic

Fundamentals of Computer Systems

Timing Constraints in Sequential Designs. 63 Sources: TSR, Katz, Boriello & Vahid

EEE2135 Digital Logic Design

Digital Electronics Circuits 2017

Review for B33DV2-Digital Design. Digital Design

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Digital Logic

Show that the dual of the exclusive-or is equal to its compliment. 7

Sample Test Paper - I

IE1204 Digital Design. L10: State Machines (Part 2) Masoumeh (Azin) Ebrahimi Elena Dubrova

Fundamentals of Digital Design

Introduction EE 224: INTRODUCTION TO DIGITAL CIRCUITS & COMPUTER DESIGN. Lecture 6: Sequential Logic 3 Registers & Counters 5/9/2010

Adders allow computers to add numbers 2-bit ripple-carry adder

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

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

CPE/EE 422/522. Chapter 1 - Review of Logic Design Fundamentals. Dr. Rhonda Kay Gaede UAH. 1.1 Combinational Logic

FSM model for sequential circuits

EECS150 - Digital Design Lecture 16 Counters. Announcements

S.Y. Diploma : Sem. III [DE/ED/EI/EJ/EN/ET/EV/EX/IC/IE/IS/IU/MU] Principles of Digital Techniques

Clocked Sequential Circuits UNIT 13 ANALYSIS OF CLOCKED SEQUENTIAL CIRCUITS. Analysis of Clocked Sequential Circuits. Signal Tracing and Timing Charts

Principles of Computer Architecture. Appendix B: Reduction of Digital Logic. Chapter Contents

PAST EXAM PAPER & MEMO N3 ABOUT THE QUESTION PAPERS:

Review: Designing with FSM. EECS Components and Design Techniques for Digital Systems. Lec 09 Counters Outline.

Problem Set 9 Solutions

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS6201 DIGITAL PRINCIPLES AND SYSTEM DESIGN

Synchronous Sequential Circuit Design. Digital Computer Design

DE58/DC58 LOGIC DESIGN DEC 2014

Fundamentals of Boolean Algebra

3. Complete the following table of equivalent values. Use binary numbers with a sign bit and 7 bits for the value

Parity Checker Example. EECS150 - Digital Design Lecture 9 - Finite State Machines 1. Formal Design Process. Formal Design Process

10/12/2016. An FSM with No Inputs Moves from State to State. ECE 120: Introduction to Computing. Eventually, the States Form a Loop

WORKBOOK. Try Yourself Questions. Electrical Engineering Digital Electronics. Detailed Explanations of

Sequential Logic. Road Traveled So Far

Vidyalankar S.E. Sem. III [CMPN] Digital Logic Design and Analysis Prelim Question Paper Solution

DIGITAL LOGIC CIRCUITS

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing

3 Logic Function Realization with MSI Circuits

14.1. Unit 14. State Machine Design

Let s now begin to formalize our analysis of sequential machines Powerful methods for designing machines for System control Pattern recognition Etc.

Example: vending machine

Lecture A: Logic Design and Gates

Sequential vs. Combinational

Memory, Latches, & Registers

Review: Designing with FSM. EECS Components and Design Techniques for Digital Systems. Lec09 Counters Outline.

COMBINATIONAL LOGIC FUNCTIONS

Lecture 3 Review on Digital Logic (Part 2)

ELCT201: DIGITAL LOGIC DESIGN

Homework Assignment #1 Solutions EE 477 Spring 2017 Professor Parker

For smaller NRE cost For faster time to market For smaller high-volume manufacturing cost For higher performance

Counters. We ll look at different kinds of counters and discuss how to build them

ECE/Comp Sci 352 Digital Systems Fundamentals. Charles R. Kime Section 2 Fall Logic and Computer Design Fundamentals

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department

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

SAU1A FUNDAMENTALS OF DIGITAL COMPUTERS

CHAPTER 7. Exercises 17/ / /2 2 0

Latches. October 13, 2003 Latches 1

Digital Logic and Design (Course Code: EE222) Lecture 19: Sequential Circuits Contd..

Sequential Logic Design: Controllers

Different encodings generate different circuits

BER KELEY D AV IS IR VINE LOS AN GELES RIVERS IDE SAN D IEGO S AN FRANCISCO

COEN 312 DIGITAL SYSTEMS DESIGN - LECTURE NOTES Concordia University

University of Toronto Faculty of Applied Science and Engineering Final Examination

Combinational Logic. Mantıksal Tasarım BBM231. section instructor: Ufuk Çelikcan

CS470: Computer Architecture. AMD Quad Core

Transcription:

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

TIMING ANALYSIS

Overview Circuits do not respond instantaneously to input changes Predictable delay in transferring inputs to outputs Propagation delay Sequential circuits require a periodic clock Goal: analyze clock circuit to determine maximum clock frequency Requires analysis of paths from flip-flop outputs to flipflop inputs Even after inputs change, output signal of circuit maintains original output for short time

Sequential Circuits Sequential circuits can contain both combinational logic and edge-triggered flip flops A clock signal determines when data is stored in flip flops Goal: How fast can the circuit operate? Minimum clock period: T min Maximum clock frequency: f max Maximum clock frequency is the inverse of the minimum clock period 1/T min = f max Clock Period Clock

Combinational Logic Timing: Inverter A Y A Y t c d t p d Combinational logic is made from electronic circuits An input change takes time to propagate to the output The output remains unchanged for a time period equal to the contamination delay, t cd The new output value is guaranteed to valid after a time period equal to the propagation delay, t pd

Combinational Logic Timing: NOR Gate The output is guaranteed to be stable with old value until the contamination delay Unknown values shown in waveforms as Xs The output is guaranteed to be stable with the new value after the propagation delay

Combinational Logic Timing: complex circuits T pd = 2ns T cd = 1ns A Circuit X T pd = 3ns T cd = 1ns C A B Circuit X C B T pd = 5ns T cd = 1ns Propagation delays are additive Locate the longest combination of t pd Contamination delays may not be additive Locate the shortest path of t cd Find propagation and contamination delay of new, combined circuit

Clocked Device: Contamination and Propagation Delay D Clk Q Timing parameters for clocked devices are specified in relation to the clock input (rising edge) Output unchanged for a time period equal to the contamination delay, t cd after the rising clock edge New output guaranteed valid after time equal to the propagation delay, t Clk-Q Follows rising clock edge t cd t Clk-Q

Clocked Devices: Setup and Hold Times t s t h D Clk Q Timing parameters for clocked devices are specified in relation to the clock input (rising edge) D input must be valid at least t s (setup time) before the rising clock edge D input must be held steady t h (hold time) after rising clock edge Setup and hold are input restrictions Failure to meet restrictions causes circuit to operate incorrectly

Edge-Triggered Flip Flop Timing D CLK t h = hold time t s = setup time The logic driving the flip flop must ensure that setup and hold requirements are met Timing values (t cd t pd t Clk-Q t s t h )

Analyzing Sequential Circuits CLK D T Clk-Q = 5ns Comb. Logic T Clk-Q = 5 ns T s = 2 ns D Q D Q FFA X T pd = 5ns G Y FFB Z What is the minimum time between rising clock edges? T min = T CLK-Q (FFA) + T pd (G) + T s (FFB)

Analyzing Sequential Circuits T pd = 4ns Comb. Logic F CLK Comb. Logic H D Q D Q FFA T Clk-Q = 5ns What is the minimum clock period (T min ) of this circuit? Hint: evaluate all FF to FF paths Maximum clock frequency is 1/T min X T pd = 5ns Y FFB T Clk-Q = 4 ns T s = 2 ns Z

Analyzing Sequential Circuits T pd = 4ns F max = Comb. Logic F CLK Comb. Logic H D Q D Q FFA T Clk-Q = 5ns X T pd = 5ns T Clk-Q = 4 ns T s = 2 ns Path FFA to FFB T Clk-Q (FFA) + T pd (H) + T s (FFB) = 5ns + 5ns + 2ns = 12ns Path FFB to FFB T CLK-Q (FFB) + T pd (F) + T pd (H) + T s (FFB) = 4ns + 4ns + 5ns + 2ns Y FFB Z

Analyzing Sequential Circuits: Hold Time Violation T T h = 2 ns cd = 1ns T cd = 2ns CLK D X Comb. Logic D Q D Q FFA G Y FFB Z One more issue: make sure Y remains stable for hold time (T h ) after rising clock edge Remember: contamination delay ensures signal doesn t change How long before first change arrives at Y? T cd (FFA) + T cd (G) >= T h 1ns + 2ns > 2ns

Analyzing Sequential Circuits: Hold Time Violations All paths must satisfy requirements T cd = 1ns Comb. Logic F CLK Comb. Logic H D Q D Q FFA T ClD = 1ns T ClD = 1 ns T h = 2 ns Path FFA to FFB T CD (FFA) + T CD (H) > T h (FFB) = 1 ns + 2ns > 2ns X T cd = 2ns Y FFB Z Path FFB to FFB T CD (FFB) + T CD (F) + T Cd (H) > T h (FFB) = 1ns + 1ns + 2ns > 2ns

Summary Maximum clock frequency is a fundamental parameter in sequential computer systems Possible to determined clock frequency from propagation delays and setup time The longest path determines the clock frequenct All flip-flop to flip-flop paths must be checked Hold time are satisfied by examining contamination delays The shortest contamination delay path determines if hold times are met

Carry-Look Ahead Adders

Overview Ripple Adders are slow. Need time for each carry to propagate to the next step. Can we generate the carry inputs on the same timescale as the sum? Complexity versus delay issues.

Ripple Adder Ripple adder delays output due to rippling

Full Adder (See Week 4) Full adder includes carry in C i Karnaugh map for S i. C i x i y i S i C i+1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 C i x i y i 0 1 00 01 11 10 1 1 1 1 S i S i = C i x i y i + + C i x i y i + + C i x i y i + + C i x i y i

Full Adder Implementation of carry out Minimize circuit for carry out - C i+1 C i x i y i S i C i+1 C i x i y i 00 01 11 10 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 C i+1 C i+1 = x i y i + C i x i + C i y i

Delays Delay in generating n th sum bit:

Carry look-ahead Generate Function: Propagate Function:

Carry Look Ahead Adder

Complete Circuit Delays

Two Level

To do Read up hierarchical adders. Read notes on Carry-Save adder.

STATE REDUCTION

Overview Important to minimize the size of digital circuitry Analysis of state machines leads to a state table (or diagram) In many cases reducing the number of states reduces the number of gates and flops This is not true 100% of the time In this course we attempt state reduction by examining the state table Other, more advanced approaches, possible Reducing the number of states generally reduces complexity.

FSM Comparison Solution A Moore Machine output function only of PS maybe more state synchronous outputs no glitching one cycle delay full cycle of stable output Solution B Mealy Machine output function of both PS & input maybe fewer states asynchronous outputs if input glitches, so does output output immediately available output may not be stable long enough to be useful:

FSM Recap Moore Machine Mealy Machine Both machine types allow one-hot implementations.

FSM Optimization State Reduction: Motivation: lower cost fewer flip-flops in one-hot implementations possibly fewer flip-flops in encoded implementations more don t cares in next state logic fewer gates in next state logic Simpler to design with extra states then reduce later. Example: Odd parity checker Moore machine

State Reduction Row Matching is based on the state-transition table: If two states have the same output and both transition to the same next state or both transition to each other or both self-loop then they are equivalent. Combine the equivalent states into a new renamed state. Repeat until no more states are combined State Transition Table NS output PS x=0 x=1 S0 S0 S1 0 S1 S1 S2 1 S2 S2 S1 0

FSM Optimization Merge state S2 into S0 Eliminate S2 New state machine shows same I/O behavior Example: Odd parity checker. State Transition Table NS output PS x=0 x=1 S0 S0 S1 0 S1 S1 S0 1

Row Matching Example (Mealy) State Transition Table NS output PS x=0 x=1 x=0 x=1 a a b 0 0 b c d 0 0 c a d 0 0 d e f 0 1 e a f 0 1 f g f 0 1 g a f 0 1

Row Matching Example NS output PS x=0 x=1 x=0 x=1 a a b 0 0 b c d 0 0 c a d 0 0 d e f 0 1 e a f 0 1 f e f 0 1 Reduced State Transition Diagram NS output PS x=0 x=1 x=0 x=1 a a b 0 0 b c d 0 0 c a d 0 0 d e d 0 1 e a d 0 1

Partitioning Minimization (Moore) State Transition Table NS output PS x=0 x=1 a b c 1 b d f 1 c f e 0 d b g 1 e f c 0 f e d 0 g f g 0 Step 1: P1= (abcdefg) Step 2: P2=(abd)(cefg) Step 3: (abd) 0-successors (bdb) (abd) 1-successors (cfg) (cefg) 0-successors (ffef) (cefg) 1-successors (ecdg) P3: (abd)(ceg)(f)

Partitioning Minimization Step 3: P3: (abd)(ceg)(f) State Transition Table NS output PS x=0 x=1 a b c 1 b d f 1 c f e 0 d b g 1 e f c 0 f e d 0 g f g 0 Step 4: (abd) 0-successors (bdb) (abd) 1-successors (cfg) b must be removed (ceg) 0-successors (fff) (ceg) 1-successors (ecg) P4: (ad)(b)(ceg)(f)

Partitioning Minimization Step 4: P4: (ad)(b)(ceg)(f) State Transition Table NS output PS x=0 x=1 a b c 1 b a f 1 c f c 0 f c a 0 Step 5: (verify no change)

STATE ASSIGNMENT

Encoding State Variables Option 1: Binary values 000, 001, 010, 011, 100 Option 2: Gray code 000, 001, 011, 010, 110 Option 3: One hot encoding One bit for every state Only one bit is a one at a given time For a 5-state machine 00001, 00010, 00100, 01000, 10000

Summary Important to create smallest possible FSMs This course: use visual inspection method Often possible to reduce logic and flip flops State encoding is important One-hot coding is popular for flip flop intensive designs.

SHIFT REGISTERS

Overview Multiple flip flops can be combined to form a data register Shift registers allow data to be transported one bit at a time Registers also allow for parallel transfer Many bits transferred at the same time Shift registers can be used with adders to build arithmetic units Remember: most digital hardware can be built from combinational logic (and, or, invert) and flip flops Basic components of most computers

Register with Parallel Load Register: Group of Flip-Flops Ex: D Flip-Flops Holds a Word of Data Loads in Parallel on Clock Transition Asynchronous Clear (Reset)

Register with Load Control Load Control = 1 New data loaded on next positive clock edge Load Control = 0 Old data reloaded on next positive clock edge

Shift Registers Cascade chain of Flip-Flops Bits travel on Clock edges Serial in Serial out, can also have parallel load / read

Parallel Data Transfer All data transfers on rising clock edge Data clocked into register Y

Parallel versus Serial Serial communications is defined as Provides a binary number as a sequence of binary digits, one after another, through one data line. Parallel communications Provides a binary number through multiple data lines at the same time.

Shift register application Parallel-to-serial conversion for serial transmission parallel outputs parallel inputs serial transmission

Serial Transfer Data transfer one bit at a time Data loopback for register A Time T0 T1 T2 T3 T4 Reg A 1011 1101 1110 0111 1011 Reg B 0011 1001 1100 0110 1011

Serial Transfer of Data Transfer from register X to register Y (negative clock edges for this example)

Serial Addition (D Flip-Flop) Slower than parallel Low cost Share fast hardware on slow data

Serial Addition (D Flip-Flop) Only one full adder Reused for each bit Start with low-order bit addition Note that carry (Q) is saved Add multiple values. New values placed in shift register B

Serial Addition (D Flip-Flop) Shift control used to stop addition Generally not a good idea to gate the clock Shift register can be of arbitrary length FA is built from combin. logic

Universal Shift Register Clear Clock Shift Right Left Load Read Control

Summary Shift registers can be combined together to allow for data transfer Serial transfer used in modems and computer peripherals (e.g. mouse) D flip flops allow for a simple design Data clocked in during clock transition (rising or falling edge) Serial addition takes less chip area but is slow Universal shift register allows for many operations The register is programmable. It allows for different operations at different times Next time: counters (circuits that count!)

READ ONLY MEMORIES (ROM)

Overview Read-only memory can normally only be read Internal organization similar to SRAM ROMs are effective at implementing truth tables Any logic function can be implemented using ROMs Multiple single-bit functions embedded in a single ROM Also used in computer systems for initialization ROM doesn t lose storage value when power is removed Very useful for implementing FSMs

Read-Only Memory (ROM) An array of semiconductor devices diodes transistors field effect transistors 2 N words by M bits Data can be read but not changed (normal operating conditions)

Read-Only Memory (ROM) N input bits 2 N words by M bits Implement M arbitrary functions of N variables Example 8 words by 5 bits: 3 Input Lines A B C ROM 8 words x 5 bits F 0 F 1 F 2 F 3 F 4 5 Output Lines

ROM Implementation ROM = "Read Only Memory" values of memory locations are fixed ahead of time A ROM can be used to implement a truth table if the address is m-bits, we can address 2 m entries in the ROM. our outputs are the bits of data that the address points to. ROM is a combinational device, not a sequential one m n 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 1 1 0 1 1 1 m is the "height", and n is the "width"

ROM Implementation Suppose there are 10 inputs 10 address lines (i.e., 2 10 = 1024 different addresses) Suppose there are 20 outputs ROM is 2 10 x 20 = 20K bits Rather wasteful, since lots of storage bits For functions, doesn t take advantage of K-maps, other minimizations

Read-Only Memory (ROM) Each minterm of each function can be specified 3 Inputs Lines A B C ROM 8 words x 5 bits F 0 F 1 F 2 F 3 F 4 5 Outputs Lines

ROM Internal Structure n Inputs Lines. n bit decoder... Memory Array 2 n words x m bits... m Outputs Lines

ROM Memory Array m 0 =A B C m 1 =A B C A B C 3 to 8 decoder m 2 =A BC m 3 =A BC m 4 =AB C m 5 =AB C m 6 =ABC m 7 =ABC F 0 F 1 F 2 F 3 F 4

Inside the ROM Alternate view Each possible horizontal/vertical intersection indicates a possible connection Or gates at bottom output the word selected by the decoder (32 x 8)

ROM Example Specify a truth table for a ROM which implements: F = AB + A BC G = A B C + C H = AB C + ABC + A B C

ROM Example Specify a truth table for a ROM which implements: F = AB + A BC G = A B C + C H = AB C + ABC + A B C

ROM Example Specify a truth table for a ROM which implements: F = AB + A BC G = A B C + C H = AB C + ABC + A B C

Function Implementation m 0 =A B C m 1 =A B C A B C 3 to 8 decoder m 2 =A BC m 3 =A BC m 4 =AB C m 5 =AB C m 6 =ABC m 7 =ABC Each column is a new function Note: two outputs unused! F G H

ROM Implementation of a Moore Machine ROMs implement combinational logic Note that ROMs do not hold state How would you determine the maximum clock frequency of this circuit? Look at the FF to FF path (NS to PS) Inputs ROM Next State Present State ROM Outputs

ROM Implementation of a Mealy Machine ROMs implement combinational logic Note that ROMs do not hold state How would you determine the maximum clock frequency of this circuit? Look at the FF to FF path (NS to PS) Inputs ROM Next State Present State ROM Outputs

Summary ROMs provide stable storage for data ROMs have address inputs and data outputs ROMs directly implement truth tables ROMs can be used effectively in Mealy and Moore machines to implement combinational logic In normal use ROMs are read-only They are only read, not written ROMs are often used by computers to store critical information Unlike SRAM, they maintain their storage after the power is turned off

PROGRAMMABLE LOGIC ARRAYS (PLA)

Programmable logic arrays 76 A ROM is potentially inefficient because it uses a decoder, which generates all possible minterms. No circuit minimization is done. Using a ROM to implement an n-input function requires: An n-to-2 n decoder, with n inverters and 2 n n-input AND gates. An OR gate with up to 2 n inputs. The number of gates roughly doubles for each additional ROM input.

Programmable logic arrays 77 A programmable logic array, or PLA, makes the decoder part of the ROM programmable too. Instead of generating all minterms, you can choose which products (not necessarily minterms) to generate.

78 A blank 3 x 4 x 3 PLA Inputs This is a 3 x 4 x 3 PLA (3 inputs, up to 4 product terms, and 3 outputs), ready to be programmed. OR array AND array Outputs

PLA example 79 x y z xy z xy x z x yz V 2 = Σm(1,2,3,4)= xy z + x z + x yz V 1 = Σm(2,6,7) = x yz + xy V 0 = Σm(4,6,7) = xy z + xy V 2 V 1 V 0

PLA evaluation 80 A k x m x n PLA can implement up to n functions of k inputs, each of which must be expressible with no more than m product terms. Unlike ROMs, PLAs allow you to choose which products are generated. This can significantly reduce the fan-in (number of inputs) of gates, as well as the total number of gates. However, a PLA is less general than a ROM. Not all functions may be expressible with the limited number of AND gates in a given PLA.