Week #6 Sequential Circuits (Part A)

Slides:



Advertisements
Similar presentations
EE 5900 Advanced Algorithms for Robust VLSI CAD, Spring 2009 Sequential Circuits.
Advertisements

COE 202: Digital Logic Design Sequential Circuits Part 1 Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office: Ahmad Almulhem, KFUPM.
1 Fundamentals of Computer Science Sequential Circuits.
Computer Architecture CS 215
Multiplexors Sequential Circuits and Finite State Machines Prof. Sin-Min Lee Department of Computer Science.
Sequential circuits The digital circuits considered thus far have been combinational, where the outputs are entirely dependent on the current inputs. Although.
Module 12.  In Module 9, 10, 11, you have been introduced to examples of combinational logic circuits whereby the outputs are entirely dependent on the.
1 Sequential Circuits –Digital circuits that use memory elements as part of their operation –Characterized by feedback path –Outputs depend not only on.
Sequential Circuits : Part I Read Sections 5-1, 5-2, 5-3.
Circuits require memory to store intermediate data
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Part 1 – Storage.
Sequential Circuits. 2 Sequential vs. Combinational Combinational Logic:  Output depends only on current input −TV channel selector (0-9) Sequential.
EE 4271 VLSI Design, Fall 2010 Sequential Circuits.
So far, all of the logic circuits we have studied were basically based on the analysis and design of combinational digital circuits. The other major aspect.
Digital Logic Design CHAPTER 5 Sequential Logic. 2 Sequential Circuits Combinational circuits – The outputs are entirely dependent on the current inputs.
Digital Computer Design Fundamental
COE 202: Digital Logic Design Sequential Circuits Part 1
Flip Flop
EE2174: Digital Logic and Lab Professor Shiyan Hu Department of Electrical and Computer Engineering Michigan Technological University CHAPTER 9 Sequential.
Chap 4. Sequential Circuits
ENG241 Digital Design Week #6 Sequential Circuits (Part A)
ENG241 Digital Design Week #8 Registers and Counters.
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
VHDL Discussion Sequential Sytems. Memory Elements. Registers. Counters IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2007.
Synchronous Sequential Logic A digital system has combinational logic as well as sequential logic. The latter includes storage elements. feedback path.
Synchronous Sequential Logic Part I
5 Chapter Synchronous Sequential Circuits 1. Logic Circuits- Review 2 Logic Circuits Sequential Circuits Combinational Circuits Consists of logic gates.
Sahar Mosleh PageCalifornia State University San Marcos 1 More on Flip Flop State Table and State Diagram.
ENG241 Digital Design Week #7 Sequential Circuits (Part B)
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
Sequential logic circuits First Class 1Dr. AMMAR ABDUL-HAMED KHADER.
2018/5/2 EE 4271 VLSI Design, Fall 2016 Sequential Circuits.
Sequential Circuits.
FLIP FLOPS Binary unit capable of storing one bit – 0 or 1
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
Week #7 Sequential Circuits (Part B)
LATCHED, FLIP-FLOPS,AND TIMERS
Chapter #6: Sequential Logic Design
Registers and Counters
Lecture 8 Dr. Nermi Hamza.
Digital Design Lecture 9
2018/8/29 EE 4271 VLSI Design, Fall 2013 Sequential Circuits.
Synchronous Sequential Circuits
EKT 121 / 4 DIGITAL ELECTRONICS I
Sequential Circuits Most digital systems like digital watches, digital phones, digital computers, digital traffic light controllers and so on require.
CISE204: Design of Digital Systems Lecture 18 : Sequential Circuits
ECE Digital logic Lecture 16: Synchronous Sequential Logic
Sequential Circuits: Flip-Flops
Digital Logic Design Sequential Circuits (Chapter 6)
LECTURE 15 – DIGITAL ELECTRONICS
COMP541 Sequential Circuits
触发器 Flip-Flops 刘鹏 浙江大学信息与电子工程学院 March 27, 2018
Synchronous Sequential Circuits
Instructor: Alexander Stoytchev
Instructor: Alexander Stoytchev
Instructor: Alexander Stoytchev
Reference: Chapter 5 Sequential Circuits Moris Mano 4th Ediditon
FLIP-FLOPS.
Synchronous sequential
Synchronous Sequential
Flip-Flops.
ECE 352 Digital System Fundamentals
Sequential Circuits UNIT- IV
Chapter 5 Sequential Circuits.
SEQUENTIAL CIRCUITS __________________________________________________
2019/9/26 EE 4271 VLSI Design, Fall 2012 Sequential Circuits.
Presentation transcript:

