2 Overview Functions and Functional Blocks Decoding Encoding Selecting Implementing Combinational Functions Using:Decoders and OR gatesMultiplexers (and inverter)ROMsPLAsPALs
3 Functions and Functional Blocks The functions considered are those found to be very useful in designCorresponding to each of the functions is a combinational circuit implementation called a functional block.In the past, many functional blocks were implemented as SSI, MSI, and LSI circuits.Today, they are often simply parts within VLSI circuits.
4 Simple Logic Functions Functions of a single variableCan be used on the inputs to functional blocks.
5 Enabling Functions Enabling Permits an input signal to pass DisablingPermits an input signal to passthrough to an outputBlocks an input signal fromPassing through to an outputExample:The ignition switch = ENLights = X
6 DecodingDecoding - the conversion of an n-bit input code to an m-bit output code such that each valid code word produces a unique output codeCircuits that perform decoding are called decodersHere, functional blocks for decoding are called n-to-m line decoders, and they generate 2n (or fewer) minterms for the n input variables
8 Decoder with Enable Example In general, attach m-enabling circuits to the outputsSee truth table below for functionNote use of X’s to denote both 0 and 1Combination containing two X’s represent four binary combinations2-to-4-Line Decoderwith Enable
9 EncodingEncoding - the opposite of decoding - the conversion of an m-bit input code to a n-bit output code such that each valid code word produces a unique output codeCircuits that perform encoding are called encodersAn encoder has 2n (or fewer) input lines and n output lines which generate the binary code corresponding to the input valuesTypically, 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.
10 Octal-to-Binary Encoder INPUTSOUTPUTSD7D6D5D4D3D2D1D0A2A1A01Equations:A2 = D4 + D5 + D6 + D7A1 = D2 + D3 + D6 + D7A0 = D1 + D3 + D5 + D7What type of gates dowe need for this encoder?4-input OR gates
11 SelectingSelecting of data or information is a critical function in digital systems and computersCircuits that perform selecting have:A set of information inputs from which the selection is madeA single outputA set of control lines for making the selectionLogic circuits that perform selecting are called ___________?Selecting can also be done by three-state logic or transmission gatesmultiplexers
12 MultiplexersA multiplexer selects information from an input line and directs the information to an output lineFor an n selection inputs (Sn - 1, … S0) called selection inputs, 2n information inputs (I2n - 1, … I0), and one output Yare needed.
13 2-to-1-Line Multiplexer Since 2 information inputs = 21 n = 1The single selection variable S has two values:S = 0 selects input I0S = 1 selects input I1The Output:Y = I0 + SI1The circuit:SSI1DecoderEnablinggatesY
14 4-to-1-Line Multiplexer In general, for an 2n-to-1-line multiplexer:n-to-2n-line decoder2n x 2 AND-ORS1DecoderYI23
15 Alternative Function Implementation Alternative implementation techniques:Decoders and OR gatesMultiplexers (and inverter)ROMsPLAsPALsCan be referred to as structured implementation methods since a specific underlying structure is assumed in each case
18 Multiplexer ApproachImplement any m functions of n + 1 variables by using:An m-wide 2n-to-1-line multiplexerA single inverterDesign:Find the truth table for the functions.Based on the values of the first n variables, separate the truth table rows into pairsFor each pair and output, define a basic 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 functionsUse the inverter to generate the basic functionX
19 Example: Gray to Binary Code Design a circuit to convert a 3-bit Gray code to a binary codeThe formulation gives the truth table on the rightIt is obvious from this table that X = C and the Y and Z are more complexGrayA B CBinaryx y z1 00 110 1 01 0 1
20 Gray to Binary (continued) Rearrange the table so that the input combinations are in counting order, pair rows, and find the simple functions.GrayA B CBinaryx y zFunctions of C for yFunctions of C for z0 0 00 0 11 1 10 1 00 1 11 0 01 0 11 1 0F = CF = CF = CF = CF = CF = CF = CF = C
21 Gray to Binary (continued) Assign the variables and functions to the multiplexer inputs:S1S0ABD03D02D01D00OutY8-to-1MUXCZ
22 Implementing a 4-input Function with a Multiplexer
23 Read Only MemoryRead Only Memories (ROM) or Programmable Read Only Memories (PROM) have:N input lines,M output lines, and2N decoded minterms.Fixed AND arrayProgrammable OR ArrayA program for a ROM or PROM is simply a multiple-output truth tableIf a 1 entry, a connection is made to the corresponding minterm for the corresponding outputIf a 0, no connection is made
24 Read Only Memory Example Example: A 8 X 4 ROM (N = 3 input lines, M= 4 output lines)The fixed "AND" array is a “decoder” with 3 inputs and 8 outputs implementing minterms.The programmable "OR“ array uses a single line to represent all inputs to an OR gate. An “X” in the array corresponds to attaching the minterm to the ORRead Example: For input (A2,A1,A0) = 111, output is (F3,F2,F1,F0 ) =_______.D7D6D5D4D3D2D1D0A2A1A0ABCF0F1F2F3X
25 Programmable Logic - Advantages Many programmable logic devices are field- programmable, i. e., can be programmed outside of the manufacturing environmentMost programmable logic devices are erasable and reprogrammable.Allows “updating” a device or correction of errorsAllows reuse the device for a different design - the ultimate in re-usability!Programmable logic devices can be used to prototype design that will be implemented for sale in regular ICs.Complete Intel Pentium designs were actually prototype with specialized systems based on large numbers of VLSI programmable devices!