EKT 121 / 4 DIGITAL ELECTRONICS I

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.
Sequential Logic Building Blocks – Flip-flops
A. Abhari CPS2131 Sequential Circuits Most digital systems like digital watches, digital phones, digital computers, digital traffic light controllers and.
CHAPTER 3 Sequential Logic/ Circuits.  Concept of Sequential Logic  Latch and Flip-flops (FFs)  Shift Registers and Application  Counters (Types,
Computer Architecture CS 215
Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 12 Basic (NAND) S – R Latch “Cross-Coupling” two NAND gates gives the S -R Latch:
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
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.
Overview Part 1 - Storage Elements and Analysis
1 Sequential Circuits –Digital circuits that use memory elements as part of their operation –Characterized by feedback path –Outputs depend not only on.
CPEN Digital System Design Chapter 5 Sequential Circuits Storage Elements and Sequential Circuit Analysis C. Gerousis © Logic and Computer Design.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Logic and Computer.
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.
EKT 124 / 3 DIGITAL ELEKTRONIC 1
1. 2 Logic Circuits Sequential Circuits Combinational Circuits Consists of logic gates whose outputs are determined from the current combination of inputs.
Sequential circuit Digital electronics is classified into combinational logic and sequential logic. In combinational circuit outpus depends only on present.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Part 1 – Storage.
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.
Chapter 3: Sequential Logic Circuit EKT 121 / 4 ELEKTRONIK DIGIT 1.
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
Chap 4. Sequential Circuits
Topic: Sequential Circuit Course: Logic Design Slide no. 1 Chapter #6: Sequential Logic Design.
EKT 221 / 4 DIGITAL ELECTRONICS II
Synchronous Sequential Logic A digital system has combinational logic as well as sequential logic. The latter includes storage elements. feedback path.
EKT 121 / 4 ELEKTRONIK DIGIT 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.
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.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 13 Edge-Triggered FF Operation.
1. 2 Logic Circuits Sequential Circuits Combinational Circuits Consists of logic gates whose outputs are determined from the current combination of inputs.
Sequential logic circuits First Class 1Dr. AMMAR ABDUL-HAMED KHADER.
2018/5/2 EE 4271 VLSI Design, Fall 2016 Sequential Circuits.
LATCHED, FLIP-FLOPS,AND TIMERS
Chapter #6: Sequential Logic Design
EI205 Lecture 8 Dianguang Ma Fall 2008.
Lecture 8 Dr. Nermi Hamza.
2018/8/29 EE 4271 VLSI Design, Fall 2013 Sequential Circuits.
Synchronous Sequential Circuits
Sequential Circuits Most digital systems like digital watches, digital phones, digital computers, digital traffic light controllers and so on require.
CS1104 – Computer Organization
Sequential Logic and Flip Flops
CISE204: Design of Digital Systems Lecture 18 : Sequential Circuits
Asynchronous Inputs of a Flip-Flop
Assistant Prof. Fareena Saqib Florida Institute of Technology
ECE Digital logic Lecture 16: Synchronous Sequential Logic
Sequential Circuits: Flip-Flops
Digital Logic Design Sequential Circuits (Chapter 6)
Sequential logic circuits
LECTURE 15 – DIGITAL ELECTRONICS
Edge-Triggered FF Operation
Sequential Logic and Flip Flops
Synchronous Sequential Circuits
Chapter 5 – Sequential Circuits
Sequential Circuit Analysis & Design
FLIP-FLOPS.
Synchronous sequential
Synchronous Sequential
Flip-Flops.
Binary Adder/Subtractor
Sequential Circuits UNIT- IV
Week 11 Flip flop & Latches.
2019/9/26 EE 4271 VLSI Design, Fall 2012 Sequential Circuits.
Presentation transcript:

EKT 121 / 4 DIGITAL ELECTRONICS I Chapter 3: Sequential Logic Circuits

“Combinational” vs “Sequential” Combinational – outputs depend only on the inputs. Do not have memory. Cannot store state. Sequential – outputs depend on inputs and past behavior. Require use of storage elements. Contents of storage elements is called “state”. Circuit goes through sequence of states as a result of changes in inputs.

Overview of Sequential Circuits Storage Elements and Analysis Introduction to sequential circuits Types of sequential circuits Storage elements Latches Flip-flops Sequential circuit analysis State tables State diagrams

Introduction to Sequential Circuits Inputs Outputs Combina-tional Logic A Sequential circuit contains: Storage elements: Latches or Flip-Flops Combinatorial Logic: Implements a multiple-output switching function Inputs are signals from the outside. Outputs are signals to the outside. Other inputs, State or Present State, are signals from storage elements. The remaining outputs, Next State are inputs to storage elements. Storage Elements State Next State

Block Diagram of a Sequential Circuit

Sequential Circuit Behaviour Is determined from the inputs, outputs and present state. The outputs and the next state are a function of the inputs and the present state.

Types of Sequential Circuits Depends on the times at which: storage elements observe their inputs, and storage elements change their state Synchronous Behavior defined from knowledge of its signals at discrete instances of time Storage elements observe inputs and can change state only in relation to a timing signal (clock pulses from a clock) Asynchronous Behavior defined from knowledge of inputs an any instant of time and the order in continuous time in which inputs change If clock just regarded as another input, all circuits are asynchronous! Nevertheless, the synchronous abstraction makes complex designs tractable!

Synchronous Clocked Sequential Circuit

Sequential Circuit - Basic Function The data stored in the “storage elements” defines the “state” of the sequential circuit at that time, i.e. present state. The inputs, together with the present state of the storage elements, determine the outputs and the next state of the storage elements.

Simple Memory Structure

Another Structure for Memory Reset Set Q

The Most Common Memory Elements Used Latches Flip-flops The basic single-bit memory elements, With one or two inputs/outputs, Designed using individual logic gates and feedback loops. Both are referred to as “bistable elements” or “multivibrator”, i.e. having two stable states.

Latch vs Flip-flop Latch Asynchronous. “The inputs, together with the present state of the storage elements, determine the outputs and the next state of the storage elements.” Latch Asynchronous. Change of state can happen at any time, whenever its inputs change. Flip-Flops Synchronous. Change of state occurs only at specific times determined by a clock pulse input. Flip-flops are constructed from latches!!

Types of Latches SR Latch Gated D Latch S R Latch Q C R Gated SR Latch (with control)

S R Latch

SR Latch with NOR Gates Q Reset Set Q Re-drawn …

The SR Latch Operation Cross-coupling two NOR gates gives the S – R Latch: Which has the time sequence behavior: S (set) R (reset) Q R S Q Comment ? Stored state unknown 1 “Set” Q to 1 Now Q “remembers” 1 “Reset” Q to 0 Now Q “remembers” 0 Both go low Unstable! Time If Q=1, NQ=0 => SET state If Q=0, NQ=1 => reSET state

SR Latch Operation If Q=1, NQ=0 => SET state If Q=0, NQ=1 => reSET state Under normal conditions, S=R=0, unless the state is to be changed. S=1 and R=0 => SET (1) state. The S input must go back to 0 before R is changed to 1, to avoid occurrence of the undefined state (S=R=1). The same goes when applying S=0 and R=1.

SR Latch Function Table Hold Hold

… SR Latch Operation If S=R=0 => the latch is either SET or reSET.. If S=R=1 => both Q and NQ = 0. Undefined State!! … violation of Q vs NQ.

Simulation of SR Latch .. with delay

S-R Latch vs S-R Latch

S R Latch

S R Latch with NAND Gates Q Active-LOW SR Latch …

The S–R Latch Operation “Cross-Coupling” two NAND gates gives the S -R Latch: Which has the time sequence behavior: S = 0, R = 0 is forbidden as input pattern S (set) Q Q R (reset) Time R S Q Comment 1 ? Stored state unknown “Set” Q to 1 Now Q “remembers” 1 “Reset” Q to 0 1 1 1 Now Q “remembers” 0 1 1 Both go high 1 1 ? ? Unstable!

SR Latch Function Table Hold Hold

S R Latch Function Table

S R Latch Waveform 1 2 3 4 5 6 7 Assume that Q is initially LOW

Gated SR Latch = SR latch with Control input Q C R C or Enable or CLock = SR latch with Control input = SR latch with Enable input = Clocked SR Latch

Gated S-R Latch - Basic Operation A gate input is added to the S-R latch to: - Act as a “control” input. Make the latch synchronous. Control=1 => Latch can change state Control =0 => Latch “holds” previous value

Gated SR Latch Function Table Where is the additional circuit?

Gated SR Latch Operation The table describes what happens after the clock [at time (t+1)] based on: current inputs (S,R) and current state Q(t). S R Q C

Gated SR Latch Simulation Q C R R C Q S 1 Time ?

Gated D Latch D Q C

Gated D Latch Add inverter to the SR latch…

Gated D Latch Function Table Note: There are no “indeterminate states” …

Gated D Latch Simulation 1 2 3 4 Time Clk D Q

State Change in Latch Change in latch state => Trigger The D latch with clock pulses on its Control, C, input is triggered every time a pulse to logic-1 level occurs. As long as the pulse remains at the logic-1 level, any changes in the data input will change the state of the latch. “Level” triggered

The Latch Timing Problem Consider the following circuit: Suppose that initially Y = 0. As long as C = 1, the value of Y continues to change! The changes are based on the delay present on the loop through the connection from Y back to Y. This behavior is clearly unacceptable. Desired behavior: Y changes only once per clock pulse C D Q Y Clock Clock Y

Solution to the Latch Timing Problem – Use latch to form flip-flop Replace the clocked D-latch with: A Master-slave Flip-flop Two stage Output does not change until clock is disabled An Edge-triggered Flip-flop Triggers only during a signal transition on the clock, either from 1 to 0 or from 0 to 1, and is disabled at all other times.

Master-Slave Flip-flops SR JK D

Master-Slave Flip-flop Symbols

Master-Slave Flip-flops Is pulse (level)-triggered. Data is entered into the flip-flop at the leading edge of the clock pulses, but the output is only reflected at the trailing edge. Does not allow data to change while the clock pulse is still active. …. Either the Master or the Slave is enabled, not both

Master-Slave SR Flip-Flop

Master-Slave SR Flip-Flop When C=0, the output of the inverter is 1 => the slave latch is enabled, and its output, Q, is equal to the master output, Y. The master latch is disabled because C=0. When a logic-1 pulse is applied to C, the values on S and R control the stored value in the master latch, Y. The slave at this time is disabled, because its C input is 0. Any changes in the S and R inputs change the master output, Y, but cannot affect the slave output, Q. When the pulse returns to 0, the master is disabled and is isolated from the S and R inputs. At the same time, the slave is enabled, and the current value of Y is transferred to the output of the flip-flop at Q.

Master-Slave SR Flip-Flop Consists of two clocked SR latches in series with the clock on the second latch inverted. The input is observed by the first latch with C = 1. The output is changed by the second latch with C = 0. The path from input to output is broken by the difference in clocking values (C = 1 and C = 0). The behavior demonstrated by the example with D driven by Y given previously is prevented since the clock must change from 1 to 0 before a change in Y based on D can occur. C S R Q

Simulation of an Master-Slave SR Flip-Flop

Master-Slave JK Flip-Flop Hold Look for similarity/ difference with SR… Reset Set Toggle (Opposite State)

Master-slave JK flip-flop. (a) Logic diagram using gated SR latches Master-slave JK flip-flop. (a) Logic diagram using gated SR latches. (b) Function table where Q+ denotes the output Q in response to the inputs. (c) Two logic symbols.

Timing diagram for master-slave JK flip-flop

Master-Slave D Flip-Flop Q Master Slave Clock m s C D Clock Q m s = Timing diagram

Master-slave T Flip-flop

Flip-Flop Problem The change in the flip-flop output is delayed by the pulse width which makes the circuit slower or S and/or R are permitted to change while C = 1 Suppose Q = 0 and S goes to 1 and then back to 0 with R remaining at 0 The master latch sets to 1 A 1 is transferred to the slave Suppose Q = 0 and S goes to 1 and back to 0 and R goes to 1 and back to 0 The master latch sets and then resets A 0 is transferred to the slave This behavior is called 1s catching

Flip-Flop Solution Use edge-triggering instead of master-slave. 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. Edge-triggered flip-flops can be built directly at the electronic circuit level, or A master-slave D flip-flop which also exhibits edge-triggered behavior can be used.

Edge-Triggered Flip-flops Flip-flops are synchronous bistable devices. Synchronous: because the output changes state ony at a certain point on a triggering input, i.e. CLK, which is the control input. Edge-triggered flip-flop: changes state at either the positive edge (rising edge) or at the negative edge (falling edge) of the cock pulse.

Clock Signals & Synchronous Sequential Circuits Rising edges of the clock (Positive-edge triggered) Falling edges of the clock (Negative-edge triggered) Clock signal Clock Cycle Time 1 A clock signal is a periodic square wave that indefinitely switches values from 0 to 1 and 1 to 0 at fixed intervals.

Edge-triggered Flip-flop Symbols Positive edge triggered and Negative edge-triggered All the above flip-flops have the triggering input called clock (CLK/C)

Edge-Triggered Flip-flops SR flip-flop JK flip-flop D flip-flop T flip-flop

Timing Diagram

Negative-Edge Triggered D Flip-Flop The edge-triggered D flip-flop is the same as the master- slave D flip-flop. It can be formed by: Replacing the first clocked S-R latch with a clocked D latch or Adding a D input and inverter to a master-slave S-R flip-flop The delay of the S-R master-slave flip-flop can be avoided since the 1s-catching behavior is not present with D replacing S and R inputs The change of the D flip-flop output is associated with the negative edge at the end of the pulse. It is called a negative-edge triggered flip-flop C S R Q D

Positive-Edge Triggered D Flip-Flop Formed by adding inverter to clock input Q changes to the value on D applied at the positive clock edge within timing constraints to be specified. The standard flip-flop used for most sequential circuits. C S R Q D D Q Clock

Positive-Edge-Triggered D Flip-Flop 1 P3 P1 2 5 Q Clock D Q (b) Graphical symbol Clock P2 6 Q 3 4 P4 D (a) Circuit

A positive edge-triggered D flip-flop formed with an S-R flip-flop and an inverter D CLK/C Q Q’_________________ 1 ↑ 1 0 SET (stores a 1) 0 ↑ 0 1 RESET (stores a 0)

Timing Diagram

Positive-Edge Triggered JK Flip-Flop Not used much anymore in VLSI Advantageous only if using FF chips A real case of “learning the hard stuff just because the lecturer wants to make things hard for you” J D Q Q K Q Q Clock (a) Circuit J K Q ( t + 1 ) Q ( t ) J Q 1 1 1 K Q 1 1 Q ( t ) (b) Truth table (c) Graphical symbol

Function Table for JK Flip Flop J K CLK Q Q’ 0 0 Q0 Q0’ Hold 0 1 0 1 Reset 1 0 1 0 Set 1 1 Q0’ Q0 Toggle (opposite state)

Timing Diagram: Positive-Edge Triggered

Timing Diagram: Negative-Edge Triggered

T Flip-Flop Useful in counters Not available in IC form T Latches do not exist T Q ( t + 1 ) Q ( t ) 1 Q ( t ) (b) Truth table D Q T Clock (a) Circuit T Q Q (c) Graphical symbol

T Flip-Flop Clock T Q (d) Timing diagram

D latch vs D flip-flop

D Latch versus D Flip-Flop Q Q a D Clock Q a b c Clock Clk Q Q a D Q Q b Q Q b D Q Q c Q Q c (a) Circuit (b) Timing diagram Comparison of level-sensitive and edge-triggered devices

Standard Graphic Symbols for Latch and Flip-Flops Complete the list !! T T

Direct Inputs Preset (Set) & Clear (ReSet)

Clear and Preset Inputs Set/Reset independent of clock Direct set or preset Direct reset or clear Often used for power-up reset Preset Q Preset Clock D Q Q Q Clear D (b) Graphical symbol Clear (a) Circuit

Example: D-FF with Direct Set and Reset

Direct Inputs At power up or at reset, all or part of a sequential circuit usually is initialized to a known state before it begins operation This initialization is often done outside of the clocked behavior of the circuit, i.e., asynchronously. Direct R and/or S inputs that control the state of the latches within the flip-flops are used for this initialization. For the example flip-flop shown 0 applied to R resets the flip-flop to the 0 state 0 applied to S sets the flip-flop to the 1 state D C S R Q

J-K flip-flop with active-LOW Preset and Clear inputs

Timing Diagram

State Diagram, Excitation Table, Characteristic Equation

Detailed Function Table SR Latch SR 1 SR 0X 10 X0 01 00 01 11 10 X 1 Q Detailed Function Table S R Q Q+ 1 X Characteristic Equation: Q+ = S + R’Q Excitation Table Q Q+ S R X 1 State Transition Diagram: The excitation table in graphical form Excitation Table: What are the necessary inputs to cause a particular kind of change in state?

Detailed Function Table D Latch D 1 1 Q Detailed Function Table D Q Q+ 1 Characteristic Equation Q+ = D Excitation Table Q Q+ D 1 State Transition Diagram

Detailed Function Table JK Flip-Flop 00 01 11 10 1 JK 1 JK 0X 1X X0 X1 Q Detailed Function Table J K Q Q+ 1 Characteristic Equation Q+ = JQ’ + K’Q Excitation Table Q Q+ J K X 1 State Transition Diagram

Detailed Function Table T Flip-Flop T 1 1 Q Detailed Function Table T Q Q+ 1 Characteristic Equation Q+ = T’Q + TQ’ = T  Q Excitation Table Q Q+ D 1 State Transition Diagram

Choosing a Flip-Flop SR Clocked Latch: used as storage element in narrow width clocked systems its use is not recommended! however, is the fundamental building block of other flip-flop types D Flip-flop: minimizes wires, much preferred in VLSI technologies simplest design technique best choice for storage registers JK Flip-flop: versatile building block: can be used to implement D and T FFs usually requires least amount of logic to control Q+ however, has two inputs with increased wiring complexity T Flip-flop: doesn't really exist, constructed from J-K FFs usually best choice for implementing counters Preset and Clear inputs highly desirable!!

Characteristic Equation & Excitation Table Summary Device Type Characteristic Equation SR latch Q+ = S + R’Q D latch Q+ = D JK flip-flop Q+ = JQ’ + K’Q T flip-flop Q+ = TQ’ + T’Q Q Q+ S R D J K T X 1

Flip-flop Applications Parallel Data Storing Frequency Divider Counter

Parallel Data Storing –using Registers 4-bit REGISTER

Frequency Divider: Divide-by-2 Q is one-half the frequency of CLK

Frequency Divider: Divide-by-4

Counter : 00, 01, 10, 11 2-bit Counter

SEQUENTIAL CIRCUITS Design Examples Using Flip-flops

Example 1 Input: x(t) Output: y(t) State: (A(t), B(t)) What is the Output Function? What is the Next State Function? A C D Q y x B CP

Example 1 Boolean equations for the functions: A(t+1) = A(t)x(t) + B(t)x(t) B(t+1) = A(t)x(t) y(t) = x(t)(B(t) + A(t)) x D Q A C Q A Next State D Q B CP C Q' y Output

State Table Characteristics State table – a multiple variable table with the following four sections: Present State – the values of the state variables for each allowed state. Input – the input combinations allowed. Next-state – the value of the state at time (t+1) based on the present state and the input. Output – the value of the output as a function of the present state and (sometimes) the input. From the viewpoint of a truth table: the inputs are Input, Present State and the outputs are Output, Next State

Example 1: State Table The state table can be filled in using the next state and output equations: A(t+1) = A(t)x(t) + B(t)x(t) B(t+1) =A (t)x(t) y(t) =x (t)(B(t) + A(t)) Present State Input Next State Output A(t) B(t) x(t) A(t+1) B(t+1) y(t) 0 0 0 0 1 0 1 0 1 1 1 1 0 1 0 1 1

Example 1: Alternate State Table 2-dimensional table that matches well to a K-map. Present state rows and input columns in Gray code order. A(t+1) = A(t)x(t) + B(t)x(t) B(t+1) =A (t)x(t) y(t) =x (t)(B(t) + A(t)) Present State Next State x(t)=0 x(t)=1 Output x(t)=0 x(t)=1 A(t) B(t) A(t+1)B(t+1) A(t+1)B(t+1) y(t) y(t) 0 0 0 0 0 1 0 0 0 1 0 0 1 1 1 0 1 0 1 1 0 0 1 0

State Diagrams The sequential circuit function can be represented in graphical form as a state diagram with the following components: A circle with the state name in it for each state A directed arc from the Present State to the Next State for each state transition A label on each directed arc with the Input values which causes the state transition, and A label: On each circle with the output value produced, or On each directed arc with the output value produced.

State Diagrams Label form: On circle with output included: state/output Moore type output depends only on state On directed arc with the output included: input/output Mealy type output depends on state and input

Example 1: State Diagram A B 0 0 0 1 1 1 1 0 x=0/y=1 x=1/y=0 x=0/y=0 Which type? Diagram gets confusing for large circuits For small circuits, usually easier to understand than the state table Type: Mealy

Standard Graphic Symbols for Latch and Flip-Flops

Flip-Flop Characteristic Table

Flip-Flop Excitation Tables

Examples Using D-Flip-flop

Example 1 D-Flip-flop

From State Table  Derive Equation Q(t) Q(t+1)

Then.. Produce the Schematic

Example 2 D-Flip-flop

State table for Circuit of Fig 4.18

The Flip-flop Input Equations DA = (AX +BX) Equations for FF inputs DB = A.X Y = ( A+B ) . X - Equation for output Y Subscripts A and B: names of FF outputs.

How to derive the flip-flop output equations as well as for output Y?

Two-Dimensional State Table for the Circuit in Figure 4.18

Example 2: D Flip-flop Design DA = (AX +BX) DB = A.X Y = ( A+B ) . X

Example 3 D-Flip-flop

State Diagram for Design Example

State Table for Design Example

Maps for Input Equations and Output Y

Logic Diagram for Sequential Circuit with D Flip-Flops

Example 4 D-Flip-flop

State Table

Maps for Simplifying Input Equations

The sCheMatiC…