Week #6 Sequential Circuits (Part A) ENG241 Digital Design Week #6 Sequential Circuits (Part A) School of Engineering

Week #6 Topics Sequential Circuit Definitions Latches Flip-Flops Delays in Sequential Circuits Clock Gating School of Engineering

Resources Chapter #6, Mano Sections 6.1 Sequential Circuit Definition 6.2 Latches 6.3 Flip-Flops School of Engineering

Combinational Circuits A combinational logic circuit has: A set of m Boolean inputs, A set of n Boolean outputs, and The output depends only on the current input values No Feedback, no cycles A block diagram: m Boolean Inputs n Boolean Outputs Combinatorial Logic Circuit School of Engineering

Combinational/Sequential Circuits Combinational logic are very interesting and useful for designing arithmetic circuits (adders, multipliers) or in other words the Data Path of a computer. Combinational circuits cannot remember what happened in the past (i.e. outputs are a function of current inputs). In certain cases we might need to store some info before we proceed with our computation or take action based on a certain state that happened in the past. Sequential circuits are capable of storing information between operations. They are useful in designing registers, counters, and CONTROL Circuits.

Remembering States Examples: Counters: ATM Machine: you start with count 0 and then proceed with count 1 and then to count 2 … The counter is an example of a sequential circuit that needs to remember the previous state in order for it go to the correct new state. The output of the counter is based on the current state and also the inputs. ATM Machine: You insert your card (state 0) The system will then go to (state 1) that will ask you to enter your pin number If successful then the machine will go to (state 2) that will ask you for the service required (withdraw cash, determine the balance, …) The ATM machine is yet another example of a sequential machine that will give the correct response (output) based on your input and also on the current state. Control of Appliances: A washing machine is an example of a sequential machine. It starts with an initial state (does nothing!!) It will wait for some input from the user (setting the dials to perform a certain task). Based on the input and current state it will move from one state to another (wash, then rinse then spin …) School of Engineering

Sequential Circuits Information that is stored in the storage elements represent the state of the system. The outputs will depend on the inputs and present state of the storage elements. Storage Elements

Types of Sequential Circuits Two main types and their classification depends on the times at which their inputs are observed and their internal state changes. Synchronous State changes synchronized by one or more clocks Asynchronous Changes occur independently

Signal Examples Over Time Continuous in value & time Analog Digital Discrete in value & continuous in time Asynchronous Discrete in value & time Synchronous

Clocking of Synchronous Circuits Changes enabled by a Global Clock

Comparison We will mainly look at synchronous Synchronous Asynchronous Easier to analyze because can factor out gate delays Speed of the system is determined by the clock (maybe slowed!) Asynchronous Potentially faster Harder to analyze We will mainly look at synchronous

Basic Storage (How?) Apply low or high for longer than tpd But we are interested in storing information indefinitely! Feedback will hold value However we want inputs to our circuitry!

SR (set-reset) Latches: Replace the inverters with NAND, NOR Gates Basic storage made from gates The information can be changed S & R both 0 in “resting” state Avoid both from being 1 at same time

Latches Are storage elements that can maintain a binary state indefinitely (as long as power is delivered to the circuit) until directed by an input signal to switch states. Latches are asynchronous circuits Latches are used to build more complex synchronous circuits such as Flip Flops.

Operation Reset, Q=0 Set, Q=1 Undefined! Keep State

