Skip to content

Latest commit

 

History

History
93 lines (58 loc) · 2.88 KB

File metadata and controls

93 lines (58 loc) · 2.88 KB

How to Compile

Note

We recommend you to watch a tutorial video about how-to-compile before getting started

html

F9sMRmDewM0

General Guidelines

OpenFPGA uses CMake to generate the Makefile scripts. In general, please follow the steps to compile

git clone https://github.com/LNIS-Projects/OpenFPGA.git
cd OpenFPGA
make all

Note

OpenFPGA requires gcc/g++ version >5

Note

cmake3.12+ is recommended to compile OpenFPGA with GUI

Note

Recommend using make -j<int> to accelerate the compilation, where <int> denotes the number of cores to be used in compilation.

Note

VPR's GUI requires gtk-3, and can be enabled with cmake .. -DVPR_USE_EZGL=on

Quick Compilation Verification

Note

Ensure that you install python dependences in tutorial_compile_dependencies.

To quickly verify the tool is well compiled, users can run the following command from OpenFPGA root repository

python3 openfpga_flow/scripts/run_fpga_task.py compilation_verification --debug --show_thread_logs

Dependencies

Full list of dependencies can be found at install_dependencies_build. In particular, OpenFPGA requires specific versions for the following dependencies:

cmake

version >3.12 for graphical interface

iverilog

version 10.1+ is required to run Verilog-to-Verification flow

python dependencies

python packages are also required:

python3 -m pip install -r requirements.txt

Running with the docker image

Users can skip the traditional installation process by using the Dockerized version of the OpenFPGA tool. The OpenFPGA project maintains the docker image/Github package of the latest stable version of OpenFPGA in the following repository openfpga-master. This image contains precompiled OpenFPGA binaries with all prerequisites installed.

# To get the docker image from the repository, 
docker pull ghcr.io/lnis-uofu/openfpga-master:latest

# To invoke openfpga_shell
docker run -it ghcr.io/lnis-uofu/openfpga-master:latest openfpga/openfpga bash

# To run the task that already exists in the repository.
docker run -it ghcr.io/lnis-uofu/openfpga-master:latest bash -c "source openfpga.sh && run-task compilation_verification"

# To link the local directory wihth docker
mkdir work

docker run -it -v work:/opt/openfpga/ ghcr.io/lnis-uofu/openfpga-master:latest bash
# Inside container 
source openfpga.sh
cd work 
create_task _my_task yosys_vpr