| |||
| Home > Introduction > Product documentation, design flow, and architecture > Design flow | |||
The processor is delivered as synthesizable RTL. Before it can be used in a product, it must go through the following process:
Implementation. The implementer configures and synthesizes the RTL to produce a hard macrocell. If appropriate, this includes integrating the RAMs into the design.
Integration. The integrator connects the implemented design into a SoC, This includes connecting it to a memory system and peripherals.
Programming. The system programmer develops the software required to configure and initialize the processor, and tests the required application software.
Each stage of the process:
can be performed by a different party
can include options that affect the behavior and features at the next stage:
The implementer chooses the options that affect how the RTL source files are pre-processed. They usually include or exclude logic that can affect the area or maximum frequency of the resulting macrocell.
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.
The programmer configures the processor by programming particular values into software-visible registers. This affects the behavior of the processor.
This manual refers to implementation-defined features that are applicable to build configuration options. References to a feature that is included mean that the appropriate build and pin configuration options have been selected, while references to an enabled feature mean one that has also been configured by software.