sample_device_python sample_dma_device_cpp
Simics Reference Manual  /  5 Classes  / 

sample_dma_device

Description

Example of a DMA device supporting contiguous memory or scatter-gather lists. The device has a controllable throughput (words per second) and supports either polling mode or interrupt based signalling upon DMA completion.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.regs
sample_dma_device.regs

Commands for this class

Attributes

intr_target
Required attribute; read/write access; type: o|[os]
Interrupt target port to signal on DMA interrupts.

Required interfaces: signal.

target_mem_space
Required attribute; read/write access; type: o|[os]
The memory space on which the DMA engine operates. Data will be read from and copied to the memory associated with this memory space.

Required interfaces: memory_space.

throttle
Optional attribute; read/write access; type: f
Delay in seconds per 32-bit word of memory copied, default is 1μs.

Provided By

sample-dma-device

sample_dma_device.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, io_memory, register_view, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

sample_device_python sample_dma_device_cpp