Load *.bit using cat ../dev/xdevcfg

Is it possible to load overlays/ bitstream files using cat xyzzy.bit > /dev/xdevcfg and then use a python script to use the MMIO module in pyqn and read and write to memory locations?



You should be able to do what you are asking, but /dev/xdevcfg is deprecated. PYNQ uses fpga_manager.
While you can do it, are you able to explain why you want to do this instead of using the PYNQ Overlay class, or even just the Bitstream class?

If you use Overlay you automatically get information about your hardware, including address maps, and register information. MMIO read()/write() are also automatically assigned for memory-mapped IP in your design.

With your approach you need to hard code address values into your MMIO code, and lose a lot of the benefits of working with PYNQ.


Thanks for your prompt reply.

I have a bitstream file (.bit) which is is 2 years old and ran on a Red Pitaya 125-14 board. I do not have the tcl or hwh files.

Earlier I was able to load that onto the board using the cat *.bit > /dev/xdevcfg procedure and then used a c program to access the memory/register using mmap function.

I wish to port the c program into python using Pynq . specifially using MMIO module of Pynq.

I’m using a Pynq image built for Red Pitaya by Pau Gomez. Link here: GitHub - dspsandbox/Pynq-Redpitaya-125

I’m able to burn the image to a micro sd card and start the RP board. But am unable to load the *.bit file directly without HWH or the tcl file.

Thanks for your support.


Have you got the project source files?

I’d suggest you use the PYNQ Bitstream class. You can download the bit file and don’t need the HWH.