Skip to content

Python module containing system_verilog files for blackparrot cpu (for use with LiteX).

License

Notifications You must be signed in to change notification settings

litex-hub/pythondata-cpu-blackparrot

Repository files navigation

pythondata-cpu-blackparrot

Non-Python files needed for the cpu blackparrot packaged into a Python module so they can be used with Python libraries and tools.

This is useful for usage with tools like LiteX.

The data files can be found under the Python module pythondata_cpu_blackparrot. The pythondata_cpu_blackparrot.data_location value can be used to find the files on the file system.

Example of getting the data file directly;

import pythondata_cpu_blackparrot

my_data_file = "abc.txt"

with open(os.path.join(pythondata_cpu_blackparrot.data_location, my_data_file)) as f:
    print(f.read())

Example of getting the data file using litex.data.find API;

from pythondata_cpu_blackparrot import data_file

my_data_file = "abc.txt"

with open(data_file(my_data_file)) as f:
    print(f.read())

The data files come from https://github.com/enjoy-digital/black-parrot.git and are imported using git subtrees to the directory pythondata_cpu_blackparrot/system_verilog.

Installing from git repository

Manually

You can install the package manually, however this is not recommended.

git clone https://github.com/litex-hub/pythondata-cpu-blackparrot.git
cd pythondata-cpu-blackparrot
sudo python setup.py install

Using pip with git repository

You can use pip to install the data package directly from github using;

pip install --user git+https://github.com/litex-hub/pythondata-cpu-blackparrot.git

If you want to install for the whole system rather than just the current user, you need to remove the --user argument and run as sudo like so;

sudo pip install git+https://github.com/litex-hub/pythondata-cpu-blackparrot.git

You can install a specific revision of the repository using;

pip install --user git+https://github.com/litex-hub/pythondata-cpu-blackparrot.git@<tag>
pip install --user git+https://github.com/litex-hub/pythondata-cpu-blackparrot.git@<branch>
pip install --user git+https://github.com/litex-hub/pythondata-cpu-blackparrot.git@<hash>

With requirements.txt file

Add to your Python requirements.txt file using;

-e git+https://github.com/litex-hub/pythondata-cpu-blackparrot.git

To use a specific revision of the repository, use the following;

-e https://github.com/litex-hub/pythondata-cpu-blackparrot.git@<hash>

Installing from PyPi

Using pip

pip install --user pythondata-cpu-blackparrot

Updating BlackParrot

First run ./update.sh. This removes the old version of BlackParrot, downloads the latest development version and applies Litex specific adjustments.

After big version changes it might be necessary to adjust the flist.fpga, flist.verilator and bp2wb_convertor.v in pythondata_cpu_blackparrot/system_verilog/bp_litex.