MLIR-AIE 1.4.5.dev
aie_runtime Namespace Reference

Classes

struct  BdPool
struct  TxnDeviceInfo

Enumerations

enum  TxnOpcode : uint32_t {
  TXN_OPC_WRITE = 0 , TXN_OPC_BLOCKWRITE = 1 , TXN_OPC_BLOCKSET = 2 , TXN_OPC_MASKWRITE = 3 ,
  TXN_OPC_MASKPOLL = 4 , TXN_OPC_NOOP = 5 , TXN_OPC_PREEMPT = 6 , TXN_OPC_MASKPOLL_BUSY = 7 ,
  TXN_OPC_LOADPDI = 8 , TXN_OPC_LOAD_PM_START = 9 , TXN_OPC_CREATE_SCRATCHPAD = 10 , TXN_OPC_UPDATE_STATE_TABLE = 11 ,
  TXN_OPC_UPDATE_REG = 12 , TXN_OPC_UPDATE_SCRATCH = 13 , TXN_OPC_CONFIG_SHIMDMA_BD = 14 , TXN_OPC_CONFIG_SHIMDMA_DMABUF_BD = 15 ,
  TXN_OPC_CUSTOM_OP_BEGIN = 1U << 7U , TXN_OPC_TCT = TXN_OPC_CUSTOM_OP_BEGIN , TXN_OPC_DDR_PATCH = TXN_OPC_CUSTOM_OP_BEGIN + 1 , TXN_OPC_READ_REGS = TXN_OPC_CUSTOM_OP_BEGIN + 2 ,
  TXN_OPC_RECORD_TIMER = TXN_OPC_CUSTOM_OP_BEGIN + 3 , TXN_OPC_MERGE_SYNC = TXN_OPC_CUSTOM_OP_BEGIN + 4 , TXN_OPC_CUSTOM_OP_NEXT = TXN_OPC_CUSTOM_OP_BEGIN + 5 , TXN_OPC_LOAD_PM_END_INTERNAL = 200 ,
  TXN_OPC_CUSTOM_OP_MAX = 255
}

Functions

BdPool bd_pool_init_range (uint32_t lo, uint32_t hi)
BdPool bd_pool_init (uint32_t n)
void bd_pool_reserve (BdPool &p, uint32_t id)
bool bd_pool_pop (BdPool &p, uint32_t &out)
void bd_pool_push (BdPool &p, uint32_t id)
TxnDeviceInfo txn_device_info (uint8_t dev_gen, uint8_t num_rows, uint8_t num_cols, uint8_t num_memtile_rows)
void txn_append_write32 (std::vector< uint32_t > &txn, uint32_t addr, uint32_t val)
void txn_append_maskwrite32 (std::vector< uint32_t > &txn, uint32_t addr, uint32_t val, uint32_t mask)
void txn_append_maskpoll32 (std::vector< uint32_t > &txn, uint32_t addr, uint32_t val, uint32_t mask)
void txn_append_sync (std::vector< uint32_t > &txn, uint32_t col, uint32_t row, uint32_t dir, uint32_t chan, uint32_t ncol, uint32_t nrow)
void txn_append_blockwrite (std::vector< uint32_t > &txn, uint32_t addr, const uint32_t *data, size_t count, uint32_t col=0, uint32_t row=0)
void txn_append_address_patch (std::vector< uint32_t > &txn, uint32_t addr, int32_t arg_idx, uint64_t arg_plus)
void txn_append_arg_patch (std::vector< uint32_t > &txn, uint32_t addr, int32_t arg_idx, uint64_t arg_plus, bool fold_ddr_addr_offset)
void txn_append_loadpdi (std::vector< uint32_t > &txn, uint32_t id, uint32_t size, uint64_t addr)
void txn_append_preempt (std::vector< uint32_t > &txn, uint32_t level)
std::nullopt_t txn_refused (const char *why)
void txn_init (std::vector< uint32_t > &txn)
void txn_prepend_header (std::vector< uint32_t > &txn, uint32_t op_count, TxnDeviceInfo info={})

Variables

constexpr uint32_t kMaxBDsPerTile = 48
constexpr uint32_t kDDRAIEAddrOffset = 0x80000000
constexpr uint32_t kNumFirmwareTranslatedArgs = 5
const char * txn_refusal = nullptr

Enumeration Type Documentation

◆ TxnOpcode

enum aie_runtime::TxnOpcode : uint32_t
Enumerator
TXN_OPC_WRITE 
TXN_OPC_BLOCKWRITE 
TXN_OPC_BLOCKSET 
TXN_OPC_MASKWRITE 
TXN_OPC_MASKPOLL 
TXN_OPC_NOOP 
TXN_OPC_PREEMPT 
TXN_OPC_MASKPOLL_BUSY 
TXN_OPC_LOADPDI 
TXN_OPC_LOAD_PM_START 
TXN_OPC_CREATE_SCRATCHPAD 
TXN_OPC_UPDATE_STATE_TABLE 
TXN_OPC_UPDATE_REG 
TXN_OPC_UPDATE_SCRATCH 
TXN_OPC_CONFIG_SHIMDMA_BD 
TXN_OPC_CONFIG_SHIMDMA_DMABUF_BD 
TXN_OPC_CUSTOM_OP_BEGIN 
TXN_OPC_TCT 
TXN_OPC_DDR_PATCH 
TXN_OPC_READ_REGS 
TXN_OPC_RECORD_TIMER 
TXN_OPC_MERGE_SYNC 
TXN_OPC_CUSTOM_OP_NEXT 
TXN_OPC_LOAD_PM_END_INTERNAL 
TXN_OPC_CUSTOM_OP_MAX 

