Formal Methods and Software Engineering

Volume 6991 of the series Lecture Notes in Computer Science pp 585-600

Managing Complexity through Abstraction: A Refinement-Based Approach to Formalize Instruction Set Architectures

  • Fangfang YuanAffiliated withComputer Science Department, University of Bristol
  • , Stephen WrightAffiliated withComputer Science Department, University of Bristol
  • , Kerstin EderAffiliated withComputer Science Department, University of Bristol
  • , David MayAffiliated withXMOS Ltd

* Final gross prices may vary according to local VAT.

Get Access


Verifying the functional correctness of a processor requires a sound and complete specification of its Instruction Set Architecture (ISA). Current industrial practice is to describe a processor’s ISA informally using natural language often with added semi-formal notation to capture the functional intent of the instructions. This leaves scope for errors and inconsistencies. In this paper we present a method to specify, design and construct sound and complete ISAs by stepwise refinement and formal proof using the formal method Event-B. We discuss how the automatically generated Proof Obligations help to ensure self-consistency of the formal ISA model, and how desirable properties of ISAs can be enforced within this modeling framework. We have developed a generic ISA modeling template in Event-B to facilitate reuse. The key value of reusing such a template is increased model integrity. Our method is now being used to formalize the ISA of the XMOS XCore processor with the aim to guarantee that the documentation of the XCore matches the silicon and the silicon matches the architectural intent.