skip to main content
10.1145/3061639.3062253acmconferencesArticle/Chapter ViewAbstractPublication PagesdacConference Proceedingsconference-collections
research-article

Formal Techniques for Effective Co-verification of Hardware/Software Co-designs

Published:18 June 2017Publication History

ABSTRACT

Verification is indispensable for building reliable of hardware/software co-designs. However, the scope of formal methods in this domain is limited. This is attributed to the lack of unified property specification languages, the semantic gap between hardware and software components, and the lack of verifiers that support both C and Verilog/VHDL. To address these limitations, we present an approach that uses a bounded co-verification tool, HW-CBMC, for formally validating hardware/software co-designs written in Verilog and C. Properties are expressed in C enriched with special-purpose primitives that capture temporal correlation between hardware and software events. We present an industrial case-study, proving bounded safety properties as well as discovering critical co-design bugs on a large and complex text analytics FPGA accelerator from IBM®.

References

  1. S. Ahn and S. Malik. Automated firmware testing using firmware-hardware interaction patterns. In CODES+ISSS, pages 1--25, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. L. De Moura and N. Bjørner. Z3: An efficient SMT solver. In TACAS, pages 337--340. Springer-Verlag, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. N. Eén and A. Biere. Effective preprocessing in SAT through variable and clause elimination. In SAT, pages 61--75, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. H. Giefers, R. Polig, and C. Hagleitner. Accelerating arithmetic kernels with coherent attached FPGA coprocessors. In DATE, pages 1072--1077, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. Große, U. Kühne, and R. Drechsler. HW/SW co-verification of embedded systems using bounded model checking. In GLSVLSI, pages 43--48, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Horn, M. Tautschnig, C. G. Val, L. Liang, T. Melham, J. Grundy, and D. Kroening. Formal co-validation of low-level hardware/software interfaces. In FMCAD, pages 121--128, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  7. D. Kroening, E. Clarke, and K. Yorav. Behavioral consistency of C and Verilog programs using bounded model checking. In DAC, pages 368--371, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. Li, F. Xie, T. Ball, V. Levin, and C. McGarvey. An automata-theoretic approach to hardware/software co-verification. In FASE, pages 248--262, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. F. Lugou, L. Apvrille, and A. Francillon. Toward a Methodology for Unified Verification of Hardware/Software Co-designs. Journal of Cryptographic Engineering, pages 1--12, 2016.Google ScholarGoogle Scholar
  10. Y. Mahajan, C. Chan, A. Bayazit, S. Malik, and W. Qin. Verification driven formal architecture and microarchitecture modeling. In MEMOCODE, pages 123--132, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. Monniaux. Verification of device drivers and intelligent controllers: a case study. In EMSOFT, pages 30--36, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. D. Nguyen, M. Wedler, D. Stoffel, and W. Kunz. Formal hardware/software co-verification by interval property checking with abstraction. In DAC, pages 510--515, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Polig, K. Atasu, L. Chiticariu, C. Hagleitner, H. P. Hofstee, F. R. Reiss, H. Zhu, and E. Sitaridi. Giving text analytics a boost. Micro, 34(4):6--14, 2014.Google ScholarGoogle Scholar
  14. R. Polig, K. Atasu, H. Giefers, and L. Chiticariu. Compiling text analytics queries to FPGAs. In FPL, pages 1--6, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  15. S. Swan. SystemC transaction level models and RTL verification. In DAC, pages 90--92, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. B. Wile. Coherent Accelerator Processor Interface (CAPI) for POWER8 Systems. IBM White Paper, Sep 2014.Google ScholarGoogle Scholar
  17. F. Xie and H. Liu. Unified property specification for hardware/software co-verification. In COMPSAC, volume 1, pages 483--490, July 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    DAC '17: Proceedings of the 54th Annual Design Automation Conference 2017
    June 2017
    533 pages
    ISBN:9781450349277
    DOI:10.1145/3061639

    Copyright © 2017 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 18 June 2017

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited

    Acceptance Rates

    Overall Acceptance Rate1,770of5,499submissions,32%

    Upcoming Conference

    DAC '24
    61st ACM/IEEE Design Automation Conference
    June 23 - 27, 2024
    San Francisco , CA , USA

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader