14.1. Unit 14. State Machine Design

Size: px
Start display at page:

Download "14.1. Unit 14. State Machine Design"

Transcription

1 4. Unit 4 State Machine Design

2 4.2 Outcomes I can create a state diagram to solve a sequential problem I can implement a working state machine given a state diagram

3 STATE MACHINES OVERVIEW 4.3

4 4.4 Review of State Machines We've implemented state machines in software, now let's see how we can build them in hardware State machines are described with state diagrams that show various states, transition arrows between them, and outputs to be generated based on the current state We use the state to help us know which step of an algorithm we are currently at

5 4.5 Hardware State Machines Hardware (finite) state machines of (FSMs) provide the brains or control for electronic and electro-mechanical systems Many custom hardware designs use a hardware-based FSM to control their operation Goal is to generate output values at specific times When you need time dependent HW outputs, you can use an FSM FSMs require sequential and combinational logic elements Sequential Logic to remember what step (state) we re in Encodes everything that has happened in the past Combinational Logic to produce outputs and find what state to go to next Generates outputs based on what state we re in and the input values

6 4.6 Hardware vs. Software FSM Comparison Hardware FSMs Changes state (makes a transition) every clock cycle Uses a register (i.e. flip-flops) to store the current state Designer can choose state 'codes' arbitrarily but the choice can greatly affect the size of the circuit Uses logic gates (found from a truth table and K-Map or other means) to implement the state transition arrows Must implement the initial state value using the RESET signal Software FSMs Changes state (makes a transition) when software polls the inputs (which could be very low frequency) Uses a variable to store the current state Programmer can choose state 'codes' arbitrarily with little implication Uses 'if' statements to implement the state transition arrows Must implement the initial value of the state variable

