Lecture 8 Logistics Last lecture Last last lecture Today

Slides:



Advertisements
Similar presentations
Digital Design: Combinational Logic Blocks
Advertisements

Digital Logic Design Week 7 Encoders, Decoders, Multiplexers, Demuxes.
Combinational Circuits
Documentation Standards
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.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 6 Dr. Shi Dept. of Electrical and Computer Engineering.
ECE C03 Lecture 41 Lecture 4 Combinational Logic Implementation Technologies Prith Banerjee ECE C03 Advanced Digital Design Spring 1998.
1 Designing with MSI Documentation Standards  Block diagrams first step in hierarchical design  Schematic diagrams  Timing diagrams  Circuit descriptions.
Give qualifications of instructors: DAP
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.
Combinational Logic Design
Logic Function Optimization. Combinational Logic Circuit Regular SOP and POS designs Do not care expressions Digital logic circuit applications Karnaugh.
Sahar Mosleh PageCalifornia State University San Marcos 1 Multiplexer, Decoder and Circuit Designing.
Combinational Logic By Taweesak Reungpeerakul
WEEK #9 FUNCTIONS OF COMBINATIONAL LOGIC (DECODERS & MUX EXPANSION)
ENG241 Digital Design Week #4 Combinational Logic Design.
1 Lecture 9 Demultiplexers Programmable Logic Devices  Programmable logic array (PLA)  Programmable array logic (PAL)
Digital Logic Problems (II) Prof. Sin-Min Lee Department of Mathematics and Computer Science.
Combinational Design, Part 3: Functional Blocks
Kuliah Rangkaian Digital Kuliah 6: Blok Pembangun Logika Kombinasional Teknik Komputer Universitas Gunadarma.
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.
Chapter # 4: Programmable Logic
1 Multiplexers (Data Selectors) A multiplexer (MUX) is a device that allows several low-speed signals to be sent over one high-speed output line. “Select.
Combinational Circuit Design. Digital Circuits Combinational CircuitsSequential Circuits Output is determined by current values of inputs only. Output.
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 CSE370, Lecture 8 Lecture 8 u Logistics n Midterm 1 week from today in class. Closed book/closed notes n Sample midterm linked in on calendar n Review.
Chapter4: Combinational Logic Part 4 Originally By Reham S. Al-Majed Imam Muhammad Bin Saud University.
Binary Parallel Adders
MSI Circuits.
1 CSE370, Lecture 7 Lecture 9 u Logistics n HW3 posted, due on Friday n Lab3 this week u Last lecture n Verilog u Last last lecture n K-maps examples n.
Prof. Sin-Min Lee Department of Computer Science
Chapter # 4: Programmable Logic
Lecture 4 Logistics Last lecture --- Boolean algebra Today’s lecture
Combinational Logic Implementation
ENG2410 Digital Design “Combinational Logic Design”
CSE 140 Lecture 12 Combinational Standard Modules
Combinational Logic Circuits
Lecture 9 Logistics Last lecture Today HW3 due Wednesday
Optimized Implementation of Logic Function
CSE 140 Lecture 12 Combinational Standard Modules
EEL 3705 / 3705L Digital Logic Design
Basics Combinational Circuits Sequential Circuits
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
Optimized Implementation of Logic Function
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.
CSCE 211: Digital Logic Design
ECE434a Advanced Digital Systems L02
Programmable Configurations
Lecture 6 Logistics Last lecture Today’s lecture
Lecture 7 Logistics Last lecture Today HW2 due now Lab2 going on
Lecture 10 Logistics Last lecture Today
Lecture 11 Logistics Last lecture Today HW3 due now
CSCE 211: Digital Logic Design
Optimized Implementation of Logic Function
Part I Background and Motivation
Digital Systems Section 17 Decoders and Encoders.
Lecture 9 Logistics Last lecture Last last lecture Today
CSCE 211: Digital Logic Design
CSE 370 – Winter 2002 – Comb. Logic building blocks - 1
Lecture 4 Logistics Last lecture --- Boolean algebra Today’s lecture
Overview Last lecture Timing; Hazards/glitches
Digital System Design Combinational Logic
Lecture 7 Logistics Last lecture Today HW2 due now Lab2 going on
Presentation transcript:

