Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 2 –

Презентация:



Advertisements
Похожие презентации
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Part 2 – Sequential.
Advertisements

Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 6 – Selected Design Topics Part 4 – Programmable.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 2 – Combinational Logic Circuits Part 3.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 2 – Combinational Logic Circuits Part 2.
Linear Block Codes Mahdi Barhoush Mohammad Hanaysheh.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 4 – Arithmetic Functions Logic and Computer.
Logic and Computer Design Fundamentals Chapter 7 Registers and Counters.
Time-Series Analysis and Forecasting – Part IV To read at home.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Route Selection Using Policy Controls Applying Route-Maps as BGP Filters.
11 BASIC DRESS-UP FEATURES. LESSON II : DRESS UP FEATURES 12.
Sequences Sequences are patterns. Each pattern or number in a sequence is called a term. The number at the start is called the first term. The term-to-term.
Lecture # Computer Architecture Computer Architecture = ISA + MO ISA stands for instruction set architecture is a logical view of computer system.
Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush.
© 2009 Avaya Inc. All rights reserved.1 Chapter Two, Voic Pro Components Module Two – Actions, Variables & Conditions.
Chapter 6 Digital Arithmetic: Operations and Circuits ECE 221 Intro. Digital Systems Fall Semester 2002 ECE Department, UMASS-Amherst Prof. Hill Prof.
A Bill is a proposal for a new law, or a proposal to change an existing law that is presented for debate before Parliament. Bills are introduced in either.
Here are multiplication tables written in a code. The tables are not in the correct order. Find the digit, represented by each letter.
AVL-Trees COMP171 Fall AVL Trees / Slide 2 Balanced binary tree * The disadvantage of a binary search tree is that its height can be as large as.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Customer-to-Provider Connectivity with BGP Connecting a Multihomed Customer to Multiple Service.
Modeling Combinational Logic Ando KI June Copyright © 2009 by Ando KiModule overview ( 2 ) Typical Combinational Components Multiplexer Encoder.
Транксрипт:

Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 2 – Combinational Logic Logic and Computer Design Fundamentals

Chapter 3 2 Overview Part 2 – Combinational Logic Functions and functional blocks Rudimentary logic functions Decoding using Decoders Implementing Combinational Functions with Decoders Encoding using Encoders Selecting using Multiplexers Implementing Combinational Functions with Multiplexers

Chapter 3 3 Functions and Functional Blocks The functions considered are those found to be very useful in design Corresponding to each of the functions is a combinational circuit implementation called a functional block. In the past, functional blocks were packaged as small-scale-integrated (SSI), medium-scale integrated (MSI), and large-scale-integrated (LSI) circuits. Today, they are often simply implemented within a very-large-scale-integrated (VLSI) circuit.

Chapter 3 4 Rudimentary Logic Functions Functions of a single variable X Can be used on the inputs to functional blocks to implement other than the blocks intended function TABLE 4-1 Functions ofOneVariable XF = 0F = XF =F = X

Chapter 3 5 Multiple-bit Rudimentary Functions Multi-bit Examples: A wide line is used to represent a bus which is a vector signal In (b) of the example, F = (F 3, F 2, F 1, F 0 ) is a bus. The bus can be split into individual bits as shown in (b) Sets of bits can be split from the bus as shown in (c) for bits 2 and 1 of F. The sets of bits need not be continuous as shown in (d) for bits 3, 1, and 0 of F. F (d) 0 F 3 1 F 2 F 1 A F 0 (a) 0 1 A F 0 (b) 4 2:1 F(2:1) 2 F (c) 4 3,1:0 F(3), F(1:0) 3 A A

Chapter 3 6 Enabling Function Enabling permits an input signal to pass through to an output Disabling blocks an input signal from passing through to an output, replacing it with a fixed value The value on the output when it is disable can be Hi-Z (as for three-state buffers and transmission gates), 0, or 1 When disabled, 0 output When disabled, 1 output See Enabling App in text

Chapter 3 7 Decoding - the conversion of an n-bit input code to an m-bit output code with n m 2 n such that each valid code word produces a unique output code Circuits that perform decoding are called decoders Here, functional blocks for decoding are called n-to-m line decoders, where m 2 n, and generate 2 n (or fewer) minterms for the n input variables Decoding

Chapter to-2-Line Decoder 2-to-4-Line Decoder Note that the 2-4-line made up of 2 1-to-2- line decoders and 4 AND gates. Decoder Examples A A D D D D (a) D 0 5 A 1 A 0 D 1 5 A 1 A 0 D 2 5 A 1 A 0 D 3 5 A 1 A 0 (b) A 1 A 0

Chapter 3 9 Decoder Expansion General procedure given in book for any decoder with n inputs and 2 n outputs. This procedure builds a decoder backward from the outputs. The output AND gates are driven by two decoders with their numbers of inputs either equal or differing by 1. These decoders are then designed using the same procedure until 2-to-1-line decoders are reached. The procedure can be modified to apply to decoders with the number of outputs 2 n

