Version 6 (modified by 17 years ago) (diff) | ,
---|
Resources
They are the resources used by tasks through SrlApi.
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)
fifo1 = Mwmr("first_fifo", 4, # Width, in bytes, this is block size, must be multiple of 4 64) # Depth, in number of blocks
Associated ports:
MwmrInput(
width)
MwmrOutput(
width)
Lock
Simple mutex, implemented through spin locks.
lock1 = Lock("first_lock")
Associated ports:
LockPort()
Barrier
Synchronization point between tasks. All tasks connected to a barrier must wait for it before going any further.
barr = Barrier("sync")
Associated ports:
BarrierPort()
Memspace
Shared (or not) memory declaration, may be used to have global memory space shared between tasks.
memsp = Memspace("mem_name", 32768)
Associated ports:
MemspacePort(
minimal_size)
Const
Constant integer values.
cex = Const(1)
Associated ports:
ConstPort()