Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/646185.683061guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Bit-Level Abstraction in the Verfication of Pipelined Microprocessors by Correspondence Checking

Published: 04 November 1998 Publication History

Abstract

We present a way to abstract functional units in symbolic simulation of actual circuits, thus achieving the effect of uninterpreted functions at the bit-level. Additionally, we propose an efficient encoding technique that can be used to represent uninterpreted symbols with BDDs, while allowing these symbols to be propagated by simulation with a conventional bit-level symbolic simulator. Our abstraction and encoding techniques result in an automatic symmetry reduction and allow the control and forwarding logic of the actual circuit to be used unmodified. The abstraction method builds on the behavioral Efficient Memory Model [18][19] and its capability to dynamically introduce consistent initial state, which is identical for two simulation sequences. We apply the abstraction and encoding ideas on the verification of pipelined microprocessors by correspondence checking, where a pipelined microprocessor is compared against a non-pipelined specification.

References

[1]
S. Berezin, A. Biere, E.M. Clarke, and Y. Zhu, "Combining Symbolic Model Checking with Uninterpreted Functions for Out-of-Order Processor Verification," FMCAD'98 (appears in this publication).
[2]
S. Bose, and A.L. Fisher, "Verifying Pipelined Hardware Using Symbolic Logic Simulation," International Conference on Computer Design , October 1989, pp. 217-221.
[3]
R.E. Bryant, "Symbolic Boolean Manipulation with Ordered Binary-Decision Diagrams," ACM Computing Serveys , Vol. 24, No. 3 (September 1992), pp. 293-318.
[4]
R.E. Bryant, and M.N. Velev, "Verification of Pipelined Microprocessors by Comparing Memory Execution Sequences in Symbolic Simulation,"2 Asian Computer Science Conference (ASIAN'97) , R.K. Shyamasundar and K. Ueda, eds., LNCS 1345, Springer-Verlag, December 1997, pp. 18-31.
[5]
J.R. Burch, and D.L. Dill, "Automated Verification of Pipelined Microprocessor Control," CAV'94 , D.L. Dill, ed., LNCS 818, Springer-Verlag, June 1994, pp. 68-80.
[6]
J.R. Burch, "Techniques for Verifying Superscalar Microprocessors," DAC'96 , June 1996, pp. 552-557.
[7]
Y.-A. Chen, "Arithmetic Circuit Verification Based on Word-Level Decision Diagrams," Ph.D. thesis, School of Computer Science, Carnegie Mellon University, May 1998.
[8]
A. Goel, K. Sajid, H. Zhou, A. Aziz, and V. Singhal, "BDD Based Procedures for a Theory of Equality with Uninterpreted Functions," CAV'98 , June, 1998.
[9]
C.A.R. Hoare, "Proof of Correctness of Data Representations," Acta Informatica , 1972, Vol. 1, pp. 271- 281.
[10]
R. Hojati, A. Kuehlmann, S. German, and R.K. Brayton, "Validity Checking in the Theory of Equality with Uninterpreted Functions Using Finite Instantiations," International Workshop on Logic Synthesis , May 1997.
[11]
A. Jain, "Formal Hardware Verification by Symbolic Trajectory Evaluation," Ph.D. thesis, Department of Electrical and Computer Engineering, Carnegie Mellon University, August 1997.
[12]
T.-H. Liu, K. Sajid, A. Aziz, and V. Singhal, "Optimizing Designs Containing Black Boxes," 34th Design Automation Conference , June 1997, pp. 113-116.
[13]
G. Nelson, and D.C. Oppen, "Simplification by Cooperating Decision Procedures," ACM Transactions on Programming Languages and Systems , Vol. 1, No. 2, October 1979, pp. 245-257.
[14]
M. Pandey, "Formal Verification of Memory Arrays," Ph.D. thesis, School of Computer Science, Carnegie Mellon University, May 1997.
[15]
D.A. Patterson, and J.L. Hennessy, Computer Organization and Design: The Hardware/Software Interface , 2nd Edition, Morgan Kaufmann Publishers, San Francisco, CA, 1998.
[16]
C.-J.H. Seger, and R.E. Bryant, "Formal Verification by Symbolic Evaluation of Partially-Ordered Trajectories," Formal Methods in System Design , Vol. 6, No. 2, March 1995, pp. 147-190.
[17]
R.E. Shostak, "A Practical Decision Procedure for Arithmetic with Function Symbols," J. ACM , Vol. 26, No. 2, April 1979, pp. 351-360.
[18]
M.N. Velev, R.E. Bryant, and A. Jain, "Efficient Modeling of Memory Arrays in Symbolic Simulation," 2 CAV'97 , O. Grumberg, ed., LNCS 1254, Springer-Verlag, June 1997, pp. 388-399.
[19]
M.N. Velev, and R.E. Bryant, "Efficient Modeling of Memory Arrays in Symbolic Ternary Simulation," 2 International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'98) , B. Steffen, ed., LNCS 1384, Springer-Verlag, March-April 1998, pp. 136-150.
[20]
M.N. Velev, and R.E. Bryant, "Verification of Pipelined Microprocessors by Correspondence Checking in Symbolic Ternary Simulation,"2 International Conference on Application of Concurrency to System Design (CSD'98) , IEEE Computer Society, March 1998, pp. 200-212.
[21]
P.J. Windley, and J.R. Burch, "Mechanically Checking a Lemma Used in an Automatic Verification Tool," FMCAD'96 , M. Srivas and A. Camilleri, eds., LNCS 1166, Springer-Verlag, November 1996, pp. 362-376.

Cited By

View all
  • (2011)DesynchronizationProceedings of the International Conference on Formal Methods in Computer-Aided Design10.5555/2157654.2157687(215-222)Online publication date: 30-Oct-2011
  • (2011)Automatic formal verification of multithreaded pipelined microprocessorsProceedings of the International Conference on Computer-Aided Design10.5555/2132325.2132476(679-686)Online publication date: 7-Nov-2011
  • (2011)Exploiting abstraction for efficient formal verification of DSPs with arrays of reconfigurable functional unitsProceedings of the 13th international conference on Formal methods and software engineering10.5555/2075089.2075117(307-322)Online publication date: 26-Oct-2011
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
FMCAD '98: Proceedings of the Second International Conference on Formal Methods in Computer-Aided Design
November 1998
529 pages

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 04 November 1998

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2011)DesynchronizationProceedings of the International Conference on Formal Methods in Computer-Aided Design10.5555/2157654.2157687(215-222)Online publication date: 30-Oct-2011
  • (2011)Automatic formal verification of multithreaded pipelined microprocessorsProceedings of the International Conference on Computer-Aided Design10.5555/2132325.2132476(679-686)Online publication date: 7-Nov-2011
  • (2011)Exploiting abstraction for efficient formal verification of DSPs with arrays of reconfigurable functional unitsProceedings of the 13th international conference on Formal methods and software engineering10.5555/2075089.2075117(307-322)Online publication date: 26-Oct-2011
  • (2011)Automatic formal verification of reconfigurable DSPsProceedings of the 16th Asia and South Pacific Design Automation Conference10.5555/1950815.1950881(293-296)Online publication date: 25-Jan-2011
  • (2010)Method for formal verification of soft-error tolerance mechanisms in pipelined microprocessorsProceedings of the 12th international conference on Formal engineering methods and software engineering10.5555/1939864.1939894(355-370)Online publication date: 17-Nov-2010
  • (2006)Using Abstraction for Efficient Formal Verification of Pipelined Processors with Value PredictionProceedings of the 7th International Symposium on Quality Electronic Design10.1109/ISQED.2006.142(51-56)Online publication date: 27-Mar-2006
  • (2004)Exploiting Signal Unobservability for Efficient Translation to CNF in Formal Verification of MicroprocessorsProceedings of the conference on Design, automation and test in Europe - Volume 110.5555/968878.969033Online publication date: 16-Feb-2004
  • (2002)Verification of FM9801Formal Methods in System Design10.1023/A:101412263027720:2(187-222)Online publication date: 1-Mar-2002
  • (2001)Processor verification using efficient reductions of the logic of uninterpreted functions to propositional logicACM Transactions on Computational Logic10.1145/371282.3713642:1(93-134)Online publication date: 1-Jan-2001
  • (2000)Formal verification of superscale microprocessors with multicycle functional units, exception, and branch predictionProceedings of the 37th Annual Design Automation Conference10.1145/337292.337331(112-117)Online publication date: 1-Jun-2000
  • Show More Cited By

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media