Chapter 3 10 Decoder Expansion - Example 1 3-to-8-line decoder Number of output ANDs = 8 Number of inputs to decoders driving output ANDs = 3 Closest possible split to equal 2-to-4-line decoder 1-to-2-line decoder 2-to-4-line decoder Number of output ANDs = 4 Number of inputs to decoders driving output ANDs = 2 Closest possible split to equal Two 1-to-2-line decoders See next slide for result

Chapter 3 11 Decoder Expansion - Example 1 Result

Chapter 3 12 Decoder Expansion - Example 2 7-to-128-line decoder Number of output ANDs = 128 Number of inputs to decoders driving output ANDs = 7 Closest possible split to equal 4-to-16-line decoder 3-to-8-line decoder 4-to-16-line decoder Number of output ANDs = 16 Number of inputs to decoders driving output ANDs = 2 Closest possible split to equal 2 2-to-4-line decoders Complete using known 3-8 and 2-to-4 line decoders

Chapter 3 13 In general, attach m-enabling circuits to the outputs See truth table below for function Note use of Xs to denote both 0 and 1 Combination containing two Xs represent four binary combinations Alternatively, can be viewed as distributing value of signal EN to 1 of 4 outputs In this case, called a demultiplexer Decoder with Enable

Chapter 3 14 Combinational Logic Implementation - Decoder and OR Gates Implement m functions of n variables with: Sum-of-minterms expressions One n-to-2 n -line decoder m OR gates, one for each output Approach 1: Find the truth table for the functions Make a connection to the corresponding OR from the corresponding decoder output wherever a 1 appears in the truth table Approach 2 Find the minterms for each output function OR the minterms together

Chapter 3 15 Decoder and OR Gates Example Implement the following set of odd parity functions of (A 7, A 6, A 5, A 3 ) P 1 = A 7 A 5 A 3 P 2 = A 7 A 6 A 3 P 4 = A 7 A 6 A 5 Finding sum of minterms expressions P 1 = m (1,2,5,6,8,11,12,15) P 2 = m (1,3,4,6,8,10,13,15) P 4 = m (2,3,4,5,8,9,14,15) Find circuit Is this a good idea? A7A6A5A4A7A6A5A4 P1P1 P4P4 P2P2

Chapter 3 16 Encoding Encoding - the opposite of decoding - the conversion of an m-bit input code to a n-bit output code with n m 2 n such that each valid code word produces a unique output code Circuits that perform encoding are called encoders An encoder has 2 n (or fewer) input lines and n output lines which generate the binary code corresponding to the input values Typically, an encoder converts a code containing exactly one bit that is 1 to a binary code corres- ponding to the position in which the 1 appears.

Chapter 3 17 Encoder Example A decimal-to-BCD encoder Inputs: 10 bits corresponding to decimal digits 0 through 9, (D 0, …, D 9 ) Outputs: 4 bits with BCD codes Function: If input bit D i is a 1, then the output (A 3, A 2, A 1, A 0 ) is the BCD code for i, The truth table could be formed, but alternatively, the equations for each of the four outputs can be obtained directly.

Chapter 3 18 Encoder Example (continued) Input D i is a term in equation A j if bit A j is 1 in the binary value for i. Equations: A 3 = D 8 + D 9 A 2 = D 4 + D 5 + D 6 + D 7 A 1 = D 2 + D 3 + D 6 + D 7 A 0 = D 1 + D 3 + D 5 + D 7 + D 9 F 1 = D 6 + D 7 can be extracted from A 2 and A 1 Is there any cost saving?

Chapter 3 19 Priority Encoder If more than one input value is 1, then the encoder just designed does not work. One encoder that can accept all possible combinations of input values and produce a meaningful result is a priority encoder. Among the 1s that appear, it selects the most significant input position (or the least significant input position) containing a 1 and responds with the corresponding binary code for that position.

Chapter 3 20 Priority Encoder Example Priority encoder with 5 inputs (D 4, D 3, D 2, D 1, D 0 ) - highest priority to most significant 1 present - Code outputs A2, A1, A0 and V where V indicates at least one 1 present. Xs in input part of table represent 0 or 1; thus table entries correspond to product terms instead of minterms. The column on the left shows that all 32 minterms are present in the product terms in the table No. of Min- terms/Row Inputs Outputs D4D3D2D1D0A2A1A0V XXX X XX XXX XXXX1001

Chapter 3 21 Priority Encoder Example (continued) Could use a K-map to get equations, but can be read directly from table and manually optimized if careful: A 2 = D 4 A 1 = D 3 + D 2 = F 1, F 1 = (D 3 + D 2 ) A 0 = D 3 + D 1 = (D 3 + D1) V = D 4 + F 1 + D 1 + D 0 D4D4 D3D3 D4D4 D4D4 D4D4 D3D3 D4D4 D2D2 D4D4 D2D2

