Chapter 5 Designing Combinational Systems Tell me what you Have in Have out And want done in between Then I can build a program to do anything. Capt. Ed.

Slides:



Advertisements
Similar presentations
컴퓨터구조론 교수 채수환. 교재 Computer Systems Organization & Architecture John D. Carpinelli, 2001, Addison Wesley.
Advertisements

Digital Design: Combinational Logic Blocks
Combinational Circuits
Combinational Circuits
Functions and Functional Blocks
Programmable Logic PAL, PLA.
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:
Henry Hexmoor1 C hapter 4 Henry Hexmoor-- SIUC Rudimentary Logic functions: Value fixing Transferring Inverting.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
CPEN Digital System Design
Parity. 2 Datasheets TTL:  CMOS: 
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
Multiplexers, Decoders, and Programmable Logic Devices

DIGITAL SYSTEMS TCE OTHER COMBINATIONAL LOGIC CIRCUITS DECODERS ENCODERS.
CSCE 211: Digital Logic Design
Logic Gates Combinational Circuits
CS 105 Digital Logic Design
Figure to-1 Multiplexer and Switch Analog
Introduction to Digital Logic Design Appendix A of CO&A Dr. Farag
Chapter 2 Combinational Systems And / Or / Not. TRIAD PRINCIPLE: Combinational is about And / Or / Not combinations As well as equivalent functions. It.
Combinational Logic Design
Outline Analysis of Combinational Circuits Signed Number Arithmetic
Combinational and Sequential Logic Circuits.
Dr. Ahmed El-Bialy, Dr. Sahar Fawzy Combinational Circuits Dr. Ahmed El-Bialy Dr. Sahar Fawzy.
Logic Design A Review. Binary numbers Binary numbers to decimal  Binary 2 decimal  Decimal 2 binary.
1 Lecture 9 Demultiplexers Programmable Logic Devices  Programmable logic array (PLA)  Programmable array logic (PAL)
Combinational Design, Part 3: Functional Blocks
Multiplexers XOR gates. Multiplexers A multiplexer is a digital switch - it connects data from one of n sources to its output. An n-input and b-bit multiplexer.
Kuliah Rangkaian Digital Kuliah 6: Blok Pembangun Logika Kombinasional Teknik Komputer Universitas Gunadarma.
CHAPTER 4 Combinational Logic
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Logic and Computer Design.
CS 105 DIGITAL LOGIC DESIGN Chapter 4 Combinational Logic 1.
Programmable Logic Devices (PLDs)
EE207: Digital Systems I, Semester I 2003/2004
1 Chapter 4 Combinational Logic Logic circuits for digital systems may be combinational or sequential. A combinational circuit consists of input variables,
Magnitude Comparator A magnitude comparator is a combinational circuit that compares two numbers, A and B, and then determines their relative magnitudes.
Logic Design CS221 1 st Term combinational circuits Cairo University Faculty of Computers and Information.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Binary Numbers For digital systems, the.
Designing Combinational Systems
Module 11.  In Module 9, we have been introduced to the concept of combinational logic circuits through the examples of binary adders.  Meanwhile, in.
Complex Combinational Circuits Binary Adders Key to enterprise: Addition table also a truth table S i = C i 'A i B i ' + C i 'A i 'B i + C i A i 'B i '+
CSI-2111 Structure of Computers Ipage Combinational Circuits  Objectives : To recognize the principal types of combinational circuits  Adders.
1 DLD Lecture 16 More Multiplexers, Encoders and Decoders.
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
1 Combinational Logic Design.  A process with 5 steps Specification Formulation Optimization Technology mapping Verification  1 st three steps and last.
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.
This chapter in the book includes: Objectives Study Guide
Combinational Logic Circuits
Logic and Computer Design Fundamentals
Lecture 9 Logistics Last lecture Today HW3 due Wednesday
Digital Fundamentals Floyd Chapter 6 Tenth Edition
This chapter in the book includes: Objectives Study Guide
FUNCTION OF COMBINATIONAL LOGIC CIRCUIT
ECE 434 Advanced Digital System L03
Chapter 6 Functions of Combinational Logic
CPE/EE 422/522 Advanced Logic Design L02
CSCE 211: Digital Logic Design
CSCE 211: Digital Logic Design
Programmable Logic Devices (PLDs)
Programmable Configurations
CSCE 211: Digital Logic Design
CSCE 211: Digital Logic Design
Overview Functions and functional blocks Rudimentary logic functions
Chapter-4 Combinational Logic
Digital System Design Combinational Logic
Arithmetic Circuits.
Presentation transcript:

