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.
- Cadence, Inc. Palladium series. http://www.cadence.com/products/sd/palladium_series/pages/default.aspx.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- W. Dally and B. Towles. Principles and practices of interconnection networks. Morgan Kaufmann, 2004. Google ScholarDigital Library
- 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 ScholarDigital Library
- S. Honda, T. Wakabayashi, H. Tomiyama, and H. Takada. RTOS-centric hardware/software cosimulator for embedded system design. In CODES+ISSS. ACM, 2004. Google ScholarDigital Library
- 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 ScholarDigital Library
- O. S. Initiative. Systemc. http://www.systemc.org.Google Scholar
- J. Larus and R. Rajwar. Transactional Memory. Morgan Claypool Synthesis Series, 2006.Google Scholar
- 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 ScholarDigital Library
- P. McKenney. Memory ordering in modern microprocessors, part I. Linux Journal, 2005(136):2, 2005. Google ScholarDigital Library
- Mentor Graphics, Inc. seamless. http://www.mentor.com/products/fv/seamless/.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- M. Reshadi, P. Mishra, and N. Dutt. Instruction set compiled simulation: a technique for fast and exible instruction set simulation. In DAC, 2003. Google ScholarDigital Library
- J. Rowson. Hardware/software co-simulation. In DAC, 1994. Google ScholarDigital Library
- L. S--em--eria and A. Ghosh. Methodology for hardware/software co-verification in C/C++. In ASP-DAC, 2000. Google ScholarDigital Library
- Sysnopsys, Inc. Virtual prototyping solutions. http://http://www.synopsys.com/Systems/VirtualPrototyping/Pages/default.aspx.Google Scholar
- 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 ScholarDigital Library
- Xilinx, Inc. Bus functional model (bfm) simulation of processor intellectual property. http://www.xilinx.com/support/documentation/application_notes/xapp516.pdf.Google Scholar
- 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 ScholarDigital Library
- M. Yourst. PTLsim: A Cycle Accurate Full System x86--64 Microarchitectural Simulator. In ISPASS. IEEE, 2007.Google Scholar
Index Terms
- A case of system-level hardware/software co-design and co-verification of a commodity multi-processor system with custom hardware
Recommendations
A system-level co-verification environment for ATM hardware design
DATE '98: Proceedings of the conference on Design, automation and test in EuropeCommon approaches to hardware implementation of networking components start at the VHDL level and are based on the creation of regression test benches to perform simulative validation of functionality. The time needed to develop test benches has proven ...
The Hardware-Software Co-design and Co-verification of SoC for an Embedded Home Gateway
SEC '08: Proceedings of the 2008 Fifth IEEE International Symposium on Embedded ComputingHome network is becoming an important part of global information infrastructure, where the embedded home gateway is a key information device to implement the interconnection and Internet access between devices in a home. In this paper, a SoC (System-on-...
System level hardware module generation
In complex modern day electronic systems, far more time is spent in designing the boards, writing the software to drive and integrate the hardware, and other such system level issues, than is spent in designing any application-specific ICs that may be ...
Comments