1.8 Product design flow and documentation
You must complete several processes to use the CCI-500. To obtain the best performance from the CCI-500, ARM recommends that you perform some of the implementation stages, including RAM integration, before integrating it into your wider SoC.
The processes you must perform are as follows:
- The implementer configures and synthesizes the RTL.
- The integrator connects the implemented design into a SoC. This
includes connecting it to a memory system, processors, and peripherals.
- Final SoC implementation
- The process of implementing the final, fully integrated SoC in
silicon. ARM can
guidance relevant to its own products for this process. If ARM
provides guidance on this process for your
then a separate document is included in the implementation bundle for that product.
- This is the last process. The system programmer develops the software
required to configure and initialize the CCI-500, and tests the required
For information on the CCI-500
documents that provide information on these processes, see 1.8.1 Documentation
- Is separate, and a different person can complete it.
- Can include implementation and integration choices that affect the
behavior and features of the CCI-500, and therefore the other tasks in the flow.
The operation of the final device depends on:
- Build configuration
- The implementer chooses the options that affect the preprocessing of
the RTL source files. These options usually include or exclude the logic that affects
one or more of the features, the area, or the maximum frequency
of the resulting macrocell. For example, the
outstanding transactions that each master and slave interface supports.
- Configuration inputs
- The integrator configures some features of the CCI-500 by tying inputs to specific
values. These configurations affect the start-up behavior before you specify the
software configuration. They can also limit the options available to the software. For
example, the ACCHANNELENSx
signal inputs prevent AC
requests from being emitted from an unconnected slave interface.
- Software configuration
- The programmer configures the CCI-500 by programming particular
values into registers. This affects the behavior of the CCI-500, for example, by enabling