Chapter 5 Designing Combinational Systems Tell me what you Have in Have out And want done in between Then I can build a program to do anything. Capt. Ed Fischel, USAF

When an input to gate changes There is a small delay, ∆t 1. Input C changes, Then Out F changes a little later ∆t 2. In A changes, Connection X changes a little later ∆t Then Out F changes 2∆t later 3. In C changes, no effect 4. In B changes, Connection X changes ∆t 5.In B changes, Causes X to change ∆t At same time as B, C changes Which changes out F ∆t Then X changes out F 2 ∆t Called a glitch or hazard Consider three inputs to Nand gates

Each gate causes a delay ∆ Each sequential causes another ∆ An adder has 6 shifts ∆ A 4 bit has 4 * 6 = 24 ∆ Can be real impact N-bit adder = n 1-bit adders Called a carry-ripple adder

For adder, can build truth table For subtractor can build truth table Generally if need subtractor, will want both. Use trick learned in Ch. 1 Complement each bit of subtrahend, Then add 1 Use control line a’/s When = 1 do subtraction Note 1 (+) x = x’ 0 (+) x = x Use XOR for each bit

Compare two numbers XOR w/ inputs unequal XOR=1 w/ inputs equal XOR=0 Inputs a’b=, ab’= Since this is binary, That represents all possible Combinations.

DECODER Select one of several outputs from coded input Convert binary input to individual outputs Each out corresponds to a number Active hi Output =1 when condition is active

Active lo Output =0when condition is active

EN’ is active low When en’ = 0, the decoder works When en’ = 1, the decoder is off Enable is a control line It is another input to the AND gate Generally shown at bottom

Commercial Note order of inputs – CBA where C is hi order bit Previous models – ABC where A is high order bit Range 0-7 Multiple select lines En1 = 1, En2’ = 0, En3’ =0 Otherwise all outputs are inactive =1 3 select lines allow selection of up to 8 devices

Suppose want to select 1 of 32 devices Use four decoders Need 2 control lines to select Which of 4 decoders Use ab Need 3 data lines for CBA inputs Use cde String would be abcde 1 st decoder select a=0 b=0 2 nd decoder select a=0 b=1 3 rd decoder select a=1 b=0 4 th decoder select a=1 b=1 4 th decoder will need inverter There is only one active hi enable

Decoder is easy way to implement a logic function Consider 2 functions F = Σ(0,2,3,7) G= Σ(1,4,6,7) Range 0-7, need 3 inputs, 2↑3 = 8 Using active hi, connect out thru OR Using active lo, connect out thru NAND Active lo, invert out of decoder & In of OR Invert-OR is a NAND

EX 5.4 Implement 3 different functions Use 1 of 4 device as select Use four 1 of 4 decoders Input string abcd Notice value of output at each decoder Since it is active lo, NAND outputs NAND = invert-OR Select goes to decoders and to output NAND

5.3 Encoders Inverse of decoder A0A1A2A3Z0Z Input line value is weighted Only one line active Has a binary value If more than one input can be active, must establish priority In table no. 7 is highest priority. Ignore any input that is less. NR is no request. That is necessary to differentiate for 0 input and no input.

5.4 Multiplexer A switch that passes one of inputs to the ouput, based on select lines Four inputs, w, x, y, z Two select S1, S0 Output = w, if S0 = 0 Output = x, if S1 = 1 Can build 4-way from two 2-way

Ex 5.5 A 3 variable function can be build directly from 8-way mux Look at truth table Use inputs as select lines, place function value on mux in Could do same thing with a 4:1 mux Rearrange truth table.

To now have assumed all values are 0 or 1 Tri-state has a hi=z state, which appears as no device If device is disabled, then function has no connection

Bus – set of lines that carry data May be bi-directional Built using tri-state mux If use SOP, requires 2-wires

5.6 Now to large implementation Programmable Logic Device Gate arrays ROM PLA PAL This is very simple version 3-in, 3-out Many possible connections Implement SOP expressions Only requires uncomplemented input Complement built-in

