Skip to content

iamNCJ/PYNQ-CDMA-Driver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PYNQ-CDMA-Driver

PYNQ Driver for Xilinx Central Direct Memory Access IP

pip

Installation

pip install pynq-cdma

Usage

Currently, we only support simple DMA transfer

Auto bind

First import CDMA

from pynq_cdma import CDMA

Now if your design contains CDMA IP, Pynq will automatically bind it to a CDMA instance.

You can check its status by accessing the idle property:

from pynq import Overlay
ol = Overlay('top.bit')
print(ol.axi_cdma_0.idle)

Data transfer

import numpy as np
from pynq import allocate
input_buffer = allocate(shape=(8,), dtype=np.uint8)
output_buffer = allocate(shape=(8,), dtype=np.uint8)
for i in range(8):
    input_buffer[i] = i
ol.axi_cdma_0.transfer(input_buffer, 0xF000_0000)
ol.axi_cdma_0.transfer(0xF000_0000, output_buffer)
print(output_buffer)

About

PYNQ IP Driver for Xilinx Central Direct Memory Access

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages