SlideShare a Scribd company logo
AMBAAXIPROTOCOL
CONTENTS
Key Features
Objectives
ChannelArchitecture
Basic Transaction
Signal Descriptions
Addressing Options
Channel Handshake
AMBA AXIPROTOCOL
Key Features
• Separate address/ control and data phases
• Separate read and write channels to enable low-cost
Direct MemoryAccess
• Burst-based transactions with only start address issued
• Ability to issue multiple outstanding address
• Out – of – order (OOO) transaction completion
• Register slice support for high frequency operation
AMBA AXIPROTOCOL
Objectives
• Be suitable for high-bandwidth and low-latency
designs
• Enable high-frequency operation
• Fit for devices with high initial latency
• Provide flexibility of interconnect architectures
• Be backward-compatible with existing AHB and
APB interfaces.
AMBA AXIPROTOCOL
Channel Architectures
AXI Slave
Write Address/ Control
AWREADY
ARREADY
Read Address/ Control
Write data
WREADY
Read data
RREADY
Write Responce
AXI Master
BREADY
Five unidirectional channels
AMBA AXIPROTOCOL
AXI Burst – Start Address for a Burst
• Reduce the address channel ultilization
• Use Address/ Control channel more efficiently
• Pipeline
AMBA AXIPROTOCOL
Outstanding Transactions
• Decouple the fixed link between address and data
• Enable parallel processing of transactions
AMBA AXIPROTOCOL
Out – Of – Order (OOO) completion
• Fast Slave may return data before slow slaves
• Complex slaves may return data out of order
• Effectively reduce the transaction latency
AMBA AXIPROTOCOL
Data Interleaving
• Data within a burst is always in order
• Each transaction has a unique ID
AMBA AXIPROTOCOL
Register slices support for high frequency operation ?
 Allows maximum frequency of
