Total time is: 1 setup, 2 AND, 3 XOR, 1 delay = (1*1) + (2*2) + (3*3) + (1*1) = 15ns

Similar documents
Lecture 10: Synchronous Sequential Circuits Design

Final Exam. ECE 25, Spring 2008 Thursday, June 12, Problem Points Score Total 90

CSE 140 Midterm 2 Tajana Simunic Rosing. Spring 2008

EECS Components and Design Techniques for Digital Systems. FSMs 9/11/2007

Fundamentals of Digital Design

Synchronous Sequential Circuit Design. Digital Computer Design

Problem Set 9 Solutions

EEE2135 Digital Logic Design

or 0101 Machine

Present Next state Output state w = 0 w = 1 z A A B 0 B A C 0 C A C 1

Chapter 6. Synchronous Sequential Circuits

Appendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs

EECS150 - Digital Design Lecture 23 - FSMs & Counters

CPE100: Digital Logic Design I

Homework #4. CSE 140 Summer Session Instructor: Mohsen Imani. Only a subset of questions will be graded

Parity Checker Example. EECS150 - Digital Design Lecture 9 - Finite State Machines 1. Formal Design Process. Formal Design Process

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

11.1 As mentioned in Experiment 10, sequential logic circuits are a type of logic circuit where the output of

CSCI 2150 Intro to State Machines

3. Complete the following table of equivalent values. Use binary numbers with a sign bit and 7 bits for the value

ENGG 1203 Tutorial _03 Laboratory 3 Build a ball counter. Lab 3. Lab 3 Gate Timing. Lab 3 Steps in designing a State Machine. Timing diagram of a DFF

14.1. Unit 14. State Machine Design

Models for representing sequential circuits

EE 209 Logic Cumulative Exam Name:

Lab #10: Design of Finite State Machines

CSE140: Design of Sequential Logic

EECS 270 Midterm 2 Exam Answer Key Winter 2017

Review for Final Exam

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department

L10 State Machine Design Topics

Clocked Synchronous State-machine Analysis

CPE100: Digital Logic Design I

FSM model for sequential circuits

COE 202: Digital Logic Design Sequential Circuits Part 3. Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:

Mealy & Moore Machines

Logical design of digital systems

For smaller NRE cost For faster time to market For smaller high-volume manufacturing cost For higher performance

The Design Procedure. Output Equation Determination - Derive output equations from the state table

ECE/Comp Sci 352 Digital Systems Fundamentals. Charles R. Kime Section 2 Fall Logic and Computer Design Fundamentals

Finite State Machine (FSM)

CSE 140: Components and Design Techniques for Digital Systems. Lecture 9: Sequential Networks: Implementation

COE 202: Digital Logic Design Sequential Circuits Part 3. Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:

Sequential Synchronous Circuit Analysis

Q: Examine the relationship between X and the Next state. How would you describe this circuit? A: An inverter which is synched with a clock signal.

Sequential Circuit Design

Example: vending machine

ELE2120 Digital Circuits and Systems. Tutorial Note 9

Chapter 5 Synchronous Sequential Logic

Register Transfer Level

Finite State Machine. By : Ali Mustafa

Different encodings generate different circuits

Sequential Logic Optimization. Optimization in Context. Algorithmic Approach to State Minimization. Finite State Machine Optimization

Design of Datapath Controllers

Memory Elements I. CS31 Pascal Van Hentenryck. CS031 Lecture 6 Page 1

Chapter 15 SEQUENTIAL CIRCUITS ANALYSIS, STATE- MINIMIZATION, ASSIGNMENT AND CIRCUIT IMPLEMENTATION

Analysis of clocked sequential networks

XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL.

PAST EXAM PAPER & MEMO N3 ABOUT THE QUESTION PAPERS:

Simplify the following Boolean expressions and minimize the number of literals:

Topic 8: Sequential Circuits

Chapter 7 Sequential Logic

CSC 322: Computer Organization Lab

ENGG 1203 Tutorial - 2 Recall Lab 2 - e.g. 4 input XOR. Parity checking (for interest) Recall : Simplification methods. Recall : Time Delay

University of Minnesota Department of Electrical and Computer Engineering

Sequential Logic Worksheet

EECS150 - Digital Design Lecture 11 - Shifters & Counters. Register Summary

