SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Flip-Flops
      Objectives
      This section is the first dealing with sequential circuits. It
      introduces Flip-Flops, an important building block for most
      sequential circuits.
         First it defines the most basic sequential building block, the
         RS latch, and investigates some of its properties.
         Then, it introduces clocks and shows how they can be used
         to synchronize latches to get gated latches.
         Finally, it extends gated latches to flip-flops by developing
         a more stable clocking technique called dynamic clocks.
         The Section also develops the state table behavioral model
         for gated latches and flip-flops
      Reading Assignment
           Chapter 3, Sections 3.1-3.3.

Elec 326                                       1                          Flip-Flops




  Latches
      Problem: Design a network to control a lamp from two
      pushbutton switches labeled S and R. If we push switch S the
      light should turn on. If we then release S, the light should stay
      on. If we push switch R, the lamp should turn off and stay off
      after releasing R. Assume that both S and R are not pushed at
      the same time.            +




                               S       +               Q
                                                   ?       Lamp



                                   R




                  R

                  S


                  Q

                      0   1                0           1          0   0

Elec 326                                       2                          Flip-Flops




                                                                                       1
A Solution
                     R                              Q
                     S              X




           Construct a truth table for this circuit.
                                RS          X           Q
                                0   0      Q’           X’
                                0   1      0            1
                                1   0      1            0
                                1   1      0            0

           Write Boolean expressions for X and Q.
               X = (S+Q)'; Q = (R+X)'
               Q = R'•X' = R'•(S+Q)

                Let S = R = 0. Then Q = 1•(0+Q) = Q


Elec 326                                        3                                        Flip-Flops




      The previous circuit is called an SR Latch and is usually drawn
      as shown below:
                               R                Q
                                                             R Q
                                                             S   Q
                               S                Q_L
                                    Logic Diagram            Symbol
           Observations
              The latch has two states, Q = 0 and Q = 1
              The output depends on the state as well as the inputs, so the circuit is
              sequential
              The circuit has a loop, as all sequential circuits do
              The outputs Q and Q_L are logical complements unless inputs S and R are
              both 1
              Asserting S (i.e., setting it to 1) sets Q to 1 (and Q_L to 0).
              Asserting R (i.e., setting it to 1) resets Q to 0 ( and Q_L to 1)
              If neither S nor R are asserted, Q retains a value determined by the last
              time S or R were asserted
              Bad things can happen if both S and R are asserted simultaneously as we
              will see below.


Elec 326                                        4                                        Flip-Flops




                                                                                                      2
Unstable latch behavior (Oscillation)
           Assume that all gates have a fixed delay δ modeled as
           follows:
                                      X
                X       δ   Y
                                      Y
                 Y(t+δ) = X(t)                        δ

           This gives the following latch model:
                                     Q(t+δ)

                            R                 δ           Q(t)


                            S                 δ           X(t)

                                     X(t+δ)

           Then Q(t+δ) = (R(t) + X(t))' = R(t)' • X(t)', and
                X(t+δ) = (S(t) + Q(t))' = S(t)' • Q(t)'


Elec 326                                          5                  Flip-Flops




           Now set S = R = 1, so that both Q and X are equal to 0 after
           at most a delay of δ. Then change both R and S to 0 at
           exactly the same time. Then
                    Q(t+δ) = X(t)' and X(t+δ) = Q(t)'

                                 δ        δ               δ      δ
                    R

                    S


                    Q


                    X




Elec 326                                          6                  Flip-Flops




                                                                                  3
Unstable latch behavior (Metastable state)
           Equivalent circuit for the latch when R = S = 0
                            vi1    vo1 vi2       vo2



           Transfer characteristics of an inverter:
                     vout




                                                                       vin

Elec 326                                     7                               Flip-Flops




           Now consider the behavior of the following circuit:
                                  vi1   vo1 vi2        vo2




           Superimposing the two graphs gives the following:
                                  vo1, vi2
                                             Inverter 1

                                                       Inverter 2


                                                             vi1,vo2

Elec 326                                     8                               Flip-Flops




                                                                                          4
Now consider connecting v02 to vi1
                                     vo1 = vi2              vo2 = vi1
                                 δ                      δ



              The dots on the graph represent points where the inputs and
              outputs of the delays are equal.
              The dots on the two ends represent the two stable states of the
              system. Small changes in any of the signals are damped out
              quickly.
              The dot in the middle represents a metastable state. Small changes
              in any of the signals are amplified and the circuit leaves the
              metastable state.
           The hill analogy:
           The latch could get in the metastable state in the following
           way:
                        R
                        S
                        Q


              What is the relationship between hazards and the metastable state?


Elec 326                                          9                                       Flip-Flops




      Avoiding unstable behavior of SR latches
           Since both the oscillation and the metastable state are
           undesirable behavior, we should try to avoid them. this can
           be done with the following rules:
              Do not change R and S from 1 to 0 at the same time.
                  This is necessary to avoid the oscillation behavior seen above
                  One way to guarantee that this will not happen is to never allow them to both
                  be 1 at the same time.
              Once you change an input, do not change it again until the circuit
              has had time to complete all its signal transitions and reach a stable
              state.
                  This is necessary to avoid the metastable behavior illustrated above




Elec 326                                         10                                       Flip-Flops




                                                                                                       5
