MatchLib
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | List of all members
AxiSlaveToReadyValid< axiCfg, rvCfg > Class Template Reference

An AXI slave that converts AXI requests into a simplified format. More...

#include <AxiSlaveToReadyValid.h>

Inheritance diagram for AxiSlaveToReadyValid< axiCfg, rvCfg >:

Public Types

enum  { rvDataW = rvCfg::dataWidth, rvAddrW = rvCfg::addrWidth, rvWstrbW = rvCfg::wstrbWidth }
 
typedef axi::axi4< axiCfg > axi4_
 
typedef RVSink< rvCfg >::Read Read
 
typedef RVSink< rvCfg >::Write Write
 
typedef RVSink< rvCfg >::Addr rvAddr
 

Public Member Functions

 SC_CTOR (AxiSlaveToReadyValid)
 

Public Attributes

axi4_::read::template slave if_axi_rd
 
axi4_::write::template slave if_axi_wr
 
sc_in< bool > reset_bar
 
sc_in< bool > clk
 
Connections::In< Read > if_rv_rd
 
Connections::Out< Write > if_rv_wr
 

Static Public Attributes

static const int kDebugLevel = 5
 

Protected Member Functions

void run ()
 

Detailed Description

template<typename axiCfg, typename rvCfg>
class AxiSlaveToReadyValid< axiCfg, rvCfg >

An AXI slave that converts AXI requests into a simplified format.

Template Parameters
axiCfgA valid AXI config.
rvCfgA config for the ready-valid interface that is the output of the slave. The data and strobe fields are assumed to match the widths of their AXI counterparts.
Overview
This block converts AXI read and write requests into a simplified format consisting of a single ready-valid interface that has address, data, and write strobe fields, as well as a read/write indicator. Read responses are returned to the block via a second ready-valid interface (there are no write responses expected). AxiSlaveToReadyValid handles all of the AXI-specific protocol, generating write responses and packing/unpacking bursts as necessary.
Usage Guidelines

This module sets the stall mode to flush by default to mitigate possible RTL bugs that can occur in the default stall mode. If you are confident that this class of bugs will not occur in your use case, you can change the stall mode via TCL directive:

directive set /path/to/AxiSlaveToReadyValid/run/while -PIPELINE_STALL_MODE stall

This may reduce area/power.

Definition at line 55 of file AxiSlaveToReadyValid.h.


The documentation for this class was generated from the following file: