AMBA Specification - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

AMBA Specification

Description:

Using this, all bus masters drive out the address and control signals indicating ... The ASB is a high-performance pipelined bus, which supports multiple bus masters. ... – PowerPoint PPT presentation

Number of Views:3222
Avg rating:5.0/5.0
Slides: 42
Provided by: microsys
Category:

less

Transcript and Presenter's Notes

Title: AMBA Specification


1
AMBA Specification
  • Presented by
  • Mahesh Dorai
  • Narayanan Raghuraman
  • Sirisha Vadlamudi
  • 03/11/2003

2
Advanced Micro controller Bus Architecture AMBA
Specification
  • Open standard on-chip bus specification
  • Details interconnection and management of
    functional blocks that makes up a Soc
  • Buses according to AMBA specification
  • Advanced System Bus (ASB)
  • Advanced High-performance Bus (AHB)
  • Advanced Peripheral Bus (APB)

3
Advanced System Bus ASB
  • First Generation of AMBA system bus
  • Implements features required for high performance
  • Burst Transfers
  • Pipelined Transfer Operation
  • Multiple Bus Master

4
Advanced High-performance Bus AHB
  • Implements features for high performance and high
    frequency systems
  • Burst transfers
  • Split transactions
  • Single-cycle bus master handover
  • Single-clock edge operation
  • Non-tristate implementation
  • Wider data bus configurations (64/128 bits)

5
Advanced Peripheral Bus APB
  • Used to interface peripherals which are low
    bandwidth
  • Optimized for minimal low-power consumption
  • Reduced interface complexity
  • Encapsulated as a single AHB or ASB slave device
  • Contains a single APB bridge
  • Suitable for many peripherals

6
AMBA-based System
7
Terminology in AMBA
  • Bus Master
  • Bus Slave
  • Arbiter
  • Decoder
  • Bus Cycle
  • Burst transfer
  • Burst Operation

8
AHB Design with three masters and four slaves
9
AHB - Operation
  • Master sends a request signal to the Arbiter
  • Arbiter grants the bus to the Master
  • Master starts transfer by sending address and
    control signals and data
  • Slave responds by sending the status signal
  • Uses Write data bus for data transfer from Master
    to Slave
  • Uses Read data bus for data transfer from Slave
    to Master

10
AHB Transfer Types
  • IDLE indicates no transfer is required
  • BUSY indicates the next transfer cannot take
    place immediately
  • NON-SEQUENTIAL indicates the first transfer of a
    burst or a single transfer
  • SEQUENTIAL indicates remaining transfers in a
    burst

11
Objectives of the AMBA Specification
  • To be technology-independent and ensure that
    highly reusable peripheral and system macrocells
    can be migrated over a wide range of IC
    processes.
  • To encourage modular system design
  • To minimize the silicon infrastructure to
    support on-chip and off-chip communications

12
Choosing the Right Bus for the System
  • Before deciding on which bus or buses you should
    use in your system, one should consider the
    following
  • Choice of System Bus
  • System Bus and Peripheral Bus
  • When to use AMBA AHB/ASB or APB

13
Choice of System Bus
  • Both AHB ASB are available for the main system
    bus. Typically the choice depends on the
    interface provided by the system modules
    required.
  • Nevertheless, the AHB is recommended for all new
    designs because of higher bandwidth solution.

14
When to use AMBA AHB/ASB or APB ?

15
AMBA Signal Names Terminology
  • All AMBA signals are named such that the first
    letter of the name indicates which bus the signal
    is associated with.
  • A lower case n in the signal name indicates that
    the signal is active low. Otherwise all signal
    names always are upper case

16
Examples..

17
Some AHB signals
18
AMBA AHB supports Multiple Bus Master Operation
  • AMBA AHB also supports multiple bus master
    operation.
  • Some of the signals for such kind of operation
    are shown below. The suffix x indicates the
    signal is from module X.

19
Multiple Bus Master operation Contd.
20
Bus Interconnection in AHB
  • The AMBA AHB bus protocol is designed to be used
    with a central multiplexor interconnection
    scheme.
  • Using this, all bus masters drive out the address
    and control signals indicating the transfer they
    wish to perform.
  • The arbiter determines which master has its
    address and control signals routed to all of the
    slaves

21
Transfer Characteristics of the AHB
  • Every transfer consists of
  • An address and control cycle
  • One or more cycles for the data
  • During a transfer, the slave shows the status
    using the response signals, HRESP10

22
Split and Retry
  • The difference between Split Retry is the way
    the arbiter allocates the bus after a SPLIT or a
    RETRY
  • For RETRY the arbiter will continue to use the
    normal priority scheme and therefore only masters
    having a higher priority will gain access to the
    bus
  • For the SPLIT transfer, the arbiter will adjust
    the priority scheme so that any other master
    requesting the bus will get access, even if it is
    a lower priority.

23
About the AHB data bus width
  • Specifying a fixed width of bus will mean that in
    many cases, the width of the bus is not optimal
    for the application.
  • The protocol allows for the AHB bus to be
    8,16,32,64,128,256,512 or 1024 bits wide. It is
    recommended that a
  • Minimum bus width of 32 is used
  • It is expected that a maximum of 256 bits will be
    adequate for almost all applications.

