noc_async_read

template<uint32_t max_page_size = NOC_MAX_BURST_SIZE + 1, bool enable_noc_tracing = true>
inline void noc_async_read(uint64_t src_noc_addr, uint32_t dst_local_l1_addr, uint32_t size, uint8_t noc = noc_index, uint32_t read_req_vc = NOC_UNICAST_WRITE_VC)

Initiates an asynchronous read from a specified source node located at NOC coordinates (x,y) at a local address (encoded as a uint64_t using get_noc_addr function). The destination is in L1 memory on the Tensix core executing this function call. Also, see noc_async_read_barrier.

The source node can be either a DRAM bank, a Tensix core or a PCIe controller.

Return value: None

Argument Description

src_noc_addr Encoding of the source NOC location (x,y)+address

dst_local_l1_addr Address in local L1 memory

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