Lecture 8 Logistics Last lecture Last last lecture Today Midterm 1 week from today Last lecture Verilog Last last lecture K-maps examples K-map high dimension example Don’t cares Today Don’t care (review) POS minimization with K-map Design examples with K-map

The “WHY” slide Don’t cares Design examples with K-map Sometimes the logic output doesn’t matter. When we don’t care if the output is 0 or 1, rather than assigning random outputs, it is best to denote it as “Don’t care.” If you learn how to use the “don’t care’s”, you will be able to build even more efficient circuits than without them. Design examples with K-map Doing K-map is fun, but when it is combined with an actual design problem you will see how k-map fits into the whole scheme of logic design. Class rule: Interrupt when you don’t understand why we are doing something

Revisit Don’t cares example: Truth table for a BCD increment-by-1 INPUTS OUTPUTS A B C D W X Y Z 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 X X X X 1 0 1 1 X X X X 1 1 0 0 X X X X 1 1 0 1 X X X X 1 1 1 0 X X X X 1 1 1 1 X X X X Function F computes the next number in a BCD sequence If the input is 00102, the output is 00112 BCD encodes decimal digits 0–9 as 00002–10012 Don’t care about binary numbers 10102–11112

Example: with don’t cares F(A,B,C,D) = m(1,3,5,7,9) + d(6,12,13) F = A'D + B'C'D without using don't cares F = A'D + C'D using don't cares A AB 00 01 11 10 CD Assign X == "1"  allows a 2-cube rather than a 1-cube 00 0 0 X 0 1 1 X 1 1 1 0 0 0 X 0 0 01 D 11 C 10 B

POS minimization using k-maps Using k-maps for POS minimization Encircle the zeros in the map Interpret indices complementary to SOP form 1 0 0 1 0 1 0 0 1 1 1 1 AB CD A B D 00 01 11 10 C F = (B’+C+D)(B+C+D’)(A’+B’+C) Same idea as the Truth Table

Design example: a two-bit comparator A B C D LT EQ GT 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 0 1 0 A B C D AB < CD AB = CD AB > CD LT EQ GT block diagram truth table Need a 4 -variable Karnaugh map for each of the 3 output functions

Design example: a two-bit comparator (con’t) K-map for LT K-map for EQ K-map for GT A A A AB AB AB 00 01 11 10 CD 00 01 11 10 CD 00 01 11 CD 10 00 0 0 0 0 1 0 0 0 1 1 0 1 1 1 0 0 00 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 00 0 1 1 1 0 0 1 1 0 0 0 0 0 0 1 0 01 01 01 D D D 11 11 11 C C C 10 10 10 B B B LT = A'B'D+A'C+B'CD GT = BC'D'+AC'+ABD' EQ = A'B'C'D'+A'BC'D+ABCD+AB'CD' = (A xnor C)•(B xnor D)

Design example: a two-bit comparator (con’t) Two ways to implement EQ: Option 1: EQ = A'B'C'D'+A'BC'D+ABCD+AB'CD‘ 5 gates but they require lots of inputs Option 2 EQ = (A xnor C) •(B xnor D) XNOR is constructed from 3 simple gates 7 gates but they all have 2 inputs each A B C D EQ

Design example: a two-bit comparator (con’t) Circuit schematics

Design example: BCD increment by 1 I8 I4 I2 I1 O8 O4 O2 O1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 X X X X 1 0 1 1 X X X X 1 1 0 0 X X X X 1 1 0 1 X X X X 1 1 1 0 X X X X 1 1 1 1 X X X X I1 I2 I4 I8 O1 O2 O4 O8 block diagram truth table Need a 4 -variable Karnaugh map for each of the 4 output functions

