Introduction
ARM DDI 0363G
Copyright © 2006-2011 ARM Limited. All rights reserved.
1-12
ID073015
Non-Confidential
1.7.2
Design flow
The Cortex-R4 processor is delivered as synthesizable RTL. Before it can be used in a product,
it must go through the following processes:
Implementation
The implementer configures and synthesizes the RTL to produce a hard
macrocell. This might include integrating 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
This is the last process. The system programmer develops the software required
to configure and initialize the Cortex-R4 processor, and tests the required
application software.
Each process:
•
can be performed by a different party
•
can include implementation and integration choices affect the behavior and features of the
Cortex-R4 processor.
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 features of the resulting macrocell.
For example, define the DUAL_CORE parameter to synthesize a second,
redundant copy of the processor and compare logic.
Configuration inputs
The integrator configures some features of the Cortex-R4 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.
For example, tie
PARLVRAM
pin HIGH to specify odd parity.
Software configuration
The programmer configures the CortexR4 processor by programming particular
values into registers. This affects the behavior of the Cortex-R4 processor.
For example, set SCTLR.I HIGH to enable L1 instruction caching.
Note
This manual refers to implementation-defined features that are applicable to build configuration
options. Reference to a feature that is included means that the appropriate build and pin
configuration options are selected. Reference to an enabled feature means one that has also been
configured by software.