4-1 Introduction Chapter # 4: Programmable and Steering Logic.

Slides:



Advertisements
Similar presentations
Lecture 4 Combinational Logic Implementation Technologies
Advertisements

PLDs ROM : Programmable OR array
Digital Design: Combinational Logic Blocks
Logical Design.
Combinational Logic Word Problems
Documentation Standards
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.
CPEN Digital System Design
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.
Computer Engineering 222. VLSI Digital System Design Introduction.
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
1 کلاس جبراني  پنجشنبه 26 فروردين: ساعت 8:00 صبح ميان ترم  سه شنبه 3 ارديبهشت: ساعت 9:30 صبح.
Chapter # 4: Programmable and Steering Logic Section 4.1
Multiplexers, Decoders, and Programmable Logic Devices
Computer ArchitectureFall 2008 © August 20 th, Introduction to Computer Architecture Lecture 2 – Digital Logic Design.
PLAs Programmable Logic Arrays
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.
ECE C03 Lecture 51 Lecture 5 Combinational Logic Implementation Using Multiplexers, ROMS, FPGAs Prith Banerjee ECE C03 Advanced Digital Logic Design Spring.
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.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
1 CHAPTER 4: PART I ARITHMETIC FOR COMPUTERS. 2 The MIPS ALU We’ll be working with the MIPS instruction set architecture –similar to other architectures.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
1 Lecture 10 PLDs  ROMs Multilevel logic. 2 Read-only memories (ROMs) Two dimensional array of stored 1s and 0s  Input is an address  ROM decodes all.
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices Ku-Yaw Chang Assistant Professor, Department of Computer Science.
1 Lecture 9 Demultiplexers Programmable Logic Devices  Programmable logic array (PLA)  Programmable array logic (PAL)
Kuliah Rangkaian Digital Kuliah 6: Blok Pembangun Logika Kombinasional Teknik Komputer Universitas Gunadarma.
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.
 Seattle Pacific University EE Logic System DesignNMOS-CMOS-1 Voltage-controlled Switches In order to build circuits that implement logic, we need.
Decoder/Demultiplexer
Computer Architecture From Microprocessors To Supercomputers
EE207: Digital Systems I, Semester I 2003/2004
Chapter # 4: Programmable Logic
1 CS 151: Digital Design Chapter 3: Combinational Logic Design 3-1Design Procedure CS 151: Digital Design.
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.
1 Digital Design Debdeep Mukhopadhyay Associate Professor Dept of Computer Science and Engineering NYU Shanghai and IIT Kharagpur.
PLDS Mohammed Anvar P.K AP/ECE Al-Ameen Engineering College.
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
CHAPTER 2 Digital Combinational Logic/Arithmetic Circuits.
Chapter # 4: Programmable Logic
Combinational Logic Implementation
IT IS ABOUT : Programmable Logic PAL, PLA.
Lecture 9 Logistics Last lecture Today HW3 due Wednesday
CSCE 211: Digital Logic Design
CSCE 211: Digital Logic Design
Programmable Logic.
Lecture 8 Logistics Last lecture Last last lecture Today
Programmable Configurations
Lecture 10 Logistics Last lecture Today
Lecture 11 Logistics Last lecture Today HW3 due now
CSCE 211: Digital Logic Design
CSCE 211: Digital Logic Design
CSE 370 – Winter 2002 – Comb. Logic building blocks - 1
Overview Last lecture Timing; Hazards/glitches
Digital System Design Combinational Logic
Presentation transcript:

4-1 Introduction Chapter # 4: Programmable and Steering Logic

4-2 Introduction Chapter Overview PALs and PLAs Non-Gate Logic Switch Logic Multiplexers/Selecters and Decoders Tri-State Gates/Open Collector Gates ROM Combinational Logic Design Problems Seven Segment Display Decoder Process Line Controller Logical Function Unit Barrel Shifter

4-3 Introduction 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

