dma_monitor¶
Streaming DMA controller drivers (v1–v4) and TxDmaMonitor /
RxDmaMonitor wrappers.
rfsoc_rfdc.dma_monitor
¶
Classes¶
DmaMonitor(dma_ip, fifo_count_ip)
¶
StreamingDmaBase(description, fsm_lut)
¶
Bases: DefaultIP
This class serves as a base class for StreamingDma. StreamingDma uses a custom IP to control the Xilins's AXI Data Mover IP.
Source code in rfsoc_rfdc/dma_monitor.py
StreamingDmaV1(description)
¶
Bases: StreamingDmaBase
Streaming DMA driver v1.0 allows user to start and stop continuously DMA transfer by slipping self._cmd between 0 (stop) and 1 (start).
Source code in rfsoc_rfdc/dma_monitor.py
StreamingDmaV2(description)
¶
Bases: StreamingDmaBase
Streaming DMA driver v2.0 allows user to start and stop continuously DMA transfer by slipping self._cmd between 0 (stop) and 1 (start).
Source code in rfsoc_rfdc/dma_monitor.py
StreamingDmaV3(description)
¶
Bases: StreamingDmaBase
Streaming DMA driver v3.0 allows users to send the following commands.
1) IDLE: DMA goes to IDLE state 2) SINGLE: DMA make a single data transfer 3) STREAM: DMA stream data continuously
Source code in rfsoc_rfdc/dma_monitor.py
StreamingDmaV4(description)
¶
Bases: StreamingDmaBase
Streaming DMA driver v4.0 allows users to send the following commands.
1) IDLE: DMA goes to IDLE state 2) SINGLE: DMA make a single data transfer 3) STREAM: DMA stream data continuously 4) DUTY: DMA stream data continuously with duty cycling
Source code in rfsoc_rfdc/dma_monitor.py
Attributes¶
iq_samples_per_cyc = 8
instance-attribute
¶
bindto = ['user.org:user:data_mover_ctrl:4.0']
class-attribute
instance-attribute
¶
Functions¶
transfer(buffer)
¶
Source code in rfsoc_rfdc/dma_monitor.py
stream(buffer, duty_cycle=100)
¶
Source code in rfsoc_rfdc/dma_monitor.py
TxDmaMonitor(dma_ip, fifo_count_ip)
¶
Bases: DmaMonitor
This is the Tx DMA driver for Xilinx's DMA IP
Source code in rfsoc_rfdc/dma_monitor.py
RxDmaMonitor(dma_ip, fifo_count_ip)
¶
Bases: DmaMonitor
This is the Rx DMA driver for Xilinx's DMA IP