/R/S Latch
                            R_L                   Q_L          R Q

                                                  Q
                                                               S    Q
                            S_L
                                      Logic Diagram            Symbol

           Changing from 00 to 11 can produce nondeterministic
           behavior


      Propagation Delay of Ungated Latches
                tPRQ - Delay from the R input to the Q output
                tPSQ - Delay from the S input to the Q output
                tPRQ_L - Delay from the R input to the Q_L output
                tPSQ_L - Delay from the S input to the Q_L output

                                  S
                                  Q
                                                  tPSQ


Elec 326                                         11                                   Flip-Flops




      Verilog descriptions of an SR latch
                              module srlatch1 (s, r, q, q_n);
                               input s, r;
                               output q, q_n;

                                  assign q_n = ~(s | q);
                                  assign q = ~(r | q_n);

                              endmodule


              module srlatch2 (s, r, q);                 module srlatch3 (s, r, q);
               input s, r;                                input s, r;
               output q;                                  output q;
               reg q;                                     reg q;
                always @(s or r)                           always @(s or r)
                  if (s & r) q = 0;                          case ({s,r})
                  else if (~s & r) q = 0;                      3: q = 0;
                  else if (s & ~r) q = 1;                      2: q = 1;
                                                               1: q = 0;
              endmodule                                      endcase
                                                         endmodule

Elec 326                                         12                                   Flip-Flops




                                                                                                   6
Gated Latches
      Clock Signals
           It is easier to avoid the metastable state if we place
           restrictions on when a latch can change states. This is
           usually done with a clock signal.
                                      1           2        3       4
                            CK
                                  1           2        3       4       5


           The effect of the clock is to define discrete time intervals.
           The clock signal is used so that the latch inputs are ignored
           except when the clock signal is asserted.
           This effectively makes time discrete, since we do not care
           what happens when the clock is not asserted.




Elec 326                                          13                            Flip-Flops




      Gated SR Latch
                       R
                                                       Q_L             R    Q
                                                                       CK
                       CK
                                                                       S    Q
                                                           Q
                       S

                                 Logic Diagram                         Symbol

           Gated Latch Function Table
                                  CK S    R       Q(t+δ)
                                   0 0    0       Q(t)
                                   0 0    1       Q(t)
                                   0 1    0       Q(t)
                                   0 1    1       Q(t)
                                   1 0    0       Q(t)
                                   1 0    1        0
                                   1 1    0        1
                                   1 1    1        0

              Note that when CK is 0, the simple latch has both inputs 0 and the
              inputs S and R have no effect


Elec 326                                          14                            Flip-Flops




                                                                                             7
Gated Latch Transition Table
               Note that the internal latch inputs will both go from 1 to 0 if the S and R
               inputs are both 1 when the clock goes low. Hence we must never have S
               and R at 1 when the clock is 1.
               We make the following rules for changing inputs.
                    Don't change the inputs while the clock is asserted.
                    Don't apply the inputs S = R = 1 when the clock is asserted.
               Then we can use the following model of latch behavior:
                    While the clock is not asserted, the inputs are ignored and the state does not change.
                    When the clock is asserted, the latch can change state and the values of the input signals
                    S(t) and R(t) and current state Q(t) just prior to the clock assertion determine the new
                    value of the latch’s state Q(t+1).
               Assuming this model, we can describe the latch’s behavior by a table that
               gives the new state Q(t+1) that will occur when the clock is asserted given
               the current state Q(t) and the current inputs S(t) and R(t).
                                                   S(t) R(t)
                                           Q(t) 00 01 11 10
                                            0       0     0 d 1
                                            1       1     0 d 1
                                                          Q(t+1)

               This table is called a transition table or state transition table.
               The clock is not shown explicitly, but is inherent in the interpretation we
               place on table.
Elec 326                                                15                                              Flip-Flops




      Gated D Latch
           This latch is useful when you need a device to store (remember) a bit of
           data.                D      S Q        D Q
                                  CK                CK
                                                    R Q           CK Q

                                         Logic Diagram           Symbol

           The D stands for "data" or "delay."
               The term data refers to the fact that the latch stores data.
               The term delay refers to the fact the output Q is equal to the input D one
               time period later. That is, Q is equal to D delayed by one time period.
           Gated D Latch Transition Table
                                                        D(t)
                                                Q(t)    0 1
                                                0        0 1
                                                1        0 1
                                                        Q(t+1)


           There is no such thing as an ungated D latch. Why?
           The gated D latch is also called a transparent latch.


Elec 326                                                16                                              Flip-Flops




                                                                                                                     8
Alternative Design of the gated D Latch
                           CK
                              D                                     Q




              Exercise: Compare this implementation with the following one:

                              D
                                                                Q

                              CK
                                                                Q_L




Elec 326                                       17                                              Flip-Flops




      Propagation Delay of Gated Latches
           Since changes in the data inputs of a gated latch have no
           effect unless the clock is asserted, propagation delay is not
           measured from the data inputs.
           Propagation delay is measured from the clock input to the
           outputs.
                tPCQ (or tPQ) - delay from time clock is asserted until the Q output changes
                                    CLK
                                      Q
                                                    tPCQ
                tPCQ_L (or tPQ_L) - delay from time clock is asserted until the Q_L output changes
                                   CLK
                                     Q
                                                      tPCQ_L
           Propagation delays can be different from high-to-low
           transition and low-to-high transitions
                        CLK
                          Q
                                            tPQHL            tPQLH

Elec 326                                       18                                              Flip-Flops




                                                                                                            9
