noc_semaphore_inc
-
template<bool posted = false>
void noc_semaphore_inc(uint64_t addr, uint32_t incr, uint8_t noc_id = noc_index, uint8_t vc = NOC_UNICAST_WRITE_VC)
-
The Tensix core executing this function call initiates an atomic increment (with 32-bit wrap) of a remote Tensix core L1 memory address. This L1 memory address is used as a semaphore of size 4 Bytes, as a synchronization mechanism. Refer to <arch>/noc/noc.h for the documentation of noc_atomic_increment.
Return value: None
Argument
Description
Type
Valid Range
Required
addr
Encoding of the destination location (x,y)+address
uint64_t
DOX-TODO(insert a reference to what constitutes valid coords)
True
incr
The value to increment by
uint32_t
Any uint32_t value
True
noc_id
Which NOC to use for the transaction
uint8_t
0 or 1
False
posted (template argument)
Whether the call is posted or nonposted (i.e. needs to be acked)
uint32_t
true or false
False