Overview Last lecture Timing; Hazards/glitches

Slides:



Advertisements
Similar presentations
Digital Design: Combinational Logic Blocks
Advertisements

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.
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.
ECE C03 Lecture 41 Lecture 4 Combinational Logic Implementation Technologies Prith Banerjee ECE C03 Advanced Digital Design Spring 1998.
CS61C L17 Combinatorial Logic Blocks (1) Beamer, Summer 2007 © UCB Scott Beamer, Instructor inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture.
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
Lecturer PSOE Dan Garcia
1 Designing with MSI Documentation Standards  Block diagrams first step in hierarchical design  Schematic diagrams  Timing diagrams  Circuit descriptions.
CS61C L18 Combinational Logic Blocks, Latches (1) Chae, Summer 2008 © UCB Albert Chae, Instructor inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures.
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.
Decoders and Multiplexers Prof. Sin-Min Lee Department of Computer Science San Jose State University.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
Combinational and Sequential Logic Circuits.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
Transistors and Logic Circuits. Transistor control voltage in voltage out control high allows current to flow -- switch is closed (on) control low stops.
Chapter 4. combinational logic technologies
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
1 Lecture 9 Demultiplexers Programmable Logic Devices  Programmable logic array (PLA)  Programmable array logic (PAL)
4-1 Introduction Chapter # 4: Programmable and Steering Logic.
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.
Chap 2. Combinational Logic Circuits
Chapter # 4: Programmable Logic
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.
Revisão de Circuitos Lógicos PARTE III. Review Use this table and techniques we learned to transform from 1 to another.
1 Programmable Logic There are other ways to implement a logic function than to hook together discrete 74XX packages or create a custom Integrated Circuit.
Chapter # 4: Programmable Logic
Logic Gates and Boolean Algebra
Transistors and Logic Circuits
Combinational Logic Implementation
Multiplexers (Data Selectors)
CS221: Digital Logic Design Combinational Circuits 3
CSE 140 Lecture 12 Combinational Standard Modules
Combinational Functions and Circuits
IT IS ABOUT : Programmable Logic PAL, PLA.
Lecture 9 Logistics Last lecture Today HW3 due Wednesday
Lecture 4: Combinational Functions and Circuits
CSCE 211: Digital Logic Design
Overview Last Lecture Conversion of two-level logic to NAND or NOR forms Multilevel logic AOI and OAI gates Today Timing and hazards Multiplexers and demultiplexers.
David Culler Electrical Engineering and Computer Sciences
CSCE 211: Digital Logic Design
CSE 370 – Winter Combinational Logic - 1
CSE 370 – Winter 2002 – Comb. Logic building blocks - 1
Programmable Logic.
Lecture 8 Logistics Last lecture Last last lecture Today
CSE 370 – Winter Combinational Implementation - 1
Programmable Configurations
COE 202: Digital Logic Design Combinational Circuits Part 3
Unit -06 PLDs.
Lecture 10 Logistics Last lecture Today
Lecture 11 Logistics Last lecture Today HW3 due now
CSCE 211: Digital Logic Design
13 Digital Logic Circuits.
CSCE 211: Digital Logic Design
CSE 370 – Winter 2002 – Comb. Logic building blocks - 1
Logic Circuits I Lecture 3.
Digital System Design Combinational Logic
ECE 352 Digital System Fundamentals
Presentation transcript:

Overview Last lecture Timing; Hazards/glitches Definition of Multiplexers Today Multiplexers as general-purpose logic functions Demultiplexers PLA’s 4/16/2019 CSE 370 – Winter 2002 - Hazards - 1

Multiplexers (aka selectors) Multiplexers/selectors: general concept 2n data inputs, n control inputs (called "selects"), 1 output used to connect 2n points to a single point control signal pattern forms binary index of input connected to output I1 I0 A Z 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 A Z 0 I0 1 I1 Z = A' I0 + A I1 A is control I0 , I1 are input Z is output functional form logical form two alternative forms for a 2:1 Mux truth table 4/16/2019 CSE 370 – Winter 2002 - Hazards - 2