Timing Constraints in Sequential Designs. 63 Sources: TSR, Katz, Boriello & Vahid

Digital Circuits and Systems

Chapter 4 Part 2 Sequential Circuits

EET 310 Flip-Flops 11/17/2011 1

CSE 140 Midterm 3 version A Tajana Simunic Rosing Spring 2015

6 Synchronous State Machine Design

FSM Optimization. Counter Logic Diagram Q1 Q2 Q3. Counter Implementation using RS FF 10/13/2015

Menu. Master-Slave Flip-Flop

Ch 7. Finite State Machines. VII - Finite State Machines Contemporary Logic Design 1

Adders, subtractors comparators, multipliers and other ALU elements


CS61C : Machine Structures

Week-5. Sequential Circuit Design. Acknowledgement: Most of the following slides are adapted from Prof. Kale's slides at UIUC, USA.

UNIVERSITY OF BOLTON SCHOOL OF ENGINEERING BENG (HONS) ELECTRICAL & ELECTRONICS ENGINEERING EXAMINATION SEMESTER /2017

Lecture 8: Sequential Networks and Finite State Machines

State Graphs FSMs. Page 1

CS61C : Machine Structures

ECE380 Digital Logic. Synchronous sequential circuits

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

Review: Designing with FSM. EECS Components and Design Techniques for Digital Systems. Lec 09 Counters Outline.

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 7 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

Synchronous Sequential Logic Part I. BME208 Logic Circuits Yalçın İŞLER

EECS150 - Digital Design Lecture 17 - Sequential Circuits 3 (Counters)

EECS 270 Midterm Exam 2 Fall 2009

Philadelphia University Student Name: Student Number:

CprE 281: Digital Logic

EECS150 - Digital Design Lecture 16 Counters. Announcements

FSM Examples. Young Won Lim 11/6/15

Laboratory Exercise #8 Introduction to Sequential Logic

Sequential Circuits. Circuits with state. Silvina Hanono Wachman Computer Science & Artificial Intelligence Lab M.I.T. L06-1

EGR224 F 18 Assignment #4

Design of Sequential Circuits

Synchronous Sequential Circuit Design

Time Allowed 3:00 hrs. April, pages

Transcription:

Clock Period/ Delay Analysis: Find longest possible path (time-wise) between two flip-flops. If 2ns for AND and 3ns for XOR, with T delayff = 1ns and T setupff = 1 ns. So the total time is: 1 setupff + 3 AND + 1 XOR + 1 delayff = (1*1) + (3*2) + (1*3) + (1*1) = 11 ns ex 2: AND = 2ns, XOR = 3ns, FF setup = 1ns, Ffdelay = 1ns. Total time is: 1 setup, 2 AND, 3 XOR, 1 delay = (1*1) + (2*2) + (3*3) + (1*1) = 15ns K-Maps: Moore Machine:

Reading the chart (simplified): If it is in state A, and I give the input 01, it moves to state B. if it is in state B, and I give the input 11, it moves to state C. In more detail: If it is in state A (S 1 S 0 = 00), if I give the input JK = 01, then S 1+ S 0 + = B (11) How to answer the question (fill in the Kmaps): Then just use the chart to fill it in. (rows are current state, columns are input.)

The last part: State: Output: Timing analysis: All gates take 1ns, ff delay and setup are 1ns. You only need to worry about edges which would be caused to change immediately after a given change. In this example, if A changes, that can ONLY effect C. If C changes, that can ONLY affect D, and so on. Therefore, D will ONLY change if C changes, and C will ONLY change if A changes. So you need only consider these when a relevant change happens.

EXTREME STEP-BY-STEP BREAKDOWN: (blue = 1, red = 0) ***NOTE: You ONLY have to consider the NEXT wire to change. (A can ONLY change C). ns 1-2: Clock: 1 Initial ns 2-3: Clock: 1 A changes to 0, XOR delay of 1 ns ------Negedge----- ns 3-4: Clock: 0 C changes to 1. ns 4-5: Clock: 0 Waiting for CLK ns 5-6: Clock: 0 Waiting for CLK --------Posedge----- ns 6-7: Clock: 1 FF delay of 1 ns

