PYNQ: PYTHON PRODUCTIVITY

ZCU 102, boot success but bitstream is not loaded

Hello,

I am a newbie using pynq and fpga.

I have ZCU102.
I make pynq SD card images from ZCU102 by changing the bsp file.
all of the versions(petalinux, vivado, bsp) are 2019.1.
I used prebuilt image(rootfs) of v2.5.

Now, I am trying to check the tutorials of pynq.
But, I got a problem to use bitstream file.

My problem is

  1. I got a RED status LED.
  • My FPGA power is on.
  • Mode pins[3:0] are 1110
  • By connecting usb and teraterm, I can check the linux is operating.
    I attached the boot logs - the texts on teraterms when I turn on the FPGA
  • But, still the RED LED is on.
    Other sub leds are off(I attached the image file)

I connected to my PC to FPGA by Router.
I changed the file, /etc/network/interfaces.
Using teraterm, all things works fine.
I can use jupyter-notebook.
And some of functions works(except pynq things).

  1. Some pynq package is unloaded.
  • The below codes(tutorial codes) does not work
    2-a) tutorial session1-4
    "
    from pynq.overlays.base import BaseOverlay ==> Errors
    "
    ==> ModuleNotFoundError: No module named ‘pynq.overlays.base’
    2-b) tutorial session3-1
    "
    from pynq.overlays.logictools import LogicToolsOverlay
    "
    ==>ModuleNotFoundError: No module named ‘pynq.overlays.logictools’

So I think something is wrong on my pynq package or bitstream.

What should I do?
Am I wrong at making SD card image?

I’d be grateful if anyone can give me any insights as to what the problem might be and how to solve it.boot logs.txt (42.4 KB)

There is nothing wrong with your image. PYNQ during boot time will not load a bitstream - we require users to load bitstream manually - that is the main difference between PYNQ and petalinux. pynq.overlays.base and such will not be available if your board folder during SD build does not contain an overlay folder. You can check https://github.com/Xilinx/PYNQ/tree/image_v2.6.0/boards/ZCU104 for an example - we have a base there so we have pynq.overlays.base on our zcu104 image. Either you do it in the zcu104 way, or you can provide an absolute path to your bitstream.

Thank you for your answer!

I am relieved at first that the SD image is okay since it take a lot to me.
But I am frustrated a little bit because I think the SD image includes the basic bit files.

Please check whether I am correct.

  1. To load a overlay, I use the command at the Jupyter Notebooks.
    But, I should locale the *.bit files on the FPGA.
    from pynq import Overlay
    overlay = Overlay(“base.bit”)

  2. the easiest way to make bit files is to reuse ZCU104 case.
    the guide site is here: https://pynq.readthedocs.io/en/v2.6.1/pynq_overlays/zcu104.html

Somehow, I change the overlay to my own ZCU102.
Then, make(in linux) the bit stream files.

Current version does not have the bit files.but, one can generate by using the build.sh file.

** what is the difference between typing make on the board folder and running the build.sh file in root directory?

** what files should I make? and what files should I move into the sd cards(or home folder)?

** I tried to execute the build.sh file. but I got a license (probably HDMI) issue.

; PYNQ 2.5.2 => how to disable synthesis for undesired boards? (to save time and licences)
; Problems getting build system up and running

  1. therefore, if I made my bitstream file, and load using the pynq Overlay function, I could use my FPGA boards.

Thank you for your help!

build.sh is only used by us internally to build the bitstreams, you don’t need to run it.
And that is building the bitstreams for z1,z2, and zcu104, which you do not need to use for your zcu102. I think you should just start with your own design and load your own bitstream. The zcu104 base overlay is a big design and takes a long time to build, you probably want to start with a very easy design.

Umm… how to make bitstreams and put into the pynq?

I think I already made bitstream files.
I followed the guide below.

To summarize the instructions, I copied the ZCU102 board folder make a new folder ZCU104 by changing ZCU104 bsp file.
And inside the instructions, there are some tcl files.

But, the problems are

  1. there are no such *.bit files inside the folder after following the guide.
  2. I manually execute ‘make all’ command inside the folder,
    and I think, bitstream file will be generated.
    But, pynq does not work
  • when I type ’ import pynq.overlays.base’, it returns no module error.
    I typed the help(pynq), and help(pynq.overlays). and there is no items inside it.
    moreover, when I type ‘import pynq.board’ it does not work.

So… what should I do to use my bitstream file and load the file?

I used pynq v2.5.