noc_async_write

template<uint32_t max_page_size = NOC_MAX_BURST_SIZE + 1, bool enable_noc_tracing = true, bool posted = false>
inline void noc_async_write(uint32_t src_local_l1_addr, uint64_t dst_noc_addr, uint32_t size, uint8_t noc = noc_index, uint32_t vc = NOC_UNICAST_WRITE_VC)

Initiates an asynchronous write from a source address in L1 memory on the Tensix core executing this function call. The destination is specified using a uint64_t encoding referencing an on-chip node located at NOC coordinates (x,y) and a local address created using get_noc_addr function. Also, see noc_async_write_barrier.

The destination node can be either a DRAM bank, Tensix core+L1 memory address or a PCIe controller.

Return value: None

Argument Description

src_local_l1_addr Source address in local L1 memory

dst_noc_addr Encoding of the destination NOC location (x,y)+address

size Size of data transfer in bytes

noc Which NOC to use for the transaction

max_page_size (template argument) Maximum size of a single transaction in bytes

enable_noc_tracing (template argument) NOC tracing enable

posted (template argument) Whether the write is posted (i.e. no ack required)