Can't write bitstream to ZCU216 using qpsk_overlay()

I used Pynq v2.7 and I write the bitstream in this website (GitHub - strath-sdr/rfsoc_qpsk at ff4f4d3b6aa3ae20dd62cda0744fd7e2cb6ca723 )to RFSOC ZCU216.
When I compile ‘ol = QpskOverlay(init_rf_clks=False)’ and the Jupyter notebook shut down I can’t connect to Jupyter until I turn off the board and restart it.
Could anyone tell me what happened?
Thanks!

1 Like

Did you figure out a solution to this? I have the exact same problem on the same setup and would love to collaborate.

I used ol = QpskOverlay() rather than ol = QpskOverlay(init_rf_clks=False)
and solved the issue

1 Like

Thank you so much for your reply. I want to explain further exactly what my setup is and what I’m attempting:

I am using the zcu216 with a prebuilt image from Sarah Sussaman: Prebuilt Image · Issue #1 · sarafs1926/ZCU216-PYNQ · GitHub

The reason i am using the prebuilt image rather than building my own is cause of a problem I encountered which i posted about here: Problem building image

I am trying to run this notebook from the RFSoC textbook and am crashing jupyter and losing connection tot he device in the ol = QpskOverlay() line Notebook

I have not loaded any bitstreams or done any other setup besides the Notebook installation instructions specified by the RFSoC textbook github here: RFSoC notebook installation.

My questions for you are:

  1. Is there some step I am missing before I can run the ol=QpskOverlay() line without crashing?
  2. How did you manage to get a PYNQ RFSoC image for the ZCU216, are you usinght esmae prebuilt one or did you somehow get building your own to work?

Any help would be sincerely appreciated :smiley:

Hi again pynqishard,

If you could please let me know where you got (or how you built) your ZCU216 PYNQ image that would be great. You seem to be the only person I could find across the internet who is successfully able to get to the point of running " ol = QpskOverlay()" without error.

I would love if you could walk me through how to replicate your exact setup and even potentially share your sdcard image.

Any information you may be able to contribute would be of great help

hi,

I used the same prebuilt image (from the link you provided: Prebuilt Image · Issue #1 · sarafs1926/ZCU216-PYNQ · GitHub). Did you upload your bitstream and .hwh file in the folder `jupyternotebook/rfsoc_qpsk/bitstream/ ?

1 Like

Hi,
zcu216 was not officially supported by PYNQ program, since there are no official firmware available. You can build your own image by using PetaLinux. However, there are bugs in this firmware.The problem I encountered was that the partial bitstream could not be loaded. I solved my problem by using Method Overriding. You can check my solution here. I think you are meeting the same problem as I did.

BR

I did not. I thought that it would simply use the defualt bitstream and that would work. See the image below:

I would be incredibly appreciative if you could guide guide me through how to upload the bistream and .hwh files. I do not see that bitstream folder in jupyternotebook/rfsoc_qpsk/

Also how do i generate the bitstreams and .hwh files?

Thank you

You can try this: GitHub - strath-sdr/rfsoc_qpsk: PYNQ example of using the RFSoC as a QPSK transceiver.. I started from this project. If you don’t see the ‘bitstream’ folder, you can create it and name it ‘bitstream.’ Make sure the bitstream file and the .hwh file have the same name.

1 Like

3 questions:

  1. The function seems to be looking for a bitfile name, so what your saying is to provide a path to for example x.bit and in the same directoryas x.bit is in I should have x.hwh?

  2. I tried building these bitstream and .hwh files using vivado 2020.2 on ubuntu 22.04 and it failed. What was your setup, did you encounter problems, and how dd you get over them?

  3. Could you possibly share your generated bitstream and .hwh files?

I really appreciate your help

  1. Yes
  2. What is the error message? I followed the step below, i didn’t encounter problems

  1. You should modify the design and generate the bitstream according to your requirements.