Chapter 3 22 Selecting of data or information is a critical function in digital systems and computers Circuits that perform selecting have: A set of information inputs from which the selection is made A single output A set of control lines for making the selection Logic circuits that perform selecting are called multiplexers Selecting can also be done by three-state logic or transmission gates Selecting

Chapter 3 23 Multiplexers A multiplexer selects information from an input line and directs the information to an output line A typical multiplexer has n control inputs (S n 1, … S 0 ) called selection inputs, 2 n information inputs (I 2 n 1, … I 0 ), and one output Y A multiplexer can be designed to have m information inputs with m 2 n as well as n selection inputs

Chapter to-1-Line Multiplexer Since 2 = 2 1, n = 1 The single selection variable S has two values: S = 0 selects input I 0 S = 1 selects input I 1 The equation: Y = I 0 + SI 1 The circuit: S

Chapter to-1-Line Multiplexer (continued) Note the regions of the multiplexer circuit shown: 1-to-2-line Decoder 2 Enabling circuits 2-input OR gate To obtain a basis for multiplexer expansion, we combine the Enabling circuits and OR gate into a 2 2 AND-OR circuit: 1-to-2-line decoder 2 2 AND-OR In general, for an 2 n -to-1-line multiplexer: n-to-2 n -line decoder 2 n 2 AND-OR

Chapter 3 26 Example: 4-to-1-line Multiplexer 2-to-2 2 -line decoder AND-OR

Chapter 3 27 Multiplexer Width Expansion Select vectors of bits instead of bits Use multiple copies of 2 n 2 AND-OR in parallel Example: 4-to-1-line quad multi- plexer

Chapter 3 28 Other Selection Implementations Three-state logic in place of AND-OR Gate input cost = 14 compared to 22 (or 18) for gate implementation

Chapter 3 29 Combinational Logic Implementation - Multiplexer Approach 1 Implement m functions of n variables with: Sum-of-minterms expressions An m-wide 2 n -to-1-line multiplexer Design: Find the truth table for the functions. In the order they appear in the truth table: Apply the function input variables to the multiplexer inputs S n 1, …, S 0 Label the outputs of the multiplexer with the output variables Value-fix the information inputs to the multiplexer using the values from the truth table (for dont cares, apply either 0 or 1)

Chapter 3 30 Example: Gray to Binary Code Design a circuit to convert a 3-bit Gray code to a binary code The formulation gives the truth table on the right It is obvious from this table that X = C and the Y and Z are more complex

Chapter 3 31 Gray to Binary (continued) Rearrange the table so that the input combinations are in counting order Functions y and z can be implemented using a dual 8-to-1-line multiplexer by: connecting A, B, and C to the multiplexer select inputs placing y and z on the two multiplexer outputs connecting their respective truth table values to the inputs

Chapter 3 32 Note that the multiplexer with fixed inputs is identical to a ROM with 3-bit addresses and 2-bit data! Gray to Binary (continued) D04 D05 D06 D07 S1 S0 A B S2 D03 D02 D01 D00 Out C D14 D15 D16 D17 S1 S0 A B S2 D13 D12 D11 D10 Out C Y Z 8-to-1 MUX 8-to-1 MUX

Chapter 3 33 Combinational Logic Implementation - Multiplexer Approach 2 Implement any m functions of n + 1 variables by using: An m-wide 2 n -to-1-line multiplexer A single inverter Design: Find the truth table for the functions. Based on the values of the first n variables, separate the truth table rows into pairs For each pair and output, define a rudimentary function of the final variable (0, 1, X, ) Using the first n variables as the index, value-fix the information inputs to the multiplexer with the corresponding rudimentary functions Use the inverter to generate the rudimentary function X X

Chapter 3 34 Example: Gray to Binary Code Design a circuit to convert a 3-bit Gray code to a binary code The formulation gives the truth table on the right It is obvious from this table that X = C and the Y and Z are more complex

Chapter 3 35 Gray to Binary (continued) Rearrange the table so that the input combinations are in counting order, pair rows, and find rudimentary functions Gray A B C Binary x y z Rudimentary Functions of C for y Rudimentary Functions of C for z F = C

Chapter 3 36 Assign the variables and functions to the multiplexer inputs: Note that this approach (Approach 2) reduces the cost by almost half compared to Approach 1. This result is no longer ROM-like Extending, a function of more than n variables is decomposed into several sub-functions defined on a subset of the variables. The multiplexer then selects among these sub-functions. Gray to Binary (continued) S1 S0 A B D03 D02 D01 D00 Out Y 8-to-1 MUX C C C C D13 D12 D11 D10 Out Z 8-to-1 MUX S1 S0 A B C C C C C C

Chapter 3 37 Terms of Use All (or portions) of this material © 2008 by Pearson Education, Inc. Permission is given to incorporate this material or adaptations thereof into classroom presentations and handouts to instructors in courses adopting the latest edition of Logic and Computer Design Fundamentals as the course textbook. These materials or adaptations thereof are not to be sold or otherwise offered for consideration. This Terms of Use slide or page is to be included within the original materials or any adaptations thereof.