noc_async_write_one_packet_with_state

template<bool posted = false>
void noc_async_write_one_packet_with_state(uint32_t src_local_l1_addr, uint32_t dst_local_l1_addr, uint8_t noc = noc_index)

Initiates an asynchronous write for a single packet with size <= NOC_MAX_BURST_SIZE (i.e. maximum packet size) to a specified destination node located at NOC coordinates (x,y) at a local address (encoded as a uint64_t using get_noc_addr function). This function must be preceded by a call to noc_async_write_one_packet_set_state. This function is used to issue the actual write request after the state has been set up. noc_async_write can be used instead if the state preservation is not needed. Also, see noc_async_write_barrier.

Return value: None

Argument

Description

Data type

Valid range

required

src_local_l1_addr

Address in local L1 memory on source core

uint32_t

0..1MB

True

dst_local_l1_addr

Address in local L1 memory on destination core

uint32_t

0..1MB

True

noc

Which NOC to use for the transaction

uint8_t

0 or 1

False

posted (template argument)

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

bool

true or false

False