noc_async_write_page

template<typename AddrGen, bool enable_noc_tracing = true>
void noc_async_write_page(const uint32_t id, const AddrGen &addrgen, uint32_t src_local_l1_addr, uint32_t size = 0, uint32_t offset = 0, uint8_t noc = noc_index)

Initiates an asynchronous write for a single packet with transaction size and destination location determined by the AddrGen object. This function is the generic implementation that can be used with any address generator that provides the get_noc_addr method and either a page_size or a log_base_2_of_page_size member variable. It is designed to be flexible and can be used with various address generators. Note that providing the size argument is optional, and if provided, it will override the default page size of the address generator.

Return value: None

Argument

Description

Data type

Valid range

required

id

Page id

uint32_t

Any uint32_t number

True

addrgen

Address generator object

AddrGen

N/A

True

src_local_l1_addr

Address in local L1 memory

uint32_t

0..1MB

True

size

Size of data in bytes

uint32_t

0..NOC_MAX_BURST_SIZE MB

False

offset

Custom address offset

uint32_t

0..1MB

False

noc

Which NOC to use for the transaction

uint8_t

0 or 1

False

AddrGen (template parameter)

Address generator class

typename

Any AddrGen class in dataflow_api_addrgen.h

True