7 4.7 Comparison: FSM in SW and HW int main() { unsigned char state=; // init state unsigned char input, output; while() { _delay_ms(); // choose appropriate delay input = PIND & ( << PD); State Diagram } if(state == ){ PORTD &= ~( << PD7); // output off if( input ){ state = ; /* transition */ } else { state = 2; /* transition */ } } else if(state == ){ PORTD &= ~( << PD7); // output on if( input ){ state = 2; } else { state = ; } } else if(state == 2) { PORTD = ( << PD7); // output on if(!input ) { state = ; } } } return ; Software Implementation (Input) X CLK (Next State) D D D D PRE CLR Q Q RESET PRE CLR Q RESET Q (Current State) Q Q (Output) F Hardware Implementation

8 4.8 State Machine Example Design a sequence detector to check for the combination "" Input, X, provides -bit per clock Check the sequence of X for "" in successive clocks If "" detected, output F= (F= all other times) X CLK RESET "" Sequence Detector F

9 4.9 Another State Diagram Example Sequence Detector should output F= when the sequence is found in consecutive order Sinit F= S F= S F= S F= State Diagram for Sequence Detector See the end of this slide set for more detailed solutions and explanations.

10 4. Correct Specification of State Diagrams For HW especially, it is critical that exactly one transition from a state may be true at a time We can't go 2 places at once and if we don't tell it explicitly where to go next, it may go to any random state If you want to stay in a state, include an explicit loopback arrow On the 2 nd example if you want to stay in Q, include a loopback labeled X= Q X= Q X= Q X= Q NO LABEL = Unconditional transition X= X= Incorrect (2 conditions true) Incorrect (No condition for X = ) Correct Correct

11 4. Correct Specification of State Diagrams 2 Exactly one transition from a state may be true at a time Make sure the conditions you associate with the arrows coming out of a state are mutually exclusive (< 2 true) but all inclusive (> true) X= X= and Y= X= and Y= Q Q Q Y = X= and Y = (X= and Y=) Incorrect (More than one condition can be true) Incorrect (Not all conditions covered) Correct ( and only condition will be true at all times) ALWAYS double check your transitions to ensure they are mutually exclusive.

12 4.2 State Machines The HW for a state machines can be broken into 3 sections of logic State Memory (SM) Just FF s to remember the current state Next State Logic (NSL) Combo logic to determine the next state Essentially implements the transition conditions Output Function Logic (OFL) Combo logic to produce the outputs

13 4.3 State Machine NEXT STATE The FF inputs will be the value of the next state logic output. On the next clock edge the FF outputs will change based on these inputs. CURRENT STATE The FF outputs represent the current state (the state we re in right now) inputs Next State Logic next state D i State Memory (Flip- Flops) current state Q i Output Function Logic outputs clock Important: State is always represented and stored by the flip-flop outputs in the system

14 4.4 State Machines Below is a circuit implementing a state machine, notice how it breaks into the 3 sections (Input) (Next State) (Current State) X D Q D Q OFL NSL Q SM (Output) F D D Q Q Q CLK

15 STATE MACHINE DESIGN 4.5

16 4.6 State Diagram vs. State Machine State Diagrams. States 2. Transition Conditions 3. Outputs State Machines require sequential logic to remember the current state (w/ just combo logic we could only look at the current value of X, but now we can take 4 separate actions when X=) On Reset (power on) X= Sinit F= X= S S F= F= X= X= X= X= X= X= State Diagram for Sequence Detector S F= State Machine. State Memory => Flip-Flops (FFs) n-ff s => 2 n states 2. Next State Logic (NSL) combinational logic logic for FF inputs 3. Output Function Logic (OFL) MOORE: f(state) MEALY: f(state + inputs) (Input) (Next State) (Current State) X D Q D Q OFL (Output) NSL Q F SM D D Q Q Q CLK

17 4.7 State Machine Design State machine design involves taking a problem description and coming up with a state diagram and then designing a circuit to implement that operation Problem Description State Diagram Circuit Implementation

18 4.8 State Machine Design Coming up with a state diagram is non-trivial Requires creative solutions Designing the circuit from the state diagram is done according to a simple set of steps To come up w/ a state diagram to solve a problem Write out an algorithm or series of steps to solve the problem Each step in your algorithm will usually be one state in your state diagram Ask yourself what past inputs need to be remembered and that will usually lead to a state representation

19 EXAMPLE 4.9

20 4.2 Consecutive Detector Given a single-bit input, X, set the output to if the last 2 values of X have been X CLK RESET Consecutive 's Detector X F

21 4.2 6 Steps of State Machine Design. State Diagram 2. Transition/Output Table (Q -> Q*) 3. State Assignment Determine the # of FF s required Assign binary codes to replace symbolic names 4. Rename Qi* to Di 5. K-Maps for NSL (Di values) and OFL One K-Map for every FF input One K-Map for every output of OFL 6. Draw out the circuit

22 4.22 Transition Output Table Convert state diagram to transition/output table Show Next State & Output as a function of Current State and Input Current State Input (X) Next State Output (F) On Reset (power on) X= X= S F= X= S F= S2 F= X= X= X= S S S S S S S S2 S2 S S2 S2

23 State Assignment Mapping 4.23 Transition Output Table Now assign binary codes to represent states The order doesn't matter. Use don't cares for unused state codes On Reset (power on) X= X= S F= X= S F= S2 F= X= X= State Q Q S -- S S2 X= Current State Input Next State Output Q Q X Q* Q* F d d d d d d

24 Notice we used Gray Code order. This will help in a future step 4.24 Transition Output Table Convert state diagram to transition/output table Current State Next State Output X = X = State Q Q State Q* Q* State Q* Q* F S S S d d -- d d d S S S2 S2 S S2 On Reset (power on) X= X= S F= X= S F= S2 F= X= X= X= Here we have redrawn the 8 row table from the previous slide into 4 rows & 2 columns. We've also separated the output F since it doesn't depend on X but only Q and Q

25 4.25 Rename Q* to D The goal is to produce logic for the inputs to the FF s D,D : (aka "excitation equations") For D-FF s Q* will be whatever D is at the edge NSL Next State SM OFL X D D SET Q Q CLR Q F Q D D SET Q Q CLR CLK Current State Feedback

26 4.26 Updated Table Find a truth table for the flip-flop inputs (Di) and output (F) Current State State Q Q State Next State X = X = Q* D Q* D State S S S d d -- d d d S S S2 S2 S S2 Q* D Q* D Output F On Reset X= (power on) X= X= S S S2 F= X= F= F= X= X=

27 4.27 Karnaugh Maps Now need to perform K-Maps for D, D, and F Current State Next State X = X = Output State Q Q State D D State D D F S S S d d -- d d d S S S2 S2 S S2 X QQ d d D = X

28 4.28 Karnaugh Maps Now need to perform K-Maps for D, D, and F Current State Next State X = X = Output State Q Q State D D State D D F S S S d d -- d d d S S S2 S2 S S2 X QQ X QQ d d D = X d d D = X Q'

29 4.29 Karnaugh Maps Now need to perform K-Maps for D, D, and F Current State Next State X = X = Output State Q Q State D D State D D F S S S d d -- d d d S S S2 S2 S S2 QQ X QQ X Q Q d d D = X d d D = X Q' d F = Q Q' = Q XOR Q

30 4.3 Implementing the Circuit Implements the consecutive s detector (Input) X (Next State) D D PRE Q (Current State) Q CLR RESET Q (Output) F D D PRE Q Q CLR Q RESET CLK

31 4.3 Implementing an Initial State How can we make the machine start in S on reset (or power on?) Flip-flops by themselves will initialize to a random state ( or ) when power is turned on On Reset X= (power on) X= X= S S S2 F= X= F= F= X= X=

32 4.32 Implementing an Initial State Use the CLEAR and PRESET inputs on our flip-flops in the state memory When CLEAR is active the FF initializes Q= When PRESET is active the FF initializes Q= D PRESET Q CLK CLR

33 State Assignment Mapping 4.33 Implementing an Initial State We assigned S the binary code Q Q = so we must initialize our flip-flops to QQ= State Q Q On Reset (power on) X= X= S F= X= S F= S2 F= X= X= X= S -- S S2

34 4.34 Implementing an Initial State Use the CLR inputs of your FF s along with the RESET signal to initialize them to s We don't need the PRESET inputs so GND them (Input) X (Next State) D D PRE Q (Current State) Q CLR RESET Q (Output) F D D PRE Q Q CLR Q RESET CLK

35 4.35 Implementing an Initial State When RESET is activated Q s initialize to and then when it goes back to the Q s look at the D inputs Forces Q s to because it s connected to the CLR inputs RESET Q Q Once RESET goes to, the FF s look at the D inputs

36 4.36 Alternate State Assignment Important Fact: The codes we assign to our states can have a big impact on the size of the NSL and OFL Let us work again with a different set of assignments Current State Next State X = X = Out put State Q Q S -- S S2 Old Assignments State Q Q State State F S S S S2 S S2 S S S New Assignments

37 4.37 Alternate State Assignment Current State State Q Q State Next State X = X = Q* =D Q* =D State Q* =D Q*= D S S S d d -- d d S2 S S2 S S S Outp ut F QQ X QQ X Q Q d d D = X Q Q' d d D = X Q'+X Q d F = Q Q = Q

38 4.38 Updated Circuit & Reset Condition Consider the initial state implementation S = QQ = (Input) X (Next State) D D PRE CLR Q Q RESET RESET (Current State) Q (Output) F D D PRE Q Q CLR Q CLK Notice the different state assignment led to larger circuits (NSL is considerably larger). We will generally provide you the state assignment!

39 EXAMPLE

40 4.4 Traffic Light Controller Design the controller for a traffic light at an intersection Main street has a protected turn while small street does not Sensors embedded in the street to detect cars waiting to turn Let S = S OR S2 to check if any car is waiting Simplify and only have Green and Red lights (no yellow) Turn Sensor S On Reset (power on) MS Q Q = Small Street SS Q Q = S = Turn Sensor S2 Overall sensor output S = S + S2 S = MT Q Q =

41 4.4 State Assignment Design of the traffic light controller with main turn arrow Represent states with some binary code Codes: 3 States => 2 bit code: =SSG, =MSG, =MTG Turn Sensor S On Reset (power on) MS Q Q = SS Q Q = S = State Diagram Turn Sensor S2 Overall sensor output S = S + S2 S = MT Q Q = Main Street

42 4.42 K-Maps Find logic for each FF input by using K-Maps Current State Next State S = S = Output State Q Q State Q * Q * State Q * Q * SSG MTG MSG SS MS MT N/A X d d X d d d d d MT MS MS MS SS SS On Reset (power on) SS Q Q = S = S = Q Q d MSG = Q Q MS Q Q = MT Q Q = S QQ d d S QQ d d Q Q d SSG = Q Q Q d MTG = Q D = Q +Q D = S Q

43 EXAMPLE

44 4.44 Water Pump Implement the water pump controller using the High and Low sensors as inputs Recall the H and L sensor produce when water is covering them and otherwise L= Pump OFF P= ON P= High Sensor L= H= H= Low Sensor Water Tank

45 4.45 L Transition Table OFF P= ON P= L H H Current State Next State H L = H L = H L = H L = Symbol Q Sym. Q* Sym. Q* Sym. Q* Sym. Q* OFF ON OFF OFF X d ON ON ON OFF X d Note: The State Value, Q forms the Pump output (i.e. when we want the pump to be on and othewise) Q H L d d D = L' + H'Q

46 4.46 Alternating Priority Arbiter EXAMPLE 4

47 4.47 Problem Description Two digital devices (Device and Device ) can request to use a shared resource via individual request signals: R (from Dev) and R (from Dev) An arbiter will examine the requests and issue a grant signal to the appropriate device (G to Dev and G to Dev). Requests are examined during cycle and a grant will be generated on the next, and active for one cycle If only one device makes a request during a cycle, it should receive the grant on the next. If both devices request on the same cycle, the grant should be given to the device who hasn't received a grant in the longest time. R R CLK RESET Alternating Prioritizing Arbiter G G Cycle R R G G

48 4.48 State Diagram Complete the state diagram On Reset (power on) R R Cycle R R St. G G PW PG 3 PG 4 PG 5 PW 6 PG PG R R' R' R' PW PG G= PW R' R' PG G=

49 4.49 Transition Table Complete the transition table On Reset (power on) R R' R' R R R R R' PW PG G= R' R PW PG G= R' R' R' R R' R' R' R' R' R Current State Next State Output R R = R R = R R = R R = St. Q Q St* Q* Q* St* Q* Q* St* Q* Q* St* Q* Q* G G PW PW PG PG PG PW PW PG PG PG PG PW PG PG PG PG PW PG PG PG

50 4.5 Find the NSL and OFL Current State Next State Output R R = R R = R R = R R = St. Q Q St* Q* Q* St* Q* Q* St* Q* Q* St* Q* Q* G G PW PW PG PG PG PW PW PG PG PG PG PW PG PG PG PG PW PG PG PG RR QQ RR QQ Q Q Q Q G = Q Q G = Q Q D = R + R D = R' Q + R Q

51 4.5 Final Circuit NSL Next State SM OFL R R D D GND SET Q Q G Q CLR RESET Q D D SET GND Q Q G CLR CLK RESET Current State Feedback

52 EXAMPLE

53 4.53 State Machine Example Design a sequence detector to check for the combination "" Input, X, provides -bit per clock Check the sequence of X for "" in successive clocks If "" detected, output Z= (Z= all other times) X CLK RESET "" Sequence Detector Z

54 4.54 State Diagram Be sure to handle overlapping sequences X= On Reset (power on) X= X= X= X= Sinit Z= S S Z= Z= X= X= S Z= S Z= X= X= X=

55 4.55 Transition Output Table Translate the state diagram into the transition output table Current State Next State X = X = State Q2 Q Q State* Q2* Q* Q* State* Q2* Q* Q* Z Sinit Sinit S S Sinit S S S S S S S S S S Outp ut

56 4.56 Transition Output Table Translate the state diagram into the transition output table Current State Next State X = X = State Q2 Q Q State* D2 D D State* D2 D D Z Sinit Sinit S S Sinit S S S S S S S S S S Outp ut

57 4.57 NSL & OFL Current State Next State X = X = State Q2 Q Q State* D2 D D State* D2 D D Z Sinit Sinit S S Sinit S S S S S S S S S S Out put Q2 QQ d d d Z = Q2 XQ2 QQ d d XQ2 QQ d d XQ2 QQ d d d d d d d d d d d d d d D 2 = X Q2 Q Q D = X D = Q2 + QQ + X Q + XQ Q

58 4.58 Drawing the Circuit X NSL SM OFL D Q Q Q D Q Z Q 2 D 2 Q 2

59 4.59 Waveform for Detector CLOCK RESET X Q Q Q 2 STATE INITIAL STATE I Z

60 SELECTED SOLUTIONS 4.6

61 4.6 Another State Diagram Example Sequence Detector should output F= when the sequence is found in consecutive order On Reset (power on) X= Sinit F= X= S X= X= X= S F= F= X= X= X= State Diagram for Sequence Detector S F=

62 4.62 Another State Diagram Example Sequence Detector should output F= when the sequence is found in consecutive order We have to remember the,, along the way On Reset (power on) X= Sinit F= X= X= X= X= S S F= F= X= X= X= S F= A initially is not part of the sequence so stay in Sinit Another in S means you have, but that second can be the start of the sequence A in S means you have which can t be part of the sequence

63 4.63 ALTERNATING SEQUENCE DETECTOR

64 4.64 Alternating Detector Design a state machine to check if sensor produces two s in a row (i.e. 2 consecutive s) or two s in a row (i.e. 2 consecutive s) On Reset (power on) G A= S = S = S = G A= G = Last cycle we got, two cycles ago we got G = Last cycle we got, two cycles ago we got G = Got 2 consecutive s S = S = S = G = Got 2 consecutive 's G A= G A= S = S =

65 4.65 Transition Output Table Convert state diagram to transition/output table Show Next State & Output as a function of Current State and Input On Reset (power on) G A= S = S = S = G A= Current State Input (S) Next State Output (A) G G G G S = S = S = G G G A= G A= S = S = G G G G G G G G G G

66 State Assignment Mapping 4.66 Transition Output Table Now assign binary codes to represent states On Reset (power on) G A= S = G A= S = S = S = G A= S = G A= S = S = S = State Q Q G G G G Current State Input Next State Output Q Q S Q* Q* A

67 4.67 Transition Output Table Convert state diagram to transition/output table Current State Next State Output S = S = State Q Q State State A G G G G G G G G G G G G On Reset (power on) G A= S = G A= S = S = S = G A= S = G A= S = S = S = Here we have redrawn the 8 row table from the previous slide into 4 rows & 2 columns. We've also separated the output A since it doesn't depend on S but only Q and Q

68 4.68 Excitation Table The goal is to produce logic for the inputs to the FF s (D,D ) these are the excitation equations NSL (Next State Logic) SM (State Memory) OFL (Output Function Logic) S D D Q Q (t) CLK A D D Q Q (t) CLK Q (t) Q (t) Current State Feedback CLK

69 4.69 Excitation Table Using your transition table you know what you want Q* to be, but how can you make that happen? For D-FF s Q* will be whatever D is at the edge NSL (Next State Logic) SM (State Memory) OFL (Output Function Logic) S D D Q Q (t) CLK A D D Q Q (t) CLK Q (t) Q (t) Current State Feedback CLK

70 4.7 Excitation Table In a D-FF Q* will be whatever D is, so if we know what we want Q* to be just make sure that s what the D input is Current State Next State S = S = Output State Q Q State D D State D D A G G G G G G G G G G G G

71 4.7 Karnaugh Maps Now need to perform K-Maps for D, D, and A Current State Next State S = S = Output State Q Q State D D State D D A G G G G G G G G G G G G S QQ D = Q

72 4.72 Karnaugh Maps Now need to perform K-Maps for D, D, and A Current State Next State S = S = Output State Q Q State D D State D D A G G G G G G G G G G G G S QQ S QQ D = Q D = S

73 4.73 Karnaugh Maps Now need to perform K-Maps for D, D, and A Current State Next State S = S = Output State Q Q State D D State D D A G G G G G G G G G G G G QQ S QQ S Q Q D = Q D = S A = Q Q + QQ = Q XNOR Q

74 4.74 Implementing the Circuit Implements the alternating detector NSL (Next State Logic) SM (State Memory) OFL (Output Function Logic) S D D Q Q (t) CLK A unused D D Q Q (t) CLK Q (t) Q (t) Current State Feedback CLK

75 4.75 Implementing an Initial State How can we make the machine start in G on reset (or power on?) Flip-flops by themselves will initalize to a random state ( or ) when power is turned on On Reset (power on) S = G A= S = S = G A= S = S = S = G A= G A= S = S =

76 4.76 Implementing an Initial State Use the CLR inputs of your FF s along with the RESET signal to initialize them to s S NSL (Next State Logic) Q (t) Q (t) D D SM (State Memory) D PRE Q Q (t) OFL (Output Function Logic) CLK CLR RESET PRE D Q Q (t) A CLK CLK CLR RESET Current State Feedback

77 4.77 Implementing an Initial State We don't want to initialize our flip-flops to 's (only QQ=) so we just don't use PRE (tie to 'off'='') S NSL (Next State Logic) Q (t) Q (t) D D SM (State Memory) D PRE Q Q (t) OFL (Output Function Logic) CLK CLR RESET PRE D Q Q (t) A CLK CLK CLR RESET Current State Feedback

78 4.78 Alternate State Assignment Important Fact: The codes we assign to our states can have a big impact on the size of the NSL and OFL Let us work again with a different set of assignments Current State Next State S = S = Out put State Q Q G G G G Old Assignments State Q Q State State A G G G G G G G G G G G G New Assignments

79 4.79 Alternate State Assignment Current State State Q Q State Next State S = S = Q*= D Q*= D State Q* =D Q* =D G G G G G G G G G G G G Output A S QQ S QQ Q Q D = S xor Q xor Q D = Q Q + QQ A = Q

Outcomes. Unit 14. Review of State Machines STATE MACHINES OVERVIEW. State Machine Design

Outcomes. Unit 14. Review of State Machines STATE MACHINES OVERVIEW. State Machine Design 4. Outcomes 4.2 Unit 4 tate Machine Design I can create a state iagram to solve a sequential problem I can implement a working state machine given a state iagram 4.3 Review of tate Machines 4.4 TATE MACHINE

More information

Spiral 2-4. Function synthesis with: Muxes (Shannon's Theorem) Memories

Spiral 2-4. Function synthesis with: Muxes (Shannon's Theorem) Memories 2-4. Spiral 2-4 Function synthesis with: Muxes (Shannon's Theorem) Memories 2-4.2 Learning Outcomes I can implement logic for any truth table by using Shannon's theorem to decompose the function to create

More information

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

Ch 7. Finite State Machines. VII - Finite State Machines Contemporary Logic Design 1 Ch 7. Finite State Machines VII - Finite State Machines Contemporary Logic esign 1 Finite State Machines Sequential circuits primitive sequential elements combinational logic Models for representing sequential

More information

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

3. Complete the following table of equivalent values. Use binary numbers with a sign bit and 7 bits for the value EGC22 Digital Logic Fundamental Additional Practice Problems. Complete the following table of equivalent values. Binary. Octal 35.77 33.23.875 29.99 27 9 64 Hexadecimal B.3 D.FD B.4C 2. Calculate the following

More information

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

Week-5. Sequential Circuit Design. Acknowledgement: Most of the following slides are adapted from Prof. Kale's slides at UIUC, USA. Week-5 Sequential Circuit Design Acknowledgement: Most of the following slides are adapted from Prof. Kale's slides at UIUC, USA. Storing a value: SR = 00 What if S = 0 and R = 0? The equations on the

More information

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

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 ENGG 1203 Tutorial _03 Laboratory 3 Build a ball counter Timing diagram of a DFF Lab 3 Gate Timing difference timing for difference kind of gate, cost dependence (1) Setup Time = t2-t1 (2) Propagation

More information

Synchronous Sequential Circuit Design. Digital Computer Design

Synchronous Sequential Circuit Design. Digital Computer Design Synchronous Sequential Circuit Design Digital Computer Design Races and Instability Combinational logic has no cyclic paths and no races If inputs are applied to combinational logic, the outputs will always

More information

Topic 8: Sequential Circuits

Topic 8: Sequential Circuits Topic 8: Sequential Circuits Readings : Patterson & Hennesy, Appendix B.4 - B.6 Goals Basic Principles behind Memory Elements Clocks Applications of sequential circuits Introduction to the concept of the

More information

Different encodings generate different circuits

Different encodings generate different circuits FSM State Encoding Different encodings generate different circuits no easy way to find best encoding with fewest logic gates or shortest propagation delay. Binary encoding: K states need log 2 K bits i.e.,

More information

or 0101 Machine

or 0101 Machine Synchronous State Graph or Synchronous State Graph or Detector Design a state graph for a machine with: One input X, one output Z. Z= after receiving the complete sequence or Overlapped sequences are detected.

More information

Synchronous Sequential Circuit Design

Synchronous Sequential Circuit Design Synchronous Sequential Circuit Design 1 Sequential circuit design In sequential circuit design, we turn some description into a working circuit We first make a state table or diagram to express the computation

More information

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

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering TIMING ANALYSIS Overview Circuits do not respond instantaneously to input changes

More information

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

EECS Components and Design Techniques for Digital Systems. FSMs 9/11/2007 EECS 150 - Components and Design Techniques for Digital Systems FSMs 9/11/2007 Sarah Bird Electrical Engineering and Computer Sciences University of California, Berkeley Slides borrowed from David Culler

More information

CPE100: Digital Logic Design I

CPE100: Digital Logic Design I Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu CPE100: Digital Logic Design I Final Review http://www.ee.unlv.edu/~b1morris/cpe100/ 2 Logistics Tuesday Dec 12 th 13:00-15:00 (1-3pm) 2 hour

More information

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

The Design Procedure. Output Equation Determination - Derive output equations from the state table The Design Procedure Specification Formulation - Obtain a state diagram or state table State Assignment - Assign binary codes to the states Flip-Flop Input Equation Determination - Select flipflop types

More information

Models for representing sequential circuits

Models for representing sequential circuits Sequential Circuits Models for representing sequential circuits Finite-state machines (Moore and Mealy) Representation of memory (states) Changes in state (transitions) Design procedure State diagrams

More information

Digital Logic and Design (Course Code: EE222) Lecture 19: Sequential Circuits Contd..

Digital Logic and Design (Course Code: EE222) Lecture 19: Sequential Circuits Contd.. Indian Institute of Technology Jodhpur, Year 2017-2018 Digital Logic and Design (Course Code: EE222) Lecture 19: Sequential Circuits Contd.. Course Instructor: Shree Prakash Tiwari Email: sptiwari@iitj.ac.in

More information

CPE100: Digital Logic Design I

CPE100: Digital Logic Design I Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu CPE100: Digital Logic Design I Midterm02 Review http://www.ee.unlv.edu/~b1morris/cpe100/ 2 Logistics Thursday Nov. 16 th In normal lecture (13:00-14:15)

More information

EE 209 Logic Cumulative Exam Name:

EE 209 Logic Cumulative Exam Name: EE 209 Logic Cumulative Exam Name: 1.) Answer the following questions as True or False a.) A 4-to-1 multiplexer requires at least 4 select lines: true / false b.) An 8-to-1 mux and no other logi can be