24
The AHB Arbiter
  • The role of the arbiter is to control which
    master has access to the bus. Every bus master
    has a REQUEST /GRANT interface to the arbiter and
    the arbiter in turn uses a prioritization scheme
  • It is acceptable for the arbiter to use other
    signals, AMBA or non-AMMA to influence the
    priority scheme that is in use.

25
AHB Arbiter Interface Diagram

26
The ASB Specification
  • The ASB is a high-performance pipelined bus,
    which supports multiple bus masters.

27
Data Flow of ASB
  • The basic flow of the bus operation is
  • 1. The arbiter determines which master is granted
    access to the bus.
  • 2. When granted, a master initiates transfers on
    the bus.
  • 3. The decoder uses the high order address lines
    to select a bus slave.
  • 4. The slave provides a transfer response back to
    the bus master and data is transferred between
    the master and slave.

28
Types of ASB Transfer
  • There are three types of transfer that can occur
    on the ASB
  • NONSEQUENTIAL
  • Used for single transfers or for the first
    transfer of a burst.
  • SEQUENTIAL
  • Used for transfers in a burst. The address of a
    SEQUENTIAL transfer is always related to the
    previous transfer.
  • ADDRESS-ONLY
  • Used when no data movement is required. The three
    main uses for ADDRESS-ONLY transfers are for IDLE
    cycles, for bus master HANDOVER cycles, and for
    speculative address decoding without committing
    to a data transfer.

29
Address decode
  • The decoder uses the type of each transfer to
    determine which of the following functions should
    be performed
  • For an ADDRESS-ONLY transfer the decoder will
    respond with a DONE During ADDRESS-ONLY transfers
    the decoder performs an address decode
    speculatively in case the ADDRESS-ONLY transfer
    is followed immediately by a SEQUENTIAL transfer.

30
Address decode (Contd)
  • For NONSEQUENTIAL transfers, the decoder will
    insert a single wait state at the start of the
    transfer to allow sufficient time for address
    decoding (although the additional wait state may
    not be required in all systems). The additional
    wait state inserted by the decoder is referred to
    as a DECODE cycle
  • This can either provide a valid response or an
    error transfer response. The error occurs when
    there is no slave at the specified address or if
    the transfer is to a protected region of memory

31
Address decode (Contd)
  • For Sequential transfers, It is not necessary for
    the decoder to decode the address as this will
    have been performed in a previous NONSEQUENTIAL
    or ADDRESS-ONLY transfer.
  • As the decoder does not perform an address decode
    on SEQUENTIAL transfers it is necessary for the
    slave to provide a LAST transfer response if a
    transfer is about to cross a memory boundary.

32
MultiMaster operation
  • A simple two-wire request and grant mechanism is
    implemented between the arbiter and each bus
    master.
  • A shared Lock signal supported by the ASB allows
    bus masters to indicate that the current transfer
    should not be separated from the following
    transfer and will prevent other bus masters from
    gaining access to the bus until the locked
    transfers have completed.
  • Efficient arbitration reduces dead-time between
    successive masters being active on the bus. The
    bus protocol supports pipelined arbitration, such
    that arbitration for the next transfer is
    performed during the current transfer.

33
Transfer size
  • When performing transfers that are narrower than
    the data bus, such as a byte or halfword
    transfer, the bus master may replicate the data
    across the bus, making the bus master effectively
    bi-endian.
  • When responding to read cycles, a typical slave
    will not replicate the data on the bus and
    therefore it is important that the master is
    expecting data on the same byte lane as that
    which the slave is driving.

34
Bus retract
  • Slaves that cannot guarantee to complete
    transfers in a small number of wait states can
    potentially block the bus and stop higher
    priority transfers occurring.
  • To prevent such slaves impacting the overall
    system latency a RETRACT mechanism is provided
    which allows a slave to indicate that a transfer
    is unable to complete at present, but the
    operation should be retried until it is able to
    complete successfully.

35
ASB Decoder
  • The decoder in an AMBA system is used to
    perform a centralized address decoding function,
    which gives two main advantages
  • It improves the portability of peripherals, by
    making them independent of the system memory map.
  • It simplifies the design of bus slaves, by
    centralizing the address decoding and bus control
    functions.

36
ASB Decoder (Contd)
  • In a non-AMBA system ,a read transfer will be
    as follows
  • 1. Address out from master.
  • 2. Address decode to select slave.
  • 3. Data out and response from slave back to bus
    master.
  • For sequential transfers in an ASB bus, the
    middle stage can be removed.
  • For non-sequential transfers, a WAIT cycle may be
    inserted.
  • Thus system performance is improved

37
Arbitration signals
  • AREQx - Bus request
  • - request signal from a master to the arbiter
  • AGNTx - Bus grant
  • - The grant signal from the arbiter to a bus
    master indicates that the bus master is
    currently the highest priority master requesting
    the bus.
  • BLOK - Bus lock
  • - This signal indicates the following transfer
    is indivisible from the current transfers and
    no other bus master should be given access to
    the bus.

38
APB State Diagram
39
APB Bridge
40
APB Slave
41
References
  • 1 AMBA Specification(Rev 2.0)
Write a Comment
User Comments (0)
About PowerShow.com