1.5.2. Design Flow

The processor is delivered as synthesizable RTL. Before it can be used in a product, it must go through the following processes:


The implementer configures and synthesizes the RTL to produce a gate-level layout. The implementer can do synthesis and layout before integration to produce a hard macrocell, or after integration to produce a chip layout.


The integrator connects the configured design into a SoC. This includes connecting it to a memory system and peripherals.


This is the last process. The system programmer develops the software required to configure and initialize the processor, and tests the required application software.

Each process can be performed by a different party. The implementation and integration choices affect the behavior and features of the processor.

For MCUs, often a single design team integrates the processor before synthesizing the complete design. Alternatively, the team can synthesise the processor on its own or partially integrated, to produce a macrocell that is then integrated, possibly by a separate team.

The operation of the final device depends on:

Build configuration

The implementer chooses the options that affect how the RTL source files are pre-processed. These options usually include or exclude logic that affects one or more of the area, maximum frequency, and function of the resulting macrocell.

Configuration inputs

The integrator configures some features of the processor by tying inputs to specific values. These configurations affect the start-up behavior before any software configuration is made. They can also limit the options available to the software.

Software configuration

The programmer configures the processor by programming particular values into registers. This affects the behavior of the processor.


This manual refers to implementation-defined features that can be included by selecting the appropriate build configuration options. Reference to a feature that is included means the appropriate build and pin configuration options have been selected. References to an enabled feature means one that has also been configured by software.

Copyright © 2012 ARM. All rights reserved.ARM DDI 0484C