Chapter # 4: Programmable Logic

Slides:



Advertisements
Similar presentations
PLDs ROM : Programmable OR array
Advertisements

Digital Design: Combinational Logic Blocks
Combinational Logic Word Problems
Documentation Standards
Combinational Circuits CS370 – Spring BCD to 7 Segment Display Controller Understanding the problem: input is a 4 bit bcd digit output is the control.
CS370 – Spring 2003 Programmable Logic Devices PALs/PLAs.
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.
111 Basic Circuit Elements n Standard TTL Small-Scale Integration: 1 chip = 2-8 gates n Requires numerous chips to build interesting circuits n Alternative:
Decoders/DeMUXs CS370 – Spring Decoder: single data input, n control inputs, 2 outputs control inputs (called select S) represent Binary index of.
Henry Hexmoor1 C hapter 4 Henry Hexmoor-- SIUC Rudimentary Logic functions: Value fixing Transferring Inverting.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
IV - Combinational Logic Technologies © Copyright 2004, Gaetano Borriello and Randy H. Katz 1 Combinational Logic Technologies Standard gates  gate packages.
Parity. 2 Datasheets TTL:  CMOS: 
ECE C03 Lecture 41 Lecture 4 Combinational Logic Implementation Technologies Prith Banerjee ECE C03 Advanced Digital Design Spring 1998.
Chapter # 4: Programmable and Steering Logic Section 4.1
Multiplexer MUX. 2 Multiplexer Multiplexer (Selector)  2 n data inputs,  n control inputs,  1 output  Used to connect 2 n points to a single point.
Figure to-1 Multiplexer and Switch Analog
Chapter # 4: Programmable and Steering Logic Contemporary Logic Design Randy H. Katz University of California, Berkeley June 1993.
ECE 2110: Introduction to Digital Systems Chapter 6 Combinational Logic Design Practices Decoders.
1 Lecture 9 Demultiplexers Programmable Logic Devices  Programmable logic array (PLA)  Programmable array logic (PAL)
4-1 Introduction Chapter # 4: Programmable and Steering Logic.
1 Building Larger Circuits Today: Combinational Building BlocksFirst Hour: Combinational Building Blocks –Section 4.1 of Katz’s Textbook –In-class Activity.
Chapter # 4: Programmable and Steering Logic
1 CSE370, Lecture 11 Lecture 11  Logistics  HW3 due now  Lab4 goes on as normal next week  Tuesday review 6pm, place TBD  Last lecture  "Switching-network"
1 CSE370, Lecture 10 Lecture 10 u Logistics n HW3 due Friday (cover materials up to this lecture) n Lab3 going on this week n Midterm 1: a week from today.
Contemporary Logic Design Prog. & Steering Logic © R.H. Katz Transparency No. 8-1 Chapter # 4: Programmable and Steering Logic Section 4.2.
Decoder/Demultiplexer
Chapter # 4: Programmable Logic
1 CS 151: Digital Design Chapter 3: Combinational Logic Design 3-1Design Procedure CS 151: Digital Design.
CS151 Introduction to Digital Design Chapter 3: Combinational Logic Design 3-1 Design Procedure 1Created by: Ms.Amany AlSaleh.
DIGITAL SYSTEMS Programmable devices PLA-PAL Rudolf Tracht and A.J. Han Vinck.
CSE 370 Spring 2006 Introduction to Digital Design Lecture 10: Multiplexers and Demultiplexers Last Lecture Multilevel Logic Hazards Today Multiplexers.
CSI-2111 Structure of Computers Ipage Combinational Circuits  Objectives : To recognize the principal types of combinational circuits  Adders.
ECE 3110: Introduction to Digital Systems Chapter 6 Combinational Logic Design Practices Decoders.
Contemporary Logic Design Prog. & Steering Logic © R.H. Katz Transparency No. 9-1 Chapter # 4: Programmable and Steering Logic Section 4.3, 4.4, 4.5, 4.6.
This chapter in the book includes: Objectives Study Guide
Overview Part 2 – Combinational Logic Functions and functional blocks
EKT 124 / 3 DIGITAL ELEKTRONIC 1
Combinational Logic Implementation
IT IS ABOUT : Programmable Logic PAL, PLA.
Lecture 9 Logistics Last lecture Today HW3 due Wednesday
This chapter in the book includes: Objectives Study Guide
ECE 2110: Introduction to Digital Systems Chapter 6 Combinational Logic Design Practices Decoders.
ECE 434 Advanced Digital System L03
Magnitude Comparator A magnitude comparator is a combinational circuit that compares two numbers, A and B, and then determines their relative magnitudes.
CPE/EE 422/522 Advanced Logic Design L02
CSCE 211: Digital Logic Design
CSCE 211: Digital Logic Design
Programmable Logic Devices (PLDs)
ECE434a Advanced Digital Systems L02
CSE 370 – Winter 2002 – Comb. Logic building blocks - 1
Programmable Logic.
Lecture 8 Logistics Last lecture Last last lecture Today
Programmable Configurations
Unit -06 PLDs.
Lecture 10 Logistics Last lecture Today
Lecture 11 Logistics Last lecture Today HW3 due now
CSCE 211: Digital Logic Design
Part I Background and Motivation
13 Digital Logic Circuits.
CSCE 211: Digital Logic Design
CSE 370 – Winter 2002 – Comb. Logic building blocks - 1
Overview Functions and functional blocks Rudimentary logic functions
Overview Last lecture Digital hardware systems Today
Overview Last lecture Timing; Hazards/glitches
Digital System Design Combinational Logic
ECE 352 Digital System Fundamentals
Presentation transcript:

