Skip to main content

Accelerating Simulation with FPGAs

  • Chapter
  • First Online:
  • 1834 Accesses

Abstract

This chapter presents an approach to accelerating processor simulation using FPGAs. This is distinguished from traditional uses of FPGAs, and the increased development effort from using FPGAs is discussed. Techniques are presented to efficiently control a highly distributed simulation on an FPGA. Time-multiplexing the simulator is presented in order to simulate numerous virtual cores while improving utilization of functional units.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    This is 3 instead of 4 because the simulator can perform the first write on the same FPGA cycle as the second read to the synchronous block RAM.

  2. 2.

    There are scenarios in which the FPGA simulator characteristics may give some degree of insight into the corresponding characteristics of the final design. However, this should not be one of the assumptions when using an FPGA for architectural simulation.

  3. 3.

    It should be noted that high-level hardware description languages do not necessarily result in worse FPGA utilization. There are cases where high-level knowledge exposes optimization opportunities [20].

  4. 4.

    Sometimes port-based models contain “false” combinational loops between modules. In this case, a module’s simulation loop must be loosened to correctly handle the false dependencies, as presented in [21].

  5. 5.

    The name A-Ports reflects that they are a generalization of ports in the Asim simulator.

  6. 6.

    This kind of multiplexing bears a resemblance to multi-threading in real microprocessors, but it is important to distinguish that this is a simulator technique, not a technique in the target architecture. The cores being multiplexed do not have to support multi-threading.

  7. 7.

    Again, note that this refers to altering the implementation of the modules on the FPGA, not altering the timing characteristics of the target circuit, which are preserved by the ports.

References

  1. Chiou, D., Sunwoo, D., Kim, J., Patil, N.A., Reinhart, W.H., Johnson, D.E., Keefe, J., Angepat H.: “FPGA-accelerated simulation technologies FAST: Fast, full-system, cycle-accurate simulators.” In: Proceedings of the 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), Chicago, IL, pp. 249–261 December (2007).

    Google Scholar 

  2. HiTech Global Design and Distribution, LLC. http://www.hitechglobal.com (2009).

  3. DRC Computer Corp. http://www.drccomputer.com (2009).

  4. Nallatech, Inc. http://www.nallatech.com (2009).

  5. Penry, D.A., Fay, D., Hodgdon, D., Wells, R., Schelle, G., August, D.I., Connors, D.: “Exploiting parallelism and structure to accelerate the simulation of chip multi-processors.” In: The 12th International Symposium on High-Performance Computer Architecture (HPCA), Salt Lake City, UT, pp. 29–40 February (2008).

    Google Scholar 

  6. Chiou, D., Sunwoo, D., Kim, J., Patil, N.A., Reinhart, W.H., Johnson, D.E., Xu, Z.: “The fast methodology for high-speed soc/computer simulation.” In: International Conference on Computer-Aided Design (ICCAD), San Jose, CA, pp. 295–302, November (2007).

    Google Scholar 

  7. Chung, E., Nurvitadhi, E., Hoe, J., Mai, K., Falsafi, B.: “Accelerating architectural-level, full-system multiprocessor simulations using FPGAs.” In: FPGA ’08 Proceedings of the Eleventh International Symposium on Field Programmable Gate Arrays pp. 77–86, Monterey, CA, February (2008).

    Google Scholar 

  8. Tan, Z., Waterman, A., Cook, H., Asanovic, K., Patterson, D.: Ramp gold: An FPGA-based architecture simulator for multiprocessors. In: Proceedings of the 47th Design Automation Conference (DAC), Anaheim, CA, June (2010).

    Google Scholar 

  9. Pellauer, M., Vijayaraghavan, M., Arvind, M.A., Emer, J.: “Quick performance models quickly: Closely-coupled timing-directed simulation on fpgas.” In IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pp. 1–10, Austin, TX, April (2008).

    Google Scholar 

  10. Pellauer, M., Vijayaraghavan, M., Arvind, M.A., Emer, J.: “A-ports: An efficient abstraction for cycle-accurate performance models on FPGAS.” In IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pp. 87–96, Monterey, CA, February (2008).

    Google Scholar 

  11. Wawrzynek, J., Patterson, D., Oskin, M., Lu, S.L., Kozyrakis, C., Hoe, J. C., Chiou D., Asanovic, K. Ramp: A research accelerator for multiple processors. IEEE Micro March/April 27(2):46–57 (2007).

    Article  Google Scholar 

  12. Bluespec Inc. http://www.bluespec.com (2008).

  13. Page. I: Constructing hardware-software systems from a single description. J VLSI Process, 12, 87–107 (1996).

    Article  MathSciNet  Google Scholar 

  14. OSCI. SystemC language reference manual version 2.1.

    Google Scholar 

  15. Parashar, A., Adler, M., Pellauer, M., Emer, J.: Hybrid CPU/FPGA performance models. In: Workshop on Architectural Research Prototyping (WARP), pp. 1–2, Beijing, China, June (2008).

    Google Scholar 

  16. Pfister, G.: “The Yorktown simulation engine.” In: 19th Conference on Design Automation (DAC), pp. 51–60, Las Vegas, NV, June (1982).

    Google Scholar 

  17. Pellauer, M., Vijayaraghavan, M., Arvind, M.A., Emer, J.: A-port networks: Preserving the timed behavior of synchronous systems for modeling on fpgas. ACM Trans Reconfigurable Technol Syst, September 2(3):Article 16 (2009).

    Google Scholar 

  18. Emer, J., Ahuja, P., Borch, E., Klauser, A., Luk, C.K., Manne, S., Mukherjee, S.S., Patil, H., Wallace, S., Binkert, N., Espasa, R., Juan, T.: Asim: A performance model framework. Computer, February 35(2):68–76 (2002).

    Article  Google Scholar 

  19. Barr, K.C., Matas-Navarro, R., Weaver, C., Juan, T., Emer, J.: Simulating a chip multiprocessor with a symmetric multiprocessor. In: Boston Area Architecture Workshop (BARC), Boston, MA, January (2005).

    Google Scholar 

  20. Interra Systems. Bluespec Testing Results: Comparing RTL Tool Output to Hand-designed RTL. http://www.bluespec.com/images/pdfs/InterraReport042604.pdf, April (2004).

  21. Vijayaraghavan, M., Arvind, M.A.: “Bounded Dataflow Networks and Latency-Insensitive Circuits.” In: Proceedings of Formal Methods and Models for Codesign (MEMOCODE), pp. 171–180, Cambridge, MA, July (2009).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Joel Emer .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer Science+business Media, LLC

About this chapter

Cite this chapter

Pellauer, M., Adler, M., Parashar, A., Emer, J. (2010). Accelerating Simulation with FPGAs. In: Leupers, R., Temam, O. (eds) Processor and System-on-Chip Simulation. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-6175-4_7

Download citation

  • DOI: https://doi.org/10.1007/978-1-4419-6175-4_7

  • Published:

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4419-6174-7

  • Online ISBN: 978-1-4419-6175-4

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics