desynchronizaon:// design/for/verifica-ondesynchronizaon:// design/for/verifica-on!...

34
Desynchroniza-on: Design For Verifica-on Sudarshan K. Srinivasan and Raj S. Ka0 North Dakota State University FMCAD 2011

Upload: others

Post on 18-Jan-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Desynchroniza-on:    Design  For  Verifica-on  

   

Sudarshan  K.  Srinivasan  and  Raj  S.  Ka0  North  Dakota  State  University  

 FMCAD  2011  

   

Page 2: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Desynchroniza-on  

•  Synthesis  of  asynchronous  circuits  from  synchronous  circuits  

•  Advantages:  – Locally  generated  Gming  signals  in  place  of  global  clocks  

– Robustness  towards  variability  in  the  manufacturing  process  and  operaGng  condiGons  

– Provides  a  soluGon  to  wire-­‐delay  challenge  – Use  of  exisGng  EDA  CAD  flows  

Page 3: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Desynchroniza-on  

•  Micropipelines  –  Ivan  Sutherland  (Communica)ons  of  the  ACM  1989)  

•  4-­‐Phase  Semi-­‐Decoupled  Latch  Controller  – Furber  and  Day  (IEEE  TVLSI  1996)  

•  DesynchronizaGon  – Cortadella  et  al.  (IEEE  TCAD  2006)    

Page 4: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

PC  Logic  

IM    Decode  

RF  

 FL  

DM  

CLK  

Desynchroniza-on  

Page 5: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

PC  Logic  

IM    Decode  

RF  

 FL  

DM  

Desynchroniza-on  

Page 6: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

PC  Logic  

IM    Decode  

RF  

 FL  

DM  

Desynchroniza-on  

Page 7: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Desynchroniza-on  

PC  Logic  

IM    Decode  

RF  

 FL  

DM  

Page 8: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

C  

C   D  

PC  Logic  

D  

IM  

D  

 Decode  

RF  

 FL  

C   D  

C  

C   D  

DM  

C  

D   D  

D  

Desynchroniza-on  

Page 9: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Desynchroniza-on  Protocol  

F1    B2  

 

Rob1   Rof1   Rob2  

Af1   Af2  

Ab2  Af1  

C  

C  

D  

CombinaGonal    Logic  

Rib2  

Aof1   Ab2  

Page 10: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Desynchroniza-on  Protocol  

F1    B2  

 

Rob1   Rof1   Rob2  

Af1   Af2  

Ab2  Af1  

C  

C  

D  

CombinaGonal    Logic  

Rib2  

Aof1   Ab2  

τ2   τ1  

Page 11: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Desynchroniza-on  Protocol  

F1    B2  

 

Rob1   Rof1   Rob2  

Af1   Af2  

Ab2  Af1  

C  

C  

D  

CombinaGonal    Logic  

Rib2  

Aof1   Ab2  

τ2  

Page 12: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Desynchroniza-on  Protocol  

F1    B2  

 

Rob1   Rof1   Rob2  

Af1   Af2  

Ab2  Af1  

C  

C  

D  

CombinaGonal    Logic  

Rib2  

Aof1   Ab2  

τ2   τ2  

Page 13: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Desynchroniza-on  Protocol  

F1    B2  

 

Rob1   Rof1   Rob2  

Af1   Af2  

Ab2  Af1  

C  

C  

D  

CombinaGonal    Logic  

Rib2  

Aof1   Ab2  

τ2  

Page 14: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Equivalence  Verifica-on  

•  Well  Founded  Equivalence  BisimulaGons  (WEBs)  Refinement  – PanagioGs  (Pete)  Manolios:  Correctness  of  Pipelined  Machines  (FMCAD’00)  

•  Refinement  Map    

Page 15: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Equivalence  Verifica-on    •  Synchronous  Pipeline  

–  5  Stages  (5  pipeline  registers)  –  D  Flip  Flops  –  No.  Of  Pipeline  Controller  States  =  16  –  Stages  synchronized  

•  Desynchronized  Pipeline  –  5  Stages:  10  pipeline  latches  –  2  D  latches  for  every  D  Flip  Flop    –  Stages  not  synchronized  –  No.  of  States  of  DesynchronizaGon  Controller:  >  220  

Page 16: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