ns 7-8: Clock: 1 D changes to 1, INV delay of 1 ns -----Negedge ------- ns: 8-9 Clock: 0 E changes to 0, waiting for CLK....... -----Posedge------ ns: 11-12 Clock: 1 FF delay of 1 ns ns: 12-13 Clock: 1 B changes to 0, XOR delay of 1 ns. --------Negedge--------- ns: 13-14 Clock: 0 C changes to 0, waiting for CLK.......

------Posedge------ ns: 16-17 Clock: 1 FF delay of 1 ns. ns: 17-18 D changes to 0, Clock: 1 INV delay of 1 ns. -----Negedge------- ns: 18-19 Clock: 0 E changes to 1, waiting for CLK......... Table:

Reverse engineering sequential circuits: Need to find equations for F, S 2 +, S 1 +, S 0 +. To Find F: Therefore: F = S0 (+) S1 To Find S2+: Therefore: S2+ = (S1 + I) * S0 To Find S1+: Therefore: S1+ = S2 * S0

To Find S0+: Therefore: S0+ = S0 * S1 Now for the State Table: If initial state S 2 S1S 0 = 000: If I = 0: If I = 1: (Too Many AND gates to change State from 000)

DataPaths/Registers: (this is complicated and I'm getting lazy so I'm not going to do the whole thing. With all the givens: So, the answer is: P 3+ P 2+ P 1+ P 0 + = 0110 Just essentially do the same for other inputs. NOTE: FA is an adder.

Sequential Logic Implementation (Mealy Machine): Simplification using a state table: Then use appropriate S 1 S 0 conversion: A=00, B=10, C=01 to generate the S 1 +,S 0 + tables. Find Minimum Two-Level Logic for F, S 1 +, S 0 +. F = S 1 +: S 0 +: F = S 1 +: S 0 +: (Red = essential primes, Blue = other Primes.) F = S1 S 1 + = I S 0 + = S 1 * I

Sequential Logic Example 2: Mealy Machine: Note this has a 3-bit state. You can think of it as having a 4-bit input: (I, S 2, S 1, S 0 ) Therefore you make a 4-bit K-map. Simplification using a state table: NOTE: try to organize the state variables so that the states match I, S 2, S 1, S 0 means that you don't have to think about the states very much, while I, S 0, S 1, S 2 would require you to flip the states (and leaves more chance for error). Now fill it in Then break up the filled in table into the appropriate S 2, S 1, S 0 : A =100, B = 010, C = 001. And make an additional table for F:

State Minimization: Given: How to create the table: 1.) Label your horizontal axis using A-F (1, 2,..., n-1). Label your vertical axis using B-G (2, 3,..., n). 2.) Draw the boxes. Yes I know, they aren't the same size... 3.) Look at the table, and plug in values. (complicated, going to use pictures.) ** You use the coordinates from the minimization chart (right), then look on the state table (left), make the pairs by input. So for the coordinates (A,C), look at rows A and C on the state table. x=0 x=1 Out A B C 0 Then make the pairs based on the inputs: C D C 0 x = 0: B-D x = 1: C-C Repeat until the chart is full.

Initial: Look for states with outputs that do not match (swap the state [A, B, etc] with it's output [0,1], then match): Cross out squares where

outputs conflict: D is not compatible with anything else. (There will always be one [or more] letters that you can rule out in this first step). **** FOR THE FOLLOWING STEPS: Think of A-B as A=B. So, since we know D does NOT = anything else, in any case where D- the square is crossed out. If the square was D-D it would NOT be crossed out. Since we know D is not compatible, any square with a D that is not D-D is ruled out:

Now (by looking at the columns), we can see that C has been ruled out, so we look for all squares with C- Clarification: Now we look at the rows/columns: D was ruled out in iteration 1, C was ruled out in iteration 2, A, B, E, F and G cannot be ruled out (they all have squares which are valid). Now, examining those squares (top left) gives A= B and C = C. gives A = B, and F = G. gives A = A, and E = F. gives A = B, and E = G. ***If coordinates do not match the inputs in the boxes cross out the box. So, removing duplicates: A = B, E = F = G. **** Note: You should also look at the coordinates of non-crossed out boxes: as they show equivalence as well. (B, A), (E, F), (E, G), (F, G) means: B = A, E = F = G (we just didn't have to do that in this example)

The state table can then be reduced accordingly: (Replace B with A, replace F and G with E).