Multiplexers/selectors (cont'd) 2:1 mux: Z = A' I0 + A I1 4:1 mux: Z = A' B' I0 + A' B I1 + A B' I2 + A B I3 8:1 mux: 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 =  (mkIk) in minterm shorthand form for a 2n:1 Mux n 2 -1 I0 I1 I2 I3 I4 I5 I6 I7 A B C 8:1 mux Z k=0 I0 I1 I2 I3 A B 4:1 mux Z I0 I1 A 2:1 mux Z 4/16/2019 CSE 370 – Winter 2002 - Hazards - 3

Gate level implementation of muxes 4/16/2019 CSE 370 – Winter 2002 - Hazards - 4

Cascading multiplexers Large multiplexers can be implemented by cascading smaller ones Z I0 I1 I2 I3 A I4 I5 I6 I7 B C 4:1 mux 2:1 mux 8:1 mux alternative implementation C Z A B 4:1 mux 2:1 mux I4 I5 I2 I3 I0 I1 I6 I7 8:1 mux control signals B and C simultaneously choose one of I0, I1, I2, I3 and one of I4, I5, I6, I7 control signal A chooses which of the upper or lower mux's output to gate to Z 4/16/2019 CSE 370 – Winter 2002 - Hazards - 5

Multiplexers as general-purpose logic A 2n:1 multiplexer can implement any function of n variables with the variables used as control inputs and the data inputs tied to 0 or 1 in essence, a lookup table Example: F(A,B,C) = m0 + m2 + m6 + m7 = A'B'C' + A'BC' + ABC' + ABC C A B 0 1 2 3 4 5 6 7 1 0 1 0 0 0 1 1 S2 8:1 MUX S1 S0 F 4/16/2019 CSE 370 – Winter 2002 - Hazards - 6

Multiplexers as general-purpose logic (cont’d) A 2n-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(A,B,C) = m0 + m2 + m6 + m7 = A'B'C' + A'BC' + ABC' + ABC = A'B'(C') + A'B(C') + AB'(0) + AB(1) C A B 0 1 2 3 4 5 6 7 1 0 1 0 0 0 1 1 S2 8:1 MUX S1 S0 A B C F 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 C' C' 0 1 A B S1 S0 F 0 1 2 3 4:1 MUX C' C' 0 1 F 4/16/2019 CSE 370 – Winter 2002 - Hazards - 7

Multiplexers as general-purpose logic (cont’d) Generalization Example: F(A,B,C,D) can be implemented by an 8:1 MUX I0 I1 . . . In-1 In F . . . . 0 0 0 1 1 . . . . 1 0 1 0 1 0 In In' 1 four possible configurations of truth table rows can be expressed as a function of In n-1 mux control variables single mux data variable C A B 0 1 2 3 4 5 6 7 1 D 0 1 D’ D D’ D’ S2 8:1 MUX S1 S0 1 0 1 1 0 0 D A 0 1 B C choose A,B,C as control variables multiplexer implementation 4/16/2019 CSE 370 – Winter 2002 - Hazards - 8

Demultiplexers (aka decoders) Decoders/demultiplexers: general concept single data input, n control inputs, 2n outputs control inputs (called “selects” (S)) represent binary index of output to which the input is connected data input usually called “enable” (G) 1:2 Decoder: O0 = G  S’ O1 = G  S 3:8 Decoder: O0 = G  S2’  S1’  S0’ O1 = G  S2’  S1’  S0 O2 = G  S2’  S1  S0’ O3 = G  S2’  S1  S0 O4 = G  S2  S1’  S0’ O5 = G  S2  S1’  S0 O6 = G  S2  S1  S0’ O7 = G  S2  S1  S0 2:4 Decoder: O0 = G  S1’  S0’ O1 = G  S1’  S0 O2 = G  S1  S0’ O3 = G  S1  S0 4/16/2019 CSE 370 – Winter 2002 - Hazards - 9

Gate level implementation of demultiplexers 1:2 decoders 2:4 decoders active-high enable active-low enable O0 G S O1 O0 \G S O1 S1 O2 O3 O0 G O1 S0 S1 O2 O3 O0 \G O1 S0 active-high enable active-low enable 4/16/2019 CSE 370 – Winter 2002 - Hazards - 10

Demultiplexers as general-purpose logic A n:2n 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 A'B'C' A'B'C A'BC' A'BC AB'C' AB'C ABC' ABC C A B 0 1 2 3 4 5 6 7 S2 3:8 DEC S1 S0 “1” demultiplexer generates appropriate minterm based on control signals (it "decodes" control signals) 4/16/2019 CSE 370 – Winter 2002 - Hazards - 11

Demultiplexers as general-purpose logic (cont’d) 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') A B 0 A'B'C'D' 1 A'B'C'D 2 A'B'CD' 3 A'B'CD 4 A'BC'D' 5 A'BC'D 6 A'BCD' 7 A'BCD 8 AB'C'D' 9 AB'C'D 10 AB'CD' 11 AB'CD 12 ABC'D' 13 ABC'D 14 ABCD' 15 ABCD 4:16 DEC Enable C D F1 F2 F3 4/16/2019 CSE 370 – Winter 2002 - Hazards - 12

Cascading decoders 5:32 decoder 1x2:4 decoder 4x3:8 decoders 0 A'B'C'D'E' 1 2 3 4 5 6 7 0 1 2 A'BC'DE' 3 4 5 6 7 3:8 DEC 3:8 DEC S2 S1 S0 S2 S1 S0 0 1 2 3 F 2:4 DEC S1 S0 0 1 2 3 4 5 6 7 ABCDE 0 AB'C'D'E' 1 2 3 4 5 6 7 AB'CDE A B 3:8 DEC 3:8 DEC S2 S1 S0 S2 S1 S0 C D E C D E 4/16/2019 CSE 370 – Winter 2002 - Hazards - 13

Programmable logic arrays Pre-fabricated building block of many AND/OR gates actually NOR or NAND "personalized" by making or breaking connections among the gates programmable array block diagram for sum of products form • • • inputs AND array • • • outputs OR array product terms 4/16/2019 CSE 370 – Winter 2002 - Hazards - 14

Enabling concept Shared product terms among outputs F0 = A + B' C' F1 = A C' + A B F2 = B' C' + A B F3 = B' C + A example: input side: personality matrix 1 = uncomplemented in term 0 = complemented in term – = does not participate product inputs outputs term A B C F0 F1 F2 F3 AB 1 1 – 0 1 1 0 B'C – 0 1 0 0 0 1 AC' 1 – 0 0 1 0 0 B'C' – 0 0 1 0 1 0 A 1 – – 1 0 0 1 output side: reuse of terms 1 = term connected to output 0 = no connection to output 4/16/2019 CSE 370 – Winter 2002 - Hazards - 15

Before programming All possible connections (2-level logic functions) are available before "programming" in reality, all AND and OR gates are NANDs 4/16/2019 CSE 370 – Winter 2002 - Hazards - 16

After programming Unwanted connections are "blown" fuse (normally connected, break unwanted ones) anti-fuse (normally disconnected, make wanted connections) A B C F1 F2 F3 F0 AB B'C AC' B'C' 4/16/2019 CSE 370 – Winter 2002 - Hazards - 17

Alternate 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 notation for implementing F0 = A B + A' B' F1 = C D' + C' D A B C D AB AB+A'B' A'B' CD' CD'+C'D C'D 4/16/2019 CSE 370 – Winter 2002 - Hazards - 18

Programmable logic array example 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 full decoder as for memory address bits stored in memory A'B'C' A'B'C A'BC' A'BC AB'C' AB'C ABC' ABC A B C F1 F2 F3 F4 F5 F6 A B C F1 F2 F3 F4 F5 F6 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0 1 0 1 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 0 1 1 4/16/2019 CSE 370 – Winter 2002 - Hazards - 19