Chapter # 4: Programmable Logic

Section 4.2.3 Template-Based Logic PALs and PLAs Chapter Overview Section 4.2.3 Template-Based Logic PALs and PLAs Multiplexers/Selecters and Decoders Tri-State Gates/Open Collector Gates ROM • Combinational Logic Design Problems Seven Segment Display Decoder

PALs and PLAs Pre-fabricated building block of many AND/OR gates (or NOR, NAND) "Personalized" by making or breaking connections among the gates Programmable Array Block Diagram for Sum of Products Form

All possible connections are available PALs and PLAs Example Continued A B C All possible connections are available before programming F0 F1 F2 F3

PALs and PLAs Example: Implement the following functions using PLA F0 = A + B' C' F1 = A C' + A B F2 = B' C' + A B F3 = B' C + A

Notation for implementing PALs and PLAs Alternative representation for high fan-in structures Short-hand notation so we don't have to draw all the wires! AB A’ B’ C D’ C’D Notation for implementing F0 = A B + A' B' F1 = C D' + C' D AB + A’ B’ CD’+ C’D

Multiple functions of A, B, C PALs and PLAs Design Example A B C Multiple functions of A, B, C F1 = A B C F2 = A + B + C F3 = A B C F4 = A + B + C F5 = A xor B xor C F6 = A xnor B xnor C

What is difference between Programmable Array Logic (PAL) and PALs and PLAs What is difference between Programmable Array Logic (PAL) and Programmable Logic Array (PLA)? PAL concept — implemented by Monolithic Memories constrained topology of the OR Array A given column of the OR array has access to only a subset of the possible product terms PLA concept — generalized topologies in AND and OR planes

PALs and PLAs Design Example: BCD to Gray Code Converter Truth Table K-maps Minimized Functions: W = A + B D + B C X = B C' Y = B + C Z = A'B'C'D + B C D + A D' + B' C D'

4 product terms per each OR gate PALs and PLAs Programmed PAL: A B C D A BD BC BC’ B C BCD AD’ BCD’ 4 product terms per each OR gate W X Y Z

PALs and PLAs Code Converter Discrete Gate Implementation 4 SSI Packages vs. 1 PLA/PAL Package!

PALs and PLAs Example: Magnitude Comparator of Two inputs ( each has 2-bit binary : AB and CD)

Multiplexers/Selectors Use of Multiplexers/Selectors Multi-point connections Multiple input sources Multiple output destinations

Multiplexers/Selectors General Concept n 2 data inputs, n control inputs, 1 output used to connect 2 points to a single point control signal pattern form binary index of input connected to output n Z = A' I + A I 1 Functional form Logical form Two alternative forms for a 2:1 Mux Truth Table