Verilog description of gated latches
           Gated SR Latch:          module gatedsr (G, S, R, Q);
                                     input G, R, S;
                                     output Q;
                                     reg Q;
                                        always @(G or S or R)
                                          if (G)
                                             if (S & ~R) Q = 1;
                                             else if (~S & R) Q = 0;
                                             else if (S & R) Q = 0;
                                    endmodule
           Gated D Latch:
                                    module gatedd (D, Clk, Q);
                                     input D, Clk;
                                     output Q;
                                     reg Q;
                                        always @(D or Clk)
                                          if (Clk)
                                             Q = D;
                                    endmodule

Elec 326                                   19                               Flip-Flops




      Exercise
           Consider the following 4-stage shift register made from
           gated D latches:
                                   Q1          Q2          Q3          Q4
                    DIN     D Q         D Q         D Q         D Q
                            CK Q        CK Q        CK Q        CK Q
                    CLK



           The intended behavior is that data bits are shifted in at the
           DIN terminal and shifted out at the Q4 terminal four clock
           pulses later. The first clock pulse loads the bit into Q1 and
           the second clock pulse transfers this bit from Q1 to Q2
           while a new bit is loaded into Q1, and so on.
           What applications could you suggest for this circuit?




Elec 326                                   20                               Flip-Flops




                                                                                         10
Draw a timing diagram for this circuit assuming that the
           propagation delay of the latch is greater than the clock
           pulse width.
                   CLK
                 DIN=1
                  Q1=0
                  Q2=0

                  Q3=0
                  Q4=0


           Draw a timing diagram for this circuit assuming that the
           propagation delay of the latch is less than the clock pulse
           width.
                   CLK
                  DIN=1
                   Q1=0
                   Q2=0

                   Q3=0
                   Q4=0


Elec 326                                 21                                   Flip-Flops




Flip-Flops
      Dynamic Clock Inputs
           The gated latch only looks at its data inputs while the clock
           is asserted; it ignores them at other times
              The window of time when the latch is looking at and reacting to its
              inputs is the duration of the time that the clock is asserted
           It is easier to design the circuits that generate a latch’s data
           inputs if the window when the latch is looking at the data
           inputs is small.
              We could only assert the clock for a short time, but this creates
              other problems
           Dynamic clock inputs and the latches that use them reduce
           the window to a very small time around an edge of the
           clock
           There are two types of dynamic clock inputs, edge-
           triggered and master-slave.
           Latches that use dynamic clocks are called flip-flop

Elec 326                                 22                                   Flip-Flops




                                                                                           11
Positive Edge-Triggered D Flip-Flops

                                     Q1          Q2                D Q
                  D           D Q         D Q           Q

                              CK Q        CK Q          Q_L             Q
                  CK
                                 Logic Diagram                    Symbol




           This flip-flop samples its D input on the rising edge of the
           clock and is therefore called an edge-triggered flip-flop.
           The first latch is called the master latch and the second one
           is called the slave latch. The slave latch always follows the
           master latch.
           Note that Brown & Vranesic call this a master-slave flip-
           flop.


Elec 326                                     23                                 Flip-Flops




      Edge-triggered flip-flop behavior
                                            Q1               Q2
                       D             D Q              D Q         Q

                                     CK Q             CK Q        Q_L
                       CK

           When the clock is low, the master latch is enabled and its output
           follows its D input. When the clock makes a low-to-high transition, the
           master latch is deactivated and the last value it saw in its D input is
           stored in its memory. At the same time, this value is transferred from
           the master to the slave latch.
           The slave is enabled while the clock is high, it will only change its
           value at the time the clock goes high, since its input is connected to the
           master, and it cannot change while the clock is high.
           The edge-triggered flip-flop behaves as if it samples its input during
           rising edges of the clock, and that is the only time its output can
           change.
           The sampling window is very short, and that is the only time during
           which the input signal must be held constant.
Elec 326                                     24                                 Flip-Flops




                                                                                             12
Negative Edge-Triggered D Flip-Flops
                                              Q1          Q2
                         D           D Q           D Q               Q

                                     CK Q          CK Q              Q_L
                        CK



      Asynchronous Inputs
           CLR_L
               D                   R Q                         R Q         Q               PR
                                                                                       D        Q
                                   S Q                         S Q         Q_L
                                                                                              Q
            PR_L                                                                           CLR
              CK
                              Logic Diagram                                            Symbol


           If CLK is held at 0, the D flip-flop acts like an SR latch
           with PR the set input and CLR the reset input


Elec 326                                      25                                                    Flip-Flops




      Edge-Triggered JK Flip-Flops
           The JK Flip-Flop has two inputs J and K. All four possible
           input configurations are valid. The J acts like S and the K
           acts like R, when there is only one input with value 1.
           When both J and K are 1, the flip-flop toggles.

                  JK
            Q 00 01 11 10
            0   0 0     1 1            J                                         D Q            Q
                                       K
            1   1 0     0 1                                                       Q             Q_L
                                      CK
                   Q*
            Q* = J•Q’ + K’•Q

           What would happen if we used a gated D latch instead of
           an edge triggered flip-flop?


Elec 326                                      26                                                    Flip-Flops




                                                                                                                 13
Verilog descriptions of edge-triggered flip-flops
           D Flip-Flop
                           module flipflopd (D, Ck, Clr, Q);
                            input D, Ck, Clr;
                            output Q;
                            reg Q;
                             always @(posedge Ck or posedge Clr)
                               if (Clr) Q = 0;
                               else Q = D;
                           endmodule
           JK Flip-Flop
                            module flipflopjk (Ck, J, K, Q);
                             input Ck, J, K;
                             output Q;
                             reg Q;
                              always @(negedge Ck)
                                if (J & ~K)      Q = 1;
                                else if (~J & K) Q = 0;
                                else if (J & K) Q = ~Q;
                            endmodule
