MatchLib
Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | List of all members
AxiMasterGate< Cfg, ROBDepth, MaxInFlightTrans > Class Template Reference

An AXI master that converts from a simple request/response interface to AXI with reordering support. More...

#include <AxiMasterGate.h>

Inheritance diagram for AxiMasterGate< Cfg, ROBDepth, MaxInFlightTrans >:

Public Member Functions

 SC_CTOR (AxiMasterGate)
 

Public Attributes

axi4_::read::template master if_rd
 
axi4_::write::template master if_wr
 
sc_in< bool > reset_bar
 
sc_in< bool > clk
 
Connections::In< WrRequest< Cfg > > wrRequestIn
 
Connections::Out< WrResp< Cfg > > wrRespOut
 
Connections::In< RdRequest< Cfg > > rdRequestIn
 
Connections::Out< RdResp< Cfg > > rdRespOut
 

Protected Types

typedef sc_uint< axi4_::ID_WIDTH > Id
 

Protected Member Functions

void run_wr ()
 
void run_rd ()
 

Detailed Description

template<typename Cfg, int ROBDepth = 8, int MaxInFlightTrans = 4>
class AxiMasterGate< Cfg, ROBDepth, MaxInFlightTrans >

An AXI master that converts from a simple request/response interface to AXI with reordering support.

Template Parameters
CfgA valid AXI config.
ROBDepthThe depth of the reorder buffers.
MaxInFlightTransThe number of independent AXI requests that can be in flight simultaneously.
Overview
This block takes as inputs RdRequest and WrRequest Connections. The block converts the requests into AXI format, sends them to AXI master ports, and processes the responses into RdResponse and WrResponse ports. ReorderBuf and ReorderBufWBeats are used to allow reordering via use of the AXI ID field.
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/AxiMasterGate/run_rd/while -PIPELINE_STALL_MODE stall

This may reduce area/power.

Definition at line 60 of file AxiMasterGate.h.


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