A Synchronization Method for Register Traces of Pipelined Processors

  • Ralf Dreesen
  • Thorsten Jungeblut
  • Michael Thies
  • Mario Porrmann
  • Uwe Kastens
  • Ulrich Rückert
Conference paper
Part of the IFIP Advances in Information and Communication Technology book series (IFIPAICT, volume 310)

Abstract

During a typical development process of an embedded application specific processor (ASIP), the architecture is implemented multiple times on different levels of abstractions. As a result of this redundant specification, certain inconsistencies may show up. For example, the implementation of an instruction in the simulator may differ from the HDL implementation. To detect such inconsistencies, we use register trace comparison. Our key contribution is a generic method for systematic trace synchronization. Therefore, we convert a micro-architectural trace into an architectural trace. This method considers pipeline hazards and non-uniform write latencies. To simplify the validation of a processor, we further have implemented an automatic validation environment that includes a tool which points the developer directly to erroneous instructions. The flow has been validated during the development of our CoreVA architecture for mobile applications.

References

  1. 1.
    Azevedo, R., Rigo, S., Bartholomeu, M., Araujo, G., Araujo, C., Barros, E.: The ArchC architecture description language and tools. Int. J. Parallel Program. 33, 453–484 (2005)CrossRefMATHGoogle Scholar
  2. 2.
    Burch, J., Dill, D.: Automatic verification of Pipelined Microprocessor Control. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 68–80. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  3. 3.
    Chang, Y., Lee, S., Park, I., Kyung, C.: Verification of a microprocessor using real world applications. In: DAC 1999, pp. 181–184 (1999)Google Scholar
  4. 4.
    Gonzalez, R.: Xtensa: A Configurable and Extensible Processor. IEEE Micro., 60–70 (2000)Google Scholar
  5. 5.
    Hosseini, A., Mavroidis, D., Konas, P.: Code generation and analysis for the functional verification of micro processors. In: DAC 1996, pp. 305–310 (1996)Google Scholar
  6. 6.
    Kalte, H., Porrmann, M., Rückert, U.: A Prototyping Platform for Dynamically Reconfigurable System on Chip Designs. In: Proc. of the IEEE Workshop Heterogeneous reconfigurable Systems on Chip, SoC (2002)Google Scholar
  7. 7.
    Kastens, U., Le, D., Slowik, A., Thies, M.: Feedback Driven Instruction-Set Extension. In: LCTES 2004 (2004)Google Scholar
  8. 8.
    Sawada, J., Hunt, W.: Trace Table Based Approach for Pipeline Microprocessor Verification. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, Springer, Heidelberg (1997)CrossRefGoogle Scholar
  9. 9.
    Victor, D., Ludden, J., Peterson, R., Nelson, B., Sharp, W., Hsu, J., Chu, B., Behm, M., Gott, R., Romonosky, A., Farago, A.: Functional verification of the POWER5 microprocessor and POWER5 multiprocessor systems. IBM J. Res. Dev. 49, 541–553 (2005)CrossRefGoogle Scholar
  10. 10.
    Yim, J., Hwang, Y., Park, C., Choi, H., Yang, W., Oh, H., Park, I., Kyung, C.-M.: A C-based RTL Design Verification Methodology For Complex Microprocessor. In: DAC 1997, pp. 83–88 (1997)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2009

Authors and Affiliations

  • Ralf Dreesen
    • 1
  • Thorsten Jungeblut
    • 2
  • Michael Thies
    • 1
  • Mario Porrmann
    • 2
  • Uwe Kastens
    • 1
  • Ulrich Rückert
    • 2
  1. 1.Department of Computer ScienceUniversity of PaderbornPaderbornGermany
  2. 2.Heinz Nixdorf InstituteUniversity of PaderbornPaderbornGermany

Personalised recommendations