More information

Fundamentals of Digital Design

Fundamentals of Digital Design Fundamentals of Digital Design Digital Radiation Measurement and Spectroscopy NE/RHP 537 1 Binary Number System The binary numeral system, or base-2 number system, is a numeral system that represents numeric

More information

Finite State Machine (FSM)

Finite State Machine (FSM) Finite State Machine (FSM) Consists of: State register Stores current state Loads next state at clock edge Combinational logic Computes the next state Computes the outputs S S Next State CLK Current State

More information

EE 209 Spiral 1 Exam Solutions Name:

EE 209 Spiral 1 Exam Solutions Name: EE 29 Spiral Exam Solutions Name:.) Answer the following questions as True or False a.) A 4-to- multiplexer requires at least 4 select lines: true / false b.) An 8-to- mux and no other logic can be used

More information

FSM model for sequential circuits

FSM model for sequential circuits 1 FSM model for sequential circuits The mathematical model of a sequential circuit is called finite-state machine. FSM is fully characterized by: S Finite set of states ( state ~ contents of FFs) I Finite

More information

Sequential Circuit Design

Sequential Circuit Design Sequential Circuit esign esign Procedure. Specification 2. Formulation Obtain a state diagram or state table 3. State Assignment Assign binary codes to the states 4. Flip-Flop Input Equation etermination

More information

6. Finite State Machines

6. Finite State Machines 6. Finite State Machines 6.4x Computation Structures Part Digital Circuits Copyright 25 MIT EECS 6.4 Computation Structures L6: Finite State Machines, Slide # Our New Machine Clock State Registers k Current

More information

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

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department Page 1 of 13 COE 202: Digital Logic Design (3-0-3) Term 112 (Spring 2012) Final

More information

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 281: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Synchronous Sequential Circuits Basic Design Steps CprE 281: Digital Logic Iowa State University, Ames,

More information

Lecture 10: Synchronous Sequential Circuits Design

Lecture 10: Synchronous Sequential Circuits Design Lecture 0: Synchronous Sequential Circuits Design. General Form Input Combinational Flip-flops Combinational Output Circuit Circuit Clock.. Moore type has outputs dependent only on the state, e.g. ripple

More information

ELE2120 Digital Circuits and Systems. Tutorial Note 10

ELE2120 Digital Circuits and Systems. Tutorial Note 10 ELE2120 Digital Circuits and Systems Tutorial Note 10 Outline 1. 1. Sequential Circuit Design 2. 2. Design procedure: a complete example illustration Sequential circuit analysis & design In sequential

More information

CE1911 LECTURE FSM DESIGN PRACTICE DAY 1

