Skip to content

Compatibility of the SD-card image (FPGA bitstream) and the libpynq library

  • The PYNQ board is programmable in software but also has hardware (FPGA) that is programmable with a so-called bitstream. The SD card contains both the software (the Linux operating system and PYNQ libraries) and the bitstream for any specific hardware accelerators or subsystems (e.g. CompSOC real-time subsystem). The PYNQ library and the bitstream must be compatible.

  • When you log in to the PYNQ board it prints out what version of the hardware (bitstream) it is, e.g 5EWC0-2023-v0.2.0:

    Welcome to PYNQ Linux, based on Ubuntu 22.04 (GNU/Linux 5.15.19-xilinx-v20.2.2 armv7l)
    
    -----------------------------------------------------------------
    SD-card image release 5EWC0-2023 version 0.2.0
    Copyright Eindhoven University of Technology (TU/e), 2023.
    -----------------------------------------------------------------
    Last login: Sat Oct 22 05:37:41 2022 from 10.43.0.11
    

  • The PYNQ library checks that it is compatible with the bitstream. If not, then an error message will be printed, e.g.

    student@pynq:~/libpynq-5EWC0-2023-v1.0.0$ bin/compatibility-check
    Hardware version: 0.2.0
    Software release 5EWC0-2023 version 1.0.0
    ERROR: the bitstream (hardware) and the libpynq library versions are incompatible. Please update your SD-card image and libpynq library.
    

  • If updates are available then one of the following messages will be printed:

INFO: the libpynq library is newer than the bitstream (hardware). Please check if there is a newer version of the SD-card image.
INFO: the bitstream (hardware) is newer than the libpynq library. Please check if there is a newer version of the libpynq library.
  • You can also check compability using the libpynq-VERSION/bin/compatibility-check command. Replace VERSION by the version of your libpynq library, e.g. 5EWC0-2023-v0.2.5. (See the detailed libpynq documentation.)

    student@pynq:~/libpynq-5EWC0-2023-v0.2.5$ bin/compatibility-check
    Bitstream version: 0.2.0
    Libpynq release 5EWC0-2023 version 0.2.4
    student@pynq:~/libpynq-5EWC0-2023-v0.2.5$
    

  • You can also check compability in your own C program using the libpynq print_version and check_version functions. (See the detailed libpynq documentation.)