noc_async_write_one_packet_set_state
-
template<bool posted = false>
void noc_async_write_one_packet_set_state(uint64_t dst_noc_addr, uint32_t size, uint8_t noc = noc_index, uint8_t vc = NOC_UNICAST_WRITE_VC)
-
Sets the stateful registers for 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 is used to set up the state for noc_async_write_one_packet_with_state, which will issue the actual write request. noc_async_write can be used instead if the state preservation is not needed. Also, see noc_async_write_barrier.
The destination node can be either a DRAM bank, a Tensix core or a PCIe controller.
Return value: None
Argument
Description
Data type
Valid range
required
dst_noc_addr
Encoding of the destination NOC location (x,y)+address
uint64_t
Results of get_noc_addr calls
True
size
Size of data transfer in bytes
uint32_t
0..1MB
True
noc
Which NOC to use for the transaction
uint8_t
0 or 1
False
vc
Which VC to use for the transaction
uint8_t
0-3
False
posted (template argument)
Whether the write is posted (i.e. no ack required)
bool
true or false
False