Elec 326                                      27                                        Flip-Flops




      Timing parameters for edge-triggered flip-flops
           Inputs must not change while they are being sampled by
           the clock.
              Setup and hold times                  Sampling
                                                    Window           tsu - Setup time
                                         CK                          th - Hold time
                                                    tsu   th

              Propagation delays
                                         CK
                                         Q

                                               tPLH(CQ)   tPHL(CQ)

           Propagation delay must exceed hold time!
                                              th

                                   CK

                                     Q
                                     D
                                               tP




Elec 326                                      28                                        Flip-Flops




                                                                                                     14
Trigger Flip-Flop
                                                                                  T Q
                        T                         D Q             Q
                                                                                      Q
                       CK                               Q         Q_L

                                    Logic Diagram                             Symbol

      Master-Slave Flip-Flops
           SR master-slave flip-flop
                                          QM            QS
                       S            S Q           S Q         Q              S Q
                                    CK            CK
                       R            R Q           R Q         Q_L            CK
                                                                             R Q
                       CK
                                    Logic Diagram                        Symbol

           JK master-slave flip-flop
                                                  QM              QS
                           J                S Q             S Q         Q          J  Q
                                            CK              CK                     CK
                           K                R Q             R Q         Q_L        K Q

                       CK
                                          Logic Diagram                           Symbol

Elec 326                                                     29                             Flip-Flops




           Pulse Catching
                 CK

                  J

                 K
                QM

                QS



           Comparison of flip-flop types
                                                  QL                   QMS            QET
                               S
                                          S Q                S Q              S   Q
                                          CK                 CK
                                          R Q                R Q              R   Q
                                R
                               CK

                      CK
                       S
                       R
                   QL
                  QMS
                  QET


Elec 326                                                     30                             Flip-Flops




                                                                                                         15
Verilog description of master-slave flip-flops
                       module flipflopms (Ck, S, R, Q, master);
                         input Ck, S, R;
                         output Q, master;
                         reg master, Q;
                           always @(Ck or S or R)
                              if (Ck) begin
                                  if (S & ~R) master = 1;
                                  else if (~S & R) master = 0;
                                  else if (S & R) master = 0;
                              end
                              else
                                  Q = master;
                       endmodule




Elec 326                                     31                   Flip-Flops




  Review
      The behavior of latches
           Metastability
      Adding clocks to latches - gated latches
      The properties of dynamic clocks - flip-flops
           Edge-triggering
           Setup and Hold times
      Types of flip-flops:
           SR, D and JK
      The transition table model for flip-flop behavior



Elec 326                                     32                   Flip-Flops




                                                                               16

Weitere ähnliche Inhalte

Was ist angesagt?

Lecture 5 Synchronous Sequential Logic
Lecture 5 Synchronous Sequential LogicLecture 5 Synchronous Sequential Logic
Lecture 5 Synchronous Sequential LogicJames Evangelos
 
Designing State Machine
Designing State MachineDesigning State Machine
Designing State MachineAbhilash Nair
 
Flip flops, counters & registers
Flip flops, counters & registersFlip flops, counters & registers
Flip flops, counters & registersDharit Unadkat
 
An Introduction to Hidden Markov Model
An Introduction to Hidden Markov ModelAn Introduction to Hidden Markov Model
An Introduction to Hidden Markov ModelShih-Hsiang Lin
 
Flip-Flop (Clocked Bistable)
Flip-Flop (Clocked Bistable)Flip-Flop (Clocked Bistable)
Flip-Flop (Clocked Bistable)Aravir Rose
 
Understanding Flip Flops
Understanding Flip FlopsUnderstanding Flip Flops
Understanding Flip Flopsgavhays
 
Flip Flop | Counters & Registers | Computer Fundamental and Organization
Flip Flop | Counters & Registers | Computer Fundamental and OrganizationFlip Flop | Counters & Registers | Computer Fundamental and Organization
Flip Flop | Counters & Registers | Computer Fundamental and OrganizationSmit Luvani
 
Hidden Markov Models
Hidden Markov ModelsHidden Markov Models
Hidden Markov ModelsVu Pham
 
Flipflops and Excitation tables of flipflops
Flipflops and Excitation tables of flipflopsFlipflops and Excitation tables of flipflops
Flipflops and Excitation tables of flipflopsstudent
 
Race around and master slave flip flop
Race around and master slave flip flopRace around and master slave flip flop
Race around and master slave flip flopShubham Singh
 
Digital alarm clock- Digital design- Design assignment
Digital alarm clock- Digital design- Design assignmentDigital alarm clock- Digital design- Design assignment
Digital alarm clock- Digital design- Design assignmentAkarshMishra9
 
State Machine Design and Synthesis
State Machine Design and SynthesisState Machine Design and Synthesis
State Machine Design and SynthesisAbhilash Nair
 
Sequential circuit design
Sequential circuit designSequential circuit design
Sequential circuit designSatya P. Joshi
 
Asynchronous Sequential Circuit-Unit 4 ppt
Asynchronous Sequential Circuit-Unit 4 pptAsynchronous Sequential Circuit-Unit 4 ppt
Asynchronous Sequential Circuit-Unit 4 pptSIVALAKSHMIPANNEERSE
 

Was ist angesagt? (20)

Lecture 5 Synchronous Sequential Logic
Lecture 5 Synchronous Sequential LogicLecture 5 Synchronous Sequential Logic
Lecture 5 Synchronous Sequential Logic
 
Lect20 Engin112
Lect20 Engin112Lect20 Engin112
Lect20 Engin112
 