CE1911 LECTURE FSM DESIGN PRACTICE DAY 1 REVIEW MATERIAL 1. Combinational circuits do not have memory. They calculate instantaneous outputs based only on current inputs. They implement basic arithmetic and logic functions. 2. Sequential circuits

More information

Appendix A: Digital Logic. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V. Heuring

Appendix A: Digital Logic. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V. Heuring - Principles of Computer rchitecture Miles Murdocca and Vincent Heuring 999 M. Murdocca and V. Heuring -2 Chapter Contents. Introduction.2 Combinational Logic.3 Truth Tables.4 Logic Gates.5 Properties

More information

Digital Circuit Engineering

Digital Circuit Engineering Digital Circuit Engineering 2nd Distributive ( A)( B) = AB Circuits that work in a sequence of steps Absorption A = A A= THESE CICUITS NEED STOAGE TO EMEMBE WHEE THEY AE STOAGE D MU G M MU G S CLK D Flip

More information

Topic 8: Sequential Circuits. Bistable Devices. S-R Latches. Consider the following element. Readings : Patterson & Hennesy, Appendix B.4 - B.

Topic 8: Sequential Circuits. Bistable Devices. S-R Latches. Consider the following element. Readings : Patterson & Hennesy, Appendix B.4 - B. Topic 8: Sequential Circuits Bistable Devices Readings : Consider the following element Patterson & Hennesy, Appendix B.4 - B.6 Goals Basic Principles behind Memory Elements Clocks Applications of sequential

More information

Review for Final Exam

Review for Final Exam CSE140: Components and Design Techniques for Digital Systems Review for Final Exam Mohsen Imani CAPE Please submit your evaluations!!!! RTL design Use the RTL design process to design a system that has

More information

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

Appendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs Appendix B Review of Digital Logic Baback Izadi Division of Engineering Programs bai@engr.newpaltz.edu Elect. & Comp. Eng. 2 DeMorgan Symbols NAND (A.B) = A +B NOR (A+B) = A.B AND A.B = A.B = (A +B ) OR

More information

ELEC Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10)

ELEC Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10) ELEC 2200-002 Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering

More information

Latches. October 13, 2003 Latches 1

