sample_dma_device sample_event_device
Simics Reference Manual  /  5 Classes  / 

sample_dma_device_cpp

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.

Port Objects

bank.regs
sample_dma_device_cpp.regs – DMA register bank

Commands for this class

Attributes

target_mem_space
Required attribute; read/write access; type: o
The memory space on which the DMA engine operates. Data will be read from and copied to the memory associated with this memory space.
intr_target
Required attribute; read/write access; type: o
Interrupt target port to signal on DMA interrupts.
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-c++

sample_dma_device_cpp.regs

Description

DMA register bank

Interfaces Implemented

conf_object, log_object, transaction, register_view, register_view_read_only, bank_instrumentation_subscribe, instrumentation_order

Notifiers

bank-register-value-change
Notifier that is triggered when bank register value changes.
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 transaction

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

sample_dma_device sample_event_device