= Resources = == Mwmr == multi reader fifos Special kind of fifos where any number of producers and readers may be "connected". This fifos provides the following features: * Transfers are done in indivisible blocks of contiguous data * Read/Write operations are done in packets of one or more blocks * Blocks may be read/written in between of others, even in one write operation * Blocks always arrive in order (even if not contiguous because of preceding point) [[Image(wiki:MwMr:mwmr.png)]] {{{ fifo1 = Memr("first_fifo", 4, # Width, in 32-bit words, this is block size 64) # Depth, in number of blocks }}} == Lock == Simple mutex, implemented through [wiki:SpinLock spin locks]. {{{ lock1 = Lock("first_lock") }}} == Barrier == Synchronization point between tasks. All tasks connected to a barrier must wait for it before going any further. {{{ barr = Barrier("sync") }}} == Memspace == Shared (or not) memory declaration, may be used to have global memory space shared between tasks. {{{ memsp = Memspace("mem_name", 32768) }}} == Const == Constant integer values. {{{ cex = Const(1) }}}