AR# 73206

|

AXI CDMA with default configuration can deadlock in designs with multiple instances

Description

The default configuration of the AXI CDMA IP is susceptible to a lock-up condition when there are multiple instances of the IP in a design. 

The basic lock up scenario is as follows:

  1. CDMA0 and CDMA1 send out their read commands targeting DDR simultaneously. CDMA0 wins arbitration for the read channel
  2. CDMA0 and CDMA1 send out their write commands targeting DDR simultaneously. CDMA1 wins arbitration for the write channel
  3. DDR starts to return data to CDMA0
  4. CDMA0 cannot forward data to the write path because it did not win arbitration. It drops RREADY on the data read channel
  5. As a result, read data cannot go to CDMA1. This means that the CDMA1 write path that is blocking CDMA0 never completes
  6. Dead lock occurs

 

This issue occurs in all versions of Vivado.

Solution

To resolve this issue, use the Store and Forward option.

The Store and Forward option prevents the deadlock scenario because the write commands are not issued until the reads complete and write data is available in the CDMA's data buffer.

To enable Store and Forward, select the option in the configuration GUI as shown below.

 

ar73206_StoreAndForward.PNG

 

 

AR# 73206
Date 12/12/2019
Status Active
Type General Article
IP
People Also Viewed