PC  Logic   IM    Decode  

RF  

 FL  

DM  

CLK  

PC  Logic   IM    Decode  

RF  

 FL  

DM  

≅  

Page 17: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

C  

C   D  

PC  Logic  

D  

IM  

D  

 Decode  

RF  

 FL  

C   D  

C  

C   D  

DM  

C  

D   D  

D  

Desynchroniza-on  

Page 18: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Refinement-­‐Based  Verifica-on  

•  SpecificaGon:  Single-­‐stage  synchronous  machine  

•  Reachability  Analysis  – To  eliminate  spurious  counterexamples  – Symbolic  simulaGon  •  Very  large  number  of  steps  •  Infeasible  

– High-­‐level  Invariants  •  Hard  to  find  

 

Page 19: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

DFVD  Controller  

B   FC

C

Rib   Rob   Rof  

Ab   Aof  

Af  Ri1  

Rim  

Ao1  

Aon  

Ab  

Page 20: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

DFVD  Controller  

B   FC

C

Rib   Rob   Rof  

Ab   Aof  

Af  Ri1  

Rim  

Ao1  

Aon  

Ab  

Page 21: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

DFVD  Controller  

B   FC

C

Rib   Rob   Rof  

Ab   Aof  

Af  Ri1  

Rim  

Ao1  

Aon  

Ab  

•  P1:    Ab∨  Af  

 

   

 

Page 22: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

DFVD  Controller  

B   FC

C

Rib   Rob   Rof  

Ab   Aof  

Af  Ri1  

Rim  

Ao1  

Aon  

Ab  

•  P1:    Ab∨  Af  

•  P2:  [Ab∧Af∧Rof]→(¬Rob)  

•  P3:  [Ab  ∧Af  ∧(¬Rof  )]  →  (¬Aof  )  

•  P4:  [(¬Ab)∧Af  ∧Rof  ]  →  (¬Aof  )  

•  P5:  [Ab∧(¬Af)]→Aof  

•  P6:  [Ab  ∧(¬Af  )∧(¬Rof  )]  →  Rib    

•  P7:  [(¬Ab)∧Af  ∧(¬Rof  )]  →  (¬Rib)    

•  P8:  [Ab∧Af∧Rof]→Rib    

   

 

Page 23: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

DFVD  Controller  

B   FC

C

Rib   Rob   Rof  

Ab   Aof  

Af  Ri1  

Rim  

Ao1  

Aon  

Ab  

•  P1:    Ab∨  Af  

•  P2:  [Ab∧Af∧Rof]→(¬Rob)  

•  P3:  [Ab  ∧Af  ∧(¬Rof  )]  →  (¬Aof  )  

•  P4:  [(¬Ab)∧Af  ∧Rof  ]  →  (¬Aof  )  

•  P5:  [Ab∧(¬Af)]→Aof  

•  P6:  [Ab  ∧(¬Af  )∧(¬Rof  )]  →  Rib    

•  P7:  [(¬Ab)∧Af  ∧(¬Rof  )]  →  (¬Rib)    

•  P8:  [Ab∧Af∧Rof]→Rib  

•  The  conjuncGon  of  properGes  P1–

P8  forms  an  inducGve  invariant    

   

 

Page 24: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

DFVD  Controller  

F1    B2  

 

Rob1   Rof1   Rob2  

Af1   Af2  

Ab2  Af1  

C  

C  

D  

CombinaGonal    Logic  

P9:      [(¬Af1)∧(¬Ab2)]  →  (¬Rib2)    

P10:  [(¬Af1)∧Rof1]  →  Rib2    

P11:  [Af1  ∧(¬Ab2)∧(¬Rof1)⟩]  →  (¬Rib2)    

P12:  [Af1  ∧Ab2  ∧Rof1]  →  Rib2    

P13:  [Af1  ∧Ab2  ∧(¬Rof1)]  →  Aof1    

P14:  [Af1  ∧(¬Ab2)∧Rof1]  →  (¬Aof1)    

P15:  [(¬Af1)∧Ab2]  →  Aof1  

Rib2  

Aof1   Ab2  

Page 25: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

C  

C   D  

PC  Logic  

D  

IM  

C  

C   D  

 Decode  

RF  

 FL  

C  

C   D  

C  

C   D  