Latches. October 13, 2003 Latches 1 Latches The second part of CS231 focuses on sequential circuits, where we add memory to the hardware that we ve already seen. Our schedule will be very similar to before: We first show how primitive memory

More information

Example: vending machine

Example: vending machine Example: vending machine Release item after 15 cents are deposited Single coin slot for dimes, nickels o change Reset Coin Sensor Vending Machine FSM Open Release Mechanism Clock Spring 2005 CSE370 - guest

More information

Chapter 6 Introduction to state machines

Chapter 6 Introduction to state machines 9..7 hapter 6 Introduction to state machines Dr.-Ing. Stefan Werner Table of content hapter : Switching Algebra hapter : Logical Levels, Timing & Delays hapter 3: Karnaugh-Veitch-Maps hapter 4: ombinational

More information

Clocked Synchronous State-machine Analysis

Clocked Synchronous State-machine Analysis Clocked Synchronous State-machine Analysis Given the circuit diagram of a state machine: Analyze the combinational logic to determine flip-flop input (excitation) equations: D i = F i (Q, inputs) The input

More information

Synchronous Sequential Circuit Design. Dr. Ehab A. H. AL-Hialy Page 1

Synchronous Sequential Circuit Design. Dr. Ehab A. H. AL-Hialy Page 1 Synchronous Sequential Circuit Design Dr. Ehab A. H. AL-Hialy Page Motivation Analysis of a few simple circuits Generalizes to Synchronous Sequential Circuits (SSC) Outputs are Function of State (and Inputs)

More information

Lecture 8: Sequential Networks and Finite State Machines

Lecture 8: Sequential Networks and Finite State Machines Lecture 8: Sequential Networks and Finite State Machines CSE 140: Components and Design Techniques for Digital Systems Spring 2014 CK Cheng, Diba Mirza Dept. of Computer Science and Engineering University

More information

CSCI 2150 Intro to State Machines

CSCI 2150 Intro to State Machines CSCI 2150 Intro to State Machines Topic: Now that we've created flip-flops, let's make stuff with them Reading: igital Fundamentals sections 6.11 and 9.4 (ignore the JK flip-flop stuff) States Up until

More information

Synchronous Sequential Logic

Synchronous Sequential Logic 1 IT 201 DIGITAL SYSTEMS DESIGN MODULE4 NOTES Synchronous Sequential Logic Sequential Circuits - A sequential circuit consists of a combinational circuit and a feedback through the storage elements in

More information

Lecture 17: Designing Sequential Systems Using Flip Flops

Lecture 17: Designing Sequential Systems Using Flip Flops EE210: Switching Systems Lecture 17: Designing Sequential Systems Using Flip Flops Prof. YingLi Tian April 11, 2019 Department of Electrical Engineering The City College of New York The City University

More information

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

Total time is: 1 setup, 2 AND, 3 XOR, 1 delay = (1*1) + (2*2) + (3*3) + (1*1) = 15ns 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 +

More information

Digital Electronics Sequential Logic

Digital Electronics Sequential Logic /5/27 igital Electronics Sequential Logic r. I. J. Wassell Sequential Logic The logic circuits discussed previously are known as combinational, in that the output depends only on the condition of the latest

More information

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

Parity Checker Example. EECS150 - Digital Design Lecture 9 - Finite State Machines 1. Formal Design Process. Formal Design Process Parity Checker Example A string of bits has even parity if the number of 1 s in the string is even. Design a circuit that accepts a bit-serial stream of bits and outputs a 0 if the parity thus far is even

More information

ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Following the slides of Dr. Ahmed H. Madian Lecture 10 محرم 1439 ه Winter

More information

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

11.1 As mentioned in Experiment 10, sequential logic circuits are a type of logic circuit where the output of EE 2449 Experiment 11 Jack Levine and Nancy Warter-Perez CALIFORNIA STATE UNIVERSITY LOS ANGELES Department of Electrical and Computer Engineering EE-2449 Digital Logic Lab EXPERIMENT 11 SEQUENTIAL CIRCUITS

More information

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

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering Final Examination ECE 241F - Digital Systems Examiners: S. Brown,

More information

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

Sequential Logic Optimization. Optimization in Context. Algorithmic Approach to State Minimization. Finite State Machine Optimization Sequential Logic Optimization! State Minimization " Algorithms for State Minimization! State, Input, and Output Encodings " Minimize the Next State and Output logic Optimization in Context! Understand

More information

Digital Circuit Engineering

Digital Circuit Engineering Digital Circuit Engineering 2nd Distributive ( + A)( + B) = + AB Circuits that work in a sequence of steps Absorption + A = + A A+= THESE CICUITS NEED STOAGE TO EMEMBE WHEE THEY AE STOAGE D MU G M MU S

More information

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

UNIVERSITY OF BOLTON SCHOOL OF ENGINEERING BENG (HONS) ELECTRICAL & ELECTRONICS ENGINEERING EXAMINATION SEMESTER /2017 UNIVERSITY OF BOLTON TW35 SCHOOL OF ENGINEERING BENG (HONS) ELECTRICAL & ELECTRONICS ENGINEERING EXAMINATION SEMESTER 2-2016/2017 INTERMEDIATE DIGITAL ELECTRONICS AND COMMUNICATIONS MODULE NO: EEE5002

More information

Lecture 13: Sequential Circuits, FSM

Lecture 13: Sequential Circuits, FSM Lecture 13: Sequential Circuits, FSM Today s topics: Sequential circuits Finite state machines Reminder: midterm on Tue 2/28 will cover Chapters 1-3, App A, B if you understand all slides, assignments,

More information

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

COE 202: Digital Logic Design Sequential Circuits Part 3. Dr. Ahmad Almulhem   ahmadsm AT kfupm Phone: Office: COE 202: Digital Logic Design Sequential Circuits Part 3 Dr. Ahmad Almulhem Email: ahmadsm AT kfupm Phone: 860-7554 Office: 22-324 Objectives Important Design Concepts State Reduction and Assignment Design

More information

Digital Circuits and Systems

Digital Circuits and Systems EE201: Digital Circuits and Systems 4 Sequential Circuits page 1 of 11 EE201: Digital Circuits and Systems Section 4 Sequential Circuits 4.1 Overview of Sequential Circuits: Definition The circuit whose

More information

CSE140: Design of Sequential Logic

CSE140: Design of Sequential Logic CSE4: Design of Sequential Logic Instructor: Mohsen Imani Flip Flops 2 Counter 3 Up counter 4 Up counter 5 FSM with JK-Flip Flop 6 State Table 7 State Table 8 Circuit Minimization 9 Circuit Timing Constraints

