ECSE-4760 Real-Time Applications in Control & Communications EXPERIMENTS IN DIGITAL LOGIC DESIGN

Similar documents
`COEN 312 DIGITAL SYSTEMS DESIGN - LECTURE NOTES Concordia University

Final Exam review: chapter 4 and 5. Supplement 3 and 4

Computer Architecture and Organization

Registers & Counters. Logic and Digital System Design - CS 303 Erkay Savaş Sabanci University

The word digital implies information in computers is represented by variables that take a limited number of discrete values.

Chapter 4. Logic Design

CPS311 Lecture: Sequential Circuits

UNIT III. Combinational Circuit- Block Diagram. Sequential Circuit- Block Diagram

Review of digital electronics. Storage units Sequential circuits Counters Shifters

AN INTRODUCTION TO DIGITAL COMPUTER LOGIC

Logic Design II (17.342) Spring Lecture Outline

A.R. ENGINEERING COLLEGE, VILLUPURAM ECE DEPARTMENT

Department of CSIT. Class: B.SC Semester: II Year: 2013 Paper Title: Introduction to logics of Computer Max Marks: 30

FLIP-FLOPS AND RELATED DEVICES

Principles of Computer Architecture. Appendix A: Digital Logic

Sequential Logic and Clocked Circuits

Previous Lecture Sequential Circuits. Slide Summary of contents covered in this lecture. (Refer Slide Time: 01:55)

Solution to Digital Logic )What is the magnitude comparator? Design a logic circuit for 4 bit magnitude comparator and explain it,

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-III SEQUENTIAL CIRCUITS

Agenda. EE 260: Introduction to Digital Design Counters and Registers. Asynchronous (Ripple) Counters. Asynchronous (Ripple) Counters

MC9211 Computer Organization

UNIT 1: DIGITAL LOGICAL CIRCUITS What is Digital Computer? OR Explain the block diagram of digital computers.

Sequential Circuits. Introduction to Digital Logic. Course Outline. Overview. Introduction to Digital Logic. Introduction to Sequential Circuits

Digital Circuits 4: Sequential Circuits

EE292: Fundamentals of ECE

Sequential Logic Circuits

Notes on Digital Circuits

YEDITEPE UNIVERSITY DEPARTMENT OF COMPUTER ENGINEERING. EXPERIMENT VIII: FLIP-FLOPS, COUNTERS 2014 Fall

Decade Counters Mod-5 counter: Decade Counter:

Notes on Digital Circuits

1. Convert the decimal number to binary, octal, and hexadecimal.

Chapter Contents. Appendix A: Digital Logic. Some Definitions

Laboratory 7. Lab 7. Digital Circuits - Logic and Latching

CSC Computer Architecture and Organization

Chapter 6. Flip-Flops and Simple Flip-Flop Applications

ASYNCHRONOUS SEQUENTIAL CIRCUIT CONCEPTS

MODEL QUESTIONS WITH ANSWERS THIRD SEMESTER B.TECH DEGREE EXAMINATION DECEMBER CS 203: Switching Theory and Logic Design. Time: 3 Hrs Marks: 100

MODULE 3. Combinational & Sequential logic

Altera s Max+plus II Tutorial

Find the equivalent decimal value for the given value Other number system to decimal ( Sample)

Registers, Register Transfers and Counters Dr. Fethullah Karabiber

Chapter 11 State Machine Design

Synchronous Digital Logic Systems. Review of Digital Logic. Philosophy. Combinational Logic. A Full Adder. Combinational Logic

REPEAT EXAMINATIONS 2004 SOLUTIONS

Logic Design II (17.342) Spring Lecture Outline

North Shore Community College

Tribhuvan University Institute of Science and Technology Bachelor of Science in Computer Science and Information Technology

SEQUENTIAL LOGIC. Satish Chandra Assistant Professor Department of Physics P P N College, Kanpur

DIGITAL ELECTRONICS: LOGIC AND CLOCKS

UNIT-3: SEQUENTIAL LOGIC CIRCUITS

Sequential Digital Design. Laboratory Manual. Experiment #3. Flip Flop Storage Elements

ASYNCHRONOUS COUNTER CIRCUITS

Chapter 5: Synchronous Sequential Logic

CHAPTER 4: Logic Circuits

UNIVERSITY OF MASSACHUSSETS LOWELL Department of Electrical & Computer Engineering Course Syllabus for Logic Design Fall 2013

Microprocessor Design

Supplement 3 Asynchronous Sequential Circuit Concepts

Vignana Bharathi Institute of Technology UNIT 4 DLD

Analogue Versus Digital [5 M]

EE 367 Lab Part 1: Sequential Logic

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

Digital Principles and Design

NORTHWESTERN UNIVERSITY TECHNOLOGICAL INSTITUTE

AIM: To study and verify the truth table of logic gates

Page 1. Some Definitions. Chapter 3: Sequential Logic. Sequential Logic. The Combinational Logic Unit. A NOR Gate with a Lumped Delay

REPEAT EXAMINATIONS 2002

UNIT IV. Sequential circuit

Module -5 Sequential Logic Design

Chapter 7 Counters and Registers

THE UNIVERSITY OF TRINIDAD & TOBAGO

Chapter 3 Unit Combinational

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

RS flip-flop using NOR gate

We are here. Assembly Language. Processors Arithmetic Logic Units. Finite State Machines. Circuits Gates. Transistors

CHAPTER 4: Logic Circuits

WINTER 15 EXAMINATION Model Answer

Topic D-type Flip-flops. Draw a timing diagram to illustrate the significance of edge

Digital Circuit Engineering

CPE 200L LABORATORY 3: SEQUENTIAL LOGIC CIRCUITS UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND: SR FLIP-FLOP/LATCH

ECE 25 Introduction to Digital Design. Chapter 5 Sequential Circuits ( ) Part 1 Storage Elements and Sequential Circuit Analysis

Digital Circuits I and II Nov. 17, 1999

Registers and Counters

Digital Logic Design ENEE x. Lecture 19

IT T35 Digital system desigm y - ii /s - iii

The University of Texas at Dallas Department of Computer Science CS 4141: Digital Systems Lab

Chapter 5 Flip-Flops and Related Devices

EXPERIMENT: 1. Graphic Symbol: OR: The output of OR gate is true when one of the inputs A and B or both the inputs are true.

DIGITAL ELECTRONICS MCQs

Combinational vs Sequential

Logic Design ( Part 3) Sequential Logic- Finite State Machines (Chapter 3)

Step 1 - shaft decoder to generate clockwise/anticlockwise signals

Introduction. NAND Gate Latch. Digital Logic Design 1 FLIP-FLOP. Digital Logic Design 1

Synchronous Sequential Logic

St. MARTIN S ENGINEERING COLLEGE

Sequential Logic Basics

INC 253 Digital and electronics laboratory I

Logic and Computer Design Fundamentals. Chapter 7. Registers and Counters

Sequential Circuits. Building Block: Flip-Flops

ELCT201: DIGITAL LOGIC DESIGN

Section 6.8 Synthesis of Sequential Logic Page 1 of 8

Transcription:

Rensselaer Polytechnic Institute ESE-476 Real-Time pplications in ontrol & ommunications EXPERIMENTS IN IGITL LOGI ESIGN Number of Sessions 4 INTROUTION Over the past few decades the digital world has come into its own. Even though engineering has gone into specialization, it is necessary to understand digital circuits to be able to communicate with others. This experiment attempts to teach a simple method of designing digital circuits. ue to the quick pace of the lab, it is highly recommended that you read one of the references. This will enable you to proceed quickly through the preliminary problems so you will have more time for the design problems. The following is an outline of the experiment. ollowing each section will be a set of questions that should be answered to show an understanding of the material presented. ny difficulties should be referred to a reference or your instructor. You should use the esignworks (LogicWorks or any other you may have) logic circuit simulator on the Macintosh after most sections to cement together all the preceding sections. KGROUN THEORY oolean lgebra Switching lgebra ombinational Logic Minimization lip-lops and Registers ounters Synthesis of Synchronous ircuits EXPERIMENTL PROEURE uestions and Problems Simulator Operation & PG Implementation REERENES It is required that you show all circuits, as built, in your write-up. Please include equations too. The first part of the procedure section contains all the questions and problems to be answered and the second part describes the use of esignworks. Note: all references to esignworks (on Macintosh computers) throughout this procedure may be replaced with LogicWorks on the lab Windows Ps.

KGROUN THEORY Since the digital world consists of discrete levels, functions can be described in truth tables as opposed equations for the continuous world. The three basic digital functions are N, OR, and NOT. Their symbols and truth tables are shown below. These functions (from now on called gates) are such that as soon as the inputs change, the outputs will also change. (There actually is a small delay dependent on the type of gate. See reference [].) INPUT OUTPUT IGURE. N gate and truth table. INPUT OUTPUT IGURE 2. OR gate and truth table. INPUT OUTPUT IGURE 3. NOT gate and truth table. Very often an OR and N gate will have a NOT at the end of it (because of hardware considerations). These will then be called NOR and NN gates respectively. Please do problem in the UESTIONS N PROLEMS of the EXPERIMENTL PROEURE. OOLEN LGER George oole (85-64) introduced an algebra of logic in the mid-8's, however, the presentday application of oolean algebra is credited to a paper by. Shannon in 938. The techniques and manipulations provided by oolean lgebra are a necessity to efficient logic design.. efinition set of elements and two binary operations '+' and ' ' over form a oolean lgebra {, +, } if and only if the following postulates hold: 2

Postulate - The set of objects or elements are subject to an equivalence relationship, denoted '=', which satisfies the principle of substitution, i.e., if =, may be substituted for in any expression involving without affecting the validity of the expression. s in ordinary algebra, the letters of the alphabet are used to represent variables. Postulate 2 (losure) - Whenever, then ( + ) ( ) Postulate 3 (Identity) - There exist two identity elements (called and ) such that: + = + = (additive identity) = = (multiplicative identity) Postulate 4 - '+' and ' ' are: i. commutative + = + = ii. associative + ( + ) = ( + ) + ( ) = ( ) iii. distributive over each other ( + ) = ( ) + ( ) + ( ) = ( + ) ( + ) Postulate 5 - or every element in there exists an element (termed the complement of ) such that: + = = Postulate 6 - There are at least two elements X and Y in such that X Y.. Theorems. The and elements are unique. 2. or every element in : + = and = 3. + = and = 4. The elements and are distinct and = or =. 5. + = and ( + ) =. This is often termed the absorption rule. (The ' ' is understood, thus = ) 6. = ( ) = 7. + = + and ( + ) = 8. ( + ) ( + ) = + and + + = + 9. emorgan's Theorem = +. uality + = Notice that the previous postulates and theorems were given in pairs. In each case one postulate in a pair can be obtained from the other by interchanging and along with '+' and ' '. This is called the principle of duality. Every theorem which can be proven for oolean algebra has a dual which is also true. or example: + = = and + ( ) = ( + ) ( + ) ( + ) = ( ) + ( ) 3

SWITHING LGER Switching algebra is a mathematical framework for the design and analysis of logic networks using binary decision-making elements such as NN and NOR gates. The distinctive feature is that variables and functions can assume only two values, and. Thus Switching algebra is a subset of oolean algebra restricted to two elements ( =, ). Switching algebra will provide a means of describing functional relationships in a form that corresponds precisely to a network of gates.. Properties of Switching lgebra. istinctness of and X if and only if X = X if and only if X = 2. Operations N, ' ' = = = = OR, '+' + = + = + = + = NOT, ' ' = = The associative law allows us to extend definitions of N and OR to many variables. Thus for Z = + + + + E, then Z = if any of,,,, or E is, in any combination. Similarly Z = E is if and only if all the variables,,,, and E are.. emorgan's Theorem The two basic duals of the theorem are: XY = X + Y X + Y = X Y emorgan's theorem as well as other theorems can be extended to many variables: E... = + + + + E +... + + +... =... emorgan's theorem expresses a relationship between N and OR that is important to recognize. onsider the equation Z = + +. We could interpret this as Z = when or or is. n alternative is Z = if and and are. This is represented by Z = which is equivalent to Z = + + by emorgan's theorem. ll this leads to the need to realize that a gate can be realized by its dual using emorgan's theorem. Some examples are as follows: 4

N version OR version = = + circle represents a NOT. = = + = = + IGURE 4. It is important to note that and are not equivalent expressions. The truth table for both is shown below. INPUT OUTPUT IGURE 5. nswer question 2 in the UESTIONS N PROLEMS of the EXPERIMENTL PROEURE. OMINTIONL LOGI ombinational logic refers to networks whose outputs depend solely on their inputs, and not on any previous state. The analysis of combinational logic requires the writing of the oolean algebra equation for each element of the network, and then combining these for the final output equation. or example: E E 2 E = E 2 = E 3 = E + E 2 = + IGURE 6. The truth table is: 5

INPUT IGURE 7. OUTPUT Sequence emorgan's theorem states that = +. Therefore a NN gate is also a NOT OR gate, as shown below. 2 = IGURE 8. 2 = + When analyzing NN circuits, a NOTed-OR can be substituted in place of a NN gate. This is usually done at odd levels as shown below. E E E 2 E = E = E 2 2 E 2 = = = + = 2 IGURE 9. NN gates are used mainly for the simplicity of their hardware components. nalysis of NOR circuits follows similar reasoning. Synthesis of combinational logic is just the reverse of analysis. Implement each section of a oolean equation and then OR or N the sections together to get the final output. or example, implement = + using NN logic. 6

E E = E 2 E 2 = = + IGURE. Implement = + ( + ) E 2 E E 3 E = E 2 = + E 3 = ( + ) = + ( + ) IGURE. Sum of Products, Products of Sums There are two basic forms in which a oolean algebraic expression can be written. These are the sum of products (SOP) and the product of sums (POS). That is, the expression + is an ORing of the two Ned terms. The Ned terms, and, are called product terms. The ORing is the sum of the terms. Therefore, the above expression is a sum of products. Likewise, a product of sums expression could be ( + )( + ). nswer question 3 in the UESTIONS N PROLEMS of the EXPERIMENTL PROEURE. MINIMIZTION lgebra theorems provide the fundamental tools of minimization. Reduction such as + = + are easily recognized while others, such as + +, are not as obvious. or example, reduce = + + + by algebraic manipulation Reduce = ( + ) + + = + + = + + = + + = + ( + ) + = + + + = (+ ) + ( +) = + lgebraic reduction of oolean functions is not easy and requires considerable experience, judgment, and luck. This becomes more apparent as the complexity of the function increases. s a result, the use of Karnaugh Maps, which is a powerful tool in minimizing logic, will be taught. 7

. Karnaugh Maps Each variable can exist as either of two values; and. Two squares can represent this. IGURE 2. Similarly, two variables can be described as follows: or IGURE 3. Thus =, =, =, =. The map then looks as follows: IGURE 4. The two combinations of are listed on top, and the two combinations of are listed on the side. The intersections form the four unique combinations of the two variables. The K-map representation is constructed by placing a in any cell for which the function of the variables is. Therefore the function = + can be mapped as: IGURE 5. The way of minimizing algebra can be easily seen by the function = + = IGURE 6. It can be obviously seen from the map that when =, = regardless of the value of. It is this property, of visually recognizing two adjacent ones, that makes K-maps such a powerful tool. lthough the 2-variable problem is trivial, K-maps can be extended to 3, 4, and more variables. 8

. Minimum Sum of Products IGURE 7. Methods of representing 3 and 4 variable maps. There are two rules. The first is to order the variables so that only one variable changes at a time (see IGURE 7). This is important because when two adjacent valued cells are paired, only one variable changes and that is the redundant variable. The second rule is to group the 's in the largest power of two possible. This way one, two, or more variables can be seen as redundant. or example, = + + + + + + can be minimized as follows. IGURE 8. y pairing 's, reduces to + + +. Notice that groups can be extended off the edge of the map. ontinuing by trying to group the largest power of two takes the following form. IGURE 9. The function is now = + +. Notice how the four corners combine. This may seem odd, but if the map is enlarged (adding no new information), this will become obvious. 9

IGURE 2. There are times when you have a choice in covering (drawing circles around) the 's. In this case you pick the coverage that suits other parameters. or example, = + + or = + + IGURE 2. To include both covers would add a redundant term to. In summary, to minimize the terms of a function, get the fewest covers, covering the largest area possible. s a closing note, sometimes there will arise a switching application that will not contain all the possible values needed to fill a K-map. In this condition, you don't really care if a cell is zero or one. Therefore it is correct to cover the largest possible area including don't care's. or example, d d = don t care d = + d IGURE 22. nswer question 4 in the UESTIONS N PROLEMS of the EXPERIMENTL PROEURE. LIP-LOPS N REGISTERS One of the most common types of memory is the flip-flop (otherwise known as the bistable multivibrator). The four we will be concerned about are S-R, J-K, T, and. The characteristics of

each of the flip-flops will be covered in this section. The input is the clock input used in some flipflops to synchronize transitions.. S-R lip-lop (LTH) IGURE 23 shows the logic circuit for the flip-flop constructed with two NN gates. lso shown are the symbol and operation table. Note that the output is not necessarily the complement of. S R (a) Logic ircuit `S `R (b) Symbol INPUT S R previous OUTPU T value IGURE 23. Latch. (c) Operation Table s can be seen, the outputs are uniquely determined by the inputs except for the (,) condition where the output stays at its previous state. Problems occur when the inputs switch from (,) to (,) simultaneously. In the real world there would be a race between the gates.. J-K lip-lop IGURE 24 shows the symbol and operation table for a J-K flip-flop. J K (a) Symbol INPUT OUTPUT J K n o c h a n g e c o m p l e m e n t (b) Operation Table IGURE 24. J-K flip-flop.. lip-lop IGURE 25 shows the symbol and operation table for a flip-flop. s can be seen, it is easily constructed from a J-K flip-flop.

J K (a) Logic ircuit (b) Symbol INPUT OUTPUT (after.p.) IGURE 25. flip-flop. (c) Operation Table The flip-flop will simply assume the state of the input after a clock pulse. This is useful as a delay element and when transferring bits from one source to another. The flip-flop is commonly used in shift registers.. T lip-lop IGURE 26 describes the T flip-flop. s shown, the T flip-flop is simply a J-K flip-flop with the two inputs connected. It is commonly used in counters. J K (a) Logic ircuit T (b) Symbol INPUT OUTPUT (after.p.) T n o c h a n g e c o m p l e m e n t IGURE 26. T flip-flop. (c) Operation Table E. Shift Registers Shift registers occupy an important position in most digital systems. They are often used to momentarily store binary information needed to be coded or decoded. They also play an important link between systems using sequential I/O channels. The flip-flops in a register must be wired so binary data can be inserted (shifted) into the register, and probably shifted out as well.. Serial Shift Registers Serial shift registers involve shifting bits into the register one at a time in a series fashion. five bit serial shift register is shown below using flip-flops. ata shifts from a flip-flop to the next one to its right, on each clock pulse. 2

2 3 4 T INPUT T OUTPUT IGURE 27. Serial shift register. ata can be taken out in a parallel or serial fashion, as shown. G. Parallel Load Shift Registers second method of loading a register is by shifting in all the bits in parallel at the same time (for example from a decoder). n example of a 3-bit parallel shift register is shown below. SHIT X 2 X X J K J J K K RESET IGURE 28. When the shift line goes high, the outputs of the N gates take on the values of X. On the next clock, this information is shifted into the register. To reset the register, the reset line goes high and the shift line low so that all the 's will turn low on the next clock pulse. Thus this configuration requires two clock pulses; one to reset and one to load. Probably the most useful register is a parallel load, serial shift register that lets you control either mode. That type of register incorporates the two previous techniques. nswer question 5 in the UESTIONS N PROLEMS of the EXPERIMENTL PROEURE. OUNTERS Only synchronous counters will be described because of their simplicity. synchronous counter is one in which all the flip-flops change state simultaneously since all the clocks inputs are tied together. ounters are usually constructed of T flip-flops since the flip-flops only have to toggle at a given sequence. 3-bit synchronous counter is shown below. 3

T T T 2 3 IGURE 29. 3-it synchronous counter. The equations for the flip-flops are T = ; T2 = ; T3 = 2. Thus T toggles at every clock pulse, T2 toggles only when is high, on every other clock pulse, and finally T3 toggles when both and 2 are high, or every fourth clock pulse. The counting sequence is shown below: STTE ount 2 3 4 5 6 7 8 9 r e p e a t IGURE 3. ounting sequence. This type of counter can be extended by the following set of equations. T = ounter esigns T2 = T T3 = TT2 Tn = TT2 Tn- The 'etect and Steer' method works by constructing the appropriate combinational control logic at the input of each flip-flop so that the counter progresses through the desired states. list of general steps used to design a counter by this method is shown below.. Start by writing the desired counting sequence. 2. rom determine which flip-flop must change when going from the last state to the first. 3. Generate the control circuitry for each flip-flop from the analysis done in 2. 4. This can best be shown by the following design of a Mod- synchronous binary counter. 4

STTE is the most significant bit ount ecimal is the least significant bit 2 2 changes 3 3 4 4, change 5 5 6 6 changes 7 7 8 8,, change 9 9 Inhibit, orce & 2 r e p e a t changes, change IGURE 3. To find the expression for the T flip-flop inputs, note that there are several unused states that will add don t cares to the K-map. These are =,,, &. or the T4 input for, this flip-flop should change (T4 = ) when = &. The K-map with the don t cares will be: d = don t care d d d d T 4 = + d Similarly, T3 for needs to be when = &. The corresponding K-map is: d = don t care d d d d T 3 = d You should work out the expression for s T2 flip-flop, noting that there will be six s in the K-map. The T expression for could also be done this way, but since changes almost every time, it is easier to look at the case when it doesn t change. Instead of filling up the K-map with all s except 5

for the lower right corner, we will put a in for the = state and find the inverse (NOT) expression. Now the K-map will look like: d = don t care d d d d T = d Once we detect the state for (detecting ) we can summarize all the T flip-flop input expressions: = T = inhibits only on ; otherwise = T2 = + is the force term = T3 = = T4 = + is the force term The logic for the Mod- counter is shown below: T T T T 2 3 4 IGURE 32. nswer question 6 in the UESTIONS N PROLEMS of the EXPERIMENTL PROEURE. SYNTHESIS O SYNHRONOUS IRUITS (see Ref. [2]) The synthesis of a logic circuit is one of the most difficult aspects of digital circuit design. The designer must balance the cost of his time spent on the design to the cost of the logic used. (This really applies to prototypes. or production, the designer will be more interested in minimizing his circuit than minimizing his time.) There is a method, which will be explained, that minimizes the designer's time spent working out his circuit, and maximizes his time where thought process is needed flow-charting. low-charting is used everywhere. In composition it is called an outline. Programmers use it. In flow-charting a finite state machine, the designer takes all the specs and puts it into his flow chart. Let's take a simple example - the design of a Mod-8 counter. You already know how to design T- counters. This time we will synthesize a - counter. Since 8 distinct outputs are needed, the design calls for 8 states since each output will depend on the state you are in. The flow chart is as follows: 6

/ / / / / E / / G / H IGURE 33. Each state is represented by a circled letter. The arrow points to the next state following a clock pulse. or a simple counter, the arrows just follow a string. The number following the slash shows the desired output at each transition. If there was an input it would be put in front of the slash. Let's continue. Suppose we wanted an up/down counter dependent upon an input, X. When X = the counter counts up and for X = the counter counts down. The implementation of this flow chart is just as simple. We now have arrows in both directions, dependent on X. X/ X/ E G H X/ X/ X/ X/ X/ X/ X/ X/ X/ X/ X/ X/ X/ X/ IGURE 34. On X (when X = ) the arrows point backwards. The outputs follow similar reasoning. Now for a final extension. The new design calls for two inputs X,Y. On, you have a down counter; on, you have an up counter; and on, and, you stop counting. Only the first 4 states will be shown. / / / / / / / / / / / / IGURE 35. / / Once a good working flow chart has been accomplished (minimization will not be covered) the rest is pure mechanics. The step after the flow chart is to write a state table. Let's work on a simple 4 state up/down counter. This table simply lists each state on the left, and the transition to the next state inside the box, dependent on the input variable X. rom the state table, an excitation table is written. Using K-map techniques, a state representation is made and inserted for each state. Notice that only one variable changes at a time when using a K-map. Using K-map techniques, the equations for each flip-flop are found. Note that 2 are the outputs of flip-flops. The digits inside the box are for the inputs of the flip-flops. 7

X X 2 () () () () State Table Excitation Table Excitation Equations IGURE 36. Going back to the flow chart, an output table is written. It may seem a little odd that each state codes for two outputs, but you must realize that the coding is for the next state, not the immediate state. inally, the equations for the outputs are written. X 2 () () () () Output Table Output Equations IGURE 37. That is all there is to this type of synchronous synthesis. Once the equations are written, they can easily be converted to actual logic. Here is one more example and then you are on your own. It is desired to design a synchronous machine to decode a series of ones and zeros into a special output sequence. The input is X and the output is Z: start continue X X Z Z The first observation is that there is a output for every input. The next observation is that the output toggles on a zero input after the first zero input. Start with state. On a input, a is output and there is no need to leave state. On the other hand, there are two outputs for a zero input so it takes 2 states to code for the two outputs. Therefore the flow chart is as follows: / / / Notation: INPUT/OUTPUT / IGURE 38. Note that all possible inputs at every state are accounted for. In this particular case, there are a few simple flow charts that will do the trick. Experience will allow you to pick the simplest. In this case, since we will use a - and assign for state, it is simplest to let everything fall back to. The state-output table is: 8

X / / / / State-Output Table IGURE 39. The excitation table and equation is: X () () Excitation Table Excitation Equation IGURE 4. the output table and equation is: X () () Output Table Output Equation IGURE 4. The final circuit is simply X IGURE 42. O nswer question 7 in the UESTIONS N PROLEMS of the EXPERIMENTL PROEURE. EXPERIMENTL PROEURE UESTIONS N PROLEMS This procedure consists of seven short answer problems and one major design project. You should plan to finish questions - 7 during one lab session. The other 3 sessions are to be devoted to your design project. 9

ll the problems solved should have figures, either drawn by hand or printed out from esignworks. If you are printing out circuits, move them to the top of the page. This will save paper and speed up printing. You may also construct several circuits on the same page before printing.. a) uild (from this point on, the word build will be used to mean design, test, and write in your lab book) a four input NN gate using gates with 2 inputs. Write down the truth table. b) o the same for a 4 input NOR gate. 2. a) Prove to yourself emorgan's theorem using esignworks. b) Show, one step at a time, that + ( ) = ( + ) ( + ) for =, =, =. c) What is the dual of: ( + ) + ( ) ( + ) 3. a) nalyze the following in two ways to get sums of product and product of sums equations. Then show how you can get one from the other using emorgan's Theorem. E IGURE 43. E 2 b) Implement = + using NN logic. + is called an exclusive or. raw a truth table and test it on the simulator. 4. a) Minimize = + + + + + +. Test out both versions on esignworks. b) Minimize and give the truth table for the reduced version where = E + E + E + E + E + E + E + E + E + E (Note that this can be reduced to a 4 variable map.) c) Write the equation for the following: 2

d d d d d d = don't care IGURE 44. 5. a) amiliarize yourself with the flip-flops available on esignworks by entering them and testing them. b) Use the clock on a J-K flip-flop. Naming the clock signal and the output gives a timing diagram. c) Simulate a 3-bit serial shift using J-K flip-flops and a switch for the input. 6. esign and build a counter that will go through the following sequence. Show all work. fter simulation this counter should also be implemented on the ltera UP PG board in preparation for the implement of the final design project on the same hardware. STTE r e p e a t Note: state '4' is skipped IGURE 45. 7. a) uild a one stage full adder with inputs X, Y, and carry in from previous stage. There should be outputs of a sum and a carry out. raw the necessary truth tables. b) How could this be expanded to create an n-stage adder? ssuming each gate has a delay, can all the n bits be added at the same time? 8. ecide on a project, design it and build it. Show your instructor what your project is before you start it. This project should be fairly complicated and not a common function from a TTL data book. function that accepts certain inputs in certain sequences and causes different patterns to 2

appear on the available outputs is appropriate. In other words, the design should be unique. See guidelines below. ESIGN PROJET or this final part of the logic design lab, you are to design and implement a machine of your own choice on esignworks. Here are some hints and rules:. The design must have both combinational and sequential logic (flip-flops). 2. The design must have some user input (more is usually better). 3. The design must have some output (more is usually better). 4. The design must be implementable, even if your attempt to implement it didn't quite work (in which case say why it didn't work in your lab report). 5. Show your T.. the working model and he will sign it. 6. In short, the more impressive your design, the higher your grade (if it works). If your design does something fantastic, say so on your lab write-up. rag about your design. 7. The design ought to be relevant. That is, it should do something that has some use (even a game), rather than some arbitrary function. 8. ll parts of the design ought to have a bearing on the output; i.e., a flip-flop connected to nothing doesn't satisfy the requirements of sequential logic. ollowing these simple guidelines this should produce a good project. Suggested projects are:. simple game like Mastermind. 2. message scroll. 3. traffic light controller. 4. serial to parallel/parallel to serial converter. 5. n rithmetic-logic Unit (LU). You may use the hex-keyboard and display options wherever needed or desired. There is a device editor available on esignworks that allows you to make your design modular. You are encouraged to do this. SIMULTOR OPERTION Some Pointers on the Use of LogicWorks Some points that should help you getting the LogicWorks package started on Ps are listed below. lso shown is a simple example. Students are advised to work through the example before proceeding with the lab. urther information on the package should not be difficult to find from the manual. The manual should also be able to give you ideas for the final design project.. Open LogicWorks by clicking Start > ll Programs > LogicWorks 5 > LogicWorks 5. 2. If you have LogicWorks already installed on you laptop you do not need to use the desktop Ps in the lab. 3. If necessary, go to the ile menu at the top of the screen and open a new circuit. circuit template and a timing diagram appear on the screen. Work through the example shown below. Example Let us try to construct the circuit shown below: 22

The following components have to be assembled: IGURE 46. Example circuit. NN gate: Select a 2-input NN gate NN-2 from the Gates option within the selection labeled Libraries at the top of the screen. mouse click places the NN gate or any other selected component on the circuit template. Repeated clicks will place additional components. When you have all the gates you need, press the Space ar. This will yield the cursor. onnections: connection may be made by clicking the cursor near a lead, and drawing it across to the required place. When a connection is established between two circuit components, the signal line flashes briefly. Naming signals: t the bottom left corner of the circuit template is a set of cursor selections. Select the pen. licking the pen on a signal line causes it to flash, and a text cursor appears. Name the signal and press return when done. The signal will immediately be assigned an area on the timing diagram. Label the signals,, and as shown in IGURE 46. In addition, the pen may be used to write any text on the circuit template; e.g. the NN gate may be labeled NN. Switch: To be able to change the values of the input, switches need to be connected to points and. Select Switch from the I/O option under the Libraries menu selection. onnections are made as described above. The input value of may be changed by clicking the mouse on the switch. Probe: The value of an input or an output may be determined by using a Probe. The Probe selection appears in the I/O option. onnect probes to points,, and. The completed circuit is shown in IGURE 47 for two input value sets. The arrow switch options may be used to rotate a probe as shown by Probe2 below. Pr obe NN NN2 Pr obe3 Pr obe2 Pr obe NN NN2 Pr obe3 Pr obe2 IGURE 47. The completed circuit. 23

Warning: The current versions of LogicWorks may not default to gate delays of zero. If you are getting glitches and race conditions in your logic circuits it is acceptable to simply shorten or remove the gate delays from the simulations for this lab. PG IMPLIMENTTION The last requirement for the lab is to transfer the state machine design to the ltera UP PG board and demonstrate its functionality working on actual hardware. Partners for the Logic Experiment must be in the lab to complete this part with final check-off by the T. Refer to the online manual PG tutorial for Logic project under ourse Material on the course web page. There is also a zipped folder containing the files needed to demonstrate a counter circuit (bcounter.gdf) on the PG. There are several prepared prewired boards for use in the class stored in the cabinet in the back of the room on the podium s right side. o not remove the jumpers on the board. They are there to connect the switch inputs and LE/display outputs to the user s logic circuit. Unfortunately there is no automated way to transfer a logic circuit created in LogicWorks into the MX+plus II.2 SELINE software on the lab desktop Ps. ollow the steps in the tutorial to run the demo for the counter. fter verifying the demo, create a new project and enter the logic circuit for the final project state machine. Once everything has been entered and working properly, demonstrate it to the T for final check-off. REERENES [] Huges, John L., igital omputer Lab Workbook, igital Equipment orporation, 969. [2] Kohavi, Zvi, Switching and inite utomata Theory, McGraw-Hill, 97, hapters 3, 4, 5, and 9. [3] Mowle,. W., Systematic pproach to igital Logic esign, ddison Wesley, 976, hapters 3, 4, 5, 8, and 9. 24