DM  

C  C  

D   D  

D  

Desynchronized  5-­‐Stage  Pipeline  

Page 26: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Desynchronized  Models  

•  DPM5-­‐1:  5(10)  stages,  1  controller  •  DPM5-­‐2:  5(10)  stages,  2  controllers  •  DPM5-­‐5:  5(10)  stages,  5  controllers  •  DPM6-­‐6:  6(12)  stages,  6  controllers  •  DPM7-­‐7:  7(14)  stages,  7  controllers  •  DPM-­‐B1-­‐5-­‐2:  Buggy  DPM5-­‐2  (datapath  bug)  •  DPM-­‐B2-­‐5-­‐2:  Buggy  DPM5-­‐2  (controller  bug)  

Page 27: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

WEB  Refinement  ⟨∀w∈IMPL  ::  s=r(w)  ∧  u=SStep(s)  ∧                                                          v  =  IStep(w)  ∧    u  ≠  r(v)  

                                       →      s  =  r(v)  ∧    rank(v)  <  rank(w)⟩    •  IMPL:  ImplementaGon  States  •  IStep:  ImplementaGon  Step  •  SSetp:  SpecificaGon  Step  •  r:  Refinement  Map  •  CompleGon  funcGons  to  construct  refinement  map    

Page 28: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

WEB  Refinement  ⟨∀w∈IMPL  ::  s=r(w)  ∧  u=SStep(s)  ∧                                                          v  =  IStep(w)  ∧    u  ≠  r(v)  

                                       →      s  =  r(v)  ∧    rank(v)  <  rank(w)⟩    •  IMPL:  ImplementaGon  States  •  IStep:  ImplementaGon  Step  •  SSetp:  SpecificaGon  Step  •  r:  Refinement  Map  •  CompleGon  funcGons  to  construct  refinement  map    

Page 29: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Verifica-on  

•  Models  and  properGes  described  using  ACL2  •  Translated  to  SMT  (QF_AUFLIA)  •  VerificaGon  performed  using  Yices  decision  procedure  (version  1.0.10)  

Page 30: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Verifica-on  Results  

Desynchronized  Model  

No.  of  lines  of    ACL2  Code  

Verifica-on  Time  (Seconds)  

DPM5-­‐1   687   1.19  DPM5-­‐2   708   1.98  

DPM5-­‐5   783   4.37  DPM6-­‐6   866   53.21  DPM7-­‐7   949   2417.74  DPM-­‐B1-­‐5-­‐2     708   1.91  DPM-­‐B2-­‐5-­‐2   708   1.74  

Page 31: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Verifica-on  Results  

Desynchronized  Model  

SMT  Sta-s-cs  Conflicts   Decisions   Bool  Vars   Memory  

Used  (MB)  DPM5-­‐1   6,292   1,202   2,723   9.41  

DPM5-­‐2   5,558     1,548     2,798     11.56    

DPM5-­‐5   70,662     16,950     3,456     13.09    

DPM6-­‐6   834,187   219,160     4,542     17.97    

DPM7-­‐7   25,231,948     7,304,751     5,940     32.49    

DPM-­‐B1-­‐5-­‐2     5,665     1,058     2,940   11.62    

DPM-­‐B2-­‐5-­‐2   358   49   1,529   11.01  

Page 32: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Conclusions  

•  Design  for  verificaGon:  Compromise  to  improve  verifiability  

•  Performance  penalty:  4  muller-­‐C  element  delay  in  pipeline  throughput  

•  VerificaGon  Scalability:  ExponenGal  in  number  of  stages  

Page 33: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Future  Work  

•  Reduce  performance  penalty  •  Equivalence  Checking:  Desynchronized  circuit  and  synchronous  parent  

•  Explore  design  for  verificaGon  strategies  for  other  asynchronous  design  paradigms  

Page 34: Desynchronizaon:// Design/For/Verifica-onDesynchronizaon:// Design/For/Verifica-on! Sudarshan!K.!Srinivasan!and!Raj!S.!Ka ! North!DakotaState!University!! FMCAD!2011!!!

Desynchroniza-on:    Design  For  Verifica-on  

   

Sudarshan  K.  Srinivasan  and  Raj  S.  Ka0  North  Dakota  State  University  

 FMCAD  2011