Logic
Logic
CMOS VLSI
      Design
    Chapter 7:
Sequential Circuits
    copyright@David Harris, 2004
      Updated by Li Chen, 2010
                          Outline
    Floorplanning
    Sequencing
    Sequencing Element Design
    Max and Min-Delay
    Clock Skew
    Time Borrowing
    Two-Phase Clocking
  in                          out
           CL                                  CL                 CL
Latch
                                                                 Flop
                                         D             Q   D            Q
   – Transparent
   – Opaque                        clk
                                   D
   – Edge-trigger
                                   Q (latch)
Q (flop)
Latch
                                                                 Flop
                                         D             Q   D            Q
   – Transparent
   – Opaque                        clk
                                   D
   – Edge-trigger
                                   Q (latch)
Q (flop)
      •                                      D                  Q
      •
                                                         φ
   –
   +                                  D
                                                 X
                                                     φ
                                             φ
   + No backdriving                   D
                                                 X
                                                     φ
                                             φ
φ φ
φ φ Q
                              X
           D                                             Q
                                  φ             φ
                          φ                 φ
φ φ
φ φ
                                               D       1
                           Latch
Latch
                                                                                       Latch
                     D             Q                                  Q            D           Q
                                                       0
en en
                                                                                       φ en
                                                              φ
                            φ              D       1
                                                              Flop
                                                                          Q
                                                   0
                           Flop
                                                                                       Flop
                 D                     Q                                       D                   Q
                                                   en
                           en
Latch
                                                                                               Flop
                                         D            Q                                D                   Q
                                             reset                                            reset
            Synchronous Reset
φ Q φ φ Q
                                 reset                                     reset
                                                                                                                            Q
                                    D                                         D
                                                                                                   φ               φ
                                                          φ
                                              φ                                        φ                   φ
                                                                                                   φ               φ
                                                          φ
                                                                                                                             Q
                                                                    Q                                          φ
            Asynchronous Reset
                                              φ                                        φ
                                                                                           reset
                                 reset
                                                                                   D
                                    D                                                                                  φ
                                                              φ                                        φ
                                                                                                               φ
                                              φ                                        φ
                                                                                                                           reset
                                                                  reset
                                                                                                       φ
                                                                                                                       φ
                                                              φ
 Flip-flops
                             Flip-Flops
                                                           clk
 Pulsed Latches
Flop
                                                                                                                                  Flop
                                                                                  Combinational Logic
φ1 φ2 φ1
Latch
Latch
                                                                                                                                  Latch
                                                                         Combinational                    Combinational
                                                                            Logic                            Logic
                                                                         Half-Cycle 1                     Half-Cycle 1
                             Pulsed Latches
φp tpw
                                                                  φp                                                               φp
                                                                 Latch
                                                                                                                                  Latch
                                                                                   Combinational Logic
                                                       Flop
                                            D                     Q       D
tccq     Latch/Flop Clk-Q Cont. Delay                                                              tpcq
                                                                          Q              tccq
tpdq     Latch D-Q Prop Delay
                                                D             Q           D                                   tpdq
                                                                                                    tcdq
thold    Latch/Flop Hold Time                                             Q
F1
                                                                                       F2
            sequencing overhead                         Combinational Logic
Tc
                                                                              tsetup
                                  clk
                                              tpcq
Q1 tpd
D2
14243 Q1 D2
F1
                                                                                         F2
              sequencing overhead                         Combinational Logic
Tc
                                                                                tsetup
                                    clk
                                                tpcq
Q1 tpd
D2
L1
L2
                                                                                                                        L3
                       sequencing overhead                       Logic 1                            Logic 2
φ1
                                             φ2
                                                                                           Tc
D1 tpdq1
Q1 tpd1
D2 tpdq2
Q2 tpd2
D3
L1
L2
                                                                                                                                 L3
                                sequencing overhead                       Logic 1                            Logic 2
φ1
                                                      φ2
                                                                                                    Tc
D1 tpdq1
Q1 tpd1
D2 tpdq2
Q2 tpd2
D3
             1444  424444
                        3                                    D1        Q1                                D2         Q2
L1
                                                                                                              L2
                                                                              Combinational Logic
                   sequencing overhead
Tc
D1 tpdq
D2
φp
                                                                   tpcq                             Tc             tpw
                                                             Q1                         tpd                         tsetup
                                          (b) tpw < tsetup
                                                             D2
14444244443 D1 Q1 D2 Q2
L1
                                                                                                                 L2
                                                                                 Combinational Logic
                      sequencing overhead
                                                                                                  Tc
D1 tpdq
D2
φp
                                                                      tpcq                             Tc             tpw
                                                                Q1                         tpd                         tsetup
                                             (b) tpw < tsetup
                                                                D2
tcd ≥ Q1
                                     F1
                                                   CL
clk
D2
                                     F2
                               clk
Q1 tccq tcd
D2 thold
                                     F1
                                                   CL
clk
D2
                                     F2
                               clk
Q1 tccq tcd
D2 thold
tcd 1,tcd 2 ≥ Q1
                                                     L1
                                                                 CL
                                  φ2
 Hold time reduced by        D2
                                  L2
 nonoverlap
                                       tnonoverlap
                             φ1
 Paradox: hold applies
                                                          tccq
                             φ2
 twice each cycle, vs.
 only once for flops.                       Q1                   tcd
D2 thold
                                                                       L1
                                                                                   CL
                                                    φ2
 Hold time reduced by                          D2
                                                    L2
 nonoverlap
                                                         tnonoverlap
                                               φ1
 Paradox: hold applies
                                                                            tccq
                                               φ2
 twice each cycle, vs.
 only once for flops.                                         Q1                   tcd
D2 thold
tcd ≥ Q1
                                 L1
                                            CL
                                  φp
 Hold time increased
                            D2
 by pulse width
                                  L2
                            φp
                                 tpw
                                            thold
Q1 tccq tcd
D2
                                   L1
                                              CL
                                    φp
 Hold time increased
                              D2
 by pulse width
                                    L2
                              φp
                                   tpw
                                              thold
Q1 tccq tcd
D2
              φ2
                   φ1                                  φ2                           φ1
                   Latch
Latch
                                                                                    Latch
                                                                Combinational
      (a)                   Combinational Logic
                                                                   Logic
Loops may borrow time internally but must complete within the cycle
          ≤ c − ( tsetup + tnonoverlap )
                                            D1        Q1                                 D2         Q2
           T
L1
                                                                                               L2
                                                             Combinational Logic 1
tborrow
            2
                                           φ1
                                           φ2                                                          tnonoverlap
Pulsed Latches                                                                 Tc
                                                                                              tsetup
tborrow ≤ t pw − tsetup                                    Tc/2
                                                 Nominal Half-Cycle 1 Delay
                                                                               tborrow
D2
F1
                                                                                                                   F2
                                                                                    Combinational Logic
144 42444 3 Tc
                  sequencing overhead
                                                    clk
Q1 tpdq tsetup
D2
clk
Q1
                                                           F1
                                                                             CL
clk
D2
                                                                 F2
                                                                      tskew
                                                     clk
                                                                            thold
Q1 tccq
D2 tcd
                  (122
                     t )
                                                             D1        Q1   Combinational   D2        Q2   Combinational    D3        Q3
L1
L2
                                                                                                                                 L3
t pd ≤ Tc −            pdq
                                                                              Logic 1                        Logic 2
                      3
              sequencing overhead                       φ1
                               X
              D                                       Q
                                   φ2          φ1
                          φ2             φ1
φ2 φ1