Multiplexers/Selectors Z = A' I + A I 1 Z = A' B' I0 + A' B I1 + A B' I2 + A B I3 Z = A' B' C' I0 + A' B' C I1 + A' B C' I2 + A' B C I3 + A B' C' I4 + A B' C I5 + A B C' I6 + A B C I7 n 2 -1 In general, Z = S m I k=0 k k n in minterm shorthand form for a 2 :1 Mux

Multiplexer/Selector Large multiplexers can be implemented by cascaded smaller ones Control signals B and C simultaneously choose one of I0-I3 and I4-I7 Control signal A chooses which of the upper or lower MUX's output to gate to Z Alternative 8:1 Mux Implementation

Multiplexer/Selector Multiplexers/selectors as a general purpose logic block n-1 2 :1 multiplexer can implement any function of n variables n-1 control variables; remaining variable is a data input to the mux Example: F(A,B,C) = m0 + m2 + m6 + m7 = A' B' C' + A' B C' + A B C' + A B C = A' B' (C') + A' B (C') + A B' (0) + A B (1) "Lookup Table"

Decoders/Demultiplexers Decoder: single data input, n control inputs, 2 outputs control inputs (called select S) represent Binary index of output to which the input is connected data input usually called "enable" (G)

Decoders/Demultiplexers Alternative Implementations 1:2 Decoder, Active High Enable 1:2 Decoder, Active Low Enable 2:4 Decoder, Active High Enable 2:4 Decoder, Active Low Enable

Decoder/Demultiplexer Decoder as a Logic Building Block Decoder Generates Appropriate Minterm based on Control Signals Example Function: F1 = A' B C' D + A' B' C D + A B C D F2 = A B C' D' + A B C F3 = (A' + B' + C' + D')

Decoder/Demultiplexer Decoder as a Logic Building Block If active low enable, then use NAND gates!

Tri-State and Open-Collector (Sec. 4.4.1) The Third State Logic States: "0", "1" Don't Care/Don't Know State: "X" (must be some value in real circuit!) Third State: "Z" — high impedance — infinite resistance, no connection Tri-state gates: output values are "0", "1", and "Z" additional input: output enable (OE) When OE is high, this gate is a non-inverting "buffer" When OE is low, it is as though the gate was disconnected from the output! This allows more than one gate to be connected to the same output wire, as long as only one has its output enabled at the same time A X 1 OE 1 F Z 1 Non-inverting buffer's timing waveform "Z" "Z"

Tri-state and Open Collector (Sec. 4.4.1) Using tri-state gates to implement an economical multiplexer: When SelectInput is asserted high Input1 is connected to F When SelectInput is driven low Input0 is connected to F This is essentially a 2:1 Mux

Read-Only Memories ROM: Two dimensional array of 1's and 0's Row is called a "word"; index is called an "address" Width of row is called bit-width or wordsize Address is input, selected word is output Internal Organization

Example: Combination Logic Implementation Read-Only Memories Example: Combination Logic Implementation F0 = A' B' C + A B' C' + A B' C F1 = A' B' C + A' B C' + A B C F2 = A' B' C' + A' B' C + A B' C' F3 = A' B C + A B' C' + A B C' by

Combinational Logic Word Problems General Design Procedure 1. Understand the Problem what is the circuit supposed to do? write down inputs (data, control) and outputs draw block diagram or other picture 2. Formulate the Problem in terms of a truth table or other suitable design representation truth table or waveform diagram 3. Choose Implementation Target ROM, PAL, PLA, Mux, Decoder + OR, Discrete Gates 4. Follow Implementation Procedure K-maps

Combinational Logic Word Problems Example BCD to 7 Segment Display Controller (To be done during the class)

Combinational Logic Word Problems BCD to 7 Segment Display Controller 16H8PAL Can Implement the function

Combinational Logic Word Problems BCD to 7 Segment Display Controller 14H8PAL Cannot Implement the function

Chapter Review • Non-Simple Gate Logic Building Blocks: PALs/PLAs Multiplexers/Selecters Decoders ROMs Tri-state