Development methodology (Processor designs)

Flowchart

Our processors (both the TTE32 family and our custom designs) are intended for use in high-integrity systems. If such systems fail, people are likely to be injured or killed.

On this page we provide an overview of the development methodology we employ when creating a new processor design for this type of system.

Methodology overview

  • We complete an initial processor specification;
  • We develop a detailed processor model (including a cycle-accurate processor simulator);
  • We implement the design and perform both functional and temporal verification;
  • We fully document the software interface.

While we make full use of appropriate development and verification tools throughout the above stages, we recognise that there is no substitute for the work of highly-qualified designers in this type of challenging project.

The importance of the initial processor model

To some, our development methodology looks a little “top heavy”, but our experience is that - by ensuring that we have created a complete and unambiguous model of the processor early in the development process - we can significantly reduce the need for costly and time-consuming re-designs at later development stages.

[To be more specific, we note that many textbooks on processor design focus on verification. This is not unreasonable. However, the purpose of verification is to ensure that the processor we have developed matches the processor specification (in terms of functional and temporal requirements): until we have developed a complete and unambiguous processor specification, verification is simply not possible.]

The processor in context

It takes our team around 12 months to create a new processor design.

As work progresses over this period, we try not to lose sight of the fact that the processor is not “the end of the story”: instead, we are simply developing a device which is designed to execute software as part of a final, integrated system.

To this end:

  • We finish the hardware development process by providing a complete description of the software interface (we document this from the perspective of the programmer).
  • Where tool support is needed for a new hardware design, we make further use of the processor models (originally used to record and refine our hardware specification) when we develop tightly-integrated tools for use during software development and verification.

Meeting the needs of DO-154 / DO-178 and related projects

Our experience is that our development processes and resulting documentation fully meet the needs of DO-254, DO-178 and similar projects.

Further information

We are always happy to provide detailed descriptions of our development processes (under NDAs) to prospective customers. Please contact us for details.