Designing State Machine
Designing State MachineDesigning State Machine
Designing State Machine
 
Flip flops, counters & registers
Flip flops, counters & registersFlip flops, counters & registers
Flip flops, counters & registers
 
JK flip flops
JK flip flopsJK flip flops
JK flip flops
 
Travis jf flip flops
Travis jf flip flopsTravis jf flip flops
Travis jf flip flops
 
An Introduction to Hidden Markov Model
An Introduction to Hidden Markov ModelAn Introduction to Hidden Markov Model
An Introduction to Hidden Markov Model
 
Flip-Flop (Clocked Bistable)
Flip-Flop (Clocked Bistable)Flip-Flop (Clocked Bistable)
Flip-Flop (Clocked Bistable)
 
Hmm viterbi
Hmm viterbiHmm viterbi
Hmm viterbi
 
Understanding Flip Flops
Understanding Flip FlopsUnderstanding Flip Flops
Understanding Flip Flops
 
Flip Flop | Counters & Registers | Computer Fundamental and Organization
Flip Flop | Counters & Registers | Computer Fundamental and OrganizationFlip Flop | Counters & Registers | Computer Fundamental and Organization
Flip Flop | Counters & Registers | Computer Fundamental and Organization
 
Hidden Markov Models
Hidden Markov ModelsHidden Markov Models
Hidden Markov Models
 
Flipflops and Excitation tables of flipflops
Flipflops and Excitation tables of flipflopsFlipflops and Excitation tables of flipflops
Flipflops and Excitation tables of flipflops
 
Race around and master slave flip flop
Race around and master slave flip flopRace around and master slave flip flop
Race around and master slave flip flop
 
Digital alarm clock- Digital design- Design assignment
Digital alarm clock- Digital design- Design assignmentDigital alarm clock- Digital design- Design assignment
Digital alarm clock- Digital design- Design assignment
 
Flip flops
Flip flopsFlip flops
Flip flops
 
State Machine Design and Synthesis
State Machine Design and SynthesisState Machine Design and Synthesis
State Machine Design and Synthesis
 
Lect21 Engin112
Lect21 Engin112Lect21 Engin112
Lect21 Engin112
 
Sequential circuit design
Sequential circuit designSequential circuit design
Sequential circuit design
 
Asynchronous Sequential Circuit-Unit 4 ppt
Asynchronous Sequential Circuit-Unit 4 pptAsynchronous Sequential Circuit-Unit 4 ppt
Asynchronous Sequential Circuit-Unit 4 ppt
 

Ähnlich wie 95414579 flip-flop

B sc cs i bo-de u-iv sequential circuit
B sc cs i bo-de u-iv sequential circuitB sc cs i bo-de u-iv sequential circuit
B sc cs i bo-de u-iv sequential circuitRai University
 
best slides latches.pdf
best slides latches.pdfbest slides latches.pdf
best slides latches.pdfAreebaShoukat4
 
Example of the Laplace Transform
Example of the Laplace TransformExample of the Laplace Transform
Example of the Laplace TransformDavid Parker
 
Applications laplace transform
Applications laplace transformApplications laplace transform
Applications laplace transformMuhammad Fadli
 
Augmented reallityandeducation1
Augmented reallityandeducation1Augmented reallityandeducation1
Augmented reallityandeducation1Amin Meyghani
 
Latches and flip flop
Latches and flip flopLatches and flip flop
Latches and flip flopShuaib Hotak
 
Resonant circuits
Resonant circuitsResonant circuits
Resonant circuitsarjav patel
 
Logic Design - Chapter 6: Flip Flops
Logic Design - Chapter 6: Flip FlopsLogic Design - Chapter 6: Flip Flops
Logic Design - Chapter 6: Flip FlopsGouda Mando
 
Speech waves in tube and filters
Speech waves in tube and filtersSpeech waves in tube and filters
Speech waves in tube and filtersNikolay Karpov
 
Logic design alexander1 christopher
Logic design alexander1  christopherLogic design alexander1  christopher
Logic design alexander1 christopherworld_chris
 
Lecture slides Ist & 2nd Order Circuits[282].pdf
Lecture slides Ist & 2nd Order Circuits[282].pdfLecture slides Ist & 2nd Order Circuits[282].pdf
Lecture slides Ist & 2nd Order Circuits[282].pdfsami717280
 
7-2.Nyquist Stability Criterion.ppt
7-2.Nyquist Stability Criterion.ppt7-2.Nyquist Stability Criterion.ppt
7-2.Nyquist Stability Criterion.pptDummyDummy74
 

Ähnlich wie 95414579 flip-flop (20)

unit3.ppt
unit3.pptunit3.ppt
unit3.ppt
 
B sc cs i bo-de u-iv sequential circuit
B sc cs i bo-de u-iv sequential circuitB sc cs i bo-de u-iv sequential circuit
B sc cs i bo-de u-iv sequential circuit
 
best slides latches.pdf
best slides latches.pdfbest slides latches.pdf
best slides latches.pdf
 
lec7.ppt
lec7.pptlec7.ppt
lec7.ppt
 
Example of the Laplace Transform
Example of the Laplace TransformExample of the Laplace Transform
Example of the Laplace Transform
 
12 latches
12 latches12 latches
12 latches
 
Applications laplace transform
Applications laplace transformApplications laplace transform
Applications laplace transform
 
Augmented reallityandeducation1
Augmented reallityandeducation1Augmented reallityandeducation1
Augmented reallityandeducation1
 
Lect19 Engin112
Lect19 Engin112Lect19 Engin112
Lect19 Engin112
 
