Testing entities with AXI interfaces#

The axi provides classes to instantiate AXI interfaces. These classes wrap around cocotbext-axi and provide a standardized interface across all AXI interface types.

AXI#

The fully fledged AXI interface.

axi.AxiMaster(bus_prefix, clk, rst, ...[, ...])

A Wrapper around cocotbext-axi AXI.

axi.AxiRam(bus_prefix, clk, rst, ...)

A Wrapper around cocotbext-axi AXI RAM.

axi.RandomAxiPayloadGenerator(data_width_bits)

A generator class that gives back a random payload.

AXI-Lite#

The lighter AXI-Lite interface.

axi.AxiLiteMaster(bus_prefix, clk, rst, ...)

A wrapper class around cocotbext-axi AXI-Lite Master.

axi.AxiLiteRam(bus_prefix, clk, rst, ...)

A Wrapper around cocotbext-axi AXI-Lite RAM.

axi.RandomAxiLitePayloadGenerator(...)

A generator class that gives back a random payload.

AXI-Stream#

The AXI-Stream interface for streaming applications.

axi.AxiStreamSource(bus_prefix, ...)

A wrapper class around cocotbext-axi AXI-Stream source.

axi.AxiStreamSink(bus_prefix, ...)

A Wrapper around cocotbext-axi AXI-Stream sink.

axi.RandomAxiStreamPayloadGenerator(...)

A generator class that gives back a random payload.

AXI Flags#

AXI related flags and enumeration classes.

axi.AxiBurstType(value[, names, module, ...])

The burst type used during the AXI write transaction.

axi.AxiBurstSize(value[, names, module, ...])

The number of bytes in each data transfer in a write transaction.

axi.AxiLockType(value[, names, module, ...])

The AXI Lock type supported by AXI3.

axi.AxiCacheBit(value[, names, module, ...])

The different bits of the AxCACHE attribute.

axi.AxiProt(value[, names, module, ...])

The permission signals that can be used to protect against illegal transactions.

axi.AxiResp(value[, names, module, ...])

The response signals.