Design example: BCD increment by 1 (con’t) 0 1 X X 0 0 X X 0 1 X 0 1 0 X X 0 1 X X O8 = I4I2I1 + I8I1‘ O4 = I4I2' + I4I1' + I4'I2I1 O2 = I8'I2'I1 + I2I1‘ O1 = I1' I1 I8 I2 I4 I1 I8 I2 I4 O2 O1 0 0 X 0 1 1 X 0 0 0 X X 1 1 X X 1 1 X 1 0 0 X 0 0 0 X X 1 1 X X We greatly simplify the logic by using the don’t cares

Design example: BCD increment by 1 (con’t) Draw the circuit schematic O8 = I4I2I1 + I8I1' O4 = I4I2' + I4I1' + I4'I2I1 O2 = I8'I2'I1 + I2I1' O1 = I1'

Design example: a two-bit multiplier A2 A1 B2 B1 P8 P4 P2 P1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 1 A1 A2 P1 P2 P4 P8 B1 B2 block diagram truth table Need a 4 -variable Karnaugh map for each of the 4 output functions 9

Two-bit multiplier (cont'd) 0 0 0 0 0 0 1 0 B1 A2A1 B2B1 A2 00 01 11 10 B2 A1 0 0 0 0 0 0 0 1 0 0 1 1 B1 A2A1 B2B1 A2 00 01 11 10 B2 A1 P4=A2B2B1' +A2A1'B2 P8=A2A1B2B1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 B1 A2A1 B2B1 A2 00 01 11 10 B2 A1 0 0 0 0 0 1 1 0 B1 A2A1 B2B1 A2 00 01 11 10 B2 A1 P1=A1B1 P2=A2'A1B2 +A1B2B1' +A2B2'B1 +A2A1'B1

Lecture 10 Logistics Last lecture Today HW3 due Friday (cover materials up to this lecture) Lab3 going on this week Midterm 1: a week from today --- material up to this lecture Last lecture Don’t cares POS minimization with K-map K-maps design examples Today "Switching-network" logic blocks (multiplexers/demultiplexers)

Switching-network logic blocks Multiplexer (MUX) Routes one of many inputs to a single output Also called a selector Demultiplexer (DEMUX) Routes a single input to one of many outputs Also called a decoder multiplexer demultiplexer We construct these devices from: logic gates networks of tran- sistor switches control control

The “WHY” slide Multiplexers/Demultiplexers If you had the ability to select which input to operate, the same part of a circuit can be used multiple times. So if you have a lot of inputs and all of them are supposed to go through same complex logic functions, you can save a lot of space on your circuit board by using a multiplexer. Then you will also need a demultiplexer to decode the output coming out in serial into separate output ports.

“WHY”: Sharing complex logic functions Share an adder: Select inputs; route sum MUX A B Sum A0 A1 Ss Sb B0 B1 DEMUX Z0 Z1 multiple inputs Sa single adder multiple output destinations

Functional truth table Multiplexers Basic concept 2n data inputs; n control inputs ("selects"); 1 output Connects one of 2n inputs to the output “Selects” decide which input connects to output Two alternative truth-tables: Functional and Logical Example: A 2:1 Mux Z = SIn1 + S'Ino Functional truth table Logical truth table In1 In0 S 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 S Z 0 In0 1 In1 I0 Z S I1

Multiplexers (con't) 2:1 mux: Z = S'In0 + SIn1 4:1 mux: Z = S0'S1'In0 + S0'S1In1 + S0S1'In2 + S0S1In3 8:1 mux: Z = S0'S1'S2'In0 + S0'S1S2In1 + ... I0 I1 2:1 mux I0 I1 I2 I3 I0 I1 I2 I3 I4 I5 I6 I7 Z 4:1 mux Z 8:1 mux S0 Z S0 S1 S0 S1 S2

Logic-gate implementation of multiplexers 2:1 mux 4:1 mux I0 I1 I2 I3 I0 S I1 Z Z Z S0 S1

Cascading multiplexers Can form large multiplexers from smaller ones Many implementation options 8:1 mux 8:1 mux I0 I1 I2 I3 I0 I1 2:1 mux 4:1 mux I2 I3 2:1 mux 2:1 mux Z 4:1 mux I4 I5 I6 I7 Z 4:1 mux I4 I5 2:1 mux I6 I7 2:1 mux S0 S1 S2 S0 S1 S2

Multiplexers as general-purpose logic A 2n:1 mux can implement any function of n variables A lookup table A 2n – 1:1 mux also can implement any function of n variables 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) 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 1 0 1 0 0 0 1 1 0 1 2 3 4 5 6 7 C' C' 0 1 C' C' 0 1 0 1 2 3 F F 8:1 MUX 4:1 MUX S1 S0 S2 S1 S0 A B A B C

Multiplexers as general-purpose logic Implementing a 2n-1:1 mux as a function of n variables (n-1) mux control variables S0 – Sn–1 One data variable Sn Four possible values for each data input: 0, 1, Sn, Sn' Example: F(A,B,C,D) implemented using an 8:1 mux A AB CD 00 01 11 10 1 D 0 1 D' D D' D' 0 1 2 3 4 5 6 7 Choose A,B,C as control variables Choose D as a data variable 00 1 0 1 1 1 0 0 0 1 1 0 1 0 1 1 0 8:1 MUX F 01 D 11 C 10 S2 S1 S0 B A B C

Demultiplexers (DEMUX) Basic concept Single data input; n control inputs (“selects”); 2n outputs Single input connects to one of 2n outputs “Selects” decide which output is connected to the input When used as a decoder, the input is called an “enable” (G) 1:2 Decoder: Out0 = G  S' Out1 = G  S 2:4 Decoder: Out0 = G  S1'  S0' Out1 = G  S1'  S0 Out2 = G  S1  S0' Out3 = G  S1  S0 3:8 Decoder: Out0 = G  S2'  S1'  S0' Out1 = G  S2'  S1'  S0 Out2 = G  S2'  S1  S0' Out3 = G  S2'  S1  S0 Out4 = G  S2  S1'  S0' Out5 = G  S2  S1'  S0 Out6 = G  S2  S1  S0' Out7 = G  S2  S1  S0

Logic-gate implementation of demultiplexers 1:2 demux 2:4 demux S1 Out2 Out3 Out0 G Out1 S0 G Out0 S Out1

Demultiplexers as general-purpose logic A n:2n demux can implement any function of n variables DEMUX as logic building block Use variables as select inputs Tie enable input to logic 1 Sum the appropriate minterms (extra OR gate) demultiplexer “decodes” appropriate minterms from the control signals 0 A'B'C' 1 A'B'C 2 A'BC' 3 A'BC 4 AB'C' 5 AB'C 6 ABC' 7 ABC 3:8 Demux 1 S2 S1 S0 A B C

Demultiplexers as general-purpose logic Example F1 = A'BC'D + A'B'CD + ABCD F2 = ABC'D' + ABC F3 = (A'+B'+C'+D') 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 F1 4:16 Demux Enable = 1 F2 F3 A B C D

Cascading demultiplexers 5:32 demux 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 Demux 3:8 Demux S2 S1 S0 S2 S1 S0 0 1 2 3 2:4 Demux F 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 Demux 3:8 Demux S2 S1 S0 S2 S1 S0 C D E C D E

Programmable logic (PLAs & PALs ) Concept: Large array of uncommitted AND/OR gates Actually NAND/NOR gates You program the array by making or breaking connections Programmable block for sum-of-products logic • • • inputs AND array OR array product terms outputs • • •

All two-level logic functions are available You "program" the wire connections A 3-input, 5-term, 4-function PLA