Ch 4. Combinational Logic Technologies. IV - Combinational Logic Technologies Contemporary Logic Design 1

Similar documents
Chapter # 4: Programmable and Steering Logic

Chapter # 4: Programmable and Steering Logic

Overview. Programmable logic (PLAs & PALs ) Short-hand notation. Programming the wire connections

Digital- or Logic Circuits. Outline Logic Circuits. Logic Voltage Levels. Binary Representation

:3 2 D e c o de r S ubs ys te m "0 " One "1 " Ze ro "0 " "0 " One I 1 "0 " One "1 " Ze ro "1 " Ze ro "0 " "0 "

COSC3330 Computer Architecture Lecture 2. Combinational Logic

CSE140: Components and Design Techniques for Digital Systems. Logic minimization algorithm summary. Instructor: Mohsen Imani UC San Diego

Unit 9. Multiplexers, Decoders, and Programmable Logic Devices. Unit 9 1

Logic Design Combinational Circuits. Digital Computer Design

Section 3: Combinational Logic Design. Department of Electrical Engineering, University of Waterloo. Combinational Logic

Overview. Arithmetic circuits. Binary half adder. Binary full adder. Last lecture PLDs ROMs Tristates Design examples

Logic. Basic Logic Functions. Switches in series (AND) Truth Tables. Switches in Parallel (OR) Alternative view for OR

COMP2611: Computer Organization. Introduction to Digital Logic

Programmable Logic Devices

Possible logic functions of two variables

for Digital Systems Simplification of logic functions Tajana Simunic Rosing Sources: TSR, Katz, Boriello & Vahid

CMSC 313 Lecture 18 Midterm Exam returned Assign Homework 3 Circuits for Addition Digital Logic Components Programmable Logic Arrays

Basic Gate Repertoire

Chapter # 3: Multi-Level Combinational Logic

3 Logic Function Realization with MSI Circuits

CHAPTER1: Digital Logic Circuits Combination Circuits

Digital Logic & Computer Design CS Professor Dan Moldovan Spring Copyright 2007 Elsevier 2-<101>

Digital Logic & Computer Design CS Professor Dan Moldovan Spring 2010

Chapter 2. Introduction. Chapter 2 :: Topics. Circuits. Nodes. Circuit elements. Introduction

Combinational Logic (mostly review!)

Chapter 2. Review of Digital Systems Design

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

Combinational Logic Design

Vidyalankar. S.E. Sem. III [EXTC] Digital System Design. Q.1 Solve following : [20] Q.1(a) Explain the following decimals in gray code form

Chapter 3 Combinational Logic Design

Software Engineering 2DA4. Slides 8: Multiplexors and More

Memory, Latches, & Registers

Combinational logic. Possible logic functions of two variables. Minimal set of functions. Cost of different logic functions.

Prove that if not fat and not triangle necessarily means not green then green must be fat or triangle (or both).

CMSC 313 Lecture 19 Homework 4 Questions Combinational Logic Components Programmable Logic Arrays Introduction to Circuit Simplification

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

Multiplexers Decoders ROMs (LUTs) Page 1

UNIT III Design of Combinational Logic Circuits. Department of Computer Science SRM UNIVERSITY

Karnaugh Maps (K-Maps)

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

Working with combinational logic

CSE140: Components and Design Techniques for Digital Systems. Decoders, adders, comparators, multipliers and other ALU elements. Tajana Simunic Rosing

Appendix A: Digital Logic. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V. Heuring

The Digital Logic Level

CS470: Computer Architecture. AMD Quad Core

CMSC 313 Lecture 19 Combinational Logic Components Programmable Logic Arrays Karnaugh Maps

2009 Spring CS211 Digital Systems & Lab CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS

Unit 3 Session - 9 Data-Processing Circuits

Combinational Logic Design Combinational Functions and Circuits

Appendix A: Digital Logic. CPSC 352- Computer Organization

Why digital? Overview. Number Systems. Binary to Decimal conversion

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

Working with Combinational Logic. Design example: 2x2-bit multiplier

Boolean cubes EECS150. Mapping truth tables onto cubes. Simplification. The Uniting Theorem. Three variable example

Part 1: Digital Logic and Gates. Analog vs. Digital waveforms. The digital advantage. In real life...

Chapter #7: Sequential Logic Case Studies Contemporary Logic Design

Appendix A: Digital Logic. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V. Heuring

Floating Point Representation and Digital Logic. Lecture 11 CS301

