The Advanced Microcontroller Bus Architecture (AMBA) is an open-source standard engineered by ARM. It provides specifications for on-chip interconnection and management of various functional blocks on the SoC.
This repo implements the portions of the AMBA used by the NYU Processor design team, specifically AHB, APB, and an APB Bridge device, following the AMBA 5 specification
The AHB acts as the backbone of the chip, allowing efficient, fast connections on the chip. It supports multiple bus managers, but we only implement one for now.
The APB is for low-power peripherals, facilitating low-bandwidth access control. It acts as the secondary bus to the AHB, providing interface for peripherals
Rishyak's notes about each component are in the docs directory.
However, if you prefer to read from source[^note]:
[^note]: There are some mistakes in the documentation, such as misinterpreting the size of a "word" or switching out similar words, so use your best judgement when reading them. It seems like the person got increasingly tired, because these mistakes get worse the further you read.