4-4 Introduction PALs and PLAs Example: F0 = A + B' C' F1 = A C' + A B F2 = B' C' + A B F3 = B' C + A Equations Personality Matrix Key to Success: Shared Product Terms 1 = asserted in term 0 = negated in term - = does not participate 1 = term connected to output 0 = no connection to output Input Side: Output Side:

4-5 Introduction PALs and PLAs Example Continued All possible connections are available before programming F1F4F3F2 CBA

4-6 Introduction PALs and PLAs Example Continued Unwanted connections are "blown" Note: some array structures work by making connections rather than breaking them ACB AB /BC A/C /B/C AC F0F3F2F1

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

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

4-9 Introduction PALs and PLAs What is difference between Programmable Array Logic (PAL) and Programmable Logic Array (PLA)? PAL concept : implemented by Monolithic Memories (substrate is active materialsuch as semiconductor silicon) programmable AND array but constrained topology of the OR Array connections between product terms are hardwired the higher the OR gate fanins, the fewer the functional outputs from PAL 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 take advantage of shared product terms slower

4-10 Introduction PALs and PLAs Design Example: BCD to Gray Code Converter Truth Table K-maps 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' Minimized Functions:

4-11 Introduction PALs and PLAs Programmed PAL: 4 product terms per each OR gate ABCD A BD BC 0 B/C B C 0 0 ABCD BCD A/D BC/D WZYX

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

4-13 Introduction PALs and PLAs Another Example: Magnitude Comparator AB=CD AB  CD AB CD EQNELTGT ABCD AC BD ABD BCD ABC BCD A B C D

4-14 Introduction Non-Gate Logic AND-OR-Invert PAL/PLA Generalized Building Blocks Beyond Simple Gates Introduction Kinds of "Non-gate logic": switching circuits built from CMOS transmission gates multiplexer/selecter functions decoders tri-state and open collector gates read-only memories

4-15 Introduction Steering Logic: Switches Voltage Controlled Switches Metal Gate, Oxide, Silicon Sandwich Diffusion regions: negatively charged ions driven into Si surface Si Bulk: positively charged ions By "pulling" electrons to the surface, a conducting channel is formed "n-Channel MOS" n-type Si p-type Si

4-16 Introduction Steering Logic Voltage Controlled Switches Logic 0 on gate, Source and Drain connected Logic 1 on gate, Source and Drain connected

4-17 Introduction Steering Logic Logic Gates from Switches Inverter NAND Gate NOR Gate Pull-up network constructed from pMOS transistors Pull-down network constructed from nMOS transistors

4-18 Introduction Steering Logic Inverter Operation Input is 1 Pull-up does not conduct Pull-down conducts Output connected to GND Input is 0 Pull-up conducts Pull-down does not conduct Output connected to VDD

4-19 Introduction Steering Logic NAND Gate Operation A = 1, B = 1 Pull-up network does not conduct Pull-down network conducts Output node connected to GND A = 0, B = 1 Pull-up network has path to VDD Pull-down network path broken Output node connected to VDD

4-20 Introduction Steering Logic NOR Gate Operation A = 0, B = 0 Pull-up network conducts Pull-down network broken Output node at VDD A = 1, B = 0 Pull-up network broken Pull-down network conducts Output node at GND

4-21 Introduction Steering Logic CMOS Transmission Gate nMOS transistors good at passing 0's but bad at passing 1's pMOS transistors good at passing 1's but bad at passing 0's perfect "transmission" gate places these in parallel: Switches Transistors Transmission or "Butterfly" Gate produce weak 1 produce weak 0

4-22 Introduction Steering Logic Selection Function/Demultiplexer Function with Transmission Gates Selector: Choose I0 if S = 0 Choose I1 if S = 1 Demultiplexer: I to Z0 if S = 0 I to Z1 if S = 1

4-23 Introduction Steering Logic Use of Multiplexer/Demultiplexer in Digital Systems So far, we've only seen point-to-point connections among gates Mux/Demux used to implement multiple source/multiple destination interconnect

