Académique Documents
Professionnel Documents
Culture Documents
Architecture
Software infrastructure includes the bus protocol, e.g. PCI bus protocol.
ATB
As of Sept 2013
ARM University Program
Copyright © ARM Ltd 2013 8
AMBA3 AHB-Lite Bus
AHB: Advanced High Performance Bus
High-performance synthesizable designs;
Supports multiple bus masters;
Provides high-bandwidth operation;
AHB-Lite:
A subset of AHB;
Simplifies the design of AHB bus, e.g. typically with a single master.
System on Chip
Master
(microprocessor)
ARM AMBA 3 AHB-Lite System Bus
Control signals
32-bit Address bus
32-bit Data bus
Control bus
Apart from above, AHB-Lite bus (or any other Set ready signal at the
same time
commercialized bus) has more functionalities,
such as transfer size, burst mode, etc… Processor reads the data
and starts the next
The following slides explain the components operation
and signals used in AHB-Lite bus. However, to Address bus
Select a peripheral
just perform a basic data transfer, not all the
signals are needed.
HSEL_1
Address HSEL_2
Decoder
HSEL_3 Slave 2
Master Multiplexor
select
Slave 3
HRDATA_3 [31:0]
RESPONSE_3
Multiplexor
HRDATA
[31:0]
Slave
HRDATA_2 [31:0]
RESPONSE RESPONSE_2
HRDATA_1 [31:0]
RESPONSE_1
clock source → The bus clock times all bus transfers. All signal timings are
HCLK
all components related to the rising edge of HCLK
Reset controller → The bus reset signal is active low and resets the system and the
HRESETn
all components bus
HWRITE
Transfer HREADY HSIZE [1:0]
response HRESP
HBURST [2:0] CONTROL
HPROT [3:0] signals
Global HRESETn Master HTRANS [1:0]
signals HCLK HMASTLOCK
HWRITE
HSIZE [1:0]
HREADYOUT Transfer
CONTROL HBURST [2:0]
HRESP response
signals HPROT [3:0]
HTRANS [1:0]
HMASTLOCK Slave x
HREADY HRDATA [31:0] Data
Address HADDR [31:0]
Data HWDATA [31:0]
HRESETn
Global signals
HCLK
During read operations, the read data bus transfers data from the
Slave →
HRDATA [31:0] selected slave to the slave multiplexor. The multiplexor then transfers the
multiplexor
data to the master.
Slave → When HIGH, the HREADYOUT signal indicates that a transfer has
HREADYOUT
multiplexor finished on the bus. This signal can be driven LOW to extend a transfer.
The transfer response, after passing through the multiplexor, provides the
master with additional information on the status of a transfer.
Slave →
HRESP When LOW, the HRESP signal indicates that the transfer status is OKAY.
multiplexor
When HIGH, the HRESP signal indicates that the transfer status is
ERROR.
Multiplexor
HREADY
Slave
HSEL_1 HRDATA_2 HRESP
HADDR [31:0] Address
RESPONSE_2 HRDATA
Decoder HSEL_2
[31:0]
HRDATA_3
HSEL_3 RESPONSE_1
Multiplexor →
HRDATA [31:0] The read data from the multiplexor to the master
master
Multiplexor →
HRESP The transfer response signal from the multiplexor to the master
master
Each AHB-Lite slave has its own slave select signal HSELx and this
signal indicates that the current transfer is intended for the selected
Decoder →
HSELx slave. When the slave is initially selected, it must also monitor the status
slaves
of HREADY to ensure that the previous bus transfer has completed,
before it responds to the current transfer.
HCLK
HWRITE
HREADY
HCLK
CONTROL Control 0
HWRITE
HREADY
HCLK
CONTROL Control 0
HWRITE
HREADY
HCLK
CONTROL Control 0
HWRITE
HREADY
The detailed implementation can be referred in the code that is provided in the
EDK.
Flip-flop
Multiplexor
HREADY
Slave
HSEL_1 HRDATA_2 HRESP
HADDR [31:0] Address
RESPONSE_2 HRDATA
Decoder HSEL_2
[31:0]
HRDATA_3
HSEL_3 RESPONSE_1
Flip-flop