wiki:DsxResource

Version 6 (modified by Nicolas Pouillon, 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()