Skip to content

3. Using the Docker Container

tarik-hamedovic edited this page Jul 13, 2025 · 5 revisions

Docker Container for FPGA tools

Introduction

All of the tools used in the project will be kept in a separate Docker container. The Dockerfile is located in the 99.warmup folder under 99.docker.

The tools used in the Docker Container will be listed below(checkmarks will be used for tools that are currently added, while the empty checkmarks are for tools that are being added). The tools can also be seen on the issue here on our Github.

The following is a comprehensive list of the tools and IP used in the project, with their current versions and statuses. The list differentiates between tools that have been fully integrated (✔) and those still in the process of being added (✘). For additional details and discussion on tool integration, you can refer to the relevant GitHub issue here.

Integrated Tools in Docker Container

Below is a list of tools integrated into our Docker container with their respective versions and links to their official sites or repositories.

Tool Name Version Integrated Documentation Link
Verilator v5.024 (Latest v5.030) Verilator Guide
GTKwave v3.3.116 GTKwave Releases
Python3 3.13.0 Python 3.13.0
Surfer v0.13.1 Surfer Project
SV2V v0.0.12 SV2V GitHub
Verible v0.0-3843 Verible GitHub
CDC Snitch LATEST CDC Snitch Documentation
Vivado 2024.2 Vivado Download
Yosys 0.4.7 Yosys GitHub
PeakRDL 1.1.0 PeakRDL GitHub
RISC-V GNU Toolchain 2024.11.22 RISC-V GNU Toolchain GitHub
OpenOCD 0.12.0 OpenOCD GitHub
PipelineC HLS LATEST PipelineC HLS Wiki
openXC7 LATEST openXC7 GitHub
VProc v1.11.3 VProc GitHub
Mem Model v1.0.0 Mem Model GitHub
rv32 ISS v1.1.3 rv32 ISS GitHub
TCP/IP Packet Generator TBD TCP/IP Packet Generator GitHub
Ibex Demo System v0.0.3 Ibex Demo System GitHub
Ibex LATEST Ibex GitHub
Bringup-Bench v1.5 Bringup-Bench GitHub
FPGA Design Elements LATEST FPGA Design Elements GitHub
Wireshark LATEST Wireshark GitHub

Docker Setup Guide

Setting up Docker for our project is streamlined through a series of scripts located in the 99.docker folder. Here’s how to get everything up and running.

Docker Installation

To install Docker along with all the necessary tools to run our Docker image, execute the install_docker.sh script found in the 99.docker folder. This script simplifies the installation process, ensuring that Docker is properly configured on your system.

Building the Docker image

Once Docker is installed, proceed by running the build.sh script, also located in the 99.docker folder. Building the Docker image can take some time, as it depends on your machine's performance and internet speed. After the build process completes, verify the installation by executing docker images in your terminal. You should see the newly created Docker image listed among the available images.

Pulling the Docker container

If you don't wish to build the Docker image on you can download the already built image by using the following command:

docker pull tarikhamedovic03/fpga-tools:1.0

Running the Docker image

To launch the Docker container, utilize the run_docker.sh script. This script initiates the Docker container with a graphical user interface, leveraging x11docker to manage GUI interactions within Docker. This is the screen that should be seen on your computer with all of the tools installed within.

image

TODO: Instructions for installing and configuring Docker on Windows will be added soon.

Clone this wiki locally