Latches and flip flop
Latches and flip flopLatches and flip flop
Latches and flip flop
 
Cs1104 11
Cs1104 11Cs1104 11
Cs1104 11
 
Resonant circuits
Resonant circuitsResonant circuits
Resonant circuits
 
Logic Design - Chapter 6: Flip Flops
Logic Design - Chapter 6: Flip FlopsLogic Design - Chapter 6: Flip Flops
Logic Design - Chapter 6: Flip Flops
 
Speech waves in tube and filters
Speech waves in tube and filtersSpeech waves in tube and filters
Speech waves in tube and filters
 
Logic design alexander1 christopher
Logic design alexander1  christopherLogic design alexander1  christopher
Logic design alexander1 christopher
 
Quantum Hw 15
Quantum Hw 15Quantum Hw 15
Quantum Hw 15
 
Flipflop r012
Flipflop   r012Flipflop   r012
Flipflop r012
 
Lecture slides Ist & 2nd Order Circuits[282].pdf
Lecture slides Ist & 2nd Order Circuits[282].pdfLecture slides Ist & 2nd Order Circuits[282].pdf
Lecture slides Ist & 2nd Order Circuits[282].pdf
 
Hv chap8
Hv chap8Hv chap8
Hv chap8
 
7-2.Nyquist Stability Criterion.ppt
7-2.Nyquist Stability Criterion.ppt7-2.Nyquist Stability Criterion.ppt
7-2.Nyquist Stability Criterion.ppt
 

Kürzlich hochgeladen

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

