P4C
The P4 Compiler
Loading...
Searching...
No Matches
Tofino::InstructionMemory Struct Reference
Inheritance diagram for Tofino::InstructionMemory:
[legend]

Public Member Functions

BFN::Alloc2Dbase< bitvec > & imem_slot_inuse (gress_t gress)
 
BFN::Alloc2Dbase< cstring > & imem_use (gress_t gress)
 
- Public Member Functions inherited from InstructionMemory
bool alloc_always_run_instr (const IR::MAU::Table *tbl, Use &alloc, bitvec current_bv)
 
bool allocate_imem (const IR::MAU::Table *tbl, Use &alloc, PhvInfo &phv, bool gw_linked, ActionData::FormatType_t format_type, SplitAttachedInfo &sai)
 
bool find_row_and_color (bitvec current_bv, gress_t gress, int &row, int &color, bool &first_noop, bool has_unalloc_temp=false)
 
const BFN::Alloc2Dbase< bitvec > & imem_slot_inuse (gress_t gress) const
 
const BFN::Alloc2Dbase< cstring > & imem_use (gress_t gress) const
 
bool is_noop_slot (int row, int color)
 
bool shared_instr (const IR::MAU::Table *tbl, Use &alloc, bool gw_linked)
 
void update (const IR::MAU::Table *tbl)
 
void update (cstring name, const TableResourceAlloc *alloc, const IR::MAU::Table *tbl)
 
void update (cstring name, const TableResourceAlloc *alloc, gress_t gress)
 
void update (cstring name, const Use &alloc, gress_t gress)
 
void update_always_run (const Use &alloc, gress_t gress)
 

Public Attributes

BFN::Alloc2D< bitvec, IMEM_ROWS, IMEM_COLORS > egress_imem_slot_inuse
 
BFN::Alloc2D< cstring, IMEM_ROWS, IMEM_COLORS > egress_imem_use
 
BFN::Alloc2D< bitvec, IMEM_ROWS, IMEM_COLORS > ingress_imem_slot_inuse
 
BFN::Alloc2D< cstring, IMEM_ROWS, IMEM_COLORS > ingress_imem_use
 
- Public Attributes inherited from InstructionMemory
std::set< cstringatcam_updates
 
std::map< const IR::MAU::ActionData *, const Use * > shared_action_profiles
 
const IMemSpecspec
 

Static Public Attributes

static constexpr int IMEM_COLORS = 2
 
static constexpr int IMEM_ROWS = 32
 
- Static Public Attributes inherited from InstructionMemory
static constexpr int NOOP_COLOR = 0
 
static constexpr int NOOP_ROW = 0
 

Additional Inherited Members

- Static Public Member Functions inherited from InstructionMemory
static InstructionMemorycreate ()
 
- Protected Member Functions inherited from InstructionMemory
 InstructionMemory (const IMemSpec &s)
 
 InstructionMemory (const InstructionMemory &)=delete
 
InstructionMemoryoperator= (const InstructionMemory &)=delete
 

Member Function Documentation

◆ imem_slot_inuse()

BFN::Alloc2Dbase< bitvec > & Tofino::InstructionMemory::imem_slot_inuse ( gress_t gress)
inlinevirtual

Implements InstructionMemory.

◆ imem_use()

BFN::Alloc2Dbase< cstring > & Tofino::InstructionMemory::imem_use ( gress_t gress)
inlinevirtual

Implements InstructionMemory.