Iccad 95 Tut.ps

Embed Size (px)

Citation preview

  • 8/13/2019 Iccad 95 Tut.ps

    1/219

    T u t o r i a l

    T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s

    M i c h a e l K i s h i n e v s k y

    T h e U n i v e r s i t y o f A i z u ,

    J a p a n

    L u c i a n o L a v a g n o

    P o l i t e c n i c o d i T o r i n o ,

    I t a l y

    C a d e n c e B e r k e l e y L a b s ,

    U S A

    P e t e r V a n b e k b e r g e n

    S y n o p s y s , I n c , U S A

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1

  • 8/13/2019 Iccad 95 Tut.ps

    2/219

    O u t l i n e

    I n t r o d u c t i o n a n d b a s i c s

    W h a t i s a s y n c h r o n o u s , a d v a n t a g e s a n d d i s a d v a n t a g e s , d e s i g n s t y l e s ,

    h a z a r d s a n d r a c e s , c o n t r o l / d a t a d i c h o t o m y

    S p e c i c a t i o n a n d s y n t h e s i s m e t h o d o l o g i e s

    E v e n t b a s e d m o d e l s , c o n c u r r e n t l a n g u a g e s , F S M s

    S y n t h e s i s f r o m S i g n a l T r a n s i t i o n G r a p h s

    S y n t h e s i s o w , s t a t e a s s i g n m e n t , l o g i c s y n t h e s i s , d e s i g n - f o r - t e s t a b i l i t y ,

    c o m p a r i s o n w i t h s y n c h r o n o u s

    V e r i c a t i o n a n d v a l i d a t i o n o f a s y n c h r o n o u s d e s i g n s

    F o r m a l v e r i c a t i o n , c h e c k i n g p r o p e r t i e s , v a l i d a t i o n i n V H D L e n v i r o n m e n t

    P r a c t i c a l a p p l i c a t i o n s

    I n t e r f a c e d e s i g n , a s y n c h r o n o u s p r o c e s s o r s , D S P c i r c u i t s , C A D t o o l s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 2

  • 8/13/2019 Iccad 95 Tut.ps

    3/219

    M o t i v a t i o n

    R e l i a b l e d e s i g n m e t h o d o l o g y f o r a s y n c h r o n o u s i s c o m i n g

    A s y n c h r o n o u s d e s i g n s o m e t i m e s u n a v o i d a b l e

    ( a s y n c h r o n o u s i n t e r f a c e s , a r b i t e r s , e t c )

    A s y n c h r o n o u s i s g e t t i n g m o r e i m p o r t a n t :

    " I n t h e m i c r o p r o c e s s o r o f t h e y e a r 2 0 0 0 ] w e w i l l s e e p e r h a p s e v e n

    a s y n c h r o n o u s d e s i g n "

    " L o o k i n g a t t h e f u t u r e "

    A n a n t A g r a w a l , V i c e P r e s i d e n t ,

    E n g i n e e r i n g S u n M i c r o s y s t e m s

    S P A R C T e c h n o l o g y B u s i n e s s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 3

  • 8/13/2019 Iccad 95 Tut.ps

    4/219

    W h a t i s a s y n c h r o n o u s ?

    A s y n c h r o n o u s = n o t s y n c h r o n o u s )

    S y n c h r o n o u s : u s e a n e x t e r n a l g l o b a l c l o c k f o r

    o b s e r v i n g s y s t e m s t a t e s

    A s y n c h r o n o u s : u s e i n t e r n a l a n d e x t e r n a l e v e n t s f o r

    o b s e r v i n g s y s t e m s t a t e s

    A s y n c h r o n o u s a r e a l s o c a l l e d s e l f - t i m e d

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 4

  • 8/13/2019 Iccad 95 Tut.ps

    5/219

    S y n c h r o n o u s c o m m u n i c a t i o n

    Register

    Sender Receiver

    Register

    Clock

    Logic

    Data input

    Clock

    Tsetup Thold

    T i m i n g c o n s t r a i n t : i n p u t d a t a m u s t s t a y u n c h a n g e d w i t h i n a s e t u p / h o l d

    w i n d o w a r o u n d a c l o c k e v e n t

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 5

  • 8/13/2019 Iccad 95 Tut.ps

    6/219

    A s y n c h r o n o u s c o m m u n i c a t i o n

    Register

    Sender Receiver

    Register

    Logic

    Ack

    Req

    Data

    A s i g n a l h a n d s h a k e i s u s e d i n s t e a d o f a g l o b a l c l o c k

    H a n d s h a k e c a n b e i m p l e m e n t e d u s i n g

    d e l a y p a d d i n g o r / a n d c o m p l e t i o n d e t e c t i o n

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 6

  • 8/13/2019 Iccad 95 Tut.ps

    7/219

    C o m p l e t i o n d e t e c t i o n

    Register

    Sender Receiver

    Register

    Logic

    Ack

    Data

    detector

    Req

    S p e c i a l r e d u n d a n t d a t a e n c o d i n g ) a r e a o v e r h e a d

    C o m p l e t i o n d e t e c t i o n f o r m s a r e q u e s t ) m o r e a r e a o v e r h e a d

    C o m p l e t i o n d e t e c t i o n c a n b e d o n e i n s i d e a r e c e i v e r

    T o l e r a t e s d a t a s k e w

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 7

  • 8/13/2019 Iccad 95 Tut.ps

    8/219

    D e l a y p a d d i n g

    Register

    Sender Receiver

    Register

    Logic

    Ack

    Req

    Data

    d

    S i m i l a r t o s y n c h r o n o u s

    M e a s u r e o r e s t i m a t e m a x i m u m l o g i c d e l a y

    P a d e x t r a d e l a y ( i f R e q s e t s b e f o r e L o g i c s t a b i l i z e s )

    f o r m i m i c k i n g c o m p l e t i o n d e t e c t i o n

    T i m e r e d u n d a n c y { t i m i n g m a r g i n s a r e r e q u i r e d

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 8

  • 8/13/2019 Iccad 95 Tut.ps

    9/219

    P o t e n t i a l a d v a n t a g e s

    T o p t e n l i s t s a t A s y n c 9 4 f r o m A l D a v i s

    N o c l o c k d i s t r i b u t i o n

    A v e r a g e c a s e p e r f o r m a n c e

    L o w p o w e r c o n s u m p t i o n

    R o b u s t n e s s t o p a r a m e t e r v a r i a t i o n s

    M o d u l a r c o m p o s i t i o n

    M e t a s t a b i l i t y

    e i t h e r d o e s n o t o c c u r o r h a s t i m e t o r e s o l v e

    G l o b a l s y n c h r o n y d o e s n o t e x i s t a n y w a y

    ( h a r d w a r e / s o f t w a r e c o d e s i g n )

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 9

  • 8/13/2019 Iccad 95 Tut.ps

    10/219

    R o b u s t n e s s

    1 2 3 4 5 6 7 8 9 10

    1

    5

    20

    15

    10

    MOperations/sec

    Voltage, V

    77K

    300K

    5 op/s

    A l a i n M a r t i n 1 9 8 9

    C h r i s t i a n N i e l s e n 1 9 9 4

    O p e r a t i n g r a n g e :

    5 o p / s u n d e r 0 5 V a n d 3 0 0 K $ 1 9 M o p / s u n d e r 1 1 V a n d 7 7 K

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 0

  • 8/13/2019 Iccad 95 Tut.ps

    11/219

    P r o b l e m s

    H a v e y o u e v e r s e e n a s y n c h r o n o u s c i r c u i t s ?

    A r e a o v e r h e a d

    T e s t a b i l i t y ?

    H o w t o d e s i g n t h e m ?

    A s y s t e m a t i c d e s i g n m e t h o d o l o g y i s n e e d e d

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 1

  • 8/13/2019 Iccad 95 Tut.ps

    12/219

    P a r t 1 : B a s i c s

    E x a m p l e : C - e l e m e n t d e s i g n

    C o m p l e t i o n d e t e c t i o n

    D e s i g n s t y l e s

    { d e l a y m o d e l s

    { s i g n a l l i n g m e t h o d s

    { m o d e l s o f e n v i r o n m e n t

    H a z a r d s a n d r a c e s : r e v i e w

    A s y n c h r o n o u s d a t a p a t h

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 2

  • 8/13/2019 Iccad 95 Tut.ps

    13/219

    S y n c h r o n i z a t i o n o f p a r a l l e l p r o c e s s e s

    ?coci

    bo

    aoai

    biB

    A

    C

    A f t e r A a n d B d o C

    B o t h r i s i n g a n d f a l l i n g t r a n s i t i o n s

    h a v e t o b e s y n c h r o n i z e d :

    i f a = b = 1 t h e n c : = 1

    i f a = b = 0 t h e n c : = 0

    o t h e r w i s e c : = c

    A N D - g a t e s y n c h r o n i z e s o n l y

    r i s i n g t r a n s i t i o n s

    S y n c h r o n i z a t i o n c a n b e d o n e w i t h a C - e l e m e n t

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 3

  • 8/13/2019 Iccad 95 Tut.ps

    14/219

    C - e l e m e n t o n b a s i c g a t e s

    cab

    0 0

    0

    0

    1 1 1

    1

    1

    42

    3

    a

    bc

    I s t h i s i m p l e m e n t a t i o n c o r r e c t ?

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 4

  • 8/13/2019 Iccad 95 Tut.ps

    15/219

    D e l a y a s s u m p t i o n s

    1

    42

    3

    a

    bcn1

    n2

    n3

    n4

    Environment

    delay1

    delay2

    01 01

    0101

    0

    0

    0

    010

    0

    D e l a y 1 i s a p r o p a g a t i o n

    d e l a y f r o m n o d e 1 v i a

    e n v i r o n m e n t t o n o d e 3

    D e l a y 2 i s a p r o p a g a t i o n

    d e l a y f r o m n o d e 1 v i a

    i n t e r n a l f e e d b a c k

    t o n o d e 3

    D e l a y 1 m u s t b e g r e a t e r

    t h a n D e l a y 2

    D e l a y a s s u m p t i o n s i n u e n c e c o r r e c t n e s s o f a s y n c h r o n o u s d e s i g n

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 5

  • 8/13/2019 Iccad 95 Tut.ps

    16/219

    C M O S i m p l e m e n t a t i o n o f a C - e l e m e n t

    b

    ac

    a

    a

    a

    b

    b

    b

    weak

    b

    a

    a

    b

    a

    a

    b

    bc

    c

    c

    S t a t i c D y n a m i c Q u a s i - s t a t i c

    A r e t h e s e i m p l e m e n t a t i o n s c o r r e c t ?

    C a r e f u l d e s i g n i s r e q u i r e d ( l a y o u t , t r a n s i s t o r s i z i n g , c h a r g e s h a r i n g )

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 6

  • 8/13/2019 Iccad 95 Tut.ps

    17/219

    R S - l a t c h w i t h c o m p l e t i o n d e t e c t i o n

    R

    S

    Completion

    Q

    Q

    R

    S

    Completion

    Q

    Q

    C o m p l e t i o n = 0 , < S R > = < Q Q

    0

    >

    G i l l i e s , S w a r t w o u t ' 6 1 ( i n M i l l e r ' 6 5 ) , M a r t i n , v a n B e r k e l 8 0 ' s ]

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 7

  • 8/13/2019 Iccad 95 Tut.ps

    18/219

    D u a l - r a i l f o u r - p h a s e e n c o d i n g

    1

    2

    3

    4Data

    Ack

    Send Reset

    Cycle

    Valid Empty

    X X t X f

    T r u e 1 0

    F a l s e 0 1

    E m p t y 0 0

    V a l i d = f T r u e , F a l s e g

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 8

  • 8/13/2019 Iccad 95 Tut.ps

    19/219

    C o m p l e t i o n d e t e c t i o n

    Cn C2

    . . .

    x1.t

    x1.f

    xn.t

    xn.f

    X. . .

    . . .

    x1.t

    x1.f

    xn.t

    xn.f

    X

    . . .completion(X) completion(X)

    C o m p l e t i o n d e t e c t o r s f o r d u a l - r a i l f o u r - p h a s e c o d e

    A r m s t r o n g e t a l 6 9 ] V a r s h a v s k y 7 5 ]

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 9

  • 8/13/2019 Iccad 95 Tut.ps

    20/219

    C o m p l e t i o n d e t e c t i o n v s d e l a y p a d d i n g

    C o m p l e t i o n d e t e c t i o n

    { C o m p l e t i o n d e t e c t i o n i s w e l l d e v e l o p e d

    { R e q u i r e s a n a r e a o v e r h e a d a n d a n e x t r a - d e l a y

    N o t p r a c t i c a l f o r w i d e d a t a p a t h s

    B u n d l e d d a t a

    { P a d d i n g d e l a y a l l o w s t o m i m i c t h e c o m p l e t i o n d e t e c t i o n

    { D a t a p a t h i s s y n c h r o n o u s

    { R e q u i r e s t i m i n g r e d u n d a n c y f o r s a f e d e s i g n

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 2 0

  • 8/13/2019 Iccad 95 Tut.ps

    21/219

    W h a t i n u e n c e s t h e d e s i g n m e t h o d o l o g y

    D e l a y m o d e l

    S i g n a l l i n g m o d e l

    E n v i r o n m e n t m o d e l

    S p e c i c a t i o n l a n g u a g e

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 2 1

  • 8/13/2019 Iccad 95 Tut.ps

    22/219

    D e l a y m o d e l s

    P l a c e : g a t e s , w i r e s , g a t e s + w i r e s

    T i m i n g p r o p e r t i e s : b o u n d e d a n d u n b o u n d e d

    B o u n d e d = l o w e r a n d u p p e r b o u n d s f o r c i r c u i t c o m p o n e n t s a r e k n o w n

    U n b o u n d e d = d e l a y s a r e u n k n o w n b u t n i t e

    M e m o r y p r o p e r t i e s : i n e r t i a l a n d p u r e

    A p p l y a t r a i n o f s h o r t p u l s e s t o t h e i n p u t o f a d e l a y e l e m e n t

    b e f o r e t h e o u t p u t o f a d e l a y h a s c h a n g e d i t s v a l u e

    I n e r t i a l = a l l p u l s e s a r e l t e r e d o u t

    P u r e = n o p u l s e s a r e l t e r e d o u t

    I n t e r m e d i a t e m o d e l s a r e p o s s i b l e

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 2 2

  • 8/13/2019 Iccad 95 Tut.ps

    23/219

    G a t e v s w i r e d e l a y m o d e l s

    G a t e d e l a y m o d e l = d e l a y s a r e i n g a t e s , n o d e l a y s i n w i r e s

    M o r e r e a l i s t i c v e r s i o n : g a t e s m a y h a v e a r b i t r a r y d e l a y s , w i r e s

    a f t e r f o r k m a y h a v e d e l a y s l e s s t h a n o n e g a t e d e l a y

    W i r e d e l a y m o d e l = g a t e + w i r e d e l a y m o d e l :

    w i r e s ( a n d g a t e s ) m a y h a v e a r b i t r a r y d e l a y s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 2 3

  • 8/13/2019 Iccad 95 Tut.ps

    24/219

    D e l a y m o d e l s a n d c o r r e c t n e s s

    c

    b

    a

    b

    a

    a

    b

    a

    a

    b

    bc

    c

    Transistor view Logic view

    a

    b

    c

    d2

    d1

    d4

    d3 d5

    T h i s d e s i g n i s c o r r e c t f o r u n b o u n d e d g a t e d e l a y m o d e l

    T h i s d e s i g n i s i n c o r r e c t f o r u n b o u n d e d w i r e d e l a y m o d e l

    I f d 1 > d 3 + d 5 o r d 2 > d 3 + d 4 t h e n t h e i m p l e m e n t a t i o n

    d o e s n o t s a t i s f y t h e s p e c i c a t i o n

    C o r r e c t n e s s o f t h i s d e s i g n u n d e r t h e b o u n d e d d e l a y m o d e l

    d e p e n d s o n d e l a y c o n s t r a i n t s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 2 4

  • 8/13/2019 Iccad 95 Tut.ps

    25/219

    D e s i g n s t y l e s f o r a s y n c h r o n o u s c o n t r o l l o g i c

    B o u n d e d d e l a y s : r e a l i s t i c d e l a y m o d e l f o r g a t e s a n d w i r e s

    T e c h n o l o g y m a p p i n g i s e a s y

    V e r i c a t i o n i s d i c u l t s i n c e t i m e m u s t b e i n c l u d e d i n t h e m o d e l

    S p e e d - i n d e p e n d e n t : p e s s i m i s t i c d e l a y m o d e l f o r g a t e s

    ( u n b o u n d e d ) a n d o f t e n a c c e p t a b l e d e l a y m o d e l f o r w i r e s

    ( d e l a y s a f t e r f o r k a r e l e s s t h a n o n e g a t e d e l a y )

    T e c h n o l o g y m a p p i n g i s m o r e d i c u l t

    V e r i c a t i o n i s e a s y s i n c e t i m e i s e x c l u d e d f r o m t h e m o d e l

    D e l a y - i n s e n s i t i v e : p e s s i m i s t i c d e l a y m o d e l f o r g a t e s a n d w i r e s

    ( b o t h a r e u n b o u n d e d )

    T h e c l a s s o f s u c h c i r c u i t s ( b u i l t o u t o f b a s i c g a t e s ) i s a l m o s t e m p t y

    Q u a s i - d e l a y i n s e n s i t i v e = d e l a y - i n s e n s i t i v e e x c e p t c r i t i c a l w i r e f o r k s ,

    c a l l e d i s o c h r o n i c f o r k s

    I n p r a c t i c e t h i s i s t h e s a m e a s s p e e d - i n d e p e n d e n t

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 2 5

  • 8/13/2019 Iccad 95 Tut.ps

    26/219

    S i g n a l l i n g m e t h o d s

    T w o - p h a s e :

    r i s i n g a n d f a l l i n g s i g n a l t r a n s i t i o n s a r e e q u i v a l e n t

    F o u r - p h a s e :

    r i s i n g a n d f a l l i n g s i g n a l t r a n s i t i o n s a r e n o t e q u i v a l e n t

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 2 6

  • 8/13/2019 Iccad 95 Tut.ps

    27/219

    T w o - p h a s e s i g n a l l i n g

    Cycle Cycle

    Data

    Req

    Ack1

    3

    2Register

    Sender Receiver

    Register

    Logic

    Ack

    Req

    Data

    T w o t r a n s i t i o n s a t t h e c o n t r o l l i n e s d u r i n g o n e c y c l e

    a c k n o w l e d g e ) d a t a c h a n g e ) r e q u e s t

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 2 7

  • 8/13/2019 Iccad 95 Tut.ps

    28/219

    F o u r - p h a s e s i g n a l l i n g

    Register

    Sender Receiver

    Register

    Logic

    Ack

    Req

    Data

    Cycle

    ResetSend

    1

    2

    3

    4

    Data

    Ack

    Req

    F o u r t r a n s i t i o n s a t t h e c o n t r o l l i n e s d u r i n g o n e c y c l e

    C o n t r o l i s s i m p l e r

    R e s e t p h a s e : c h a n g e d a t a a n d r e s e t c o n t r o l

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 2 8

  • 8/13/2019 Iccad 95 Tut.ps

    29/219

    M o d e l s o f t h e e n v i r o n m e n t

    A s y n c h r o n o u s c i r c u i t s o p e r a t e i n t h e e n v i r o n m e n t

    S l o w e n o u g h e n v i r o n m e n t = F u n d a m e n t a l m o d e :

    i n p u t s c a n c h a n g e a f t e r t h e a s y n c h r o n o u s s y s t e m h a s s e t t l e d i n t o a s t a b l e

    s t a t e

    R e a c t i v e e n v i r o n m e n t = I n p u t / o u t p u t m o d e :

    i n p u t s c a n c h a n g e a s s o o n a s t h e r s t o u t p u t s i g n a l h a s c h a n g e d d u e t o

    t h e p r e v i o u s i n p u t c h a n g e

    C o n s t r a i n t s o n i n p u t c h a n g e s f o r f u n d a m e n t a l m o d e a n d I / O - m o d e :

    { S i n g l e i n p u t c h a n g e ( S I C ) - t o o s l o w

    { M u l t i p l e i n p u t c h a n g e ( M I C ) - d i c u l t t o d e s i g n u s i n g c l a s s i c a l a s y n -

    c h r o n o u s F S M t e c h n i q u e

    { U n r e s t r i c t e d i n p u t c h a n g e ( U I C ) - v e r y d i c u l t t o d e s i g n u s i n g c l a s s i c a l

    a s y n c h r o n o u s F S M t e c h n i q u e

    F u n d a m e n t a l m o d e c o n s t r a i n t s a r e s i m i l a r t o s e t u p a n d h o l d r e s t r i c t i o n s i n

    s y n c h r o n o u s d e s i g n F u n d a m e n t a l m o d e i s o f t e n t o o r e s t r i c t i v e

    E x a m p l e : a n y p i p e l i n e o p e r a t e s i n I / O - m o d e

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 2 9

  • 8/13/2019 Iccad 95 Tut.ps

    30/219

    E n v i r o n m e n t a n d c o r r e c t n e s s

    1

    42

    3

    a

    bcn1

    n2

    n3

    n4

    Environment

    delay1

    delay2

    0101

    0101

    0

    0

    0

    010

    0

    F o r f u n d a m e n t a l m o d e

    t h i s d e s i g n i s c o r r e c t ( n e c -

    e s s a r y d e l a y c o n s t r a i n t s

    h o l d b y d e n i t i o n )

    F o r I / O - m o d e t h i s d e s i g n

    m a y b e i n c o r r e c t u n l e s s

    " D e l a y 1 > D e l a y 2 " t y p e

    c o n s t r a i n t s h o l d

    A s s u m p t i o n s o n t h e e n v i r o n m e n t i n u e n c e t h e c o r r e c t n e s s o f

    a s y n c h r o n o u s d e s i g n

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 3 0

  • 8/13/2019 Iccad 95 Tut.ps

    31/219

    G o a l s o f t u t o r i a l

    W i l l p r e s e n t d e s i g n m e t h o d o l o g y f o r

    { I / O - m o d e ( m o s t g e n e r a l )

    { B o u n d e d a n d u n b o u n d e d d e l a y m o d e l s

    ( e a c h o f t h e m m a y b e u s e f u l f o r c e r t a i n d e s i g n s )

    { F o u r - p h a s e s i g n a l l i n g ( m o r e e c i e n t a n d f a s t c o n t r o l )

    T w o - p h a s e s i g n a l l i n g c a n b e a l s o h a n d l e d

    W i l l n o t p r e s e n t

    { S p e c i c m e t h o d s f o r F u n d a m e n t a l m o d e

    { S p e c i c m e t h o d s f o r t w o - p h a s e s i g n a l l i n g

    { A l l t h e m e t h o d s t h a t h a v e b e e n d e v i s e d i n h i s t o r y : : :

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 3 1

  • 8/13/2019 Iccad 95 Tut.ps

    32/219

    H a z a r d s

    0

    01

    1

    ab

    1 -> 0

    0 -> 1

    1 -> 0

    0 -> 1

    1 -> 0 -> 1

    slow

    2

    1

    transition cube

    H a z a r d e x a m p l e :

    f u n c t i o n s t a t i c 1 - h a z a r d

    f o r c = a x o r b

    H a z a r d : s i g n a l t r a n s i t i o n n o t s p e c i e d b y t h e d e s i g n e r

    H a z a r d s m a k e a s y n c h r o n o u s d e s i g n d i c u l t

    T h e o r y o f h a z a r d s : U n g e r , K u n g , N o w i c k ]

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 3 2

  • 8/13/2019 Iccad 95 Tut.ps

    33/219

    H a z a r d s a n d d e l a y m o d e l

    5 10

    10

    205

    5

    I n e r t i a l g a t e d e l a y m o d e l

    ) n o h a z a r d s

    W i r e d e l a y m o d e l

    ) h a z a r d s

    H a z a r d a n a l y s i s d e p e n d s o n t h e d e l a y m o d e l

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 3 3

  • 8/13/2019 Iccad 95 Tut.ps

    34/219

    T a x o n o m y o f h a z a r d s

    0

    1

    0

    1 1

    0

    1

    0

    Dynamic hazards

    0 0

    1 1 1

    0

    Static hazards

    S i g n a l b e h a v i o r :

    s t a t i c ( n o t r a n s i t i o n i s r e q u i r e d )

    o r d y n a m i c ( m o n o t o n o u s t r a n s i t i o n i s r e q u i r e d )

    C i r c u i t t y p e :

    c o m b i n a t i o n a l ( c i r c u i t s w i t h o u t f e e d b a c k s ) o r

    s e q u e n t i a l ( c i r c u i t s w i t h f e e d b a c k s )

    D u e t o s p e c i c a t i o n o r d u e t o i m p l e m e n t a t i o n :

    f u n c t i o n o r l o g i c e s s e n t i a l o r n o t e s s e n t i a l

    D u e t o t h e I / O m o d e o f o p e r a t i o n : d e l a y h a z a r d s o c c u r s w h e n t w o

    i n p u t t r a n s i t i o n s a r e t o o c l o s e t o g e t h e r

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 3 4

  • 8/13/2019 Iccad 95 Tut.ps

    35/219

  • 8/13/2019 Iccad 95 Tut.ps

    36/219

    S t a t i c l o g i c h a z a r d e l i m i n a t i o n

    cab

    c

    0 1 1 0

    1 1 0 0

    a

    c

    b1

    1

    0

    1

    1

    0

    1

    0

    20 1

    1

    0 1

    1

    c

    01

    abc

    0 1 1 0

    1 1 0 0a

    c

    b1

    1

    0

    1

    120 1

    a

    b

    1

    1 1

    1 01

    S t a t i c h a z a r d : a s i g n a l w h i c h s h o u l d r e m a i n c o n s t a n t c h a n g e s

    S t a t i c l o g i c 1 - h a z a r d e l i m i n a t i o n c o n d i t i o n :

    e a c h t r a n s i t i o n c u b e i s c o n t a i n e d i n s i d e a c u b e o f t h e c o v e r

    S t a t i c l o g i c 0 - h a z a r d s n e v e r o c c u r i n a t w o - l e v e l S u m - o f - p r o d u c t s

    i m p l e m e n t a t i o n

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 3 6

  • 8/13/2019 Iccad 95 Tut.ps

    37/219

    D y n a m i c f u n c t i o n h a z a r d s

    abcd 00 01 11 10

    10

    11

    01

    00 1

    1

    00

    1 1

    001 1

    1

    000 1

    1

    transition cube

    Non-monotonous change

    D y n a m i c h a z a r d : a s i g n a l w h i c h s h o u l d c h a n g e o n c e c h a n g e s m u l t i p l e t i m e s

    D y n a m i c f u n c t i o n h a z a r d :

    n o n - m o n o t o n o u s c h a n g e o f t h e f u n c t i o n i n s i d e t h e t r a n s i t i o n c u b e

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 3 7

  • 8/13/2019 Iccad 95 Tut.ps

    38/219

    D y n a m i c l o g i c h a z a r d e l i m i n a t i o n

    abcd 00 01 11 10

    10

    11

    01

    00 1 00

    1 1

    00 1

    1

    000 1

    1

    0

    0

    abcd 00 01 11 10

    10

    11

    01

    00 1 00

    1 1

    00 1

    1

    000 1

    1

    0

    0

    a

    b

    cd

    01

    1

    01

    1

    10

    0

    10

    1010 10

    a

    b

    c

    d

    slow1010

    01

    1

    01

    1

    10

    010

    0

    10

    10

    very slow

    D y n a m i c l o g i c 1 t o 0 - h a z a r d e l i m i n a t i o n c o n d i t i o n :

    i f t r a n s i t i o n c u b e i n t e r s e c t s c u b e c o f t h e c o v e r ,

    t h e n c c o n t a i n s t h e s t a r t p o i n t o f t h e t r a n s i t i o n c u b e

    0 t o 1 - h a z a r d s a r e s y m m e t r i c a l ( t h e s a m e f o r t h e e n d p o i n t )

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 3 8

  • 8/13/2019 Iccad 95 Tut.ps

    39/219

    S e q u e n t i a l h a z a r d s

    S e q u e n t i a l c i r c u i t s c i r c u i t s w i t h f e e d b a c k s

    S e q u e n t i a l h a z a r d s o c c u r b e c a u s e f e e d b a c k s p r o p a g a t e n e w v a l u e s

    b e f o r e t h e i n p u t n e t c o m p l e t e s s i g n a l p r o p a g a t i o n t o a l l i n p u t s o f

    t h e n e x t s t a t e l o g i c

    E s s e n t i a l h a z a r d : i n h e r e n t i n t h e F S M s p e c i c a t i o n

    c a n n o t b e e l i m i n a t e d b y a n o t h e r s t a t e e n c o d i n g )

    c a n n o t b e e l i m i n a t e d f o r u n b o u n d e d d e l a y s

    c a n b e m a s k e d o u t b y c o n t r o l l i n g t h e d e l a y s

    N o n - e s s e n t i a l h a z a r d s ( r a c e s ) :

    c a n b e e l i m i n a t e d b y a p r o p e r s t a t e e n c o d i n g

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 3 9

  • 8/13/2019 Iccad 95 Tut.ps

    40/219

    N o n - c r i t i c a l r a c e s

    0010

    011 000

    010

    001

    10

    10

    1010

    10

    transient states

    s1 s2

    a b b

    011 000

    1000

    Encoding

    R a c e : m o r e t h a n o n e s t a t e s i g n a l c h a n g e s

    N o n - c r i t i c a l r a c e :

    a l l t r a n s i e n t s t a t e s d r i v e t h e F S M i n t o t h e s a m e n a l s t a t e

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 4 0

  • 8/13/2019 Iccad 95 Tut.ps

    41/219

    C r i t i c a l r a c e s

    10

    b b

    s3 s4

    010 110

    011

    1000

    s1 s2

    a b b

    000

    0010

    011

    010

    001

    10

    10

    10

    10

    10

    110

    000

    10

    C r i t i c a l r a c e :

    d i e r e n t t r a n s i e n t s t a t e s d r i v e t h e F S M i n t o d i e r e n t n a l s t a t e s

    F i n a l s t a t e d e p e n d s o n t h e r a c e w i n n e r

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 4 1

  • 8/13/2019 Iccad 95 Tut.ps

    42/219

    R a c e - f r e e e n c o d i n g

    0010

    011

    001

    10

    10

    10

    10

    000

    10

    10

    01010

    110 100

    T r a c e y e n c o d i n g :

    T w o s t a t e t r a n s i t i o n s u n d e r

    t h e s a m e i n p u t

    s 1

    b

    ! s 2 a n d s 3

    b

    ! s 4

    m u s t b e d i s t i n g u i s h e d b y a

    s t a b l e s t a t e s i g n a l :

    0 1 1

    1 0

    ! 0 0 0 a n d 1 1 0

    1 0

    ! 1 0 0

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 4 2

  • 8/13/2019 Iccad 95 Tut.ps

    43/219

    T y p e s o f r a c e - f r e e e n c o d i n g

    S i n g l e b i t c h a n g e e n c o d i n g : s i m p l e , b a d t h r o u g h p u t

    a d j a c e n t s t a t e s d i e r b y e x a c t l y o n e b i t

    m a y r e q u i r e a f e w F S M c y c l e s t o r e a c h a s t a b l e s t a t e

    S i n g l e t r a n s i t i o n t i m e e n c o d i n g :

    b e t t e r t h r o u g h p u t , m o r e c o m p l e x

    a d j a c e n t s t a t e s m a y d i e r b y m u l t i p l e b i t s

    r e q u i r e s e x a c t l y o n e F S M c y c l e t o r e a c h a s t a b l e s t a t e

    E x a m p l e : T r a c e y e n c o d i n g

    R a c e - f r e e F S M s m a y s t i l l h a v e e s s e n t i a l h a z a r d s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 4 3

  • 8/13/2019 Iccad 95 Tut.ps

    44/219

    M o d - 2 c o u n t e r : e s s e n t i a l h a z a r d s

    D

    D

    very slow

    010

    010

    01

    01

    010

    01

    01

    10

    010

    xy1

    y1

    010

    y2

    z

    1...001

    00

    11

    0/01/0

    1/0

    0/0

    0/01/11/1

    0/0

    transition1

    transition3

    transition2

    01

    10

    U n g e r ' s c o n d i t i o n f o r e s s e n t i a l h a z a r d s :

    s t a t e a f t e r t h r e e t r a n s i t i o n s o f a n i n p u t s i g n a l 6=

    s t a t e a f t e r o n e t r a n s i t i o n s o f t h e s a m e i n p u t s i g n a l

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 4 4

  • 8/13/2019 Iccad 95 Tut.ps

    45/219

    W h y e s s e n t i a l h a z a r d s o c c u r

    Next state

    logic State

    Input net

    delay_feedback

    delay_next

    delay1

    delay2

    N o e s s e n t i a l h a z a r d s i f a n d o n l y i f

    j d e l a y 1 ; d e l a y 2 j < m i n d e l a y

    n e x t

    + m i n d e l a y

    f e e d b a c k

    E s s e n t i a l h a z a r d s c a n b e r e m o v e d b y c o n t r o l l i n g t h e d e l a y s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 4 5

  • 8/13/2019 Iccad 95 Tut.ps

    46/219

    D e l a y h a z a r d s

    1

    42

    3

    a

    bcn1

    n2

    n3

    n4

    Environment

    slow0

    010

    010

    01

    010

    010

    I / O - m o d e :

    i n p u t b c h a n g e s

    a f t e r o u t p u t c , b u t

    b e f o r e t h e o u t p u t o f g a t e

    3 h a s s e t t l e d

    T h i s i s a d e l a y h a z a r d

    D e l a y h a z a r d s m a y o c c u r u n d e r I / O - m o d e e v e n i n d e s i g n s f r e e

    f r o m e s s e n t i a l h a z a r d s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 4 6

  • 8/13/2019 Iccad 95 Tut.ps

    47/219

    H a z a r d e l i m i n a t i o n m e t h o d s

    C h a n g i n g d e l a y s ( d e l a y p a d d i n g )

    W o r k s o n l y f o r b o u n d e d d e l a y m o d e l

    L o g i c t r a n s f o r m a t i o n s ( c i r c u i t r e d u n d a n c y )

    W o r k s b o t h f o r b o u n d e d a n d u n b o u n d e d d e l a y m o d e l s

    E n c o d i n g o f i n p u t s a n d o u t p u t s ( c o d e r e d u n d a n c y )

    a n d / o r c h a n g i n g a l l o w e d i n p u t t r a n s i t i o n s

    W o r k s b o t h f o r b o u n d e d a n d u n b o u n d e d d e l a y m o d e l s

    F i g h t i n g w i t h h a z a r d s a l w a y s r e q u i r e s s o m e a r e a a n d t i m e o v e r h e a d

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 4 7

  • 8/13/2019 Iccad 95 Tut.ps

    48/219

    M a s k i n g h a z a r d s b y d e l a y p a d d i n g ( 1 )

    10

    205

    5

    205

    20

    C o n t r o l l i n g d e l a y s c a n e l i m i n a t e h a z a r d s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 4 8

  • 8/13/2019 Iccad 95 Tut.ps

    49/219

    M a s k i n g h a z a r d s b y d e l a y p a d d i n g ( 2 )

    0

    01

    1

    0

    01

    1

    0 -> 11

    1 -> 02

    0 -> 1

    1a b

    1

    b

    b

    a

    a

    fast

    slow

    0 -> 1

    slow

    ab

    1 -> 0

    0 -> 1

    1 -> 0

    1

    fast

    2

    1 -> 0

    C o n t r a d i c t o r y d e l a y

    c o n s t r a i n t s )

    c o n t r o l l i n g d e l a y s c a n n o t

    e l i m i n a t e h a z a r d s i n

    g e n e r a l

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 4 9

  • 8/13/2019 Iccad 95 Tut.ps

    50/219

    H a z a r d e l i m i n a t i o n b y r e d u n d a n t e n c o d i n g

    0

    01

    1

    ab 1 -> 0

    0 -> 1

    1 -> 0

    0 -> 1

    1 -> 0 -> 1

    slow

    2

    1

    b.t b.f01 11 1000

    00

    01

    11

    10

    c.t

    0 *

    1

    1

    *

    *

    *

    * * *

    0

    00

    0 0

    0

    a.t a.fc.t

    c.f

    a.f

    b.t

    b.f

    a.t

    D u a l - r a i l f o u r - p h a s e X O R - g a t e

    F u n c t i o n h a z a r d s c a n n o t b e

    e l i m i n a t e d b y c h a n g i n g t h e l o g i c

    ) c h a n g e t h e s p e c i c a t i o n

    H a z a r d s d e p e n d o n t h e a l l o w e d

    i n p u t t r a n s i t i o n s : X O R - g a t e i s

    h a z a r d - f r e e u n d e r u n i q u e

    i n p u t c h a n g e s i n t h e

    f u n d a m e n t a l m o d e

    R e d u n d a n t e n c o d i n g o f i n p u t

    a n d o u t p u t s i g n a l s a n d f o u r

    p h a s e s i g n a l l i n g p r o t o c o l a l l o w s

    t o e l i m i n a t e e v e n f u n c t i o n a l

    h a z a r d s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 5 0

  • 8/13/2019 Iccad 95 Tut.ps

    51/219

    M o d e r n v i e w o n h a z a r d s a n d r a c e s

    C l a s s i c a l h a z a r d / r a c e t a x o n o m y i s c o m p l e x f o r s e q u e n t i a l c i r c u i t s

    e v e n i n F u n d a m e n t a l M o d e

    I t i s m u c h m o r e c o m p l e x f o r t h e I / O - m o d e :

    H a z a r d s m a y b e v i e w e d a s s i g n a l t r a n s i t i o n d i s a b l i n g

    C r i t i c a l r a c e s m a y b e v i e w e d a s i n c o m p l e t e ( a m b i g u o u s )

    s p e c i c a t i o n s

    H a z a r d a v o i d a n c e :

    d e s i g n a c i r c u i t i n w h i c h t r a n s i t i o n d i s a b l i n g c a n n o t o c c u r

    C r i t i c a l r a c e a v o i d a n c e :

    m a k e t h e s p e c i c a t i o n c o m p l e t e a n d u n a m b i g u o u s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 5 1

  • 8/13/2019 Iccad 95 Tut.ps

    52/219

    S p e e d - i n d e p e n d e n t d e s i g n

    0

    1

    0

    0

    1

    0

    1

    1 1

    time

    1

    01

    Switching Disabling

    Enabling

    Stable

    Enabled (0*)

    Stable

    Output changes Input changes

    F o r u n b o u n d e d g a t e d e l a y m o d e l :

    D i s a b l i n g c a n n o t o c c u r ) n o h a z a r d s

    N o n e e d f o r a c o m p l e x t h e o r y o f h a z a r d s f o r t h i s d e l a y m o d e l

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 5 2

  • 8/13/2019 Iccad 95 Tut.ps

    53/219

    C r i t i c a l r a c e s a s i n c o m p l e t e s t a t e c o d i n g

    0010

    011

    001

    10

    10

    10

    10

    000

    10

    10

    010

    10

    010 110

    y2 must change

    y2 must stay unchanged

    Conflict

    F S M s p e c i s

    a m b i g u o u s , i e i n c o m p l e t e

    S t a t e a s s i g n m e n t c o n i c t :

    < y 1 y 2 y 3 > n e x t s t a t e y 2

    0

    0 1 0 0

    0 1 0 1

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 5 3

  • 8/13/2019 Iccad 95 Tut.ps

    54/219

    C o m p l e t e s t a t e c o d i n g

    0010

    10

    10

    10

    10

    10

    10

    10

    11010101

    0110

    0010

    0100

    0000S o l v i n g s t a t e a s s i g n m e n t

    c o n i c t s :

    A d d n e w s t a t e s i g n a l s o r

    R e m o v e o n e o f t h e s t a t e s

    ( b y r e - e n c o d i n g , r e d u c i n g

    c o n c u r r e n c y )

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 5 4

  • 8/13/2019 Iccad 95 Tut.ps

    55/219

    D a t a p a t h d e s i g n

    T w o w a y s t o d e s i g n d a t a p a t h :

    S y n c h r o n o u s d a t a p a t h - b u n d l e d d a t a

    A s y n c h r o n o u s d a t a p a t h

    ( s p e e d - i n d e p e n d e n t = q u a s i d e l a y - i n s e n s i t i v e )

    A s y n c h r o n o u s d a t a p a t h i s u s e f u l i f p e r f o r m a n c e i s d a t a d e p e n d e n t

    a n d t h e a v e r a g e c a s e c o m p u t a t i o n d e l a y i s m u c h l e s s t h a n t h e w o r s t

    c a s e d e l a y

    T w o e c i e n t m e t h o d s f o r a s y n c h r o n o u s d a t a p a t h : r e d u c e d d i r e c t

    l o g i c ( R D L ) a n d d i e r e n t i a l c a s c o d e v o l t a g e s w i t c h l o g i c ( D C V S L )

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 5 5

  • 8/13/2019 Iccad 95 Tut.ps

    56/219

    I n d i c a t i o n

    a

    b

    c

    b

    a

    cC

    a

    b

    c

    a

    b

    c

    O R - g a t e : o u t p u t i n d i c a t e s

    f a l l i n g i n p u t t r a n s i t i o n s

    C - e l e m e n t : o u t p u t i n d i c a t e s

    f a l l i n g a n d r i s i n g i n p u t t r a n s i -

    t i o n s

    I n d i c a t i o n : A T a u b i n ( 1 9 8 0 )

    T r a n s i t i o n c i n d i c a t e s t r a n s i t i o n a

    i f a n d o n l y i f :

    c c a n n o t o c c u r w i t h o u t a

    c i s a " c o m p l e t i o n d e t e c t o r " f o r

    a

    D e s i g n i d e a :

    A l l i n p u t a n d i n t e r n a l t r a n s i t i o n s

    m u s t b e i n d i c a t e d b y s o m e o u t -

    p u t t r a n s i t i o n s

    C h o o s e i n d i c a t i n g o u t p u t s t o o p -

    t i m i z e p e r f o r m a n c e / a r e a

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 5 6

  • 8/13/2019 Iccad 95 Tut.ps

    57/219

    D i e r e n t i a l C a s c o d e V o l t a g e S w i t c h L o g i c

    network

    N transistor

    Req

    Req

    Inputs

    Output.t Output.f

    I n p u t s a r e ( t y p i c a l l y ) d u a l - r a i l

    A d d i t i o n a l r e q u e s t s i g n a l i s

    u s e d f o r p r e c h a r g i n g

    O u t p u t s a r e d u a l - r a i l f o u r -

    p h a s e ( v a l i d - e m p t y p r o t o c o l )

    S t a t i c i z e r s ( c r o s s - c o u p l e d i n -

    v e r t e r s ) m a y b e n e e d e d f o r

    o u t p u t s i g n a l s

    T w o c r o s s - c o u p l e d p u l l - u p

    t r a n s i s t o r s m a y i m p r o v e p e r -

    f o r m a n c e

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 5 7

  • 8/13/2019 Iccad 95 Tut.ps

    58/219

    R e d u c e d d i r e c t l o g i c

    network

    N transistor

    Input1.f

    Input1.t

    Input1.f Input1.t

    Inputs

    Output.t Output.f

    I n p u t s a n d o u t p u t s a r e f o u r -

    p h a s e d u a l - r a i l

    N o a d d i t i o n a l r e q u e s t s i g n a l

    F u l l c u s t o m d e s i g n o n l y

    D e s i g n i d e a :

    A d d a p a i r o f p - t r a n s i s t o r s f o r

    e a c h o u t p u t a n d a p a i r o f n -

    t r a n s i s t o r s f o r e a c h d u a l r a i l

    i n p u t

    O p t i m i z e n - t r a n s i s t o r l o g i c

    D i s t r i b u t e i n d i c a t i o n o f t h e

    i n p u t s a m o n g t h e o u t p u t s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 5 8

  • 8/13/2019 Iccad 95 Tut.ps

    59/219

  • 8/13/2019 Iccad 95 Tut.ps

    60/219

    C r i t i c a l d e l a y i n a s y n c h r o n o u s a d d e r

    1 0 1 1

    0 0 0 1

    1 1 0 0

    Indication in

    Indication in

    0 0 1 11 001

    0

    Critical delay

    valid phase

    empty phase

    C r i t i c a l d e l a y i s p r o p o r t i o n a l t o l o g

    2

    N ( N = n u m b e r o f b i t s )

    I t i s d e t e r m i n e d b y t h e m a x i m a l n u m b e r o f c o n t i g u o u s d i e r e n t b i t s

    3 2 - b i t a d d e r d e l a y ( 1 6 M O S I S C M O S ) :

    a s y n c h r o n o u s : 1 1 n s e c s y n c h r o n o u s : 4 0 n s e c

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 6 0

  • 8/13/2019 Iccad 95 Tut.ps

    61/219

    P a r t 2 : S p e c i c a t i o n a n d s y n t h e s i s

    S p e c i c a t i o n o f c o n t r o l

    { C S P

    { F S M

    { S i g n a l T r a n s i t i o n G r a p h s ( S T G )

    S T G i n d e t a i l s : b a s i c s , l i m i t a t i o n a n d e x t e n s i o n s , t i m i n g

    S y n t h e s i s o v e r v i e w

    S i m u l a t i o n e n g i n e

    C o m p l e t e s t a t e c o d i n g = r a c e e l i m i n a t i o n

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 6 1

  • 8/13/2019 Iccad 95 Tut.ps

    62/219

    C S P

    C S P = c o m m u n i c a t i n g s e q u e n t i a l p r o c e s s e s

    C o n c u r r e n t p r o c e s s e s c o m m u n i c a t i n g b y i n p u t a n d o u t p u t c o m -

    m a n d s o n c h a n n e l s

    S e m a n t i c s a r e b a s e d o n t r a c e t h e o r y U d d i n g , v a n d e S n e p -

    s c h e u t , R e m ]

    I n g e n e r a l , t e c h n i q u e s t r y t o c o m e u p w i t h q u a s i - d e l a y - i n s e n s i t i v e

    i m p l e m e n t a t i o n s

    T w o m a i n a p p r o a c h e s : P r o d u c t i o n r u l e b a s e d M a r t i n , ] a n d

    S y n t a x - d i r e c t e d d e c o m p o s i t i o n E b e r g e n , B e r k e l ]

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 6 2

    C S P P R O G R A M

  • 8/13/2019 Iccad 95 Tut.ps

    63/219

    l

    i

    ] r

    o

    " r

    i

    ] r

    o

    # : r

    i

    ] l

    o

    " : l

    i

    ] l

    o

    # ]

    \ " = s e q u e n c i n g

    r

    0

    " = r

    0

    g o e s h i g h , r

    0

    # r

    0

    g o e s l o w

    l

    i

    ] = w a i t u n t i l l

    i

    i s h i g h , : l

    i

    ] w a i t u n t i l l

    i

    i s l o w

    P r o g r a m m e a n i n g : l

    i

    h a s t o b e h i g h b e f o r e r

    0

    g o e s h i g h T h e

    c i r c u i t w i l l w a i t u n t i l r

    i

    g o e s h i g h , b e f o r e r

    0

    w i l l g o l o w a g a i n

    a n d s o o n

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 6 3

    P R O D U C T I O N R U L E S

  • 8/13/2019 Iccad 95 Tut.ps

    64/219

    l

    i

    7! r

    o

    "

    r

    i

    7! r

    o

    #

    : r

    i

    7! l

    o

    "

    : l

    i

    7! l

    o

    #

    p r o d u c t i o n r u l e = b o o l e a n c o n d i t i o n 7! t r a n s i t i o n

    l

    i

    7! r

    o

    " : w h e n l

    i

    i s h i g h , r

    o

    w i l l g o h i g h

    : r

    i

    7! l

    o

    " : w h e n r

    i

    i s l o w , l

    o

    w i l l g o h i g h

    c o n i c t : r

    o

    " a n d r

    o

    # a r e n o t m u t u a l l y e x c l u s i v e

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 6 4

    P R O D U C T I O N R U L E S ( 2 )

  • 8/13/2019 Iccad 95 Tut.ps

    65/219

    A d d a s t a t e s i g n a l t o s o l v e c o n i c t :

    l

    i

    ] r

    o

    " r

    i

    ] x " x ] r

    o

    # : r

    i

    ] l

    o

    " : l

    i

    ] x # : x ] l

    o

    # ]

    T h e n e w p r o d u c t i o n r u l e s :

    : x l

    i

    7! r

    o

    "

    r

    i

    7! x "

    x 7! r

    o

    #

    x : r

    i

    7! l

    o

    "

    : l

    i

    7! x #

    : x 7! l

    o

    #

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 6 5

    I M P L E M E N T A T I O N

  • 8/13/2019 Iccad 95 Tut.ps

    66/219

    li

    lori

    ff

    ro

    x x

    T h e p r o d u c t i o n r u l e s c a n n o w b e i d e n t i e d w i t h o p e r a t i o n s

    r

    0

    m a p s t o a n a n d - g a t e ( r

    0

    = x l

    i

    )

    : x l

    i

    7! r

    o

    "

    x 7! r

    o

    #

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 6 6

    F S M

  • 8/13/2019 Iccad 95 Tut.ps

    67/219

    s1

    s2

    s3

    xC/o

    xC/o

    y1y2

    00

    10

    11

    xC+xC/o

    C+xC/o

    xC/o

    xC/o

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 6 7

    F S M ( 2 )

  • 8/13/2019 Iccad 95 Tut.ps

    68/219

    N o d e s = s t a t e s , a r c s = s t a t e t r a n s i t i o n

    E a c h a r c i s l a b e l e d w i t h a p a i r o f i n p u t = o u t p u t s y m b o l s

    i n p u t = c o n d i t i o n f o r s t a t e t r a n s i t i o n t o t a k e p l a c e

    o u t p u t = v a l u e s f o r o u t p u t s i g n a l s a f t e r t h e s t a t e t r a n s i t i o n

    M o s t l y l i m i t e d t o f u n d a m e n t a l m o d e U n g e r ]

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 6 8

    B U R S T M O D E F S M

  • 8/13/2019 Iccad 95 Tut.ps

    69/219

    s1

    s2

    s3

    s4

    a+/y+

    b+/y-b-/y+

    b+/x+y-

    a-b-/x-

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 6 9

    B U R S T M O D E F S M

  • 8/13/2019 Iccad 95 Tut.ps

    70/219

    b a s e d o n s i g n a l t r a n s i t i o n s r a t h e r t h a n s i g n a l l e v e l s N o w i c k ,

    Y u n ]

    F i r s t a s e t o f i n p u t t r a n s i t i o n s r e s

    S e c o n d a s e t o f o u t p u t t r a n s i t i o n s r e s

    F i n a l l y s t a t e v a r i a b l e s c h a n g e a n d t a k e t h e s y s t e m t o a n o t h e r

    s t a t e

    M o s t l y l i m i t e d t o f u n d a m e n t a l m o d e U n g e r ]

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 7 0

    S I G N A L T R A N S I T I O N G R A P H

  • 8/13/2019 Iccad 95 Tut.ps

    71/219

    a+ b+

    c+

    a- b-

    c-

    STG

    a

    c

    b

    input

    output

    input

    TIMING DIAGRAM

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 7 1

    S I G N A L T R A N S I T I O N G R A P H ( 2 )

  • 8/13/2019 Iccad 95 Tut.ps

    72/219

    V e r t i c e s r e p r e s e n t s i g n a l t r a n s i t i o n s

    A r c s r e p r e s e n t c a u s a l r e l a t i o n s b e t w e e n t r a n s i t i o n s

    I n t r o d u c e d b y M o l n a r 8 5 ] C h u 8 7 ] R o s e n b l u m 8 5 ]

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 7 2

    S I G N A L T R A N S I T I O N G R A P H ( 3 )

  • 8/13/2019 Iccad 95 Tut.ps

    73/219

    a+ b+

    c+

    a- b-

    c-

    PETRI NET

    p3 p4

    p5 p6

    p7 p8

    p1 p2

    a+ b+

    c+

    a- b-

    c-

    STG

    S T G i s a n i n t e r p r e t e d P e t r i n e t

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 7 3

    C O N S I S T E N C Y

  • 8/13/2019 Iccad 95 Tut.ps

    74/219

    A+ A+

    A-

    A- A-

    A+

    x+

    Two subsequent up-transitions

    without a down-transition in between

    Two subsequent down-transitions

    without an up-transition in between

    Parallel transitions of the same signal

    INCONSISTENT

    A+ A-

    Two up-transitions with a down-transition

    in between (and vice versa)

    CONSISTENT

    A+

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 7 4

    M O D E L I N G P O W E R

  • 8/13/2019 Iccad 95 Tut.ps

    75/219

    CONCURRENCY

    CHOICE

    c+

    a- b-

    a- b-

    a- concurrent with b-

    choice made by environment

    EITHER a- firesOR b- fires

    but not both

    EITHER a- fires before b-OR b- fires before a-

    OR a- and b- fire simultaneously

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 7 5

    F I R I N G S E M A N T I C S

  • 8/13/2019 Iccad 95 Tut.ps

    76/219

    c+ fires

    c+

    = TOKEN

    = PLACE

    = TRANSITION

    c+

    p3 p4

    p5 p6

    c+ = enabled c+ has fired

    c+

    p3 p4

    p5 p6

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 7 6

    S Y N T H E S I S

  • 8/13/2019 Iccad 95 Tut.ps

    77/219

    Petri Net

    Signal Transition Graph

    Reachability Graph

    State Graph

    Karnaugh Map

    Logic equations

    Translation

    Token flow simulation

    Encoding

    Logic synthesis

    direct

    method

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 7 7

    R E A C H A B I L I T Y G R A P H

  • 8/13/2019 Iccad 95 Tut.ps

    78/219

    V e r t i c e s r e p r e s e n t s t a t e s t h e c i r c u i t c a n b e i n

    A r c s r e p r e s e n t t r a n s i t i o n f r o m o n e s t a t e t o a n o t h e r

    C a n b e d e r i v e d f r o m t h e P e t r i n e t b y s i m u l a t i n g t h e t o k e n o w

    E a s i e s t r e p r e s e n t a t i o n t o d o a n a l y s i s o n

    S i z e m a y b e e x p o n e n t i a l i n t h e n u m b e r o f t r a n s i t i o n s

    S i m i l a r t o t r a c e s t r u c t u r e s D i l l ] , t r a n s i t i o n d i a g r a m s M u l l e r ]

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 7 8

    R E A C H A B I L I T Y G R A P H ( 2 )

  • 8/13/2019 Iccad 95 Tut.ps

    79/219

    a+ b+

    c+

    p3 p4

    p1 p2

    a+ b+

    c+

    p3 p4

    p1 p2

    a+ b+

    c+

    p3 p4

    p1 p2

    a+ b+

    c+

    p3 p4

    p1 p2

    Fire a+ Fire b+

    Fire a+Fire b+

    STATE {p1,p2}

    STATE {p1,p3}

    STATE {p3,p4}

    STATE {p1,p4}

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 7 9

    S T A T E G R A P H

  • 8/13/2019 Iccad 95 Tut.ps

    80/219

    000

    100 010

    110

    a+ b+

    a+b+

    111

    011 101

    001

    a- b-

    a-b-

    c+

    c-

    STATE GRAPH

    {p1,p2}

    {p2,p3} {p1,p4}

    {p3,p4}

    a+ b+

    a+b+

    {p5,p6}

    {p6,p7} {p5,p8}

    {p7,p8}

    a- b-

    a-b-

    c+

    c-

    REACHABILITY GRAPH

    ENCODING

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 8 0

    E N C O D I N G

  • 8/13/2019 Iccad 95 Tut.ps

    81/219

    000

    100 010

    a+ b+

    signal a signal b

    signal a and b low

    signal a high,signal b low

    signal a low,signal b high

    E v e r y s t a t e i s a s s i g n e d a c o d e

    T h i s c o d e i s d e t e r m i n e d b y s i g n a l s i n t h e P e t r i n e t

    B a s e d o n t h i s c o d e , l o g i c a l e q u a t i o n s c a n b e d e r i v e d

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 8 1

    E Q U A T I O N S

  • 8/13/2019 Iccad 95 Tut.ps

    82/219

    000

    100 010

    110

    a+ b+

    a+b+

    111

    011 101

    001

    a- b-

    a-b-

    c+

    c-

    STATE GRAPH

    00 01 11 10

    0

    1

    ab

    c

    c

    0

    1 1

    1

    1

    0

    0

    0

    K-MAP

    LOGIC EQUATIONS

    c = ab + ac + bc

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 8 2

    E Q U A T I O N S ( 2 )

  • 8/13/2019 Iccad 95 Tut.ps

    83/219

    000

    100 010

    110

    a+ b+

    a+b+

    c+

    00 01 11 10

    0

    1

    ab

    c

    c

    0 10 0K-MAP

    S t a t e 0 0 0 : c i s a s s i g n e d 0 b e c a u s e c s t a y s l o w i n t h i s s t a t e

    S t a t e 0 1 1 : c i s a s s i g n e d 1 b e c a u s e c g o e s h i g h i n t h i s s t a t e

    ( c

    +

    i s e n a b l e d )

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 8 3

  • 8/13/2019 Iccad 95 Tut.ps

    84/219

    L E V E L S A N D T R A N S I T I O N S

  • 8/13/2019 Iccad 95 Tut.ps

    85/219

    CK

    SDA

    CK

    SDA

    CK

    SDA

    CK

    SDA

    0 bit 1 bit

    stop command start command

    P r o t o c o l d i s t i n g u i s h i n g d i e r e n t s i t u a t i o n s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 8 5

    S T G W I T H E X T E N S I O N S

  • 8/13/2019 Iccad 95 Tut.ps

    86/219

    SDA+

    SDA

    SDA

    a b1 0

    #

    s

    CK+

    SDASDA

    .....

    CK-

    CK-

    CONDITION

    SIGNAL LEVEL

    CONDITION

    TRANSITION

    b

    b

    SDA

    SIGNAL LEVEL

    DONT CARE

    e x t e n s i o n s p r o p o s e d b y M o o n e t a l ]

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 8 6

    O R P R E C E D E N C E

  • 8/13/2019 Iccad 95 Tut.ps

    87/219

    c goes high after a and b

    have gone high

    a+ b+

    c+

    c goes high after a OR b

    have gone high

    a+ b+

    c+

    NO CHOICE!!

    T h i s b e h a v i o r i s h a r d t o m o d e l w i t h c l a s s i c a l P e t r i n e t s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 8 7

  • 8/13/2019 Iccad 95 Tut.ps

    88/219

  • 8/13/2019 Iccad 95 Tut.ps

    89/219

    B O O L E A N G U A R D S

  • 8/13/2019 Iccad 95 Tut.ps

    90/219

    X

    1

    , X

    2

    a r e B o o l e a n c h a r a c t e r i s t i c f u n c t i o n s

    F u n c t i o n s d e t e r m i n e ( t o g e t h e r w i t h t o k e n s ) w h i c h t r a n s i t i o n i s

    e n a b l e d

    t1 t2

    1 2 = 0 = 1

    t

    1

    i s e n a b l e d i f p c o n t a i n s a t o k e n A N D s i g n a l i = 0

    t

    2

    i s e n a b l e d i f p c o n t a i n s a t o k e n A N D s i g n a l i = 1

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 9 0

    T R A N S L A T I O N T O S T A T E G R A P H

  • 8/13/2019 Iccad 95 Tut.ps

    91/219

    +

    is

    m

    m

    m(i)=0

    m(i)=1

    +

    is #

    is

    m

    m

    m(i)=?

    m(i)=-

    #

    is

    1

    is

    m

    m

    m(i)=?

    m(i)=1

    1

    is

    m

    m

    m(i)=-

    m(i)=0

    s

    is

    0

    is

    m

    1

    is

    m(i)=1

    t1 t2

    i=0 i=1

    mif m(i) == 0 then t1 is enabled

    if m(i) == 1 then t2 is enabled

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 9 1

    T I M I N G : S P E C I F I C A T I O N

  • 8/13/2019 Iccad 95 Tut.ps

    92/219

    A

    B

    UP >30

    [20-40]A

    BUP

    E n v i r o n m e n t : i f A g o e s h i g h , B w i l l g o h i g h 2 0 t o 4 0 n s l a t e r

    C i r c u i t : i f A g o e s h i g h U P n e e d s t o g o h i g h b e f o r e B a n d

    n e e d s t o s t a y h i g h a t l e a s t 3 0 n s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 9 2

    T I M I N G : S P E C I F I C A T I O N ( 2 )

  • 8/13/2019 Iccad 95 Tut.ps

    93/219

    A

    B

    UP >30

    [20-40]

    Tolerance

    Delay

    relation

    Specification

    relation

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 9 3

    T I M I N G : S P E C I F I C A T I O N ( 3 )

  • 8/13/2019 Iccad 95 Tut.ps

    94/219

    S p e c i c a t i o n r e l a t i o n s i n d i c a t e h o w t h e c i r c u i t s h o u l d r e a c t ,

    i f s y n t h e s i z e d c o r r e c t l y

    D e l a y r e l a t i o n s i n d i c a t e h o w a n e x i s t i n g c i r c u i t

    ( o r e n v i r o n m e n t ) r e a c t s

    T o l e r a n c e : d e l a y s a r e n o t x e d n u m b e r s , b u t i n t e r v a l s

    ( e v e n m o r e c o m p l e x s y m b o l i c r e p r e s e n t a t i o n i s p o s s i b l e )

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 9 4

    T I M I N G C O N S T R A I N T S

  • 8/13/2019 Iccad 95 Tut.ps

    95/219

    A n a l y s i s o f t i m i n g c o n s t r a i n t s R o k i c k i , H u l g a a r d , B u r n s , D i l l ,

    B e r t h o m i e u , A m o n , W a l k u p ]

    T a k e i n t o a c c o u n t a n a l y s i s r e s u l t s M y e r s ]

    A c t i v e s y n t h e s i s t o s a t i s f y t i m i n g c o n s t r a i n t s B o r r i e l l o , V a n -

    b e k b e r g e n ]

    S t i l l a l o t o f r e s e a r c h n e e d e d i n t h i s a r e a

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 9 5

    T I M I N G : A N A L Y S I S

  • 8/13/2019 Iccad 95 Tut.ps

    96/219

    t1

    t2

    t3

    t4

    t5[135-inf]

    [50-80]

    [0-inf]

    [50-80]

    [0-20]

    [30-40]

    MAX(t4-t5)?

    H a r d p r o b l e m i n i t s f u l l g e n e r a l i t y B e r t h o m i e u ]

    E c i e n t s o l u t i o n b y R o c k i k i ( b u t m i g h t s t i l l b e e x p o n e n t i a l )

    P o l y n o m i a l s o l u t i o n s w i t h v a r i o u s r e s t r i c t i o n s D i l l , A m o n ]

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 9 6

    T I M I N G : S Y N T H E S I S

  • 8/13/2019 Iccad 95 Tut.ps

    97/219

    A

    30 ns

    set

    reset

    out UPHCK

    UP

    20ns

    20ns

    A

    B

    UP >30

    [20-40]Trigger to

    clock edges Add delay line

    S o l u t i o n s w i t h v a r y i n g r e s t r i c t i o n s B o r r i e l l o , V a n b e k b e r g e n ]

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 9 7

    S Y N T H E S I S : O V E R V I E W

    AFSM STG VHDLSIMULATION

  • 8/13/2019 Iccad 95 Tut.ps

    98/219

    AFSM STG VHDLS U O

    RESULTS

    STATE GRAPH

    TECH INDEPENDENTEQUATIONS

    LIBRARY

    TECH. DEPENDENT

    EQUATIONS

    CORRECTION PHASE

    LAYOUT

    HAZARD-LIST

    VHDLSIMULATION

    RESULTS

    TOLERANCE

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 9 8

    S Y N T H E S I S : O V E R V I E W ( 2 )

  • 8/13/2019 Iccad 95 Tut.ps

    99/219

    S i m u l a t i o n a t h i g h l e v e l ( s p e c i c a t i o n ) a n d l o w l e v e l ( c i r c u i t )

    S t a r t f r o m A F S M o r S T G

    R a c e - e l i m i n a t i o n b y s t a t e g r a p h t r a n s f o r m a t i o n

    F i r s t s t e p h a z a r d - e l i m i n a t i o n ( t e c h n o l o g y i n d e p e n d e n t )

    S e c o n d s t e p h a z a r d - e l i m i n a t i o n ( t e c h n o l o g y d e p e n d e n t )

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 9 9

  • 8/13/2019 Iccad 95 Tut.ps

    100/219

    W H Y V H D L ?

  • 8/13/2019 Iccad 95 Tut.ps

    101/219

    T h e n e e d f o r a c o n s i s t e n t l a n g u a g e f o r a l l d i g i t a l a p p l i c a t i o n s

    ( s y n c h r o n o u s a n d a s y n c h r o n o u s )

    T o o l s ( s i m u l a t o r s ) f o r f r e e

    T h e c o m p l e t e d e s i g n c a n b e v a l i d a t e d a t d i e r e n t l e v e l s o f

    a b s t r a c t i o n

    U s e f u l f o r d e b u g g i n g s o f t w a r e p r o t o t y p e s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 0 1

    S I M U L A T I O N E N V I R O N M E N T

    SYSTEM USERSTG

  • 8/13/2019 Iccad 95 Tut.ps

    102/219

    SYSTEM USER

    VHDL

    SIMULATION

    TESTBENCHVHDL

    ASSERTIONVHDL

    BEHAVIORALVHDL

    GATE-LEVELVHDL

    STG

    RESULTSASSERTIONVIOLATIONS

    OR

    OR

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 0 2

    A R C H I T E C T U R E

  • 8/13/2019 Iccad 95 Tut.ps

    103/219

    BEHAVIORALVHDL ORGATE-LEVELVHDL

    ASSERTIONVHDL

    TESTBENCH

    inputsoutputs

    statesignals

    Errormessages

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 0 3

    V H D L M O D E L

  • 8/13/2019 Iccad 95 Tut.ps

    104/219

    s+

    p1 p2

    p3 p3

    S t a t e = s e t o f t o k e n s i n p l a c e s

    A v e c t o r o f B o o l e a n s : p l a c e s

    { p l a c e s ( 1 ) = 1 i f p l a c e p

    1

    c o n t a i n s a t o k e n

    { p l a c e s ( 1 ) = 0 i f p l a c e p

    1

    d o e s n o t c o n t a i n a t o k e n

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 0 4

    V H D L M O D E L ( 2 )

    BLOCK (places(1) = 1 AND places(2) = 1)

  • 8/13/2019 Iccad 95 Tut.ps

    105/219

    s+

    p1 p2

    p3 p3

    BLOCK (places(1) 1 AND places(2) 1 )

    BEGIN

    places(1)

  • 8/13/2019 Iccad 95 Tut.ps

    106/219

    BLOCK (places(1) = 1 AND pcond = 0 )

    BEGIN

    places(1)

  • 8/13/2019 Iccad 95 Tut.ps

    107/219

    A l l b l o c k s a r e p o s s i b l y c o n c u r r e n t

    I n V H D L a r e s o l u t i o n f u n c t i o n i s n e e d e d

    S T G i s o n l y c o r r e c t i f n o t w o t r a n s i t i o n s o f t h e s a m e s i g n a l a r e

    e n a b l e d a t t h e s a m e t i m e

    A s s e r t i o n i n t h e r e s o l u t i o n f u n c t i o n t h a t t h e r e a r e n o t w o

    s i m u l t a n e o u s a s s i g n m e n t s t o t h e s a m e s i g n a l

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 0 7

    A S S E R T I O N ( 2 )

    p1

  • 8/13/2019 Iccad 95 Tut.ps

    108/219

    ASSERT (sSTABLE = TRUE OR places(1) = 1 OR ....)

    s+

    p1

    G i v e s i n f o a b o u t

    { w h e r e ?

    { w h i c h s i g n a l ?

    { w h i c h t y p e o f v i o l a t i o n ?

    D e b u g g i n g c i r c u i t A N D e n v i r o n m e n t

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 0 8

    T E S T B E N C H

  • 8/13/2019 Iccad 95 Tut.ps

    109/219

    T e s t b e n c h = b e h a v i o r a l V H D L o f \ i n v e r s e " S T G ( i n p u t s a n d

    o u t p u t s s w i t c h e d )

    U s e o f s a m e p r o c e d u r e a s t h e o n e g e n e r a t i n g b e h a v i o r a l V H D L

    ( n o t w r i t t e n b y d e s i g n e r )

    A s s u m e s t h a t t h e e n v i r o n m e n t i s t h e f a s t e s t p o s s i b l e

    N o t c o m p l e t e ( l i k e v e r i c a t i o n ) , b u t m a n y e r r o r s f o u n d t h i s

    w a y

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 0 9

    R A C E : M O D E L I N G

  • 8/13/2019 Iccad 95 Tut.ps

    110/219

    R a c e s a r e m o s t e a s i l y d e t e c t e d a t s t a t e g r a p h l e v e l

    N o r a c e i f t h e l o g i c e q u a t i o n s c a n b e d e r i v e d u n a m b i g u o u s l y

    S u c i e n t c o n d i t i o n :

    A l l s t a t e s a r e a s s i g n e d a u n i q u e c o d e

    U n i q u e S t a t e C o d i n g ( U S C )

    A l e s s t i g h t s u c i e n t c o n d i t i o n :

    C o m p l e t e S t a t e C o d i n g ( C S C )

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 1 0

    C O M P L E T E S T A T E C O D I N G

    CSC-violation no CSC-violation

  • 8/13/2019 Iccad 95 Tut.ps

    111/219

    abc

    000a+

    abc

    000a+ c+

    abc

    000c+

    abc

    000a+ c+

    00 01 11 10

    0

    1

    ab

    c

    c

    0/1

    00 01 11 10

    0

    1

    ab

    c

    c

    1

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 1 1

    R A C E E L I M I N A T I O N

  • 8/13/2019 Iccad 95 Tut.ps

    112/219

    R a c e - e l i m i n a t i o n i s e n f o r c i n g C S C ( o r U S C )

    W h i c h r o u t e t o t a k e ?

    INITIAL STG FINAL STG

    FINAL STATE GRAPHINITIAL STATE GRAPH

    11

    2

    IMPLEMENTATION

    2

    2

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 1 2

    R A C E E L I M I N A T I O N ( 2 )

    1 S T G - L E V E L K o n d r a t y e v , Y a k o v l e v , L i n , P a s t o r ]

  • 8/13/2019 Iccad 95 Tut.ps

    113/219

    A v o i d s t h e s t a t e g r a p h l e v e l ( r u n - t i m e e c i e n c y )

    C i r c u i t s n o t a l w a y s e c i e n t K o n d r a t y e v ] o r r e s t r i c t i o n s o n

    t y p e o f s p e c i c a t i o n h a n d l e d Y a k o v l e v , L i n , P a s t o r ]

    2 S T A T E G R A P H L E V E L L a v a g n o , Y k m a n , P u r i , V a n b e k b e r -

    g e n ]

    C a n b e v e r y c o m p u t a t i o n i n t e n s i v e

    V e r y g e n e r a l t e c h n i q u e w h i c h c a n h a n d l e m o r e g e n e r a l

    s p e c i c a t i o n s t h a n ( 1 )

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 1 3

  • 8/13/2019 Iccad 95 Tut.ps

    114/219

    S T G - L E V E L M E T H O D

    W o r k s d i r e c t l y a t S T G - l e v e l a n d t h u s a v o i d s s t a t e - e x p l o s i o n

  • 8/13/2019 Iccad 95 Tut.ps

    115/219

    R e s t r i c t i o n s :

    { N o c h o i c e s

    { E v e r y s i g n a l h a s o n e u p - a n d d o w n - t r a n s i t i o n Y a k o v l e v ]

    E x t e n s i o n s :

    { C h o i c e L i n , P a s t o r ]

    { S i g n a l m a y h a v e m o r e t h a n o n e u p - a n d d o w n - t r a n s i t i o n

    L i n , Y k m a n , P a s t o r ]

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 1 5

  • 8/13/2019 Iccad 95 Tut.ps

    116/219

    S T G - L E V E L M E T H O D ( 3 )

    ADD SIGNAL

  • 8/13/2019 Iccad 95 Tut.ps

    117/219

    A+ B+

    A-

    B-

    STG

    00

    10 01

    11

    01

    A+ B+

    A+B+

    A-

    B-

    STATE GRAPH

    A+ B+

    A-

    B-

    NEW STG

    C+

    C-

    NEW STATE GRAPH

    010

    110

    A+

    C+

    000

    100

    B+

    B+

    A+

    001

    101

    C-

    C-

    A+

    A-

    111

    011

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 1 7

    L O C K R E L A T I O N

  • 8/13/2019 Iccad 95 Tut.ps

    118/219

    T h e m a i n p r o b l e m : w e w a n t t o t r a n s f o r m t h e S T G t o s a t i s f y

    a p r o p e r t y w h i c h i s d e n e d a t s t a t e g r a p h l e v e l

    A t h e o r y i s n e e d e d t h a t t r a n s f o r m s t h e C S C o r U S C p r o p e r t y

    t o t h e S T G - l e v e l

    A+

    B+

    A-

    B-

    Two signals A and B are locked

    iffthe transitions of the two signals resideon a simple cycle in an alternating way

    Corresponds to handshake protocol

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 1 8

    L O C K G R A P H

    The vertices correspond to the signals A B C

  • 8/13/2019 Iccad 95 Tut.ps

    119/219

    p g

    There is an arc between two vertices if the

    corresponding signals in the STG are locked.

    A B C

    D

    Lock Graph = connected

    STG satisfies USC

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 1 9

    L O C K T H E O R E M

    OLD STG lock graph NOT connected

  • 8/13/2019 Iccad 95 Tut.ps

    120/219

    NEW STG lock graph connected

    TRANSFORM

    A d d i n g a r c s

    A d d i n g n e w s i g n a l s ( a n d t r a n s i t i o n s )

    I f n e c e s s a r y , t a k i n g i n t o a c c o u n t t i m i n g c o n s t r a i n t s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 2 0

    I N T U I T I O N

    A c o m p l e m e n t a r y s e t i s a s e t o f t r a n s i t i o n s s u c h t h a t i f a

    +

    i s

  • 8/13/2019 Iccad 95 Tut.ps

    121/219

    i n t h e s e t t h e n a l s o a

    ;

    a n d v i c e v e r s a

    F i r i n g a c o m p l e m e n t a r y s e t l e a d s t o s t a t e s w i t h t h e s a m e c o d e

    ( f o r i n s t a n c e f A

    +

    1

    R

    ;

    1

    A

    ;

    1

    R

    +

    1

    g i n t h e n e x t e x a m p l e ( a ) )

    T h e o n l y a l l o w e d c o m p l e m e n t a r y s e t t h a t y o u c a n r e i s t h e

    s e t c o n t a i n i n g a l l t r a n s i t i o n s

    L o c k i n g m a k e s s u r e t h a t n o c o m p l e m e n t a r y s u b s e t o f t r a n s i -

    t i o n s i s r e a b l e

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 2 1

    L O C K E X A M P L E

    R1- R2+ R1- R2+ R1- R2+

  • 8/13/2019 Iccad 95 Tut.ps

    122/219

    A1-

    R1+

    A1+

    A2+

    R2-

    A2-

    R1 R2

    A1 A2

    A1-

    R1+

    A1+

    A2+

    R2-

    A2-

    R1 R2

    A1 A2

    A1-

    R1+

    A1+

    A2+

    R2-

    A2-

    R1 R2

    A1 A2

    X+

    X-

    X

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 2 2

    S T A T E G R A P H L E V E L M E T H O D

    T r a n s f o r m s t h e p r o b l e m i n t o a s a t i s a b i l i t y p r o b l e m

  • 8/13/2019 Iccad 95 Tut.ps

    123/219

    V e r y c o m p u t a t i o n i n t e n s i v e

    V e r y f e w r e s t r i c t i o n s :

    { G e n e r a l P e t r i n e t s ( w i t h a l l e x t e n s i o n s )

    { G e n e r a l t r a n s f o r m a t i o n s ( c o n c u r r e n t t r a n s i t i o n s )

    P a r t i t i o n i n g P u r i ] a n d H e u r i s t i c s L a v a g n o , Y k m a n ] t o i m p r o v e

    e c i e n c y o f c i r c u i t a n d c o m p u t a t i o n t i m e

    C o n c u r r e n c y r e d u c t i o n Y k m a n ]

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 2 3

    S T A T E A S S I G N M E N T

    \ E x p a n d " a s t a t e g r a p h i n t o a n e w s t a t e g r a p h t h a t s a t i s e s

    C S C

  • 8/13/2019 Iccad 95 Tut.ps

    124/219

    4 - v a l u e a s s i g n m e n t s e t : f 0 1 U P D O W N g

    M e a n i n g o f a s s i g n i n g a v a l u e t o a s t a t e P f o r s i g n a l S

    { P i s a s s i g n e d 0 : S i s l o w i n P

    { P i s a s s i g n e d 1 : S i s h i g h i n P

    { P i s a s s i g n e d U P : P w i l l b e e x p a n d e d i n t w o s t a t e s w i t h S

    +

    c o n n e c t i n g b o t h s t a t e s

    { P i s a s s i g n e d D O W N : P w i l l b e e x p a n d e d i n t w o s t a t e s w i t h

    S

    ;

    c o n n e c t i n g b o t h s t a t e s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 2 4

  • 8/13/2019 Iccad 95 Tut.ps

    125/219

    S T A T E A S S I G N M E N T ( 3 )

    STATE GRAPHNEW STATE GRAPH

  • 8/13/2019 Iccad 95 Tut.ps

    126/219

    00

    10 01

    11

    01

    A+ B+

    A+B+

    A-

    B-

    010

    110

    A+

    C+

    B-

    000

    100

    B+

    B+

    A+

    001

    101n2

    C-

    C-

    A+

    A-111 011

    DOWN

    DOWN 0

    UP

    1

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 2 6

    D E C O M P O S I T I O N M E T H O D

    a+ d+ a1+ d+ a2+

    original STG(a,b,c)projection

    (d,e,f)projection

    (a,f)projection

  • 8/13/2019 Iccad 95 Tut.ps

    127/219

    b-

    c+

    a-

    b+

    c-

    e-

    f+

    d-

    e+

    f-

    b-

    c+

    a1-

    b+

    c-

    e-

    f1+

    d-

    e+

    f1-

    f2+

    a2-

    f2-

    a1

    b

    c

    d

    e

    f1

    a2

    f2

    PROJECTION

    IMPLEMENT

    a1

    b

    c

    a2

    f2

    d

    e

    f1

    C

    Cf

    COMPOSE

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 2 7

    P a r t 3 : H a z a r d - f r e e s y n t h e s i s a n d t e s t a b i l i t y

    H a z a r d - f r e e s y n t h e s i s b a s e d o n l o g i c t r a n s f o r m a t i o n s

  • 8/13/2019 Iccad 95 Tut.ps

    128/219

    U n b o u n d e d g a t e d e l a y s

    H a z a r d - f r e e s y n t h e s i s b a s e d o n c h a n g i n g d e l a y s

    B o u n d e d w i r e d e l a y s

    S y n t h e s i s o f n o n - d e t e r m i n i s t i c a s y n c h r o n o u s c i r c u i t s

    M e t a - s t a b i l i t y p r o b l e m

    T e s t i n g

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 2 8

    H a z a r d - f r e e s y n t h e s i s

    I n p u t : S T G ( o r S G ) w i t h C S C

  • 8/13/2019 Iccad 95 Tut.ps

    129/219

    O u t p u t : l o g i c c i r c u i t i m p l e m e n t i n g t h e S T G

    { c o r r e c t l y ( n o h a z a r d s , n o r a c e s )

    { w i t h m i n i m a l c o s t ( a r e a / d e l a y / p o w e r / t e s t a b i l i t y )

    D i r e c t m e t h o d s ( s y n t a x - d r i v e n f r o m S T G ) : f a s t b u t p o t e n t i a l l y

    s u b o p t i m a l

    S y n t h e s i s - b a s e d m e t h o d s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 2 9

    S T G - b a s e d s y n t h e s i s

    A b s e n c e o f r a c e s g u a r a n t e e d b y c o n s t r u c t i o n ( o n l y S T G s i g n a l s

    c a n b e f e d b a c k )

  • 8/13/2019 Iccad 95 Tut.ps

    130/219

    A b s e n c e o f h a z a r d s c a n b e a c h i e v e d :

    { b y a c k n o w l e d g m e n t / i n d i c a t i o n ( e a c h g a t e h a s s o m e o t h e r

    g a t e t h a t \ c h e c k s " w h e n i t s t r a n s i t i o n i s c o m p l e t e d , t o

    a v o i d h a z a r d s )

    { b y i n s e r t i o n o f a p p r o p r i a t e d e l a y s

    M i n i m a l i t y i s a c h i e v e d b y l o g i c s y n t h e s i s ( s p e c i a l m e t h o d s f o r

    t w o - l e v e l a n d m u l t i - l e v e l i m p l e m e n t a t i o n s )

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 3 0

    S y n t h e s i s w i t h u n b o u n d e d g a t e d e l a y s

    M u l l e r ( 5 9 ) : f o r m a l a n a l y s i s m e t h o d , b u t o n l y d e s i g n h i n t s

  • 8/13/2019 Iccad 95 Tut.ps

    131/219

    M a r t i n ( 8 6 , : : : ) : s y n t a x - d i r e c t e d t r a n s l a t i o n , t h e n Q D I - p r e s e r v i n g

    o p t i m i z a t i o n

    V a r s h a v s k y ( 9 0 ) : s y n t a x - d i r e c t e d t r a n s l a t i o n f r o m S T G

    B e e r e l ( 9 2 ) : i m p r o v e s w i t h h e u r i s t i c S G - l e v e l t e c h n i q u e b a s e d

    o n \ m o n o t o n o u s s w i t c h i n g " o f c u b e s

    K o n d r a t y e v ( 9 3 , : : : ) : n e c e s s a r y a n d s u c i e n t c o n d i t i o n s f o r

    m o n o t o n o u s s w i t c h i n g , S T G - a n d S G - l e v e l s y n t h e s i s t e c h n i q u e s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 3 1

    D r i v i n g a n d s u p p o r t i n g g a t e s

    z+ x-

    STG

    1->0->1 21 4 driving

    Complex gate - no hazards Simple gates - hazards

  • 8/13/2019 Iccad 95 Tut.ps

    132/219

    z-x+

    y+

    y-

    0 01-> ->x = zy + zx

    x

    zyz

    x

    y

    0->10

    0

    z

    z

    1 >0 >10->1

    2

    3

    supporting

    4 5

    A l l i n t e r n a l s i g n a l t r a n s i t i o n s m u s t p r o p a g a t e t o t h e o u t p u t

    ( a c k n o w l e d g e m e n t p r i n c i p l e a p p l i e d t o i n d i v i d u a l g a t e s )

    D r i v i n g g a t e s : \ g o o d " , s u p p o r t i n g g a t e s : \ b a d "

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 3 2

    I m p l e m e n t a t i o n s t r u c t u r e s

    Set function

    Signal implementation

    Ca

    C-latch

    R

    S

    E a c h s i g n a l t r a n s i t i o n

    p r o d u c e s a n A N D g a t e

  • 8/13/2019 Iccad 95 Tut.ps

    133/219

    Latch

    Reset function

    R

    S=0, R=1

    S=1, R=0 a+

    a-

    a + s e t s t h e l a t c h

    a ; r e s e t s t h e l a t c h

    ...

    ...

    ...

    ...

    a-

    a+1

    a+n

    1

    Sa

    Ra

    a~

    ad~

    e

    c~

    b

    BASIC ARCHITECTURES

    a-n

    cb

    de a-

    a+1

    a+n

    1

    a-n

    Sa

    Ra

    Ca

    RS flip-flop

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 3 3

    R e g i o n s o f t h e s t a t e g r a p h

    S y n t h e s i s i d e a : S e t o f c o n c u r r e n t t r a n s i t i o n s ) c o v e r c u b e

    i n R o r S f u n c t i o n ) d r i v i n g g a t e

  • 8/13/2019 Iccad 95 Tut.ps

    134/219

    0*0*1

    10*1* 0*11

    000*

    111*10*0

    01*0

    1*10

    region +zExcitation

    Cube x

    (Sz = x)

    region +z

    Quiescent

    zyx

    E x c i t a t i o n r e g i o n ( E R ) m u s t

    b e c o v e r e d b y o n e c u b e

    Q u i e s c e n t r e g i o n ( Q R ) i s a

    d o n ' t c a r e s e t f o r a c o v e r

    c u b e

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 3 4

    M o n o t o n o u s c o v e r c o n d i t i o n s

    b+

    a-

    0*10*0

    00*00

    1*000abcd

    C o v e r c u b e C i s a m o n o t o n o u s c o v e r

  • 8/13/2019 Iccad 95 Tut.ps

    135/219

    a+ c+

    a-

    b-

    a+

    d-

    d+

    c-

    0*10*0

    110*0 0*110

    1110*

    1*111

    01*11

    0*01*1

    101*11001*

    0*001

    cube ac

    cube abc

    ER

    QR

    ER(d-)

    (d+)

    (d+)

    f o r E R ( a ) i :

    1 C c o v e r s a l l s t a t e s E R ( a )

    2 C c o v e r s n o s t a t e s o u t s i d e

    E R ( a ) Q R ( a )

    3 C c h a n g e s o n l y o n c e i n s i d e Q R ( a )

    M o n o t o n o u s c o v e r ) S I - i m p l e m e n t a t i o n

    R e s t r i c t e d ( b u t u s e f u l a n d r e a l i s t i c ) a r c h i t e c t u r e

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 3 5

    R e d u c t i o n t o m o n o t o n o u s c o v e r f o r m

    b+

    x+

    d-ab

    cd00 10 11 01

    00 00 - -

    C u b e s f b d , c g f o r m a c o r r e c t

    n o n - m o n o t o n o u s c o v e r o f

    E R ( a + ) :

  • 8/13/2019 Iccad 95 Tut.ps

    136/219

    a+

    d+

    x-

    c-

    a-

    b-

    b+

    b-

    00

    01

    11

    10

    1 1 1

    1 1 1

    1 1

    0

    0

    - -

    ER(a+)

    cube bd

    cube c

    c+{ n o n e c o v e r s a l l s t a t e s o f

    E R ( a + )

    { d u e t o n o n - p e r s i s t e n c y o f c d

    w r t a +

    A f t e r i n s e r t i o n o f x :

    c u b e b x i s a m o n o t o n o u s c o v e r

    E x t e r n a l l y o b s e r v a b l e b e h a v i o r i s p r e s e r v e d

    S u c i e n t c o n d i t i o n : a n y M C v i o l a t i o n c a n b e e l i m i n a t e d w i t h

    a t m o s t t w o a d d e d s i g n a l s

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 3 6

    E x t e n s i o n s o f m o n o t o n o u s c o v e r t h e o r y

  • 8/13/2019 Iccad 95 Tut.ps

    137/219

    E x a c t S G - b a s e d p r o c e d u r e b a s e d o n s t a t e l a b e l i n g

    ( s i m i l a r t o s t a t e e n c o d i n g )

    T h e o r y c a n b e e x t e n d e d t o h a n d l e c o m p l e x g a t e s :

    { m o n o t o n i c i t y c o n d i t i o n s m u s t h o l d f o r a s e t o f c u b e s

    { e a c h t r a n s i t i o n i n E R m u s t b e c o v e r e d b y a t l e a s t o n e c u b e

    o f t h e g a t e

    I C C A D ' 9 5 t u t o r i a l T h e S y s t e m a t i c D e s i g n o f A s y n c h r o n o u s C i r c u i t s 1 3 7

    S y n t h e s i s w i t h b o u n d e d w i r e d e l a y s

    U n g e r ( 6 9 ) : s u m m a r y o f c l a s s i c a l t e c h n i q u e s f o r a s y n c h r o n o u s

  • 8/13/2019 Iccad 95 Tut.ps

    138/219

    F S M s

    L