Latch Similar – made from NANDs S & R both 1 in “resting” state Have to keep both from 0 at same time

Add Control Input: SR Latch An additional input determines when the state of the latch can be changed! Can we avoid the undefined state?

D-type Latch No illegal state

Transparency of Latches The state of a latch is allowed to switch by a momentary change in value on the control input. As long as C (the trigger ) is high, state can change! This is called transparency What is wrong with transparency?

Effects of Transparency Storage Element Clock Output of one latch may feedback As soon as the input changes, shortly thereafter the corresponding output changes to match it. The final state will depend on how long the clock pulse stays at level logic 1! (unreliable) We need to predict the outputs at a certain moment in time! Want to change latch state once Depending on inputs at time of clock

Flip-Flops Ensure only one transition Two major types Master-Slave (level triggered) Two stage Output not changed until clock disabled Edge triggered Change happens when clock level changes

Master-Slave SR Flip-Flop When Master is enabled, Slave is disabled! Output Q will not change when inputs change S C R S C R S C R SR Latch Master Slave

Timing Diagram Trace the behavior Note the illegal state Is it transparent? 1 1

Have We Fixed the Problem? Output no longer transparent Combinational circuit can use last values New inputs appear at latches Not sent to output until clock low In one clock cycle we can predict what will happen Note: Master-Slave = pulse triggered

JK Flip Flop The JK Flip Flop is a modified version of the SR Flip Flop which eliminates the undesirable condition that leads to undefined outputs. The JK flip flop performs three operations: Set Q to 1 reset Q to 0 complement the output

Master-Slave JK Flip Flop The J input sets the flip flop to 1. The K input resets the flip flop to 0. When both J and K are enabled, the output is complemented.

Edge-Triggered Flip-Flops An Edge Triggered Flip-Flop ignores the pulse while it is at a constant level and triggers only during a transition of the clock signal. New state latched on clock transition Low-to-high or high-to-low Changes when clock high are ignored

Clock Responses We can classify Flip/Flops according to the response to the clock.

Edge Triggered D-Flip-Flop C S C R

Characteristic Tables Define the logical properties of a flip flop by describing its operations in tabular form. They define the next state as a function of the inputs and the present state. Q(t) refers to the present state prior to the application of a clock edge. Q(t + 1) refers to the next state one clock period later. Clock edges are not listed as inputs but are implied by the transition from t to t + 1.

D FF Characteristic Table The Characteristic Equation: Q(t + 1) = D(t) This indicates that the output (next state) always follows the input!!

Edge-Triggered D Flip Flop: Graphic Symbols The triangle is called: dynamic indicator

Other Flip Flops Other types of flip flops can be constructed by using the D flip flop and external logic. The two most commonly used are: Edge triggered JK flip flops T flip flops

JK Characteristic Table Characteristic Equation: Q(t+1) = J(t) Q’(t) + K’(t)Q(t) The characteristic equation of the JK Flip Flop is derived as following (Get Truth Table, Map to K-Map) J K Q CLK | Q+ -------------------------- 0 0 0 ^ | 0 0 0 1 ^ | 1 0 1 0 ^ | 0 0 1 1 ^ | 0 0 0 ^ | 1 1 0 1 ^ | 1 1 1 0 ^ | 1 1 1 ^ | 0 X X Q 0 | Q X X Q 1 | Q Utilize the equation to create a JK flipflop from an existing D flipflop School of Engineering

JK- Characteristic Equation CLK Q+ ^ 1 JK Q 00 01 11 10 1 1 Q(t+1) = J(t) Q’(t) + K’(t)Q(t)

Edge-Triggered JK Flip Flop Q(t+1) = J(t) Q’(t) + K’(t)Q(t)

Analysis of the JK Circuit The circuit applied to the D input is: D = JQ’ + K’Q If J = 1 and K = 0, D = Q + Q’ = 1 (Set) If J = 0 and K = 1, D = 0 (Reset) If J = K = 0, D = Q, (No Change) If J = K = 1, D = Q’ (Complement)

