Skip to content

Python Utilities to use Xilinx Vivado Tools from Python Scripts

License

Notifications You must be signed in to change notification settings

paulscherrerinstitute/VivadoScripting

Repository files navigation

General Information

Maintainer

Jonas Purtschert [jonas.purtschert@psi.ch]

Author

Oliver Bründler [oli.bruendler@gmx.ch]

License

This library is published under PSI HDL Library License, which is LGPL plus some additional exceptions to clarify the LGPL terms in the context of firmware development.

Changelog

See Changelog

What belongs into this Library

This repository contains python classes that help working with Vivado. This may be for build automatization, for analyzing files generated by Vivado or anything else.

Tagging Policy

Stable releases are tagged in the form major.minor.bugfix.

  • Whenever a change is not fully backward compatible, the major version number is incremented
  • Whenever new features are added, the minor version number is incremented
  • If only bugs are fixed (i.e. no functional changes are applied), the bugfix version is incremented

Dependencies

Library

The required folder structure looks as given below (folder names must be matched exactly).

Alternatively the repository psi_fpga_all can be used. This repo contains all FPGA related repositories as submodules in the correct folder structure.

  • Python
    • PsiPyUtils (3.0.0 or higher)
      • Can be installed using PIP instead of placing it at this location in the directory structure
    • VivadoScripting

External

  • None

Installation

to install, use the command below

pip install <root>\dist\VivadoScripting-<version>.tar.gz

Alternatively the package can be used directly as git-submodule (as it was done in the past). This allows for being reverse compatible and do not break projects that depend on using the package as submodule.

Packaing

To package the project after making changes, update the version number in setup.py and run

python3 setup.py sdist

Content

Build Scripts

These scripts help to build Vivado/Sdk projects from python scripts. The interaction with Vivado/Sdk and all workarounds required are encapsulated in this Python module.

Details can be found here

ILA Parsers

These scripts parse data recorded with the Vivado Logic Analyzer for data that cannot easily be viewed in Vivado itself (e.g. I2C transactions).

Details can be found here