Digital System Design Combinational Logic. Assoc. Prof. Pradondet Nilagupta

S.E. Sem. III [ETRX] Digital Circuit Design. t phl. Fig.: Input and output voltage waveforms to define propagation delay times.

Ch 2. Combinational Logic. II - Combinational Logic Contemporary Logic Design 1

COMBINATIONAL CIRCUITS

211: Computer Architecture Summer 2016

MODULAR CIRCUITS CHAPTER 7

EECS Variable Logic Functions

Electronics. Overview. Introducction to Synthetic Biology

DIGITAL LOGIC CIRCUITS

EC-121 Digital Logic Design

Chapter 2 Boolean Algebra and Logic Gates

Where are we? Data Path Design

Digital Design 2. Logic Gates and Boolean Algebra

L2: Combinational Logic Design (Construction and Boolean Algebra)

Digital Integrated Circuits A Design Perspective

Where are we? Data Path Design. Bit Slice Design. Bit Slice Design. Bit Slice Plan

Lecture 2 Review on Digital Logic (Part 1)

DIGITAL LOGIC CIRCUITS

Sample Test Paper - I

CPE100: Digital Logic Design I

Combinational logic. Possible logic functions of two variables. Minimal set of functions. Cost of different logic functions

Week-I. Combinational Logic & Circuits

Chapter 2 (Lect 2) Canonical and Standard Forms. Standard Form. Other Logic Operators Logic Gates. Sum of Minterms Product of Maxterms

ECE 545 Digital System Design with VHDL Lecture 1. Digital Logic Refresher Part A Combinational Logic Building Blocks

Unit 9. Multiplexers, Decoders, and Programmable Logic Devices

Ch 9. Sequential Logic Technologies. IX - Sequential Logic Technology Contemporary Logic Design 1

CMSC 313 Lecture 15 Good-bye Assembly Language Programming Overview of second half on Digital Logic DigSim Demo

Function of Combinational Logic ENT263

Chapter 4: Designing Combinational Systems Uchechukwu Ofoegbu

CMOS Digital Integrated Circuits Lec 13 Semiconductor Memories

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

KUMARAGURU COLLEGE OF TECHNOLOGY COIMBATORE

Boolean Logic Continued Prof. James L. Frankel Harvard University

Vidyalankar S.E. Sem. III [EXTC] Digital Electronics Prelim Question Paper Solution ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD = B

Chapter 2 Combinational Logic Circuits

Digital Integrated Circuits A Design Perspective. Semiconductor. Memories. Memories

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

on candidate s understanding. 7) For programming language papers, credit may be given to any other program based on equivalent concept.

Class Website:

Semiconductor Memories

Design of Combinational Logic

Transcription:

h 4. ombinational Logic Technologies Technologies ontemporary Logic Design 1

History - From Switches to Integrated ircuits The underlying implementation technologies for digital systems Technologies ontemporary Logic Design 2

Packaged Logic, onfigurability, and Programmable Logic Standard parts Integrated circuits that contain small number of simple logic gates widely used ROM and PL/PL ROM fixed array of ones and zeros Programmable logic array (PL), Programmable array logic (PL) n array of fixed logic gates, arranged in a standard two-level form such as ND/OR pplication-specific Integrated ircuit (SI) Gate array / Standard cells Field-Programmable Gate rray (FPG) Technologies ontemporary Logic Design 3