T Flip Flop The T Flip Flop is a complementing flip flop. How can we obtain a T Flip Flop from a JK Flip Flop or D Flip Flop? T Q(t+1) = TQ’(t) + T’Q(t)

T Flip Flop The T flip flop can be obtained from a JK flip flop when inputs J and K are tied together.

Characteristic Equations The D flip flop can be expressed as: Q(t + 1) = D The JK flip flop can be expressed as: Q(t + 1) = JQ’ + K’Q The T flip flop can be expressed as: Q(t + 1) = TQ’ + T’Q Characteristic Tables are used to Derive the characteristic equations, Analyze Sequential Circuits.

Standard Symbols – Latches Circle at input indicates negation

Symbols – Master-Slave Inverted L indicates postponed output Circle indicates whether enable is positive or negative

Symbols – Edge-Triggered Arrow indicates edge trigger

Direct Inputs Set/Reset independent of clock Direct set or preset Direct reset or clear Often used for power-up reset

VHDL Design Styles VHDL Design Styles dataflow behavioral (algorithmic) structural Concurrent statements Components and interconnects Sequential statements Registers State machines Test benches

VHDL For Sequential Circuits Several techniques have been discussed in class to describe the architecture of combinational logic circuits: Data Flow Structural Statements used in “Data Flow” and “Structural” descriptions can be executed in parallel i.e. concurrently. Another technique to describe the architecture of any circuit is to use Behavioral description. The process statement is usually used to describe sequential designs. The process statement consists of only sequential statements

VHDL For Sequential Circuits To describe sequential circuits we usually use the “process” statement. A process statement consists of Sensitivity list  Process (CLK, RESET) This list enumerates exactly which signals causes the process statement to be executed. (Only events on these signals cause the process statement to be executed!) Declarative region  Process (CLK, RESET) …… (declare local vars) Begin ….. END

VHDL for Positive Edge Triggered D-FF -- positive Edge-Triggered D flip-flop with reset -- VHDL Process Description library ieee; use ieee.std_logic_1164.all; entity dff is port (CLK, RESET, D : in std_logic; Q : out std_logic); end dff; architecture pet_pr of dff is begin process (CLK, RESET) if (RESET = `1’) then Q <= `0’; elsif (CLK’event and CLK = `1’) then - - you can use rising_edge(CLK) instead! Q <= D; end if; end process; end;

Flip-Flop Timing Setup time (ts)– time that D must be available before clock edge Hold time (th)– time that D must be stable after clock edge

Summary Combinational logic are very interesting and useful for designing arithmetic circuits (adders, multipliers) or in other words the Data Path of a computer. Sequential circuits are capable of storing information between operations. They are useful in designing registers, counters, and CONTROL Circuits. Latches are storage elements that are asynchronous, transparent and are used to build more complex synchronous circuits such as Flip-Flops. Flip-flops avoid the transparency problem faced by latches and are either Master-Slave pulse active or edge triggered. Characteristic tables will be used to analyze the behavior of sequential circuits.

End Slides

Propagation Delay Propagation delay – time after edge when output is available

Positive D-Type Edge Triggered C S C R

Have We Fixed the Problem? Output no longer transparent Combinational circuit can use last values New inputs appear at latches Not sent to output until clock low In one clock cycle we can predict what will happen But changes at input of FF when clock high trigger next state Transient state where S goes high caused by gate delays As clock faster, more problems Have to guarantee circuit settles while clock low Note: Master-Slave = pulse triggered

Clock Pulse Requirements Basically a max clock frequency

Clock Gating Can gate clocks (to keep any FF from changing states, for example) Clock gating used to reduce power drain However, can cause clock skew Clock edges at different times on different FFs Clock skew also caused by wire lengths over chip

T Flip Flop The T flip flop can also be obtained from a D flip flop by using an XOR as the input for D.

Master-Slave JK Flip Flop Q(t+1) = J(t) Q’(t) + K’(t)Q(t)