5.6 PLD F=a’b’ + abc G=a’b’c’ + ab + bc H = a’b’ + c Solid line shows implementation Dot show connection This is too messy Generally do not show dashed lines Use software to set up Program the device in a burner. PLA – specifies all connections for AND and OR, most general ROM – AND array fixed specify OR just a decoder PAL – determine AND gate inputs

W(A, B, C, D) = ∑m(3, 7, 8, 9, 11, 15) X(A, B, C, D) = ∑m(3, 4, 5, 7, 10, 14, 15) Y(A, B, C, D) = ∑m(1, 5, 7, 11, 15) ROM design 4-in, 3-out Only need minterm value Note matrix looks like truth table One AND gate for each minterm Burn connection for the OR out Called a memory device Just another combinational logic

W = AB´C´ + A´CD + ACD X = A´BC´ + ACD´ + A´CD + BCD Y = A´C´D´ + ACD + BCD W(A, B, C, D) = ∑m(3, 7, 8, 9, 11, 15) X(A, B, C, D) = ∑m(3, 4, 5, 7, 10, 14, 15) Y(A, B, C, D) = ∑m(1, 5, 7, 11, 15) PLA design Need to find SOP expressions Use k-map, QM Same function, but reduce to SOP Limitation-# of AND Illustration shows 2 possible solutions for wxy

5.6.3 Programmable Array Logic Each out from an OR that has own group of ANDs No sharing of terms Often have some feedback from Out back to input Often tri-state

W = AB´C´ + CD Y = A´BC´ + A´CD + ACD´ + {BCD or ABC} Z = A´C´D´ + ACD + {A´BD or BCD} Programmable Array Logic Same example Use software to set-up One version is VeriLog Then burn the chip in a programmer

Seg Complex, large system 4-in, 7-out 6,7,9 have alternative design, DC 4-in gives 16 possible out Actually only 10 numbers 0-9 Remaining options, DC

7-seg Create K-map for each output Determine output equation

From list of equations Create table of PI Mark X if the minterm is used

7-Seg Another implementation Use maximum sharing Same process Use k-Map or QM

a = X´Y´Z´ + WX´Y´ + W´XY´Z + W´YZ + W´X´Y´ b = W´YZ + W´X´Y + W´Y´Z´ + X´Y´ c = W´YZ + X´Y´ + W´X d = X´Y´Z + W´XY´Z + W´X´Y + W´YZ´ e = X´Y´Z´ + W´YZ´ f = WX´Y´ + W´Y´Z´ + W´X g = WX´Y´ + W´X´Y + W´YZ´ + W´XY´ 7-Seg Maximum sharing Granted both techniques very involved Tedious

7-Seg Easy way out PLA here Need SOP

7-Seg Easiest way ROM Need minterms only Note matrix It is truth table Chapter

Software Programs provided by vendors of PLD Specific to device

Error coding Data transmitted or stored can create errors Hamming add a single bit to detect error Parity Bit is 1 0r 0 so that total number of 1’s is even. One error will cause a change and the parity will not match. Exor the bits to check. If result is 0, then assume correct.

InputAddress linesMemoryOutput lines ROM Other uses Since a ROM will have an output based on the status of the address lines, it can be used to represent a conventional logic network. There are ‘n’ outputs and each output can have 2 m maxterms. The ROM has fixed values, which makes it well suited for projects that require a table lookup. This is particularly appropriate for mathematics problems that are repeated frequently. Consider an example. Given:y = 2 x 2 – 1 Allowable range:0  x  3 What is the address (input) variable?x What is the data (output) variable?y How many addresses are there?4 (0, 1, 2, 3) How many address lines are required?m = 2  2 m = 4 What is the largest value output?17 How many output lines are required?n = 5  2 n = 32 Create a table of values to implement the function. Negative values are represented by setting the most significant bit (MSB) to 1. Decimal numbers can also be represented by setting another bit. By connecting switches to the address lines and LED’s to the output lines, the special purpose calculator is realized.

Chapter 5 Designing Combinational circuits AND, OR, NOT Decoder Encoder Multiplexer PLD- PLA PAL ROM Good stuff for building most circuits. Next Chapter look at Sequential Means has feedback & memory