Copy of AXI4_uploading_advanced_extended_interconnect.pptx

JyothikiranAnnam 243 views 26 slides Jul 18, 2024
Slide 1
Slide 1 of 26
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26

About This Presentation

AXI protocol


Slide Content

AMBA – AXI 4 Protocol

What is AMBA? A dvanced M icrocontroller B us A rchitecture On-chip bus protocol from ARM On-chip interconnect specification for the connection and management of functional blocks including processor and peripheral devices. AMBA is an open standard

Advanced Peripheral Bus (APB) Low Bandwidth peripherals Low Power Non-Pipelined Latched address & control Simple interface Single master to multiple slaves Advanced High performance Bus (AHB) Higher Bandwidth peripherals Pipelined operation Burst transfers Split transactions multiple masters and multiple slaves

What is AXI 3? A dvanced e X tensible I nterface Latest version of AMBA -Industry standard on-chip communication Enables higher performance vs. existing bus architectures Comes under the category of AMBA 4. Most commonly used Bus architecture in modern complex SOC’s and FPGA’s.

About the AXI Protocol is suitable for high-bandwidth. provides high-frequency operation without using complex bridges meets the interface requirements of a wide range of components is suitable for memory controllers with high initial access latency provides flexibility in the implementation of interconnect architectures is backward-compatible with existing AHB and APB interfaces.

Features of AXI 3 separate address/control and data phases (spread over 5 independent channels) support for unaligned data transfers, using byte strobes uses burst-based transactions with only the start address issued separate read and write data channels, that can provide low-cost Direct Memory Access (DMA) support for issuing multiple outstanding addresses support for out-of-order transaction completion

AXI Master AXI Slave Write Address/control Channel Write Data Channel Write Response Channel Channel Architecture Read Address / Control Channel Read Data & Response Channel

AXI Master AXI Slave Write Address/control Channel AWREADY Write Data Channel WREADY Write Response Channel B READY Write Transaction Master issues Address & control and holds this control info till the occurrence of “AWREADY” Master sends the data and holds this data till the occurrence of “WREADY” Slave acknowledges the completion of write transaction and holds this info till the occurrence of “BREADY”

AXI Master AXI Slave Read Address / Control Channel ARREADY Read Data & Response Channel RREADY Read Transaction Master Issues address and control info for read transaction and holds this info till the occurrence of “ARREADY” Slave returns the data and acknowledgement signals and holds this info till the occurrence of “RREADY”

Burst transactions Reduces address channel utilization which permits effective utilization Specifying the starting the starting address for a transaction is sufficient. Data and address linked together

Outstanding Transactions Out of Order Transactions Enable Parallel processing of transactions. Avoid a high initial latency slave blocking the channel. Fast slaves may return the data before the slow slaves. Effectively reduce the transaction latency.

Channel Handshaking Two-way handshaking ( VALID  READY ) in all 5 channels. Source uses VALID to indicate when valid data is available. Destination uses READY signal to indicate the data is accepted. For read and write data channel LAST signal is used to indicate the last data transfer in a burst is taking place.

Signals of Write Address Channel

Signals of Write Data Channel

Signals of Write Response Channel

Signals of Read Address & Control Channel

Signals of Read Data & Response Channel

ARVALID ARREADY RVALID RREADY Dependency in Read Transaction Dependency in Write Transaction AWVALID AWREADY WVALID WREADY BVALID BREADY Can Wait Must Wait

Handshaking Timing

Burst in AXI Master provides the start address of a burst. It is the duty of the slave to calculate the addresses of subsequent transfers in a burst. In order to simplify the design address generator in the slave, the address is allocated to a slave in 4KB unit (i.e., Busrts can not cross 4KB boundary). No early burst termination is supported. Write strobes can be made ‘0’ to make the remaining write beats ignored by the slave. Master just ignores the read data.

Burst Types Fixed Burst Address remains constant within a burst. Suited for FIFO – like designs Incrementing Burst Increment value depends on the transfer seize. Suited for sequential memory - like devices. Wrapping Burst Wrap boundary = transfer_size * number_transfer . start address must be aligned & burst length is to be 2,4,8, 16. Suited for cache line refill.

Responses OKAY Everything is OK. EX - OKAY Exclusive access is successful. SALVE ERROR FIFO overflow or underflow. Unsupported transfer size & try to read – only region. DECODE ERROR No slave presented at that address. nly region.

Narrow Transfers Unaligned Transfers

Verification Environment

Verification Scenarios Constraint randomization (to cover the following scenarios) All the possible burst types. All the possible burst sizes (narrow and unaligned transfers). All the possible types of responses. Out of order transactions. Outstanding transactions. Maximum burst length. Different Handshaking timings.

Thank U
Tags