More information

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.

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. /2/2 OF 7 Next, let s reverse engineer a T-Flip flop Prob. (Pg 529) Note that whenever T is equal to, there is a state change, otherwise, there isn t. In this circuit, (x) determines whether the output

More information

ALU, Latches and Flip-Flops

ALU, Latches and Flip-Flops CSE14: Components and Design Techniques for Digital Systems ALU, Latches and Flip-Flops Tajana Simunic Rosing Where we are. Last time: ALUs Plan for today: ALU example, latches and flip flops Exam #1 grades

More information

CPE100: Digital Logic Design I

CPE100: Digital Logic Design I Chapter 3 Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu http://www.ee.unlv.edu/~b1morris/cpe1/ CPE1: Digital Logic Design I Section 14: Dr. Morris Sequential Logic Design Chapter 3 Chapter

More information

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits EE40 Lec 15 Logic Synthesis and Sequential Logic Circuits Prof. Nathan Cheung 10/20/2009 Reading: Hambley Chapters 7.4-7.6 Karnaugh Maps: Read following before reading textbook http://www.facstaff.bucknell.edu/mastascu/elessonshtml/logic/logic3.html

More information

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

COE 202: Digital Logic Design Sequential Circuits Part 3. Dr. Ahmad Almulhem   ahmadsm AT kfupm Phone: Office: COE 202: Digital Logic Design Sequential Circuits Part 3 Dr. Ahmad Almulhem Email: ahmadsm AT kfupm Phone: 860-7554 Office: 22-324 Objectives State Reduction and Assignment Design of Synchronous Sequential

More information

Menu. EEL3701 Classical Design

Menu. EEL3701 Classical Design Menu State Machine Design >Design example: Sequence Detector (using Moore Machine) >Design example: Sequence Detector (using Mealy Machine) >Implementation Look into my... 1 Classical Design [Example]

More information

Lecture 14 Finite state machines

Lecture 14 Finite state machines Lecture 14 Finite state machines Finite state machines are the foundation of nearly all digital computation. The state diagram captures the desired system behavior A formulaic process turns this diagram

More information

ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 6 Following the slides of Dr. Ahmed H. Madian محرم 1439 ه Winter

More information

EEE2135 Digital Logic Design

EEE2135 Digital Logic Design EEE2135 Digital Logic Design Chapter 7. Sequential Circuits Design 서강대학교 전자공학과 1. Model of Sequential Circuits 1) Sequential vs. Combinational Circuits a. Sequential circuits: Outputs depend on both the

More information

Digital Design. Sequential Logic

Digital Design. Sequential Logic Principles Of igital esign Chapter 6 Sequential Logic Chapter preview Boolean algebra 3 Logic gates and flip-flops 3 Finite-state machine 6 Logic design techniques 4 Sequential design techniques 6 Binary

More information

Sequential Logic Circuits

Sequential Logic Circuits Chapter 4 Sequential Logic Circuits 4 1 The defining characteristic of a combinational circuit is that its output depends only on the current inputs applied to the circuit. The output of a sequential circuit,

More information

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

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 7 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Week 7 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering SEQUENTIAL CIRCUITS: LATCHES Overview Circuits require memory to store intermediate

More information

Chapter 5 Synchronous Sequential Logic

Chapter 5 Synchronous Sequential Logic Chapter 5 Synchronous Sequential Logic Sequential circuit: A circuit that includes memory elements. In this case the output depends not only on the current input but also on the past inputs. Memory A synchronous

More information

Finite State Machine. By : Ali Mustafa

Finite State Machine. By : Ali Mustafa Finite State Machine By : Ali Mustafa So Far We have covered the memory elements issue and we are ready to implement the sequential circuits. We need to know how to Deal(analyze) with a sequential circuit?

More information

State Graphs FSMs. Page 1

State Graphs FSMs. Page 1 State Graphs FSMs Page 1 Binary Counter State Graph 00 Q1 Q0 N1 N0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 11 01 State graphs are graphical representations of TT s They contain the same information: no more, no

More information

Digital Logic Design - Chapter 5

Digital Logic Design - Chapter 5 Digital Logic Design - Chapter 5 S. Design a 2-bit binary up counter a) using positive-edge-triggered D flip-flops. b) using positive-edge-triggered T flip-flops. c) using positive-edge-triggered JK flip-flops.

More information

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

Memory Elements I. CS31 Pascal Van Hentenryck. CS031 Lecture 6 Page 1 Memory Elements I CS31 Pascal Van Hentenryck CS031 Lecture 6 Page 1 Memory Elements (I) Combinational devices are good for computing Boolean functions pocket calculator Computers also need to remember

More information

Sequential logic and design

Sequential logic and design Principles Of Digital Design Sequential logic and design Analysis State-based (Moore) Input-based (Mealy) FSM definition Synthesis State minimization Encoding Optimization and timing Copyright 20-20by

More information

Lecture 13: Sequential Circuits, FSM

Lecture 13: Sequential Circuits, FSM Lecture 13: Sequential Circuits, FSM Today s topics: Sequential circuits Finite state machines 1 Clocks A microprocessor is composed of many different circuits that are operating simultaneously if each

More information

Design of Sequential Circuits

Design of Sequential Circuits Design of Sequential Circuits Seven Steps: Construct a state diagram (showing contents of flip flop and inputs with next state) Assign letter variables to each flip flop and each input and output variable

More information

CSE140: Components and Design Techniques for Digital Systems. Midterm Information. Instructor: Mohsen Imani. Sources: TSR, Katz, Boriello & Vahid

CSE140: Components and Design Techniques for Digital Systems. Midterm Information. Instructor: Mohsen Imani. Sources: TSR, Katz, Boriello & Vahid CSE140: Components and Design Techniques for Digital Systems Midterm Information Instructor: Mohsen Imani Midterm Topics In general: everything that was covered in homework 1 and 2 and related lectures,

More information

Learning Outcomes. Spiral 2 4. Function Synthesis Techniques SHANNON'S THEOREM

Learning Outcomes. Spiral 2 4. Function Synthesis Techniques SHANNON'S THEOREM -. -. Learning Outcomes piral unction synthesis with: Mues (hannon's Theorem) Memories I can implement logic for any truth table by using hannon's theorem to decompose the function to create two smaller

More information

DIGITAL LOGIC CIRCUITS

DIGITAL LOGIC CIRCUITS DIGITAL LOGIC CIRCUITS Digital logic circuits BINARY NUMBER SYSTEM electronic circuits that handle information encoded in binary form (deal with signals that have only two values, and ) Digital. computers,

