Материал: AMBA_v30_AXI_v10

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
background image

Channel Handshake 

ARM IHI 0022B

Copyright © 2003, 2004 ARM Limited. All rights reserved.

3-3

Figure 3-2 READY before VALID handshake

In Figure 3-3, both the source and destination happen to indicate in the same cycle that 
they can transfer the data or control information. In this case the transfer occurs 
immediately. The arrow shows when the transfer occurs. 

Figure 3-3 VALID with READY handshake

The individual AXI protocol channel handshake mechanisms are described in:

Write address channel

Write data channel

 on page 3-4

Write response channel

 on page 3-4

Read address channel

 on page 3-4

Read data channel

 on page 3-5.

3.1.1

Write address channel

The master can assert the 

AWVALID

 signal only when it drives valid address and 

control information. It must remain asserted until the slave accepts the address and 
control information and asserts the associated 

AWREADY

 signal.

The default value of 

AWREADY

 can be either HIGH or LOW. The recommended 

default value is HIGH, although if 

AWREADY

 is HIGH then the slave must be able to 

accept any valid address that is presented to it.

READY

VALID

INFORMATION

ACLK

READY

VALID

INFORMATION

ACLK

background image

Channel Handshake 

3-4

Copyright © 2003, 2004 ARM Limited. All rights reserved.

ARM IHI 0022B

A default 

AWREADY

 value of LOW is possible but not recommended, because it 

implies that the transfer takes at least two cycles, one to assert 

AWVALID

 and another 

to assert 

AWREADY

.

3.1.2

Write data channel

During a write burst, the master can assert the 

WVALID

 signal only when it drives valid 

write data. 

WVALID

 must remain asserted until the slave accepts the write data and 

asserts the 

WREADY

 signal. 

The default value of 

WREADY

 can be HIGH, but only if the slave can always accept 

write data in a single cycle. 

The master must assert the 

WLAST

 signal when it drives the final write transfer in the 

burst.

When 

WVALID

 is LOW, the 

WSTRB[3:0]

 signals can take any value, although it is 

recommended that they are either driven LOW or held at their previous value.

3.1.3

Write response channel

The slave can assert the 

BVALID

 signal only when it drives a valid write response. 

BVALID

 must remain asserted until the master accepts the write response and asserts 

BREADY

The default value of 

BREADY

 can be HIGH, but only if the master can always accept 

a write response in a single cycle. 

3.1.4

Read address channel

The master can assert the 

ARVALID

 signal only when it drives valid address and 

control information. It must remain asserted until the slave accepts the address and 
control information and asserts the associated 

ARREADY

 signal.

The default value of 

ARREADY

 can be either HIGH or LOW. The recommended 

default value is HIGH, although if 

ARREADY

 is HIGH then the slave must be able to 

accept any valid address that is presented to it.

A default 

ARREADY

 value of LOW is possible but not recommended, because it 

implies that the transfer takes at least two cycles, one to assert 

ARVALID

 and another 

to assert 

ARREADY

.

background image

Channel Handshake 

ARM IHI 0022B

Copyright © 2003, 2004 ARM Limited. All rights reserved.

3-5

3.1.5

Read data channel

The slave can assert the 

RVALID

 signal only when it drives valid read data. 

RVALID

must remain asserted until the master accepts the data and asserts the 

RREADY

 signal. 

Even if a slave has only one source of read data, it must assert the 

RVALID

 signal only 

in response to a request for the data. 

The master interface uses the 

RREADY

 signal to indicate that it accepts the data. The 

default value of 

RREADY

 can be HIGH, but only if the master is able to accept read 

data immediately, whenever it performs a read transaction.

The slave must assert the 

RLAST

 signal when it drives the final read transfer in the 

burst.

background image

Channel Handshake 

3-6

Copyright © 2003, 2004 ARM Limited. All rights reserved.

ARM IHI 0022B

3.2

Relationships between the channels

The relationship between the address, read, write, and write response channels is 
flexible.

For example, the write data can appear at an interface before the write address that 
relates to it. This can occur when the write address channel contains more register stages 
than the write data channel. It is also possible for the write data to appear in the same 
cycle as the address.

When the interconnect must determine the destination address space or slave space, it 
must realign the address and write data. This is required to assure that the write data is 
signaled as valid only to the slave for which it is destined.

Two relationships that must be maintained are:

read data must always follow the address to which the data relates

a write response must always follow the last write transfer in the write transaction 
to which the write response relates.

background image

Channel Handshake 

ARM IHI 0022B

Copyright © 2003, 2004 ARM Limited. All rights reserved.

3-7

3.3

Dependencies between channel handshake signals

To prevent a deadlock situation, you must observe the dependencies that exist between 
the handshake signals.

In any transaction:

the 

VALID 

signal of one AXI component must not be dependent on the 

READY 

signal of the other component in the transaction

the 

READY

 signal can wait for assertion of the 

VALID

 signal.

Note

 While it is acceptable to wait for 

VALID

 to be asserted before asserting 

READY

, it is 

also acceptable to assert 

READY

 by default prior to the assertion of 

VALID

 and this 

can result in a more efficient design.

Figure 3-4 and Figure 3-5 on page 3-8 show the handshake signal dependencies. The 
single-headed arrows point to signals that can be asserted before or after the previous 
signal is asserted. Double-headed arrows point to signals that must be asserted only after 
assertion of the previous signal.

Figure 3-4 shows that, in a read transaction:

the slave can wait for 

ARVALID

 to be asserted before it asserts 

ARREADY

the slave must wait for both 

ARVALID

 and 

ARREADY

 to be asserted before it 

starts to return read data by asserting 

RVALID

.

Figure 3-4 Read transaction handshake dependencies

Figure 3-5 on page 3-8 shows that, in a write transaction:

the master must not wait for the slave to assert 

AWREADY

 or 

WREADY

 before 

asserting 

AWVALID

 or 

WVALID

the slave can wait for 

AWVALID

 or 

WVALID

, or both, before asserting 

AWREADY

ARVALID

ARREADY

RVALID

RREADY

Источник: https://files.student-it.ru/previewfile/15363