Packaged Logic, onfigurability, and Programmable Logic (cont'd) Historical development of components Technologies ontemporary Logic Design 4

Technology Metrics Gate delay The time delay from an input change to an output change t(5% output final value) - t(5% of input final value) Degree of integration The chip area and number of chip packages required to implement a given function in a technology Power dissipation Power consumed as gates perform their logic functions Noise margin The maximum voltage that can be added to or subtracted from the logic voltages carried on wires and still have the circuit interpret the voltage as the correct logic value omponent cost Technologies ontemporary Logic Design 5

Technology Metrics (cont d) Fan-out The number of gate inputs to which a given gate output can be connected without exceeding electrical limitations Driving capability The speed of communications between packaged components onfigurability Technologies ontemporary Logic Design 6

asic Logic omponents - Fixed Logic ell-based design Designers pick and choose gates in a given standard cell library for logic functions they want to implement. NND, NOR, XOR, DDER, MUX, SSI and MSI (Small and Medium Scale Integrated ircuit) TTL: a family of packaged logic components Example: TTL 74 Standard cell library for modern SI provides the same kinds of logic functions as those TTL standard catalog contains. Technologies ontemporary Logic Design 7

Fixed Logic (cont d) ombinational logic implementation Pick logic packages and wire them Make Package/ell ounts minimal out 744 Technologies ontemporary Logic Design 8

asic Logic omponents (cont d) -Look-Up Tables Look-up table approach Storing the output value of a function for each input combination in a table Using the current input value as an index to look-up what the output should be To change the function, simply change the values stored in the table, not change any wiring Less sensitive to the complexity of the function Example If the input =, =1, and =, the corresponding index (address) of the table = 1 and the value of the entry = 1. Thus, the output F=, F1=1, F2=, F3= Index Output FF1F2F3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Storing the outputs at each entry Technologies in a table device ontemporary Logic Design 9

Look-Up Tables (cont d) ROM (Read-Only Memory) an array of values intended to be read many times but only written once We can program the output of a truth table directly into a ROM ddress: index of the array ROM Inputs are used to index a row of the array n-1 Dm-1 The value of the corresponding row are read out as the values of the outputs Each additional input bit doubles the size of the memory array Good to implement a complicated function that is difficult to simplify using the standard methods or change often the function. Variants Programmable ROM (PROM) Erasable PROM (EPROM) Electrically erasable PROM (EEPROM) D (2^n words with m-bit width) Technologies ontemporary Logic Design 1

Look-Up Tables (cont d) Internal organization of a ROM Each row of the array is called a word and is selected by the control inputs, which are called the address. The number of columns in the array is called the bit-width or word size. Similar to a PL structure but with a fully decoded ND array completely flexible OR array (unlike PL) n address lines inputs decoder 2 n word lines Memory array (2 n words by m bits) outputs m data lines Technologies ontemporary Logic Design 11

Look-Up Tables (cont d) Two dimensional array of 1s and s entry (row) is called a "word" width of row = word-size index is called an "address" address is input selected word is output n 2-1 1 1 1 1 word lines (only one is active decoder is just right for this) decoder i j word[i] = 11 word[j] = 11 internal organization n-1 ddress bit lines (normally pulled to 1 through resistor selectively connected to by word line controlled switches) Technologies ontemporary Logic Design 12

Look-Up Tables (cont d) ombinational logic implementation (two-level canonical form) using a ROM F = ' ' + ' ' + ' F1 = ' ' + ' ' + F2 = ' ' ' + ' ' + ' ' F3 = ' + ' ' + ' F F1 F2 F3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 truth table ROM 8 words x 4 bits/word address FF1F2F3 outputs block diagram Technologies ontemporary Logic Design 13

asic Logic omponents (cont d) - Multiplexer/Selector Multiplexer/Selector (MUX) Sets its single output to the same value as one of its inputs under the direction of its control inputs. 2 n data inputs, n control inputs (called "selects"), 1 output used to connect 2 n input points to a single output point control signal pattern forms binary index of input connected to output Functional description I I1 I2 I3 S1 S Z Input : Output : Function : I S Z Z j i = {,1} where j =,1,..., 2 = {,1} where i =,1,..., n -1 = {,1} = I where j = S j n 1 = i= S i 2 i n -1 Technologies ontemporary Logic Design 14

Multiplexer/Selector (cont d) Truth table of MUX 2:1 MUX Z = ' I + I 1 functional form logical form Z I 1 I 1 two alternative forms for a 2:1 Mux truth table I 1 I Z 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Technologies ontemporary Logic Design 15

Multiplexer/Selector (cont d) oolean equation of MUX 2:1 mux: Z = 'I + I1 4:1 mux: Z = ''I + 'I1 + 'I2 + I3 8:1 mux: Z = '''I + ''I1 + ''I2 + 'I3 + ''I4 + 'I5 + 'I6 + I7 I I1 In general: 2:1 mux Z = Z n 2 1 k = m k I k in minterm shorthand form for a 2 n :1 Mux I I1 I2 I3 4:1 mux Z I I1 I2 I3 I4 I5 I6 I7 8:1 mux Z Technologies ontemporary Logic Design 16

Multiplexer/Selector (cont d) Gate Level Implementation of MUX 2:1 mux 4:1 mux Technologies ontemporary Logic Design 17

Multiplexer/Selector (cont d) - Mux and Demux Switch implementation of multiplexers and demultiplexers can be composed to make arbitrary size switching networks used to implement multiple-source/multiple-destination interconnections Y Y Z Z Demux Mux Demux Mux Technologies ontemporary Logic Design 18

Mux and Demux (cont d) Uses of multiplexers/demultiplexers in multi-point connections 1 1 Sa MUX MUX Sb multiple input sources Sum Ss DEMUX multiple output destinations S S1 Technologies ontemporary Logic Design 19

Multiplexer/Selector (cont d) - ascading Multiplexers Large multiplexers can be made by cascading smaller ones I I1 I2 I3 I4 I5 I6 I7 4:1 mux 4:1 mux 2:1 mux control signals and simultaneously choose one of I, I1, I2, I3 and one of I4, I5, I6, I7 control signal chooses which of the upper or lower mux's output to gate to Z 8:1 mux Z 2:1 mux 2:1 mux 2:1 mux 2:1 mux alternative implementation Technologies ontemporary Logic Design 2 I I1 I2 I3 I4 I5 I6 I7 4:1 mux 8:1 mux Z

Multiplexer/Selector (cont d) - Multiplexers as a Logic uilding lock 2 n :1 multiplexer can implement any function of n variables with the variables used as control inputs and the data inputs tied to or 1 in essence, a lookup table Example: F(,,) = m + m2 + m6 + m7 = ''' + '' + ' + = '''(1) + ''() + ''(1) + '() + ''() + '() + '(1) + (1) 1 1 1 1 1 2 3 4 8:1 MUX 5 6 7 S2 S1 S F F = '''I + ''I 1 + ''I 2 + 'I 3 + ''I 4 + 'I 5 + 'I 6 + I 7 Technologies ontemporary Logic Design 21

Multiplexers as a Logic uilding lock (cont d) 2 n-1 :1 multiplexer can implement any function of n variables with n-1 variables used as control inputs and the data inputs tied to the last variable or its complement Example: F(,,) = m + m2 + m6 + m7 = ''' + '' + ' + = ''(') + '(') + '() + (1) 1 1 1 1 1 2 3 4 8:1 MUX 5 6 7 S2 S1 S F F 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ' ' ' ' 1 1 2 3 4:1 MUX S1 S 1 F Technologies ontemporary Logic Design 22

Multiplexers as a Logic uilding lock (cont d) Generalization n-1 mux control variables single mux data variable Example: G(,,,D) can be realized by an 8:1 MUX choose,, as control variables I I 1... I n-1 I n F.... 1 1.... 1 1 1 D G 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I n I n ' 1 1 2 3 4 8:1 MUX 5 6 7 S2 S1 S four possible configurations of truth table rows can be expressed as a function of I n D Technologies ontemporary Logic Design 23 1 D 1 D' D D 1 D 1 D D D D

asic Logic omponents (cont'd) - Demultiplexer/Decoder Decoders/demultiplexers single data input, n control inputs, 2 n outputs control inputs (called selects (S)) represent binary index of output to which the input is connected data input usually called enable (G) Functional description O Input : G = {,1} G Decoder /Demux Output : S O i j = {,1} = {,1} where i =,1,..., n -1 where j =,1,..., 2 n -1 S1 S O2 n-1 Function : O j = 1 where j = S otherwise = n 1 i= S i 2 i Technologies ontemporary Logic Design 24

Demultiplexer/Decoder (cont d) oolean equation of Decoder/Demux i= n General form for n-selects: = = m j refers to minterm = = 1 G where j S S O j G m j i= otherwise n = 1 n = 2 n = 3 1:2 Decoder: O = G S O1 = G S 3:8 Decoder: O = G S2 S1 S O1 = G S2 S1 S O2 = G S2 S1 S O3 = G S2 S1 S O4 = G S2 S1 S O5 = G S2 S1 S O6 = G S2 S1 S O7 = G S2 S1 S 2:4 Decoder: O = G S1 S O1 = G S1 S O2 = G S1 S O3 = G S1 S Technologies ontemporary Logic Design 25 i 2 i

Demultiplexer/Decoder (cont d) Gate level implementation of Demux 1:2 decoders active-high enable G O S 2:4 decoders O1 active-low enable G S O O1 G O G O active-high enable O1 active-low enable O1 O2 O2 O3 O3 S1 Technologies S S1 S ontemporary Logic Design 26

Demultiplexer/Decoder (cont d) Demux as a general-purpose building block n:2 n decoder can implement any function of n variables with the variables used as control inputs the enable inputs tied to 1 and the appropriate minterms summed to form the function 1 1 2 3 3:8 DE 4 5 6 7 S2 S1 S ''' '' '' ' '' ' ' demultiplexer generates appropriate minterm based on control signals (it "decodes" control signals) Technologies ontemporary Logic Design 27

Demultiplexer/Decoder (cont d) Demux as a general-purpose building block F1 = ''D + ''D + D F2 = 'D' + F3 = (' + ' + ' + D') Enable 4:16 DE '''D' 1 '''D 2 ''D' 3 ''D 4 ''D' 5 ''D 6 'D' 7 'D 8 ''D' 9 ''D 1 'D' 11 'D 12 'D' 13 'D 14 D' 15 D F3 F1 F2 D Technologies ontemporary Logic Design 28

Demultiplexer/Decoder (cont d) ascading decoders 5:32 decoder 1x2:4 decoder 4x3:8 decoders F 2:4 DE S1 S 1 2 3 '''D'E' 1 2 3:8 DE 3 4 5 6 7 S2 S1 S 1 2 3:8 DE 3 4 5 6 7 DE S2 S1 S 1 2 ''DE' 3:8 DE3 4 5 6 7 S2 S1 S ''D'E' 1 2 3:8 DE 3 4 5 6 7 'DE S2 S1 S D E D E Technologies ontemporary Logic Design 29

asic Logic omponents (cont'd) - Programmable Logic rray Pre-fabricated building block of many ND/OR gates actually NOR or NND "personalized" by making/breaking connections among the gates programmable array block diagram for sum of products form inputs ND array product terms OR array outputs (SOP) Technologies ontemporary Logic Design 3

Programmable Logic rray (cont d) - Enabling oncept Shared product terms among outputs example: F = + ' ' F1 = ' + F2 = ' ' + F3 = ' + personality matrix product inputs outputs term F F1 F2 F3 1 1 1 1 ' 1 1 ' 1 1 '' 1 1 1 1 1 input side: 1 = uncomplemented in term = complemented in term = does not participate output side: 1 = term connected to output = no connection to output reuse of terms Technologies ontemporary Logic Design 31

Programmable Logic rray (cont d) - efore Programming ll possible connections are available before "programming" in reality, all ND and OR gates are NNDs Technologies ontemporary Logic Design 32

Programmable Logic rray (cont d) - fter Programming Unwanted connections are "blown" fuse (normally connected, break unwanted ones) anti-fuse (normally disconnected, make wanted connections) memory cell or 1 can be stored indicating whether there is to be a connection or not. ' ' '' F1 F2 F3 Technologies ontemporary Logic Design 33 F

Programmable Logic rray (cont d) - lternate Representation for High Fan-in Structures Short-hand notation so we don't have to draw all the wires signifies a connection is present and perpendicular signal is an input to gate D notation for implementing F = + ' ' F1 = D' + ' D '' D' 'D +'' D'+'D Technologies ontemporary Logic Design 34

Programmable Logic rray (cont d) - Example Multiple functions of,, F1 = F2 = + + F3 = ' ' ' F4 = ' + ' + ' F5 = xor xor F6 = xnor xnor F1F2F3F4F5F6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ''' '' '' Technologies ontemporary Logic Design 35 full decoder as for memory address bits stored in memory F1 F2 F3 F4 F5 F6 ' '' ' '

asic Logic omponents (cont'd) -PLsand PLs Programmable logic array (PL) what we've seen so far unconstrained fully-general ND and OR arrays Programmable array logic (PL) constrained topology of the OR array innovation by Monolithic Memories faster and smaller OR plane a given column of the OR array has access to only a subset of the possible product terms Technologies ontemporary Logic Design 36

PLs and PLs (cont'd) - PLs and PLs: Design Example D to Gray code converter D W X Y Z 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 minimized functions: W = + D + X = ' Y = + Z = '''D + D + D' + 'D' D 1 11 1 X 1 1 11 1 1 X 1 1 X X 1 X X K-map for W D 1 11 1 1 X 1 11 1 1 X 1 1 X X 1 1 X X K-map for Y Technologies ontemporary Logic Design 37 D D D 1 11 1 1 X 1 11 1 1 X X X X X K-map for X D 1 11 1 X 1 1 11 1 1 X 1 X X 1 X X K-map for Z D D

PLs and PLs: Design Example (cont d) ode converter: programmed PL D D ' minimized functions: W = + D + X = ' Y = + Z = '''D + D + D' + 'D' not a particularly good candidate for PL implementation since no terms are shared among outputs '''D D D' D' however, much more compact and regular implementation when compared with discrete ND and OR gates W X Y Z Technologies ontemporary Logic Design 38

PLs and PLs: Design Example (cont d) ode converter: programmed PL 4 product terms per each OR gate D D ' '''D D D' 'D' W X Y Z Technologies ontemporary Logic Design 39

PLs and PLs: Design Example (cont d) ode converter: NND gate implementation loss or regularity, harder to understand harder to make changes D W X D D D D Z Y Technologies ontemporary Logic Design 4

PLs and PLs (cont'd) - PLs and PLs: nother Design Example Magnitude comparator Input: Output:, D where,,, D = {,1} EQ, NE, LT, GT = {,1} 1 when = D Function: EQ = otherwise 1 when D NE = otherwise 1 when < D LT = otherwise 1 when > D GT = otherwise D EQ NE LT GT 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Technologies ontemporary Logic Design 41

PLs and PLs: nother Design Example (cont d) D 1 11 1 1 D 1 11 1 1 1 1 minimized functions: 1 11 1 1 1 1 K-map for EQ D 1 11 1 1 1 1 1 1 1 1 1 1 K-map for NE D EQ = D + D + D + D NE = + + D + D LT = + D + D GT = + + D D 1 11 1 D 1 11 1 1 1 1 1 11 1 1 1 1 1 1 1 D 1 11 1 1 1 1 D K-map for L T K-map for GT Technologies ontemporary Logic Design 42

PLs and PLs: nother Design Example (cont d) D '''D' ''D D 'D' ' ' 'D D' ''D 'D 'D' EQ NE LT GT Technologies ontemporary Logic Design 43

asic Logic omponents (cont'd) - Multiplexer-ased FPG ctel logic module S O S S 1 D D 1 D 2 D 3 Example using a logic module S O ND Y=(S +S 1 ) (S O D +S O D 1 ) +(S +S 1 )(S O D 2 +S O D 3 ) Y=(+) ( +) +(+)(S O D 2 +S O D 3 ) Y= D 2 D 3 S O Technologies ontemporary Logic Design 44

asic Logic omponents (cont'd) - Look-Up Table ased FPG Simplified basic building block of FPG Xilinx onfigurable Logic lock (L) Ref.: IEEE TRNSTIONS ON INSTRUMENTTION ND MESUREMENT, VOL. 52, NO. 5, OTOER 23 Technologies ontemporary Logic Design 45

Two-Level and Multilevel Logic - Regular Logic Structures for Two-Level Logic ROM full ND plane, general OR plane cheap (high-volume component) can implement any function of n inputs medium speed PL programmable ND plane, fixed OR plane intermediate cost can implement functions limited by number of terms high speed (only one programmable plane that is much smaller than ROM's decoder) PL programmable ND and OR planes most expensive (most complex in design, need more sophisticated tools) can implement any function up to a product term limit slow (two programmable planes) Technologies ontemporary Logic Design 46

Regular Logic Structures for Two-Level Logic (cont d) -ROM vs. PL ROM approach advantageous when design time is short (no need to minimize output functions) most input combinations are needed (e.g., code converters) little sharing of product terms among output functions ROM problems size doubles for each additional input can't exploit don't cares PL approach advantageous when design tools are available for multi-output minimization there are relatively few unique minterm combinations many minterms are shared among the output functions PL problems constrained fan-ins on OR plane Technologies ontemporary Logic Design 47

Two-Level and Multilevel Logic (cont d) - Regular Logic Structures for Multilevel Logic Difficult to devise a regular structure for arbitrary connections between a large set of different types of gates efficiency/speed concerns for such a structure FPG: just such programmable multi-level structures programmable multiplexers for wiring lookup tables for logic functions (programming fills in the table) multi-purpose cells (utilization is the big issue) Technologies ontemporary Logic Design 48

Regular Logic Structures for Multilevel Logic (cont d) Using multiple levels of PLs/PLs/ROMs output intermediate result make it an input to be used in further logic Example: Full dder oolean equations Sum = in + in + in + in out = + in + in oolean equations for feedback PL implementation X = +, Y= Sum = X in + X in out = X in + Y PL Technologies ontemporary Logic Design 49 Sum out X Y

Two-level and Multilevel Logic (cont'd) - 7-Segment Display Decoder Understanding the problem: input is a 4 bit D digit output is the control signals for the display 4 inputs,,, D 7 outputs ~ 6 7-Segment display 1 2 3 4 5 6 5 4 3 6 2 1 D-to-7-segment control signal decoder 1 2 3 4 5 6 7-segment display D lock Diagram Technologies ontemporary Logic Design 5

7-Segment Display Decoder (cont d) Truth table Formulate the problem in terms of a truth table D 1 2 3 4 5 6 hoose implementation target: if ROM, we are done 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 1 111 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 11x 11xx x x x x x x x x x x x x x x don't cares imply PL/PL may be attractive Follow implementation procedure: hand reduced K-maps espresso Technologies ontemporary Logic Design 51

7-Segment Display Decoder (cont d) D 1 11 1 1 X 1 D 1 11 1 1 1 X 1 D 1 11 1 1 1 X 1 1 11 1 1 X 1 1 1 X X 1 1 X X D 1 11 1 1 X 1 1 1 X X 1 X X D 1 11 1 1 1 X 1 1 1 X X 1 X X D K-map for K-map for 1 K-map for 2 D 1 11 1 D 1 11 1 D 1 11 1 D 1 11 1 1 X 1 1 X 1 1 1 X 1 1 X 1 1 11 1 1 X 1 X X 1 1 X X D 1 11 1 X X X 1 1 X X D 1 11 1 1 X 1 X X 1 X X D 1 11 1 1 X 1 1 X X 1 1 X X D K-map for 3 K-map for 4 K-map for 5 K-map for 6 = + D + + ' D' 1 = ' D' + D + ' 2 = + ' + D 14 Unique Product Terms 3 = ' D' + D' + ' D + ' 4 = ' D' + D' 5 = + ' D' + D' + ' 6 = + D' + ' + ' Technologies ontemporary Logic Design 52

7-Segment Display Decoder (cont d) 16H8PL (1 external inputs, 6 feedback inputs 8 outputs) 1 First fuse numbers 2 3 4 32 64 96 128 16 192 224 256 288 32 352 384 416 448 48 512 544 576 68 64 672 74 736 Increment 4 8 12 16 2 24 28 19 18 17 an Implement the function 5 768 8 832 864 896 928 96 992 16 6 124 156 188 112 1152 1184 1216 1248 15 128 1312 1344 1376 148 144 1472 154 14 7 8 1536 1568 16 1632 1664 1696 1728 176 13 1792 1824 1856 1888 192 1952 1984 216 9 11 Technologies Note: Fuse number = first fuse number + increment ontemporary Logic Design 53 12

7-Segment Display Decoder (cont d) Increment 1 2 3 4 8 1 12 14 16 18 2 24 27 1 2 23 14H8PL (14 inputs, 8 outputs, but only two 4-input product terms can be computed.) First fuse numbers 3 4 5 28 56 84 112 14 168 196 22 1 21 2 annot Implement the function 6 224 252 28 38 19 18 7 336 364 17 8 392 42 16 9 448 476 54 532 15 1 14 11 13 Note: Fuse number = first fuse number + increment Technologies ontemporary Logic Design 54

7-Segment Display Decoder (cont d) D (espresso) input.i 4.o 7.ilb a b c d.ob c c1 c2 c3 c4 c5 c6.p 16 111111 1 11 1 11111 11 11111 1 1111 11 11111 11 111111 111 111 1 1111111 11 11111 11 ------- 111 ------- 11 ------- 111 ------- 111 ------- 1111 -------.e D (espresso) output.i 4.o 7.ilb a b c d.ob c c1 c2 c3 c4 c5 c6.p 9-1- 1-1- 11 --1 11-11 1111 -- 111 --11 111 -- 1111 1--- 111-11 111111.e = ' D + D + ' D' + D' + 1 = ' D + ' D' + D + ' D' 2 = ' D + ' D + ' D' + D + D' 3 = ' D + ' D + ' D' + D' 4 = ' D' + D' 5 = ' D + ' D' + + D' 6 = ' + ' + D' + 63 Literals, 2 Gates 9 Unique Product Terms! The results are more complex than those of manual method. However, #unique product terms has been reduced 15->9 Technologies ontemporary Logic Design 55

7-Segment Display Decoder (cont d) - PL Implementation Technologies ontemporary Logic Design 56

7-Segment Display Decoder (cont d) - Multilevel Implementation X = ' + D' Y = ' ' = 3 + ' X' + D Y 1 = Y + ' 5' + ' D' 6 2 = 5 + ' ' D + ' D 3 = 4 + D 5 + ' ' X' 52 literals 33 gates Ineffective use of don't cares 4 = D' Y + ' D' 5 = ' 4 + Y + ' X 6 = 4 + 5 + 4' 5 + ' ' Technologies ontemporary Logic Design 57

Non-Gate Logic - Tri-State Outputs The Third State Logic States: "", "1" Don't are/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 "", "1", and "Z F additional input: output enable (OE) When OE is high, this gate is a non-inverting "buffer" OE 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 Technologies ontemporary Logic Design 58

Tri-State Outputs (cont d) Tri-state gates (cont d) Truth table X 1 OE 1 1 F Z 1 Non-inverting buffer's timing waveform OE F 1 OE F "Z" "Z" Technologies ontemporary Logic Design 59

Tri-State Outputs (cont d) Using tri-state gates to implement an economical multiplexer: When SelectInput is asserted high, Input1 is connected to F When SelectInput is driven low, Input is connected to F This is essentially a 2:1 Mux Input Input 1 OE F OE SelectInput Technologies ontemporary Logic Design 6

Tri-State Outputs (cont d) lternative Tri-state Fragment Switch Level Implementation of tri-state gate Input F 1 OE Input 1 OE OE I F SelectInput ctive low tri-state enables plus inverting tri-state buffers Technologies ontemporary Logic Design 61

Tri-State Outputs (cont d) 4:1 Multiplexer, Revisited \EN S1 S 1 15 3 2 13 14 139 1G 1 1 2G 2 2 1Y3 1Y1 1Y2 1Y 2Y3 2Y1 2Y2 2Y 7 6 5 4 9 1 11 12 D3 D2 D1 D Decoder + 4 tri-state Gates Technologies ontemporary Logic Design 62

Tri-State Outputs (cont d) - Output Enable Signal of ROM 2764 EPROM 8K x 8 2764 VPP PGM 12 11 1 O7 9 O6 8 O5 7 O4 6 O3 5 O2 4 O1 3 O 2 1 S OE 16K x 16 Subsystem 13 /OE 12: D15:D8 D7:D 2764 VPP + PGM + 12 11 1 + 9 8 7 6 5 4 3 2 1 S OE 2764 VPP PGM 12 11 1 9 8 7 6 5 4 3 2 1 S OE O7 O6 O5 O4 O3 O2 O1 O U3 O7 O6 O5 O4 O3 O2 O1 O U1 + 2764 VPP PGM 12 11 1 9 8 7 6 5 4 3 2 1 S OE 2764 VPP PGM 12 11 1 9 8 7 6 5 4 3 2 1 S OE O7 O6 O5 O4 O3 O2 O1 O U2 O7 O6 O5 O4 O3 O2 O1 O U Technologies ontemporary Logic Design 63

Non-Gate Logic (cont'd) - Open-ollector Logic Open ollector another way to connect multiple gates to the same output wire The gate only has the ability to pull its output low; it cannot actively drive the wire high this is done by pulling the wire up to a logic 1 voltage through a resistor Switch representation of an O NND +5 V When =1 and =1, equivalent circuit of O-NND: Open-collector NND gate Pull-up resistor V F VFRrRrlim (=+ (Ra+Rb) Rr +5 V V Technologies ontemporary Logic Design 64

Open-ollector Logic (cont d) Example: O-NNDs in wired-nd configuration D + F If and are "1", output is actively pulled low if and D are "1", output is actively pulled low if one gate is low, the other high, then low wins if both gates are "1", the output floats, pulled high by resistor Hence, the two NND functions are ND'd together! Technologies ontemporary Logic Design 65

Open-ollector Logic (cont d) 4:1 Multiplexer \EN 1 G 139 S1 3 S 2 Y3 Y2 Y1 Y 7 6 5 4 \I3 OR +5V F \I2 OR \I1 OR \I OR Decoder + 4 Open ollector Gates Technologies ontemporary Logic Design 66

Summary Theme: How to construct digital systems with more complex logic building blocks than discrete gates Overview of the different classes of basic components: Fixed logic Look-up table based logic (ROM) Steering logic (Mux, Demux) PL, PL FPG Non-gate logic Enables efficient multiplexing of large numbers of signals Tristate Open-collector Technologies ontemporary Logic Design 67