As a large IP company, ARM’s official website provides a wealth of resources including documentation on IPs, architectural documents, application manuals, and more, which can serve as reference materials for learning. The quality of ARM’s documentation is quite good, and interested readers can visit the ARM official website to search for the documents they need:
developer.arm.com/documentation/
Below is a brief introduction to the categories:
-
Architectural/Protocol Documents
These documents are particularly useful for architects, hardware, and software engineers.
(1) AXI Bus Protocol
A widely used bus protocol for various IPs, which has evolved to AXI5. Search for: AMBA AXI Protocol Specification
(2) ARM Cortex-A CPU Architecture Documentation
The architecture documentation for the ARM Cortex-A series CPUs has evolved to ARM V9, and it is extensive, making it suitable as a reference book. Search for: Arm Architecture Reference Manual
(3) Coresight Architecture Documentation
ARM’s debug architecture is called Coresight. ARM provides an introductory document for learning about this architecture. Search for: Learn the architecture – Introducing CoreSight debug and trace
The complete Coresight architecture documentation can be found by searching: Arm CoreSight Architecture Specification
Additionally, the ARM official website has several documents in the “Learn the architecture” series, including topics on Security, Virtualization, Debug, Memory management, etc., which are excellent introductory reading materials.
(4) GIC Architecture Documentation
The GIC is ARM’s Generic Interrupt Controller, widely used in Cortex-A and Cortex-R CPUs. You can start with the architectural learning document. Search for: Learn the architecture – Generic Interrupt Controller v3 and v4, Overview
The complete GIC architecture documentation can be found by searching: Arm Generic Interrupt Controller (GIC) Architecture Specification
(5) Power Architecture Documentation
Search for: Power Control System Architecture, which contains ARM’s recommended power control architecture. The following diagram from the document shows a framework where the SCP (System Control Processor, commonly using Cortex-M series processors) acts as the master control, with several PPUs (Power Policy Units) controlling the mode switching of multiple Power Domains. Interested readers can refer to the relevant content.
Ref: Power Control System Architecture, ARM
2. Technical Manuals for Various IPs
Most of the technical manuals for ARM’s already released IPs, also known as TRM (Technical Reference Manual) documents, can be directly downloaded from the ARM official website. Here are some examples:
(1) Arm® Cortex®-X4 Core Technical Reference Manual, the latest document for ARM’s super-large core
(2) Arm® Cortex®‑A720AE Core Technical Reference Manual, the document for ARM’s latest autonomous driving processor A720AE
(3) Arm® CoreLink™ GIC-700 Generic Interrupt Controller Technical Reference Manual, documentation for GIC700
3. Software Programming Guide Documents
ARM’s official website also has dedicated documents for Software programming, such as:
(1) ARM Cortex-A Series Programmer’s Guide, mainly discussing the programming guide for ARM-v7A, which is somewhat outdated and does not cover new features of ARM v8 and v9
(2) ARM Cortex-R Series Programmer’s Guide, the programming guide for ARM R series CPUs
(3) GICv3 and GICv4 Software Overview, a software programming guide related to GIC
4. Some Special Application Manuals
Some documents contain relatively independent content, for example, there is a document specifically discussing the considerations for porting ARM Cortex-A processors to FPGA platforms, which will be helpful for relevant designers and those implementing FPGA:
Prototyping ARM Cortex-A Processors using FPGA platforms White Paper
For instance, the following Clock Gate structure is common in Cortex-A processors, but FPGA generally does not support this latch-based Clock Gate well, so the document provides suggestions for modifications when porting this Clock Gate structure to FPGA platforms. Interested readers can refer to the relevant content in the document.
Ref: ARM
5. Code Download for Crypto Extension
From the ARM official website, you can also download some special RTL code: the code for Crypto Extension. The Crypto Extension is an encryption and decryption instruction extension module in ARM Cortex-A series CPUs. When configuring the ARM Cortex-A CPU, if this instruction extension is enabled, you need to download the corresponding RTL code from the ARM official website to generate the complete Cortex-A RTL code along with other RTL codes of the processor.
https://developer.arm.com/downloads/-/security-algorithm-accelerators