95414579 flip-flop

  • 1. Flip-Flops Objectives This section is the first dealing with sequential circuits. It introduces Flip-Flops, an important building block for most sequential circuits. First it defines the most basic sequential building block, the RS latch, and investigates some of its properties. Then, it introduces clocks and shows how they can be used to synchronize latches to get gated latches. Finally, it extends gated latches to flip-flops by developing a more stable clocking technique called dynamic clocks. The Section also develops the state table behavioral model for gated latches and flip-flops Reading Assignment Chapter 3, Sections 3.1-3.3. Elec 326 1 Flip-Flops Latches Problem: Design a network to control a lamp from two pushbutton switches labeled S and R. If we push switch S the light should turn on. If we then release S, the light should stay on. If we push switch R, the lamp should turn off and stay off after releasing R. Assume that both S and R are not pushed at the same time. + S + Q ? Lamp R R S Q 0 1 0 1 0 0 Elec 326 2 Flip-Flops 1
  • 2. A Solution R Q S X Construct a truth table for this circuit. RS X Q 0 0 Q’ X’ 0 1 0 1 1 0 1 0 1 1 0 0 Write Boolean expressions for X and Q. X = (S+Q)'; Q = (R+X)' Q = R'•X' = R'•(S+Q) Let S = R = 0. Then Q = 1•(0+Q) = Q Elec 326 3 Flip-Flops The previous circuit is called an SR Latch and is usually drawn as shown below: R Q R Q S Q S Q_L Logic Diagram Symbol Observations The latch has two states, Q = 0 and Q = 1 The output depends on the state as well as the inputs, so the circuit is sequential The circuit has a loop, as all sequential circuits do The outputs Q and Q_L are logical complements unless inputs S and R are both 1 Asserting S (i.e., setting it to 1) sets Q to 1 (and Q_L to 0). Asserting R (i.e., setting it to 1) resets Q to 0 ( and Q_L to 1) If neither S nor R are asserted, Q retains a value determined by the last time S or R were asserted Bad things can happen if both S and R are asserted simultaneously as we will see below. Elec 326 4 Flip-Flops 2
  • 3. Unstable latch behavior (Oscillation) Assume that all gates have a fixed delay δ modeled as follows: X X δ Y Y Y(t+δ) = X(t) δ This gives the following latch model: Q(t+δ) R δ Q(t) S δ X(t) X(t+δ) Then Q(t+δ) = (R(t) + X(t))' = R(t)' • X(t)', and X(t+δ) = (S(t) + Q(t))' = S(t)' • Q(t)' Elec 326 5 Flip-Flops Now set S = R = 1, so that both Q and X are equal to 0 after at most a delay of δ. Then change both R and S to 0 at exactly the same time. Then Q(t+δ) = X(t)' and X(t+δ) = Q(t)' δ δ δ δ R S Q X Elec 326 6 Flip-Flops 3
  • 4. Unstable latch behavior (Metastable state) Equivalent circuit for the latch when R = S = 0 vi1 vo1 vi2 vo2 Transfer characteristics of an inverter: vout vin Elec 326 7 Flip-Flops Now consider the behavior of the following circuit: vi1 vo1 vi2 vo2 Superimposing the two graphs gives the following: vo1, vi2 Inverter 1 Inverter 2 vi1,vo2 Elec 326 8 Flip-Flops 4
  • 5. Now consider connecting v02 to vi1 vo1 = vi2 vo2 = vi1 δ δ The dots on the graph represent points where the inputs and outputs of the delays are equal. The dots on the two ends represent the two stable states of the system. Small changes in any of the signals are damped out quickly. The dot in the middle represents a metastable state. Small changes in any of the signals are amplified and the circuit leaves the metastable state. The hill analogy: The latch could get in the metastable state in the following way: R S Q What is the relationship between hazards and the metastable state? Elec 326 9 Flip-Flops Avoiding unstable behavior of SR latches Since both the oscillation and the metastable state are undesirable behavior, we should try to avoid them. this can be done with the following rules: Do not change R and S from 1 to 0 at the same time. This is necessary to avoid the oscillation behavior seen above One way to guarantee that this will not happen is to never allow them to both be 1 at the same time. Once you change an input, do not change it again until the circuit has had time to complete all its signal transitions and reach a stable state. This is necessary to avoid the metastable behavior illustrated above Elec 326 10 Flip-Flops 5
  • 6. /R/S Latch R_L Q_L R Q Q S Q S_L Logic Diagram Symbol Changing from 00 to 11 can produce nondeterministic behavior Propagation Delay of Ungated Latches tPRQ - Delay from the R input to the Q output tPSQ - Delay from the S input to the Q output tPRQ_L - Delay from the R input to the Q_L output tPSQ_L - Delay from the S input to the Q_L output S Q tPSQ Elec 326 11 Flip-Flops Verilog descriptions of an SR latch module srlatch1 (s, r, q, q_n); input s, r; output q, q_n; assign q_n = ~(s | q); assign q = ~(r | q_n); endmodule module srlatch2 (s, r, q); module srlatch3 (s, r, q); input s, r; input s, r; output q; output q; reg q; reg q; always @(s or r) always @(s or r) if (s & r) q = 0; case ({s,r}) else if (~s & r) q = 0; 3: q = 0; else if (s & ~r) q = 1; 2: q = 1; 1: q = 0; endmodule endcase endmodule Elec 326 12 Flip-Flops 6
  • 7. Gated Latches Clock Signals It is easier to avoid the metastable state if we place restrictions on when a latch can change states. This is usually done with a clock signal. 1 2 3 4 CK 1 2 3 4 5 The effect of the clock is to define discrete time intervals. The clock signal is used so that the latch inputs are ignored except when the clock signal is asserted. This effectively makes time discrete, since we do not care what happens when the clock is not asserted. Elec 326 13 Flip-Flops Gated SR Latch R Q_L R Q CK CK S Q Q S Logic Diagram Symbol Gated Latch Function Table CK S R Q(t+δ) 0 0 0 Q(t) 0 0 1 Q(t) 0 1 0 Q(t) 0 1 1 Q(t) 1 0 0 Q(t) 1 0 1 0 1 1 0 1 1 1 1 0 Note that when CK is 0, the simple latch has both inputs 0 and the inputs S and R have no effect Elec 326 14 Flip-Flops 7
  • 8. Gated Latch Transition Table Note that the internal latch inputs will both go from 1 to 0 if the S and R inputs are both 1 when the clock goes low. Hence we must never have S and R at 1 when the clock is 1. We make the following rules for changing inputs. Don't change the inputs while the clock is asserted. Don't apply the inputs S = R = 1 when the clock is asserted. Then we can use the following model of latch behavior: While the clock is not asserted, the inputs are ignored and the state does not change. When the clock is asserted, the latch can change state and the values of the input signals S(t) and R(t) and current state Q(t) just prior to the clock assertion determine the new value of the latch’s state Q(t+1). Assuming this model, we can describe the latch’s behavior by a table that gives the new state Q(t+1) that will occur when the clock is asserted given the current state Q(t) and the current inputs S(t) and R(t). S(t) R(t) Q(t) 00 01 11 10 0 0 0 d 1 1 1 0 d 1 Q(t+1) This table is called a transition table or state transition table. The clock is not shown explicitly, but is inherent in the interpretation we place on table. Elec 326 15 Flip-Flops Gated D Latch This latch is useful when you need a device to store (remember) a bit of data. D S Q D Q CK CK R Q CK Q Logic Diagram Symbol The D stands for "data" or "delay." The term data refers to the fact that the latch stores data. The term delay refers to the fact the output Q is equal to the input D one time period later. That is, Q is equal to D delayed by one time period. Gated D Latch Transition Table D(t) Q(t) 0 1 0 0 1 1 0 1 Q(t+1) There is no such thing as an ungated D latch. Why? The gated D latch is also called a transparent latch. Elec 326 16 Flip-Flops 8
  • 9. Alternative Design of the gated D Latch CK D Q Exercise: Compare this implementation with the following one: D Q CK Q_L Elec 326 17 Flip-Flops Propagation Delay of Gated Latches Since changes in the data inputs of a gated latch have no effect unless the clock is asserted, propagation delay is not measured from the data inputs. Propagation delay is measured from the clock input to the outputs. tPCQ (or tPQ) - delay from time clock is asserted until the Q output changes CLK Q tPCQ tPCQ_L (or tPQ_L) - delay from time clock is asserted until the Q_L output changes CLK Q tPCQ_L Propagation delays can be different from high-to-low transition and low-to-high transitions CLK Q tPQHL tPQLH Elec 326 18 Flip-Flops 9
  • 10. Verilog description of gated latches Gated SR Latch: module gatedsr (G, S, R, Q); input G, R, S; output Q; reg Q; always @(G or S or R) if (G) if (S & ~R) Q = 1; else if (~S & R) Q = 0; else if (S & R) Q = 0; endmodule Gated D Latch: module gatedd (D, Clk, Q); input D, Clk; output Q; reg Q; always @(D or Clk) if (Clk) Q = D; endmodule Elec 326 19 Flip-Flops Exercise Consider the following 4-stage shift register made from gated D latches: Q1 Q2 Q3 Q4 DIN D Q D Q D Q D Q CK Q CK Q CK Q CK Q CLK The intended behavior is that data bits are shifted in at the DIN terminal and shifted out at the Q4 terminal four clock pulses later. The first clock pulse loads the bit into Q1 and the second clock pulse transfers this bit from Q1 to Q2 while a new bit is loaded into Q1, and so on. What applications could you suggest for this circuit? Elec 326 20 Flip-Flops 10
  • 11. Draw a timing diagram for this circuit assuming that the propagation delay of the latch is greater than the clock pulse width. CLK DIN=1 Q1=0 Q2=0 Q3=0 Q4=0 Draw a timing diagram for this circuit assuming that the propagation delay of the latch is less than the clock pulse width. CLK DIN=1 Q1=0 Q2=0 Q3=0 Q4=0 Elec 326 21 Flip-Flops Flip-Flops Dynamic Clock Inputs The gated latch only looks at its data inputs while the clock is asserted; it ignores them at other times The window of time when the latch is looking at and reacting to its inputs is the duration of the time that the clock is asserted It is easier to design the circuits that generate a latch’s data inputs if the window when the latch is looking at the data inputs is small. We could only assert the clock for a short time, but this creates other problems Dynamic clock inputs and the latches that use them reduce the window to a very small time around an edge of the clock There are two types of dynamic clock inputs, edge- triggered and master-slave. Latches that use dynamic clocks are called flip-flop Elec 326 22 Flip-Flops 11
  • 12. Positive Edge-Triggered D Flip-Flops Q1 Q2 D Q D D Q D Q Q CK Q CK Q Q_L Q CK Logic Diagram Symbol This flip-flop samples its D input on the rising edge of the clock and is therefore called an edge-triggered flip-flop. The first latch is called the master latch and the second one is called the slave latch. The slave latch always follows the master latch. Note that Brown & Vranesic call this a master-slave flip- flop. Elec 326 23 Flip-Flops Edge-triggered flip-flop behavior Q1 Q2 D D Q D Q Q CK Q CK Q Q_L CK When the clock is low, the master latch is enabled and its output follows its D input. When the clock makes a low-to-high transition, the master latch is deactivated and the last value it saw in its D input is stored in its memory. At the same time, this value is transferred from the master to the slave latch. The slave is enabled while the clock is high, it will only change its value at the time the clock goes high, since its input is connected to the master, and it cannot change while the clock is high. The edge-triggered flip-flop behaves as if it samples its input during rising edges of the clock, and that is the only time its output can change. The sampling window is very short, and that is the only time during which the input signal must be held constant. Elec 326 24 Flip-Flops 12
  • 13. Negative Edge-Triggered D Flip-Flops Q1 Q2 D D Q D Q Q CK Q CK Q Q_L CK Asynchronous Inputs CLR_L D R Q R Q Q PR D Q S Q S Q Q_L Q PR_L CLR CK Logic Diagram Symbol If CLK is held at 0, the D flip-flop acts like an SR latch with PR the set input and CLR the reset input Elec 326 25 Flip-Flops Edge-Triggered JK Flip-Flops The JK Flip-Flop has two inputs J and K. All four possible input configurations are valid. The J acts like S and the K acts like R, when there is only one input with value 1. When both J and K are 1, the flip-flop toggles. JK Q 00 01 11 10 0 0 0 1 1 J D Q Q K 1 1 0 0 1 Q Q_L CK Q* Q* = J•Q’ + K’•Q What would happen if we used a gated D latch instead of an edge triggered flip-flop? Elec 326 26 Flip-Flops 13
  • 14. Verilog descriptions of edge-triggered flip-flops D Flip-Flop module flipflopd (D, Ck, Clr, Q); input D, Ck, Clr; output Q; reg Q; always @(posedge Ck or posedge Clr) if (Clr) Q = 0; else Q = D; endmodule JK Flip-Flop module flipflopjk (Ck, J, K, Q); input Ck, J, K; output Q; reg Q; always @(negedge Ck) if (J & ~K) Q = 1; else if (~J & K) Q = 0; else if (J & K) Q = ~Q; endmodule Elec 326 27 Flip-Flops Timing parameters for edge-triggered flip-flops Inputs must not change while they are being sampled by the clock. Setup and hold times Sampling Window tsu - Setup time CK th - Hold time tsu th Propagation delays CK Q tPLH(CQ) tPHL(CQ) Propagation delay must exceed hold time! th CK Q D tP Elec 326 28 Flip-Flops 14
  • 15. Trigger Flip-Flop T Q T D Q Q Q CK Q Q_L Logic Diagram Symbol Master-Slave Flip-Flops SR master-slave flip-flop QM QS S S Q S Q Q S Q CK CK R R Q R Q Q_L CK R Q CK Logic Diagram Symbol JK master-slave flip-flop QM QS J S Q S Q Q J Q CK CK CK K R Q R Q Q_L K Q CK Logic Diagram Symbol Elec 326 29 Flip-Flops Pulse Catching CK J K QM QS Comparison of flip-flop types QL QMS QET S S Q S Q S Q CK CK R Q R Q R Q R CK CK S R QL QMS QET Elec 326 30 Flip-Flops 15
  • 16. Verilog description of master-slave flip-flops module flipflopms (Ck, S, R, Q, master); input Ck, S, R; output Q, master; reg master, Q; always @(Ck or S or R) if (Ck) begin if (S & ~R) master = 1; else if (~S & R) master = 0; else if (S & R) master = 0; end else Q = master; endmodule Elec 326 31 Flip-Flops Review The behavior of latches Metastability Adding clocks to latches - gated latches The properties of dynamic clocks - flip-flops Edge-triggering Setup and Hold times Types of flip-flops: SR, D and JK The transition table model for flip-flop behavior Elec 326 32 Flip-Flops 16