Definition at line 45 of file TxnEncoding.h.

Function Documentation

◆ bd_pool_init()

BdPool aie_runtime::bd_pool_init ( uint32_t n)
inline

Definition at line 109 of file TxnEncoding.h.

References bd_pool_init_range().

◆ bd_pool_init_range()

BdPool aie_runtime::bd_pool_init_range ( uint32_t lo,
uint32_t hi )
inline

Definition at line 98 of file TxnEncoding.h.

References aie_runtime::BdPool::free_ids, aie_runtime::BdPool::head, and kMaxBDsPerTile.

Referenced by bd_pool_init().

◆ bd_pool_pop()

bool aie_runtime::bd_pool_pop ( BdPool & p,
uint32_t & out )
inline

Definition at line 130 of file TxnEncoding.h.

References aie_runtime::BdPool::free_ids, and aie_runtime::BdPool::head.

◆ bd_pool_push()

void aie_runtime::bd_pool_push ( BdPool & p,
uint32_t id )
inline

◆ bd_pool_reserve()

void aie_runtime::bd_pool_reserve ( BdPool & p,
uint32_t id )
inline

Definition at line 116 of file TxnEncoding.h.

References aie_runtime::BdPool::free_ids, and aie_runtime::BdPool::head.

◆ txn_append_address_patch()

void aie_runtime::txn_append_address_patch ( std::vector< uint32_t > & txn,
uint32_t addr,
int32_t arg_idx,
uint64_t arg_plus )
inline

Definition at line 262 of file TxnEncoding.h.

References TXN_OPC_DDR_PATCH.

Referenced by txn_append_arg_patch().

◆ txn_append_arg_patch()

void aie_runtime::txn_append_arg_patch ( std::vector< uint32_t > & txn,
uint32_t addr,
int32_t arg_idx,
uint64_t arg_plus,
bool fold_ddr_addr_offset )
inline

◆ txn_append_blockwrite()

void aie_runtime::txn_append_blockwrite ( std::vector< uint32_t > & txn,
uint32_t addr,
const uint32_t * data,
size_t count,
uint32_t col = 0,
uint32_t row = 0 )
inline

Definition at line 233 of file TxnEncoding.h.

References TXN_OPC_BLOCKWRITE.

◆ txn_append_loadpdi()

void aie_runtime::txn_append_loadpdi ( std::vector< uint32_t > & txn,
uint32_t id,
uint32_t size,
uint64_t addr )
inline

Definition at line 291 of file TxnEncoding.h.

References TXN_OPC_LOADPDI.

◆ txn_append_maskpoll32()

void aie_runtime::txn_append_maskpoll32 ( std::vector< uint32_t > & txn,
uint32_t addr,
uint32_t val,
uint32_t mask )
inline

Definition at line 198 of file TxnEncoding.h.

References TXN_OPC_MASKPOLL.

◆ txn_append_maskwrite32()

void aie_runtime::txn_append_maskwrite32 ( std::vector< uint32_t > & txn,
uint32_t addr,
uint32_t val,
uint32_t mask )
inline

Definition at line 181 of file TxnEncoding.h.

References TXN_OPC_MASKWRITE.

◆ txn_append_preempt()

void aie_runtime::txn_append_preempt ( std::vector< uint32_t > & txn,
uint32_t level )
inline

Definition at line 302 of file TxnEncoding.h.

References TXN_OPC_PREEMPT.

◆ txn_append_sync()

void aie_runtime::txn_append_sync ( std::vector< uint32_t > & txn,
uint32_t col,
uint32_t row,
uint32_t dir,
uint32_t chan,
uint32_t ncol,
uint32_t nrow )
inline

Definition at line 212 of file TxnEncoding.h.

References TXN_OPC_TCT.

◆ txn_append_write32()

void aie_runtime::txn_append_write32 ( std::vector< uint32_t > & txn,
uint32_t addr,
uint32_t val )
inline

Definition at line 168 of file TxnEncoding.h.

References TXN_OPC_WRITE.

◆ txn_device_info()

TxnDeviceInfo aie_runtime::txn_device_info ( uint8_t dev_gen,
uint8_t num_rows,
uint8_t num_cols,
uint8_t num_memtile_rows )
inline

◆ txn_init()

void aie_runtime::txn_init ( std::vector< uint32_t > & txn)
inline

Definition at line 320 of file TxnEncoding.h.

◆ txn_prepend_header()

void aie_runtime::txn_prepend_header ( std::vector< uint32_t > & txn,
uint32_t op_count,
TxnDeviceInfo info = {} )
inline

Definition at line 325 of file TxnEncoding.h.

◆ txn_refused()

std::nullopt_t aie_runtime::txn_refused ( const char * why)
inline

Definition at line 313 of file TxnEncoding.h.

References txn_refusal.

Variable Documentation

◆ kDDRAIEAddrOffset

uint32_t aie_runtime::kDDRAIEAddrOffset = 0x80000000
constexpr

Definition at line 252 of file TxnEncoding.h.

Referenced by txn_append_arg_patch().

◆ kMaxBDsPerTile

uint32_t aie_runtime::kMaxBDsPerTile = 48
constexpr

Definition at line 79 of file TxnEncoding.h.

Referenced by bd_pool_init_range(), and bd_pool_push().

◆ kNumFirmwareTranslatedArgs

uint32_t aie_runtime::kNumFirmwareTranslatedArgs = 5
constexpr

Definition at line 253 of file TxnEncoding.h.

Referenced by txn_append_arg_patch().

◆ txn_refusal

const char* aie_runtime::txn_refusal = nullptr
inlinethread_local

Definition at line 311 of file TxnEncoding.h.

Referenced by txn_refused().