operation by matching channel
latency to channel delay
AMBA AXIPROTOCOL
Basic Transactions
Read Burst Example
4-beat read burst
AMBA AXIPROTOCOL
Basic Transactions
Overlapping Read Burst Example
3-beat read burst + 2-beat read burst
AMBAAXIPROTOCOL
Basic Transactions
Write Burst Example
4-beat write burst
AMBAAXIPROTOCOL
Signals Descriptions
Signals of Write AddressChannel
AMBAAXIPROTOCOL
Signals Descriptions
Signals of Write Data Channel
AMBAAXIPROTOCOL
Signals Descriptions
Signals of Write Response Channel
AMBAAXIPROTOCOL
Signals Descriptions
Signals of Read AddressChannel
AMBAAXIPROTOCOL
Signals Descriptions
Signals of Read Data Channel
AMBA AXIPROTOCOL
Addressing Options
• Master provide the start address of the burst
• Slave are in charge to calculate the address of subsequent
tranfers in a burst
• Burst can not across 4KB boundary
- Address is allocated to a slave in 4KB unit
Slave1
Slave2
4KB
AMBA AXIPROTOCOL
Addressing Options
Burst Length
• Burst length specifies the number of data
tranfers that occur within each a burst.
• For wrapping burst, the length of the burst
must be 2, 4, 8 or 16 tranfers.
AMBA AXIPROTOCOL
- Tranfers are on different byte lanes for
each burst ( driving by write strobe)
• For fixed bursts
- Address remains contant within a burst
- Every tranfer use the same byte lane
Addressing Options
Burst Size
• Burst size specifies the maximum number of
data bytes to tranfer in each beat, within a
burst.
• For incrementing and wrapping bursts and
tranfer sizes are smaller than the data bus width
• Fixed burst
- Address remains the same for every tranfer in the burst
- Repeat access to the same location
• Incrementing burst
- Address for the each tranfer in the burst is an increment of the previous address
- The increment value depends on the size of the tranfer
• Wrapping burst
- The start address must be aligned to the size of the tranfer
- The length of the burst must be 2, 4, 8 or 16.
AMBA AXIPROTOCOL
Addressing Options
Burst Type
AMBA AXI PROTOCOL
Addressing Options
Burst Adress
• Start Address : the start address issued by the master
• Number_bytes : the maximum number of bytes in each data
tranfer
• Data_bus_bytes : the number of byte lanes in the data bus
• Aligned_address : the aligned version of the start address
• Burst_length : the total number of data tranfers within a burst
• Address_N : the address of tranfer N within a burst. N is an
integer from 2-16
• Wrap_boundary : the lowest address within a wrapping burst
• INT(x) : the rounded-down integer value x
AMBA AXI PROTOCOL
Addressing Options
Burst Adress - formulas
• Start Address =ADDR
• Number_bytes = 2^SIZE
• Burst_length = LEN + 1
• Aligned_address = (INT(Start_address / Number_Bytes)) x Number_Bytes
• Address1 = Start_Address
• Address_N = Aligned_address + (N-1) xNumber_Bytes
For wrapping burst, the wrap_boundary variable is extended to account forthe
wrapping boundary :
• Wrap_boundary = (INT(Start_address / (Number_Bytes x Burst_length))) x
(Number_Bytes x Burst_length)
If Address_N = wrap_boundary + (Number_Bytes x Burst_length), use thisequation
• Address_N = Wrap_boundary.
AMBA AXI PROTOCOL
Addressing Options
Example Wrapping Address
• Start_Address = 0x4a ; Burst_size = 3’b010;
• Number_Bytes = 2^SIZE = 2^2 = 4
• Burst_length = 4
• Aligned_address = (INT(Start_address / Number_Bytes)) x Number_Bytes
= (INT( 0x4a / 4) x 4
= 0x48
• Address_1 =Start_address =0x4a
• Address_2 =Aligned_address +(N-1) x Number_Bytes
= 0x48 +(2-1) x4
= 0x4c
• Address_3 =0x48 +(3-1) x4
= 0x50
• Wrap_boundary =(INT(Start_address / (Number_bytes x Burst_length))) x
(Number_bytes x Burst_length)
=(INT( 0x4a / (4x4)) x (4x4)
= 0x40
AMBA AXIPROTOCOL
0x4b 0x4a 0x49 0x48
0x4f 0x4e 0x4d 0x4c
0x43 0x42 0x41 0x40
0x47 0x46 0x45 0x44
Addressing Options
Example WrappingAddress
• Address_3 = Wrap_Boundary + (Number_Bytes x Burst_length)
= 0x40 + (4 x 4)
= 0x50
 Address_3 =Wrap_boundary =0x40
• Address_4 =0x44
Start_address
1st transfer
2st transfer
3st transfer
4st transfer
AMBA AXIPROTOCOL
Channel Handshake
• VALID  READY two way handshaking
-sources generate VALID to indicate when the data is
valid
-destinations generate READY to indicate when the data
is accepted
• Successful tranfer must qualify both VALID and
READY
• No combination paths between masters and slaves
- All timing paths must be registered
AMBA AXIPROTOCOL
Channel Handshake
Handshaking Timing Diagram
1.VALID before READY handshake.
When the destinations drives the
READY signal high, indicating that it
accepts the data or control information
2.READY before VALID handshake.
This indicates that the destination can
accept the data or control information ina
single cycle
3.READY with VALID handshake.
Both the source and destination happen
to indicate in the same cycle
AMBA AXIPROTOCOL
Channel Handshake
 Two way handshaking typically needs 2-cycles
- 1st cycle for VALID high and 2nd cycle for READY
 If a slave can always accept any valid address, the default value of READYwill
be HIGH, although if READY is HIGH then the slave must be able to accept
any valid address that is presented to it.
 If the default READY value of LOW, it can take at least two cycle, but one
cycle is ok. So why the default READY value need HIGH ?
 If the master can always accept any valid data, READY will be alwaysHIGH
for 1-cycle handshaking
AMBA AXIPROTOCOL
ARVALI
D
RVALI
D
ARREA
DY
RREA
DY
must
wait
can wait
Channel Handshake
Dependency in Read Transactions
• A slave can wait for ARVALID before assertingARREADY
• A slave must wait for ARVALID & ARREADYbefore
asserting RVALID
• A master can wait for RVALID before asserting RREADY
AMBA AXIPROTOCOL
Channel Handshake
Dependency in Write Transactions
• A slave can wait for AWVALID, WVALID or both beforeasserting
AWREADY
• A slave can wait for AWVALID, WVALID or both beforeasserting
WREADY
• Aslave must wait for WVALID & WREADY before asserting BVALID
• A master can wait for BVALID before assertingBREADY
AWVALI
D
WVALI
D
AWREA
DY
WREA
DY
must
wait can
wait
BVALI
D
BREA
DY
IMPORTANT NOTE :
Master must not wait for
AWREADY to be asserted before
driving WVALID. This could cause a
deadlock condition if the slave is
conversely waitting for WVALID
before asserting AWREADY

More Related Content

PPTX
AXI Protocol.pptx
PPTX
Axi protocol
ODP
axi protocol
PPTX
Amba axi 29 3_2015
PPTX
Ambha axi
PPT
Axi protocol
PPT
AXI Protocol.pptx
Axi protocol
axi protocol
Amba axi 29 3_2015
Ambha axi
Axi protocol

What's hot (20)

ODP
APB protocol v1.0
PPTX
AMBA AHB 5
ODP
PPTX
AMBA Ahb 2.0
PPTX
AMBA 5 COHERENT HUB INTERFACE.pptx
PPTX
System verilog coverage
PPTX
System verilog assertions
PPTX
Advance Peripheral Bus
PPT
Spi master core verification
PPTX
UART(universal asynchronous receiver transmitter ) PPT
PPTX
UVM Driver sequencer handshaking
PPT
Ethernet frame format
ODP
PCIe DL_layer_3.0.1 (1)
PDF
Verification of amba axi bus protocol implementing incr and wrap burst using ...
PPTX
PPTX
Addressing modes
PPTX
Introduction to System verilog
PDF
UVM TUTORIAL;
PPT
Naveen UART BATCH 43
PPTX
Amba presentation2
APB protocol v1.0
AMBA AHB 5
AMBA Ahb 2.0
AMBA 5 COHERENT HUB INTERFACE.pptx
System verilog coverage
System verilog assertions
Advance Peripheral Bus
Spi master core verification
UART(universal asynchronous receiver transmitter ) PPT
UVM Driver sequencer handshaking
Ethernet frame format
PCIe DL_layer_3.0.1 (1)
Verification of amba axi bus protocol implementing incr and wrap burst using ...
Addressing modes
Introduction to System verilog
UVM TUTORIAL;
Naveen UART BATCH 43
Amba presentation2
Ad

Similar to ambaaxi protocol basic information presentaion (20)

PPTX
AXI Protocol amba axi architecture protocol
PDF
Transaction based AMBA AXI bus interconnect in Verilog
PPTX
AXI_Protocol_26_Slides_Presentation.pptx
PPTX
Copy of AXI4_uploading_advanced_extended_interconnect.pptx
PPTX
microcontroller AXI Protocol presentation
PPTX
microcontroller AXI Protocol_rama presetation
PPTX
Advanced Microcontroller bus Architecture
PPTX
AMBA_AXI4_Presentation_limited_edition.pptx
PDF
call for papers, research paper publishing, where to publish research paper, ...
PPTX
BUS PROTOCOL AND AMBA _TRANSACTIONS.pptx
PDF
Design and verification environment for amba axi protocol for soc integration
PDF
40120130406005
PPT
AXI_presentation.ppt
PDF
Iaetsd asynchronous data transactions on so c using fifo
PDF
Diagnostic Access of AMBA-AHB Communication Protocols
PDF
AMBA AHB Protocols
PDF
Gc2411021106
PDF
A Review On AMBA AHB Lite Protocol And Verification Using UVM Methodology
PDF
Design and Analysis of Xilinx Verified AMBA Bridge for SoC Systems
PDF
Bg36347351
AXI Protocol amba axi architecture protocol
Transaction based AMBA AXI bus interconnect in Verilog
AXI_Protocol_26_Slides_Presentation.pptx
Copy of AXI4_uploading_advanced_extended_interconnect.pptx
microcontroller AXI Protocol presentation
microcontroller AXI Protocol_rama presetation
Advanced Microcontroller bus Architecture
AMBA_AXI4_Presentation_limited_edition.pptx
call for papers, research paper publishing, where to publish research paper, ...
BUS PROTOCOL AND AMBA _TRANSACTIONS.pptx
Design and verification environment for amba axi protocol for soc integration
40120130406005
AXI_presentation.ppt
Iaetsd asynchronous data transactions on so c using fifo
Diagnostic Access of AMBA-AHB Communication Protocols
AMBA AHB Protocols
Gc2411021106
A Review On AMBA AHB Lite Protocol And Verification Using UVM Methodology
Design and Analysis of Xilinx Verified AMBA Bridge for SoC Systems
Bg36347351
Ad

Recently uploaded (20)

PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
additive manufacturing of ss316l using mig welding
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
PDF
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
PPT
Project quality management in manufacturing
DOCX
573137875-Attendance-Management-System-original
PPTX
Geodesy 1.pptx...............................................
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
III.4.1.2_The_Space_Environment.p pdffdf
PDF
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
PPTX
Construction Project Organization Group 2.pptx
PDF
PPT on Performance Review to get promotions
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
UNIT 4 Total Quality Management .pptx
PDF
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
Level 2 – IBM Data and AI Fundamentals (1)_v1.1.PDF
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
additive manufacturing of ss316l using mig welding
Embodied AI: Ushering in the Next Era of Intelligent Systems
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
Project quality management in manufacturing
573137875-Attendance-Management-System-original
Geodesy 1.pptx...............................................
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
III.4.1.2_The_Space_Environment.p pdffdf
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
Construction Project Organization Group 2.pptx
PPT on Performance Review to get promotions
Automation-in-Manufacturing-Chapter-Introduction.pdf
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
UNIT 4 Total Quality Management .pptx
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Level 2 – IBM Data and AI Fundamentals (1)_v1.1.PDF
UNIT-1 - COAL BASED THERMAL POWER PLANTS

ambaaxi protocol basic information presentaion

  • 2. AMBA AXIPROTOCOL Key Features • Separate address/ control and data phases • Separate read and write channels to enable low-cost Direct MemoryAccess • Burst-based transactions with only start address issued • Ability to issue multiple outstanding address • Out – of – order (OOO) transaction completion • Register slice support for high frequency operation
  • 3. AMBA AXIPROTOCOL Objectives • Be suitable for high-bandwidth and low-latency designs • Enable high-frequency operation • Fit for devices with high initial latency • Provide flexibility of interconnect architectures • Be backward-compatible with existing AHB and APB interfaces.
  • 4. AMBA AXIPROTOCOL Channel Architectures AXI Slave Write Address/ Control AWREADY ARREADY Read Address/ Control Write data WREADY Read data RREADY Write Responce AXI Master BREADY Five unidirectional channels
  • 5. AMBA AXIPROTOCOL AXI Burst – Start Address for a Burst • Reduce the address channel ultilization • Use Address/ Control channel more efficiently • Pipeline
  • 6. AMBA AXIPROTOCOL Outstanding Transactions • Decouple the fixed link between address and data • Enable parallel processing of transactions
  • 7. AMBA AXIPROTOCOL Out – Of – Order (OOO) completion • Fast Slave may return data before slow slaves • Complex slaves may return data out of order • Effectively reduce the transaction latency
  • 8. AMBA AXIPROTOCOL Data Interleaving • Data within a burst is always in order • Each transaction has a unique ID
  • 9. AMBA AXIPROTOCOL Register slices support for high frequency operation ?  Allows maximum frequency of operation by matching channel latency to channel delay
  • 10. AMBA AXIPROTOCOL Basic Transactions Read Burst Example 4-beat read burst
  • 11. AMBA AXIPROTOCOL Basic Transactions Overlapping Read Burst Example 3-beat read burst + 2-beat read burst
  • 18. AMBA AXIPROTOCOL Addressing Options • Master provide the start address of the burst • Slave are in charge to calculate the address of subsequent tranfers in a burst • Burst can not across 4KB boundary - Address is allocated to a slave in 4KB unit Slave1 Slave2 4KB
  • 19. AMBA AXIPROTOCOL Addressing Options Burst Length • Burst length specifies the number of data tranfers that occur within each a burst. • For wrapping burst, the length of the burst must be 2, 4, 8 or 16 tranfers.
  • 20. AMBA AXIPROTOCOL - Tranfers are on different byte lanes for each burst ( driving by write strobe) • For fixed bursts - Address remains contant within a burst - Every tranfer use the same byte lane Addressing Options Burst Size • Burst size specifies the maximum number of data bytes to tranfer in each beat, within a burst. • For incrementing and wrapping bursts and tranfer sizes are smaller than the data bus width
  • 21. • Fixed burst - Address remains the same for every tranfer in the burst - Repeat access to the same location • Incrementing burst - Address for the each tranfer in the burst is an increment of the previous address - The increment value depends on the size of the tranfer • Wrapping burst - The start address must be aligned to the size of the tranfer - The length of the burst must be 2, 4, 8 or 16. AMBA AXIPROTOCOL Addressing Options Burst Type
  • 22. AMBA AXI PROTOCOL Addressing Options Burst Adress • Start Address : the start address issued by the master • Number_bytes : the maximum number of bytes in each data tranfer • Data_bus_bytes : the number of byte lanes in the data bus • Aligned_address : the aligned version of the start address • Burst_length : the total number of data tranfers within a burst • Address_N : the address of tranfer N within a burst. N is an integer from 2-16 • Wrap_boundary : the lowest address within a wrapping burst • INT(x) : the rounded-down integer value x
  • 23. AMBA AXI PROTOCOL Addressing Options Burst Adress - formulas • Start Address =ADDR • Number_bytes = 2^SIZE • Burst_length = LEN + 1 • Aligned_address = (INT(Start_address / Number_Bytes)) x Number_Bytes • Address1 = Start_Address • Address_N = Aligned_address + (N-1) xNumber_Bytes For wrapping burst, the wrap_boundary variable is extended to account forthe wrapping boundary : • Wrap_boundary = (INT(Start_address / (Number_Bytes x Burst_length))) x (Number_Bytes x Burst_length) If Address_N = wrap_boundary + (Number_Bytes x Burst_length), use thisequation • Address_N = Wrap_boundary.
  • 24. AMBA AXI PROTOCOL Addressing Options Example Wrapping Address • Start_Address = 0x4a ; Burst_size = 3’b010; • Number_Bytes = 2^SIZE = 2^2 = 4 • Burst_length = 4 • Aligned_address = (INT(Start_address / Number_Bytes)) x Number_Bytes = (INT( 0x4a / 4) x 4 = 0x48 • Address_1 =Start_address =0x4a • Address_2 =Aligned_address +(N-1) x Number_Bytes = 0x48 +(2-1) x4 = 0x4c • Address_3 =0x48 +(3-1) x4 = 0x50 • Wrap_boundary =(INT(Start_address / (Number_bytes x Burst_length))) x (Number_bytes x Burst_length) =(INT( 0x4a / (4x4)) x (4x4) = 0x40
  • 25. AMBA AXIPROTOCOL 0x4b 0x4a 0x49 0x48 0x4f 0x4e 0x4d 0x4c 0x43 0x42 0x41 0x40 0x47 0x46 0x45 0x44 Addressing Options Example WrappingAddress • Address_3 = Wrap_Boundary + (Number_Bytes x Burst_length) = 0x40 + (4 x 4) = 0x50  Address_3 =Wrap_boundary =0x40 • Address_4 =0x44 Start_address 1st transfer 2st transfer 3st transfer 4st transfer
  • 26. AMBA AXIPROTOCOL Channel Handshake • VALID  READY two way handshaking -sources generate VALID to indicate when the data is valid -destinations generate READY to indicate when the data is accepted • Successful tranfer must qualify both VALID and READY • No combination paths between masters and slaves - All timing paths must be registered
  • 27. AMBA AXIPROTOCOL Channel Handshake Handshaking Timing Diagram 1.VALID before READY handshake. When the destinations drives the READY signal high, indicating that it accepts the data or control information 2.READY before VALID handshake. This indicates that the destination can accept the data or control information ina single cycle 3.READY with VALID handshake. Both the source and destination happen to indicate in the same cycle
  • 28. AMBA AXIPROTOCOL Channel Handshake  Two way handshaking typically needs 2-cycles - 1st cycle for VALID high and 2nd cycle for READY  If a slave can always accept any valid address, the default value of READYwill be HIGH, although if READY is HIGH then the slave must be able to accept any valid address that is presented to it.  If the default READY value of LOW, it can take at least two cycle, but one cycle is ok. So why the default READY value need HIGH ?  If the master can always accept any valid data, READY will be alwaysHIGH for 1-cycle handshaking
  • 29. AMBA AXIPROTOCOL ARVALI D RVALI D ARREA DY RREA DY must wait can wait Channel Handshake Dependency in Read Transactions • A slave can wait for ARVALID before assertingARREADY • A slave must wait for ARVALID & ARREADYbefore asserting RVALID • A master can wait for RVALID before asserting RREADY
  • 30. AMBA AXIPROTOCOL Channel Handshake Dependency in Write Transactions • A slave can wait for AWVALID, WVALID or both beforeasserting AWREADY • A slave can wait for AWVALID, WVALID or both beforeasserting WREADY • Aslave must wait for WVALID & WREADY before asserting BVALID • A master can wait for BVALID before assertingBREADY AWVALI D WVALI D AWREA DY WREA DY must wait can wait BVALI D BREA DY IMPORTANT NOTE : Master must not wait for AWREADY to be asserted before driving WVALID. This could cause a deadlock condition if the slave is conversely waitting for WVALID before asserting AWREADY