noc_async_write_multicast_loopback_src

inline void noc_async_write_multicast_loopback_src(std::uint32_t src_local_l1_addr, std::uint64_t dst_noc_addr_multicast, std::uint32_t size, std::uint32_t num_dests, bool linked = false, uint8_t noc = noc_index)

Initiates an asynchronous write from a source address in L1 memory on the Tensix core executing this function call to a rectangular destination grid. This API is the same as noc_async_write_multicast but with the multicast sender being part of the multicast destinations. Refer to noc_async_write_multicast for more details.

Return value: None

Argument

Description

Type

Valid Range

Required

src_local_l1_addr

Source address in local L1 memory

uint32_t

0..1MB

True

dst_noc_addr_multicast

Encoding of the destinations nodes (x_start,y_start,x_end,y_end)+address

uint64_t

Results of get_noc_multicast_addr calls

True

size

Size of data transfer in bytes

uint32_t

0..1MB

True

num_dests

Number of destinations that the multicast source is targeting

uint32_t

0..(number of cores -1)

True

linked

Whether the transaction is linked

bool

true or false

False

noc

Which NOC to use for the transaction

uint8_t

0 or 1

False