4-24 Introduction Steering Logic Well-formed Switching Networks Problem with the Demux implementation: multiple outputs, but only one connected to the input! The fix: additional logic to drive every output to a known value Never allow outputs to "float"

4-25 Introduction Steering Logic Complex Steering Logic Example N Input Tally Circuit: count # of 1's in the inputs Conventional Logic for 1 Input Tally Function Switch Logic Implementation of Tally Function

4-26 Introduction Steering Logic Complex Steering Logic Example Operation of the 1 Input Tally Circuit Input is 0, straight through switches enabled

4-27 Introduction Steering Logic Complex Steering Logic Example Operation of 1 input Tally Circuit Input = 1, diagonal switches enabled

4-28 Introduction Steering Logic Complex Steering Logic Example Extension to the 2-input case Conventional logic implementation

4-29 Introduction Steering Logic Complex Steering Logic Example Switch Logic Implementation: 2-input Tally Circuit Cascade the 1-input implementation!

4-30 Introduction Steering Logic Complex Steering Logic Example Operation of 2-input implementation

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

4-32 Introduction Multiplexers/Selectors 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 n Two alternative forms for a 2:1 Mux Truth Table Z = A' I + A I 01 Functional form Logical form General Concept

4-33 Introduction Multiplexers/Selectors Z = A' I + A I 01 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 In general, Z =  m I 2 -1 n k=0kk in minterm shorthand form for a 2 :1 Mux n

4-34 Introduction Multiplexers/Selectors Gate Level Implementation of 4:1 Mux Gate Level Implementation of 4:1 Mux Transmission Gate Implementation of 4:1 Mux Transmission Gate Implementation of 4:1 Mux thirty six transistors twenty transistors Alternative Implementations Z AB I0 I1 I2 I3

4-35 Introduction 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

4-36 Introduction Multiplexer/Selector Multiplexers/selectors as a general purpose logic block 2 :1 multiplexer can implement any function of n variables n-1 control variables; remaining variable is a data input to the mux n-1 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"

4-37 Introduction I I n 0 1 I n … FI 2 I n 0 1 … Multiplexer/Selector Generalization n-1 Mux control variables single Mux data variable Four possible configurations of the truth table rows Can be expressed as a function of In, 0, 1 Example: G(A,B,C,D) can be implemented by an 8:1 MUX: K-map Choose A,B,C as control variables Multiplexer Implementation TTL package efficient May be gate inefficient TTL package efficient May be gate inefficient CD AB A C B

4-38 Introduction Multiplexer/Selector TTL quad 2:1 multiplexers with enable

4-39 Introduction 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) n 1:2 Decoder: O0 = G S; O1 = G S 2:4 Decoder: O0 = G S0 S1 O1 = G S0 S1 O2 = G S0 S1 O3 = G S0 S1 3:8 Decoder: O0 = G S0 S1 S2 O1 = G S0 S1 S2 O2 = G S0 S1 S2 O3 = G S0 S1 S2 O4 = G S0 S1 S2 O5 = G S0 S1 S2 O6 = G S0 S1 S2 O7 = G S0 S1 S2

4-40 Introduction 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 Output 0 G Select Output 1 Output 0 /G/G Select Output 1 Select0Select1 Output 2 Output 3 Output 0 G Output 1 Select0Select1 Output 2 Output 3 Output 0 /G Output 1

4-41 Introduction Decoders/Demultiplexers Switch Logic Implementations Naive, Incorrect Implementation All outputs not driven at all times Correct 1:2 Decoder Implementation

4-42 Introduction Decoders/Demultiplexers Switch Implementation of 2:4 Decoder Operation of 2:4 Decoder S0 = 0, S1 = 0 one straight thru path three diagonal paths

4-43 Introduction Decoder/Demultiplexer Decoder Generates Appropriate Minterm based on Control Signals Decoder as a Logic Building Block 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')

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