CIRCT 24.0.0git
Loading...
Searching...
No Matches
Macros | Functions | Variables
AXI4Ops.cpp File Reference
#include "circt/Dialect/AXI4/AXI4Ops.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/MathExtras.h"
#include "circt/Dialect/AXI4/AXI4.cpp.inc"
Include dependency graph for AXI4Ops.cpp:

Go to the source code of this file.

Macros

#define GET_OP_CLASSES
 

Functions

static LogicalResult verifyWidthsMatch (XbarOp op, ArrayRef< WidthField > fields, PortType port, const Twine &portDesc, PortType reference, const Twine &referenceDesc)
 Verify that port agrees with reference on each of the widths in fields.
 
static std::pair< size_t, WindowAttr > findDownstreamWindow (ValueRange downstream, uint64_t address)
 The downstream port and window covering address, or a null window if no downstream port covers it.
 
static std::pair< uint64_t, uint64_t > routingOutstandingBelow (ValueRange upstream, PortType downstream)
 The outstanding writes and reads a routing op sends down downstream, from the upstream ports whose windows reach it.
 
static LogicalResult verifyOutstanding (Operation *op, const Twine &portDesc, PortType port, std::pair< uint64_t, uint64_t > reaching, const Twine &sourceDesc)
 Verify that port holds exactly the outstanding requests reaching it.
 

Variables

static constexpr WidthField kWidths []
 
static constexpr size_t kNumSharedWidths = 3
 

Macro Definition Documentation

◆ GET_OP_CLASSES

#define GET_OP_CLASSES

Definition at line 215 of file AXI4Ops.cpp.

Function Documentation

◆ findDownstreamWindow()

static std::pair< size_t, WindowAttr > findDownstreamWindow ( ValueRange  downstream,
uint64_t  address 
)
static

The downstream port and window covering address, or a null window if no downstream port covers it.

Definition at line 63 of file AXI4Ops.cpp.

◆ routingOutstandingBelow()

static std::pair< uint64_t, uint64_t > routingOutstandingBelow ( ValueRange  upstream,
PortType  downstream 
)
static

The outstanding writes and reads a routing op sends down downstream, from the upstream ports whose windows reach it.

Definition at line 80 of file AXI4Ops.cpp.

◆ verifyOutstanding()

static LogicalResult verifyOutstanding ( Operation *  op,
const Twine &  portDesc,
PortType  port,
std::pair< uint64_t, uint64_t >  reaching,
const Twine &  sourceDesc 
)
static

Verify that port holds exactly the outstanding requests reaching it.

Definition at line 93 of file AXI4Ops.cpp.

◆ verifyWidthsMatch()

static LogicalResult verifyWidthsMatch ( XbarOp  op,
ArrayRef< WidthField >  fields,
PortType  port,
const Twine &  portDesc,
PortType  reference,
const Twine &  referenceDesc 
)
static

Verify that port agrees with reference on each of the widths in fields.

Definition at line 46 of file AXI4Ops.cpp.

Variable Documentation

◆ kNumSharedWidths

constexpr size_t kNumSharedWidths = 3
staticconstexpr

Definition at line 42 of file AXI4Ops.cpp.

◆ kWidths

constexpr WidthField kWidths[]
staticconstexpr
Initial value:
= {
{"addr_width", &PortType::getAddrWidth},
{"data_width", &PortType::getDataWidth},
{"user_width", &PortType::getUserWidth},
{"write_id_width", &PortType::getWriteIdWidth},
{"read_id_width", &PortType::getReadIdWidth}}

Definition at line 36 of file AXI4Ops.cpp.