Experience of Deploying Event-B in Industrial Microprocessor Development

Abstract

The XCore microprocessor is an embedded device developed by XMOS Ltd. of Bristol, UK. The Instruction Set Architecture (ISA) contains a range of typical instructions, for example, for control flow, register-to-register calculation and memory access, but also provides support for efficient multi-threaded programming, parallelism and communication with other devices via fast interconnects. Support for these features is integrated into the ISA of the XCore. This greatly improves run-time performance, at the cost of introducing specialist instructions to the ISA, which comprises 170 instructions. The ISA contains instructions of both two and four byte length, and implements a very compact encoding scheme. The XCore is general-purpose and has been exploited in a range of different markets, including audio, display, communications, robotics and motor control. As part of a Knowledge Transfer Secondment (Grant EP/H500316/1) at the University of Bristol, a formal model of the complete ISA was constructed in Event-B notation, using the Rodin toolset. This project applied the Event-B and Rodin-based techniques for ISA analysis, developed at the University of Bristol, and extended them to an industrial setting.

References

  1. 1.
    Bendisposto, J., Fritz, F., Jastram, M., Leuschel, M., Weigelt, I.: Developing Camille: A text editor for Rodin. Softw. Pract. Exp. 41(2), 189–198 (2011) CrossRefGoogle Scholar
  2. 2.
    Bergeron, J.: Writing Testbenches: Functional Verification of HDL Models, 2nd edn. Kluwer Academic, Norwell (2003) CrossRefGoogle Scholar
  3. 3.
    Chockler, H., Halpern, J.Y., Kupferman, O.: What causes a system to satisfy a specification? ACM Trans. Comput. Log. 9, 20:1–20:26 (2008) MathSciNetCrossRefGoogle Scholar
  4. 4.
    Foster, H.D., Krolnik, A.C., Lacey, D.J.: Assertion-Based Design. Springer, Berlin (2003) CrossRefGoogle Scholar
  5. 5.
    Hennessy, J., Patterson, D.: Computer Architecture: A Quantitative Approach. Morgan Kaufmann, San Mateo (2003) Google Scholar
  6. 6.
    May, D.: XMOS XS1 Architecture. XMOS Ltd. (2008) Google Scholar
  7. 7.
    Roder, J.: Relevance filters for Event-B. ETH Zurich (2010) Google Scholar
  8. 8.
    Watt, D.: Programming XC on XMOS Devices. XMOS Ltd. (2009) Google Scholar
  9. 9.
    Wright, S., Eder, K.: Using Event-B to construct instruction set architectures. Form. Asp. Comput. 23(1), 73–89 (2010) CrossRefGoogle Scholar
  10. 10.
    Wright, S.: Automatic generation of C from Event-B. In: Workshop on Integration of Model-based Formal Methods and Tools (2009) Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of BristolBristolUK

Personalised recommendations