Data - 1.0 English

Versal ACAP CIPS Verification IP (DS996)

Document ID
DS996
Release Date
2022-11-16
Version
1.0 English
APIs Inputs Outputs
write_data

Initiate a WRITE transaction (transfer size ≤ 16 bytes) on one of the AXI-Master ports.

This calls the AXI VIP API. This task returns write response when the write transaction is completed.

For example: versal_cips_0.inst.pspmc_0.inst.PS9_VIP_inst.inst.write_data("R5_API",44'hFFFC_0000, 4, data,response);

[1023:0] master_name: R5_API or A72_API.

[43:0] start_addr: Write address

[4:0] wr_size: Number of bytes to be written.

Valid Write Sizes are:

  • 0x4: 4 bytes
  • 0x8: 8 bytes
  • 0xC: 12 bytes
  • 0x10: 16 bytes
Note: Transfer should not cross the 16-byte boundary.
Note: start_addr should be 32-bit aligned.

If start_addr[1:0]

= 4'h0 -> wr_size can be 5'h4/5'h8/5'hC/5'h10

= 4'h4 -> wr_size can be 5'h4/5'h8/5'hC

= 4'h8 -> wr_size can be 5'h4/5'h8

= 4'hC -> wr_size can be 5'h4

[127:0] w_data: Data to be written

[1:0] response: The slave write response from the following:

[OKAY, EXOKAY,

SLVERR, DECERR]

read_data

Initiate a READ transaction (transfer size ≤ 16 bytes) on one of the AXI-Master ports.

This calls the AXI VIP API. This task returns data and response when the read transaction is completed.

For example: versal_cips_0.inst.pspmc_0.inst.PS9_VIP_inst.inst.read_data("R5_API",44'hFFFC_0000, 4, data, response);

[1023:0] master_name: R5_API or A72_API.

[43:0] start_addr: Read address

[4:0] rd_size: Number of bytes to be read

Valid Read Sizes are

  • 0x4: 4 bytes
  • 0x8: 8 bytes
  • 0xC: 12 bytes
  • 0x10: 16 bytes
Note: Transfer should not cross the 16-byte boundary.
Note: start_addr should be 32-bit aligned.

If start_addr[1:0]

= 4'h0 -> rd_size can be 5'h4/5'h8/5'hC/5'h10

= 4'h4 -> rd_size can be 5'h4/5'h8/5'hC

= 4'h8 -> rd_size can be 5'h4/5'h8

= 4'hC -> rd_size can be 5'h4

[127:0] rd_data: Valid Data from the slave

[1:0] response: The slave read response from the following:

[OKAY, EXOKAY,

SLVERR, DECERR]

write_data_32

Initiate a WRITE transaction of 4 bytes on one of the AXI-Master ports.

This calls the AXI VIP API. This task returns write response when the write transaction is completed.

For example: versal_cips_0.inst.pspmc_0.inst.PS9_VIP_inst.inst.write_data_32("R5_API",44'hFFFC_0000, data,response);

[1023:0] master_name: R5_API or A72_API.

[43:0] start_addr: write address

[31:0] w_data: Data to be written

Note: start_addr should be 32-bit aligned.
[1:0] response: The slave

write response from the following:

[OKAY, EXOKAY,

SLVERR, DECERR]

write_data_64

Initiate a WRITE transaction of 8 bytes on one of the AXI-Master ports.

This calls the AXI VIP API. This task returns write response when the write transaction is completed.

For example: versal_cips_0.inst.pspmc_0.inst.PS9_VIP_inst.inst.write_data_64("R5_API",44'hFFFC_0000, data,response);

[1023:0] master_name: R5_API or A72_API.

[43:0] start_addr: write address

[63:0] w_data: Data to be written

Note: start_addr should be 64-bit aligned.
[1:0] response: The slave write response from the following:

[OKAY, EXOKAY,

SLVERR, DECERR]

read_data_32

Initiate a READ transaction of 4 bytes on one of the AXI-Master ports.

This calls the AXI VIP API. This task returns data and response when the read transaction is completed.

For example: versal_cips_0.inst.pspmc_0.inst.PS9_VIP_inst.inst.read_data_32("R5_API",44'hFFFC_0000, data, response);

[1023:0] master_name: R5_API or A72_API.

[43:0] start_addr: Read address

Note: start_addr should be 32-bit aligned.
[31:0] rd_data: Valid Data from the slave[1:0] response: The slave read response from the following:

[OKAY, EXOKAY, SLVERR, DECERR]

read_data_64

Initiate a READ transaction of 8 bytes on one of the AXI-Master ports.

This calls the AXI VIP API. This task returns data and response when the read transaction is completed.

For example: versal_cips_0.inst.pspmc_0.inst.PS9_VIP_inst.inst.read_data_64("R5_API",44'hFFFC_0000, data, response);

[1023:0] master_name: R5_API or A72_API.

[43:0] start_addr: Read address

Note: start_addr should be 64-bit aligned.
[63:0] rd_data: Valid Data from the slave[1:0] response: The slave read response from the following:

[OKAY, EXOKAY, SLVERR, DECERR]