More information

Problem Set 9 Solutions

Problem Set 9 Solutions CSE 26 Digital Computers: Organization and Logical Design - 27 Jon Turner Problem Set 9 Solutions. For each of the sequential circuits shown below, draw in the missing parts of the timing diagrams. You

More information

Chapter 3. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 3 <1>

Chapter 3. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 3 <1> Chapter 3 Digital Design and Computer Architecture, 2 nd Edition David Money Harris and Sarah L. Harris Chapter 3 Chapter 3 :: Topics Introduction Latches and Flip-Flops Synchronous Logic Design Finite

More information

15.1 Elimination of Redundant States

15.1 Elimination of Redundant States 15.1 Elimination of Redundant States In Ch. 14 we tried not to have unnecessary states What if we have extra states in the state graph/table? Complete the table then eliminate the redundant states Chapter

More information

10/12/2016. An FSM with No Inputs Moves from State to State. ECE 120: Introduction to Computing. Eventually, the States Form a Loop

10/12/2016. An FSM with No Inputs Moves from State to State. ECE 120: Introduction to Computing. Eventually, the States Form a Loop University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering An FSM with No Inputs Moves from State to State What happens if an FSM has no inputs? ECE 120: Introduction to Computing

More information

14:332:231 DIGITAL LOGIC DESIGN

14:332:231 DIGITAL LOGIC DESIGN 14:332:231 IGITL LOGI ESIGN Ivan Marsic, Rutgers University Electrical & omputer Engineering all 2013 Lecture #17: locked Synchronous -Machine nalysis locked Synchronous Sequential ircuits lso known as

More information

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

Homework #4. CSE 140 Summer Session Instructor: Mohsen Imani. Only a subset of questions will be graded Homework #4 CSE 140 Summer Session 2 2017 Instructor: Mohsen Imani Only a subset of questions will be graded 1) For the circuit shown below, do the following: a. Write a logic equation for the output P

More information

Sequential Logic (3.1 and is a long difficult section you really should read!)

Sequential Logic (3.1 and is a long difficult section you really should read!) EECS 270, Fall 2014, Lecture 6 Page 1 of 8 Sequential Logic (3.1 and 3.2. 3.2 is a long difficult section you really should read!) One thing we have carefully avoided so far is feedback all of our signals

More information

Chapter 4. Sequential Logic Circuits

Chapter 4. Sequential Logic Circuits Chapter 4 Sequential Logic Circuits 1 2 Chapter 4 4 1 The defining characteristic of a combinational circuit is that its output depends only on the current inputs applied to the circuit. The output of

More information

CSE 140 Midterm 2 Tajana Simunic Rosing. Spring 2008

CSE 140 Midterm 2 Tajana Simunic Rosing. Spring 2008 CSE 14 Midterm 2 Tajana Simunic Rosing Spring 28 Do not start the exam until you are told to. Turn off any cell phones or pagers. Write your name and PID at the top of every page. Do not separate the pages.

More information

CS/COE1541: Introduction to Computer Architecture. Logic Design Review. Sangyeun Cho. Computer Science Department University of Pittsburgh

CS/COE1541: Introduction to Computer Architecture. Logic Design Review. Sangyeun Cho. Computer Science Department University of Pittsburgh CS/COE54: Introduction to Computer Architecture Logic Design Review Sangyeun Cho Computer Science Department Logic design? Digital hardware is implemented by way of logic design Digital circuits process

More information

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

Synchronous Sequential Logic Part I. BME208 Logic Circuits Yalçın İŞLER Synchronous Sequential Logic Part I BME28 Logic Circuits Yalçın İŞLER islerya@yahoo.com http://me.islerya.com Sequential Logic Digital circuits we have learned, so far, have been combinational no memory,

More information

Computers also need devices capable of Storing data and information Performing mathematical operations on such data

Computers also need devices capable of Storing data and information Performing mathematical operations on such data Sequential Machines Introduction Logic devices examined so far Combinational Output function of input only Output valid as long as input true Change input change output Computers also need devices capable

More information

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

Review: Designing with FSM. EECS Components and Design Techniques for Digital Systems. Lec 09 Counters Outline. Review: esigning with FSM EECS 150 - Components and esign Techniques for igital Systems Lec 09 Counters 9-28-0 avid Culler Electrical Engineering and Computer Sciences University of California, Berkeley

More information

State Machines ELCTEC-131

State Machines ELCTEC-131 State Machines ELCTEC-131 Switch Debouncer A digital circuit that is used to remove the mechanical bounce from a switch contact. When a switch is closed, the contacts bounce from open to closed to cause

More information

EECS150 - Digital Design Lecture 23 - FSMs & Counters

EECS150 - Digital Design Lecture 23 - FSMs & Counters EECS150 - Digital Design Lecture 23 - FSMs & Counters April 8, 2010 John Wawrzynek Spring 2010 EECS150 - Lec22-counters Page 1 One-hot encoding of states. One FF per state. State Encoding Why one-hot encoding?

More information

Lecture 14: State Tables, Diagrams, Latches, and Flip Flop

Lecture 14: State Tables, Diagrams, Latches, and Flip Flop EE210: Switching Systems Lecture 14: State Tables, Diagrams, Latches, and Flip Flop Prof. YingLi Tian Nov. 6, 2017 Department of Electrical Engineering The City College of New York The City University

More information

CS/COE0447: Computer Organization

CS/COE0447: Computer Organization CS/COE0447: Computer Organization and Assembly Language Logic Design Review Sangyeun Cho Dept. of Computer Science Logic design? Digital hardware is implemented by way of logic design Digital circuits

More information

BER KELEY D AV IS IR VINE LOS AN GELES RIVERS IDE SAN D IEGO S AN FRANCISCO

BER KELEY D AV IS IR VINE LOS AN GELES RIVERS IDE SAN D IEGO S AN FRANCISCO UN IVERSIT Y O F CA LIFO RNI A AT BERKELEY BER KELEY D AV IS IR VINE LOS AN GELES RIVERS IDE SAN D IEGO S AN FRANCISCO SAN TA BARBA RA S AN TA CRUZ De p a r tm en t of Ele ctr i ca l En gin e e rin g a

More information

Logical design of digital systems

Logical design of digital systems 21062017 lectures Summer Semester 2017 Table of content 1 Combinational circuit design 2 Elementary combinatorial circuits for data transmission 3 Memory structures 4 Programmable logic devices 5 Algorithmic

More information