skip to main content
10.1145/2380445.2380524acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
research-article

A case of system-level hardware/software co-design and co-verification of a commodity multi-processor system with custom hardware

Published:07 October 2012Publication History

ABSTRACT

This paper presents an interesting system-level co-design and co-verification case study for a non-trivial design where multiple high-performing x86 processors and custom hardware were connected through a coherent interconnection fabric. In functional verification of such a system, we used a processor bus functional model (BFM) to combine native software execution with a cycle-accurate interconnect simulator and an HDL simulator. However, we found that significant extensions need to be made to the conventional BFM methodology in order to capture various data-race cases in simulation, which eventually happen in modern multi-processor systems. Especially essential were faithful implementations of the memory consistency model and cache coherence protocol, as well as timing randomization. We demonstrate how such a co-simulation environment can be constructed from existing tools and software. Lessons from our study can similarly be applied to design and verification of other tightly-coupled systems.

References

  1. Cadence, Inc. Palladium series. http://www.cadence.com/products/sd/palladium_series/pages/default.aspx.Google ScholarGoogle Scholar
  2. J. Casper, T. Oguntebi, S. Hong, N. G. Bronson, C. Kozyrakis, and K. Olukotun. Hardware acceleration of transactional memory on commodity systems. ASPLOS '11. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. Cornet, F. Maraninchi, and L. Maillet-Contoz. A Method for the Efficient Development of Timed and Untimed Transaction-Level Models of Systems-on-Chip. In DATE, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. W. Dally and B. Towles. Principles and practices of interconnection networks. Morgan Kaufmann, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. R. Hameed, W. Qadeer, M. Wachs, O. Azizi, A. Solomatnikov, B. Lee, S. Richardson, C. Kozyrakis, and M. Horowitz. Understanding sources of inefficiency in general-purpose chips. In ISCA, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. Honda, T. Wakabayashi, H. Tomiyama, and H. Takada. RTOS-centric hardware/software cosimulator for embedded system design. In CODES+ISSS. ACM, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Hong, S. Yoo, S. Lee, S. Lee, H. Nam, B. Yoo, J. Hwang, D. Song, J. Kim, J. Kim, et al. Creation and utilization of a virtual platform for embedded software optimization:: an industrial case study. In CODES+ISSS, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. O. S. Initiative. Systemc. http://www.systemc.org.Google ScholarGoogle Scholar
  9. J. Larus and R. Rajwar. Transactional Memory. Morgan Claypool Synthesis Series, 2006.Google ScholarGoogle Scholar
  10. C. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V. Janapa, and R. Hazelwood. Pin: building customized program analysis tools with dynamic instrumentation. In PLDI, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. McKenney. Memory ordering in modern microprocessors, part I. Linux Journal, 2005(136):2, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Mentor Graphics, Inc. seamless. http://www.mentor.com/products/fv/seamless/.Google ScholarGoogle Scholar
  13. Y. Nakamura, K. Hosokawa, I. Kuroda, K. Yoshikawa, and T. Yoshimura. A fast hardware/software co-verification method for system-on-a-chip by using a C/C++ simulator and FPGA emulator with shared register communication. In DAC, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. T. Oguntebi, S. Hong, J. Casper, N. Bronson, C. Kozyrakis, and K. Olukotun. FARM: A prototyping environment for tightly-coupled, heterogeneous architectures. In FCCM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Reshadi, P. Mishra, and N. Dutt. Instruction set compiled simulation: a technique for fast and exible instruction set simulation. In DAC, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J. Rowson. Hardware/software co-simulation. In DAC, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. L. S--em--eria and A. Ghosh. Methodology for hardware/software co-verification in C/C++. In ASP-DAC, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Sysnopsys, Inc. Virtual prototyping solutions. http://http://www.synopsys.com/Systems/VirtualPrototyping/Pages/default.aspx.Google ScholarGoogle Scholar
  19. J. Um, W. Kwon, S. Hong, Y. Kim, K. Choi, J. Kong, S. Eo, and T. Kim. A systematic IP and bus subsystem modeling for platform-based system design. In DATE, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Xilinx, Inc. Bus functional model (bfm) simulation of processor intellectual property. http://www.xilinx.com/support/documentation/application_notes/xapp516.pdf.Google ScholarGoogle Scholar
  21. S. Yoo, I. Bacivarov, A. Bouchhima, Y. Paviot, and A. Jerraya. Building fast and accurate SW simulation models based on hardware abstraction layer and simulation environment abstraction layer. In DATE, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. M. Yourst. PTLsim: A Cycle Accurate Full System x86--64 Microarchitectural Simulator. In ISPASS. IEEE, 2007.Google ScholarGoogle Scholar

Index Terms

  1. A case of system-level hardware/software co-design and co-verification of a commodity multi-processor system with custom hardware

      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
        CODES+ISSS '12: Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
        October 2012
        596 pages
        ISBN:9781450314268
        DOI:10.1145/2380445

        Copyright © 2012 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: 7 October 2012

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        CODES+ISSS '12 Paper Acceptance Rate48of163submissions,29%Overall Acceptance Rate280of864submissions,32%

        Upcoming Conference

        ESWEEK '24
        Twentieth Embedded Systems Week
        September 29 - October 4, 2024
        Raleigh , NC , USA

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader