From 96ab15fed4b5e88a5eeefdb911934576e2899250 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan-Dan=20Cioc=C3=AErlan?= Date: Sat, 11 Oct 2025 23:49:32 +0300 Subject: [PATCH 1/2] feat: add the new vivado-fit image for the vivado 2025.1 and ubuntu 24.04 --- .devcontainer/fedora/Fedora.Dockerfile | 85 + .devcontainer/fedora/devcontainer.json | 41 + docker/.gitignore | 3 + docker/Dockerfile | 154 ++ docker/Makefile | 25 + docker/README.md | 39 + .../board_files/arty-a7-100/E.0/1.0/board.xml | 1247 +++++++++++++++ .../board_files/arty-a7-100/E.0/1.0/mig.prj | 134 ++ .../arty-a7-100/E.0/1.0/part0_pins.xml | 156 ++ .../arty-a7-100/E.0/1.0/preset.xml | 418 +++++ .../board_files/arty-a7-100/E.0/1.1/board.xml | 1247 +++++++++++++++ .../board_files/arty-a7-100/E.0/1.1/mig.prj | 159 ++ .../arty-a7-100/E.0/1.1/part0_pins.xml | 156 ++ .../arty-a7-100/E.0/1.1/preset.xml | 418 +++++ docker/board_files/arty/C.0/board.xml | 1259 +++++++++++++++ docker/board_files/arty/C.0/mig.prj | 134 ++ docker/board_files/arty/C.0/part0_pins.xml | 156 ++ docker/board_files/arty/C.0/preset.xml | 414 +++++ .../nexys-a7-100t/D.0/1.0/board.xml | 1370 +++++++++++++++++ .../board_files/nexys-a7-100t/D.0/1.0/mig.prj | 132 ++ .../nexys-a7-100t/D.0/1.0/part0_pins.xml | 162 ++ .../nexys-a7-100t/D.0/1.0/preset.xml | 398 +++++ .../nexys-a7-100t/D.0/1.3/board.xml | 1301 ++++++++++++++++ .../board_files/nexys-a7-100t/D.0/1.3/mig.prj | 157 ++ .../nexys-a7-100t/D.0/1.3/part0_pins.xml | 153 ++ .../nexys-a7-100t/D.0/1.3/preset.xml | 398 +++++ docker/install_config.txt | 30 + 27 files changed, 10346 insertions(+) create mode 100644 .devcontainer/fedora/Fedora.Dockerfile create mode 100644 .devcontainer/fedora/devcontainer.json create mode 100644 docker/.gitignore create mode 100644 docker/Dockerfile create mode 100644 docker/Makefile create mode 100644 docker/README.md create mode 100644 docker/board_files/arty-a7-100/E.0/1.0/board.xml create mode 100644 docker/board_files/arty-a7-100/E.0/1.0/mig.prj create mode 100644 docker/board_files/arty-a7-100/E.0/1.0/part0_pins.xml create mode 100644 docker/board_files/arty-a7-100/E.0/1.0/preset.xml create mode 100644 docker/board_files/arty-a7-100/E.0/1.1/board.xml create mode 100644 docker/board_files/arty-a7-100/E.0/1.1/mig.prj create mode 100644 docker/board_files/arty-a7-100/E.0/1.1/part0_pins.xml create mode 100644 docker/board_files/arty-a7-100/E.0/1.1/preset.xml create mode 100644 docker/board_files/arty/C.0/board.xml create mode 100644 docker/board_files/arty/C.0/mig.prj create mode 100644 docker/board_files/arty/C.0/part0_pins.xml create mode 100644 docker/board_files/arty/C.0/preset.xml create mode 100644 docker/board_files/nexys-a7-100t/D.0/1.0/board.xml create mode 100644 docker/board_files/nexys-a7-100t/D.0/1.0/mig.prj create mode 100644 docker/board_files/nexys-a7-100t/D.0/1.0/part0_pins.xml create mode 100644 docker/board_files/nexys-a7-100t/D.0/1.0/preset.xml create mode 100644 docker/board_files/nexys-a7-100t/D.0/1.3/board.xml create mode 100644 docker/board_files/nexys-a7-100t/D.0/1.3/mig.prj create mode 100644 docker/board_files/nexys-a7-100t/D.0/1.3/part0_pins.xml create mode 100644 docker/board_files/nexys-a7-100t/D.0/1.3/preset.xml create mode 100644 docker/install_config.txt diff --git a/.devcontainer/fedora/Fedora.Dockerfile b/.devcontainer/fedora/Fedora.Dockerfile new file mode 100644 index 00000000..20ffd282 --- /dev/null +++ b/.devcontainer/fedora/Fedora.Dockerfile @@ -0,0 +1,85 @@ +# Download base image Fedora 42 +FROM fedora:42 + +# LABEL about the custom image +LABEL maintainer="stefan_dan.ciocirlan@upb.ro" +LABEL version="0.1" +LABEL description="This is a fedora Docker Image for the computer architecture course " + +# timezone +ENV TZ=Europe/Bucharest + +# Update Fedora Software repository and install necessary packages +RUN dnf update -y +RUN dnf install -y \ + gawk \ + git +RUN dnf install -y \ + latexmk \ + python3 \ + python3-pip \ + python3-sphinx \ + graphviz \ + pandoc \ + python3-poetry \ + java-21-openjdk \ + make \ + cmake +RUN pip3 install Pygments \ + pydata_sphinx_theme \ + sphinx-autodoc-typehints \ + sphinx-autoapi \ + sphinxcontrib-autoprogram \ + twine \ + matplotlib +RUN dnf install -y \ + poetry +RUN dnf install -y \ + texlive-scheme-full +RUN dnf install -y \ + curl \ + wget \ + vim \ + gcc \ + openssl \ + openssl-devel + +# RUN poetry config virtualenvs.create false +# Setup the user sdcioc for the env +ARG USER_ID=1000 +ARG GROUP_ID=1000 +ARG USER_NAME=sdcioc +ARG GROUP_NAME=sdcioc + +# Create a user and group with the specified IDs and names +# This is necessary to avoid permission issues when running the container +# as a non-root user, especially when using volumes +# that are mounted from the host system. +# The user will have a home directory at /home/container-user +RUN groupadd -g $GROUP_ID $GROUP_NAME && \ + useradd -m -u $USER_ID -g $GROUP_NAME $USER_NAME && \ + passwd -d $USER_NAME && \ + chown -R $USER_NAME:$GROUP_NAME /home/$USER_NAME + + +# # # Ensure /home/container-user is owned by container-user +RUN mkdir -p /home/$USER_NAME/.vscode-server && \ + chown -R $USER_NAME:$GROUP_NAME /home/$USER_NAME +# # # make the workspace folder in the home directory +# RUN mkdir -p /home/$USER_NAME/workspace && \ +# chown -R $USER_NAME:$GROUP_NAME /home/$USER_NAME/workspace +# # Set the working directory to the user's home directory +# WORKDIR /home/$USER_NAME/workspace +# # Set the user to the one we created +RUN dnf install -y sudo && \ + echo "$USER_NAME ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers +USER $USER_NAME + +# Install rustup +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \ + echo 'source $HOME/.cargo/env' >> $HOME/.bashrc && \ + source $HOME/.cargo/env && \ + rustup install stable && \ + rustup default stable && \ + cargo install typst-cli +# RUN poetry config virtualenvs.create false diff --git a/.devcontainer/fedora/devcontainer.json b/.devcontainer/fedora/devcontainer.json new file mode 100644 index 00000000..5a72bfce --- /dev/null +++ b/.devcontainer/fedora/devcontainer.json @@ -0,0 +1,41 @@ +{ + "name": "Container for Qexam", + "build": { + "dockerfile": "Fedora.Dockerfile" + }, + // "workspaceFolder": "/home/sdcioc/workspace", + "remoteUser": "sdcioc", + "remoteEnv": { + "DISPLAY": "unix:0" + }, + "mounts": [ + "source=/tmp/.X11-unix,target=/tmp/.X11-unix,type=bind,consistency=cached" + ], + "customizations": { + "vscode": { + "extensions": [ + "GitHub.vscode-pull-request-github", + "GitHub.copilot", + "ms-azuretools.vscode-docker", + "GitHub.copilot-chat", + "ms-vscode.makefile-tools", + "ms-python.python", + "tomoki1207.pdf", + "ms-python.python", + "ms-python.vscode-pylance", + "ms-python.isort", + "ms-python.flake8", + "james-yu.latex-workshop", + "Aizhe.3d-html-viewer", + "redhat.vscode-xml", + "bierner.github-markdown-preview", + "myriad-dreamin.tinymist" + ] + } + }, + "runArgs": [ + "--rm", + "--privileged" + ], + "postAttachCommand": "poetry install" +} \ No newline at end of file diff --git a/docker/.gitignore b/docker/.gitignore new file mode 100644 index 00000000..e5dd70dc --- /dev/null +++ b/docker/.gitignore @@ -0,0 +1,3 @@ +*.bin +vivado_installer +wi_authentication_key diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 00000000..536c6638 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,154 @@ +FROM ubuntu:24.04 AS vivado-install-files + +ENV DEBIAN_FRONTEND noninteractive + +ARG VIVADO_VERSION=2025.1 +ARG VIVADO_BIN=FPGAs_AdaptiveSoCs_Unified_SDI_2025.1_0530_0145_Lin64.bin + + +COPY $VIVADO_BIN /root/$VIVADO_BIN +RUN chmod +x /root/$VIVADO_BIN && \ + /root/$VIVADO_BIN --noexec --target /root/vivado_installer && \ + rm -f /root/$VIVADO_BIN + +# /root/vivado_installer/xsetup -b ConfigGen +# modify this file to customize your installation +COPY install_config.txt /root/install_config.txt + +# You need to get this file from Xilinx website after login +# /root/vivado_installer/xsetup -b AuthTokenGen +COPY wi_authentication_key /root/wi_authentication_key + +FROM ubuntu:24.04 AS vivado-fresh-install + +ENV DEBIAN_FRONTEND noninteractive + +COPY --from=vivado-install-files /root/vivado_installer /root/vivado_installer +RUN mkdir -p /root/.Xilinx +COPY --from=vivado-install-files /root/wi_authentication_key /root/.Xilinx/wi_authentication_key +COPY --from=vivado-install-files /root/install_config.txt /root/.Xilinx/install_config.txt + +RUN chmod +x /root/vivado_installer/installLibs.sh && \ + /root/vivado_installer/installLibs.sh + +RUN chmod +x /root/vivado_installer/xsetup && \ + /root/vivado_installer/xsetup --agree XilinxEULA,3rdPartyEULA --batch Install --config /root/.Xilinx/install_config.txt + +FROM vivado-fresh-install AS vivado-cleaning-process + +ENV DEBIAN_FRONTEND=noninteractive +ARG VIVADO_VERSION=2025.1 + +RUN rm -rf /root/vivado_installer && \ + rm -rf /tmp/* && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +RUN rm -rf /tools/Xilinx/.xinstall && \ + echo "FINISHED removing .xinstall" && \ + rm -rf /tools/Xilinx/xic && \ + echo "FINISHED removing xic (information and update)" + +# remove from here /tools/Xilinx/VERSION +RUN rm -rf /tools/Xilinx/${VIVADO_VERSION}/Vitis && \ + echo "FINISHED removing vitis" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/gnu && \ + echo "FINISHED removing gnu (microblaze and riscv)" +# remove from here /tools/Xilinx/Vivado/VERSION/data +RUN rm -rf /tools/Xilinx/${VIVADO_VERSION}/data/embeddedsw && \ + echo "FINISHED removing embeddedsw" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/data/ip && \ + echo "FINISHED removing ip" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/data/secureip && \ + echo "FINISHED removing secureip" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/data/deca && \ + echo "FINISHED removing deca" + +# remove data/parts +RUN rm -rf /tools/Xilinx/${VIVADO_VERSION}/data/parts/virtex4 && \ + echo "FINISHED removing virtex4" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/data/parts/virtex5 && \ + echo "FINISHED removing virtex5" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/data/parts/virtex6 && \ + echo "FINISHED removing virtex6" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/data/parts/virtex7 && \ + echo "FINISHED removing virtex7" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/data/parts/kirtex7 && \ + echo "FINISHED removing kirtex7" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/data/parts/spartan3 && \ + echo "FINISHED removing spartan3" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/data/parts/spartan3e && \ + echo "FINISHED removing spartan3e" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/data/parts/spartan6 && \ + echo "FINISHED removing spartan6" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/data/parts/spartan7 && \ + echo "FINISHED removing spartan7" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/data/parts/spartan3a && \ + echo "FINISHED removing spartan3a" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/data/parts/spartan3adsp && \ + echo "FINISHED removing spartan3adsp" + +# remove xsim/ip +RUN rm -rf /tools/Xilinx/${VIVADO_VERSION}/data/xsim/ip && \ + echo "FINISHED removing xsim ip" + +# remove lnx64 tools that are not needed +RUN rm -rf /tools/Xilinx/${VIVADO_VERSION}/lnx64/tools/clang-16 && \ + echo "FINISHED removing clang-16" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/lnx64/tools/clang && \ + echo "FINISHED removing clang" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/lnx64/tools/clang-3.1 && \ + echo "FINISHED removing clang-3.1" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/lnx64/tools/clang-3.9-csynth && \ + echo "FINISHED removing clang-3.9-csynth" + +# remove tps/lnx64 tools that are not needed +RUN rm -rf /tools/Xilinx/${VIVADO_VERSION}/tps/lnx64/git-2.45.0 && \ + echo "FINISHED removing git-2.45.0" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/tps/lnx64/git-2.46.0 && \ + echo "FINISHED removing git-2.46.0" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/tps/lnx64/gcc-8.3.0 && \ + echo "FINISHED removing gcc-8.3.0" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/tps/lnx64/gcc-9.3.0 && \ + echo "FINISHED removing gcc-9.3.0" && \ + rm -rf /tools/Xilinx/${VIVADO_VERSION}/tps/lnx64/clangd-8.0.0 && \ + echo "FINISHED removing clangd-8.0.0" + + +RUN echo "source /tools/Xilinx/${VIVADO_VERSION}/Vivado/.settings64-Vivado.sh" >> /root/.bashrc + +# the real working shit .... +FROM ubuntu:24.04 as vivado-final + +ENV DEBIAN_FRONTEND=noninteractive +ARG VIVADO_VERSION=2025.1 + +RUN apt-get update && \ + apt-get install -y locales && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + locale-gen en_US.UTF-8 + +# install de dependencies +COPY --from=vivado-install-files /root/vivado_installer/installLibs.sh /root/vivado_installer/installLibs.sh +RUN apt-get update && \ + chmod +x /root/vivado_installer/installLibs.sh && \ + /root/vivado_installer/installLibs.sh && \ + rm -rf /root/vivado_installer && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# Copy the final tools +COPY --from=vivado-cleaning-process /tools/Xilinx /tools/Xilinx + + +# install the cable drivers +RUN mkdir -p /etc/udev/rules.d +RUN /tools/Xilinx/${VIVADO_VERSION}/data/xicom/cable_drivers/lin64/install_script/install_drivers/install_drivers + +COPY board_files/arty /tools/Xilinx/${VIVADO_VERSION}/data/boards/board_files/arty +COPY board_files/arty-a7-100 /tools/Xilinx/${VIVADO_VERSION}/data/boards/board_files/arty-a7-100 +COPY board_files/nexys-a7-100t /tools/Xilinx/${VIVADO_VERSION}/data/boards/board_files/nexys-a7-100t + +# add the source /tools/Xilinx/VERSION/Vivado/.settings64-Vivado.sh in bashrc +RUN echo "source /tools/Xilinx/${VIVADO_VERSION}/Vivado/.settings64-Vivado.sh" >> /root/.bashrc diff --git a/docker/Makefile b/docker/Makefile new file mode 100644 index 00000000..8d12b021 --- /dev/null +++ b/docker/Makefile @@ -0,0 +1,25 @@ +version=1.0.0 +registry=gitlab.cs.pub.ro:5050/ac/ac-public +img_name=vivado-fit +tag_name=${registry}/${img_name}:${version} +internal_step_img_name=vivado-final + +build: + docker image build -t ${tag_name} --target ${internal_step_img_name} . + +test: build + docker run --rm --name ${img_name} ${tag_name} + +run: build + docker run --rm -it --name ${img_name} -e QT_DEBUG_PLUGINS=1 ${tag_name} /bin/bash + +bash: + docker exec -it ${img_name} /bin/bash + +push: + docker push ${tag_name} + +clean: + docker rm -f ${img_name} + docker image rm ${tag_name} + diff --git a/docker/README.md b/docker/README.md new file mode 100644 index 00000000..7f6701c4 --- /dev/null +++ b/docker/README.md @@ -0,0 +1,39 @@ +# docker/ — Vivado Docker helper + +This directory contains Docker assets used to build a container with Xilinx Vivado tools. The current focus is on preparing the Vivado installer files that the Docker build expects. + +## Overview + +The Dockerfile in this folder expects the Vivado unified installer binary and a few supporting files to be present in the build context so that the installer can be extracted and used to perform an unattended installation inside the image. + +## Prerequisites + +- Docker or Docker Desktop installed and working on your machine. +- A valid Vivado unified installer binary downloaded from Xilinx/AMD (requires a Xilinx/AMD account). + +## Required files (place in this `docker/` directory) + +- The Vivado installer binary. By default the Dockerfile expects the file name: + `FPGAs_AdaptiveSoCs_Unified_SDI_2025.1_0530_0145_Lin64.bin` + If you use a different filename, either rename the file to match or update the `ARG VIVADO_BIN` value in the Dockerfile. + For the next step you will need to extract the installer files, so run: +```bash +export VIVADO_BIN=FPGAs_AdaptiveSoCs_Unified_SDI_2025.1_0530_0145_Lin64.bin +chmod +x $VIVADO_BIN +./$VIVADO_BIN --noexec --target ./vivado_installer +``` + +- `install_config.txt` — installation configuration used by the installer. A template is already present in this folder; edit it if you need to customize the install. Or generate a new one using the installer in interactive mode or the `./vivado_installer/xsetup -b ConfigGen` command. + +- `wi_authentication_key` — Xilinx Wi authentication key file (you must obtain this by running `./vivado_installer/xsetup -b AuthTokenGen`). + +- `board_files/` — (optional) a directory containing any additional board files you want to install. Currently there are files for the Digilent Arty A7-100T and Nexys A7-100T boards. + +## Improve the image +You can customize the Dockerfile to add more tools or IP cores to the installation. The Dockerfile is multi-stage, so you can also build intermediate images that stop at different steps of the installation process. The `Makefile` contains a target to build the final image, but you can modify it to build intermediate steps as needed. + +### Example: build an intermediate image that can be used to test if the finale image size can be reduced +```bash +docker image build -t vivado-cleaning-process --target vivado-fit . +``` +This image contains the the fit image step, which removes unneeded files from the full installation. You can run this image and inspect the installation folder `/tools/Xilinx/` to see if you can further reduce the size by removing more files or folders. After add the removal commands to the Dockerfile in the cleaning step, you can rebuild the final image using `make build`. \ No newline at end of file diff --git a/docker/board_files/arty-a7-100/E.0/1.0/board.xml b/docker/board_files/arty-a7-100/E.0/1.0/board.xml new file mode 100644 index 00000000..50f45357 --- /dev/null +++ b/docker/board_files/arty-a7-100/E.0/1.0/board.xml @@ -0,0 +1,1247 @@ + + + + + E.0 + +1.0 +Arty A7-100 + + + + + DDR3 board interface, it can use MIG IP for connection. + + + + + + 4-position user DIP Switches + + + + + + + + + + + + + + + + Secondary interface to communicate with ethernet phy. + + + + + + + + + + + + + + + + + + + + + + + + + Primary interface to communicate with ethernet phy in MII mode. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Shield I2C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + I2C Pullups to enable shield I2C + + + + + + + + + + + + + + 4 LEDs + + + + + + + + + + + + + + + + 4 Push Buttons + + + + + + + + + + + + + + + + Quad SPI Flash + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Onboard Reset Button + + + + + + + + + + + + + + + + 4 RGB LEDs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 MB DDR3L memory SODIMM + + + + + + + DIP Switches 3 to 0 + + + PHY Ethernet on the board + + + + + + + + + + + Shield i2c + + + Shield i2c pullups, must pull high if using the shield I2C on J3 + + + LEDs 3 to 0 + + + Push buttons 3 to 0 + + + 16 MB of nonvolatile storage that can be used for configuration or data storage + + + CPU Reset Push Button, active low + + + RGB leds 12 to 0 (3 per LED) + + + Shield pins 0 through 19 + + + Shield pins 26 through 41 + + + Shield SPI + + + 3.3V Single-Ended 100MHz oscillator used as system clock on the board + + + USB-to-UART Bridge, which allows a connection to a host computer with a USB port + + + Pmod Connector JA + + + Pmod Connector JB + + + Pmod Connector JC + + + Pmod Connector JD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/board_files/arty-a7-100/E.0/1.0/mig.prj b/docker/board_files/arty-a7-100/E.0/1.0/mig.prj new file mode 100644 index 00000000..1bff709e --- /dev/null +++ b/docker/board_files/arty-a7-100/E.0/1.0/mig.prj @@ -0,0 +1,134 @@ + + + + design_1_mig_7series_0_0 + 1 + 1 + OFF + 1024 + ON + Enabled + xc7a100t-csg324/-1 + 2.3 + No Buffer + No Buffer + ACTIVE LOW + FALSE + 1 + 50 Ohms + 0 + + DDR3_SDRAM/Components/MT41K128M16XX-15E + 3000 + 1.8V + 4:1 + 166.666 + 0 + 666 + 1.000 + 1 + 1 + 1 + 1 + 16 + 1 + 1 + Disabled + Normal + FALSE + + 14 + 10 + 3 + 1.35V + 268435456 + BANK_ROW_COLUMN + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 - Fixed + Sequential + 5 + Normal + No + Slow Exit + Enable + RZQ/6 + Disable + Enable + RZQ/6 + 0 + Disabled + Enabled + Output Buffer Enabled + Full Array + 5 + Enabled + Normal + Dynamic ODT off + AXI + + RD_PRI_REG + 28 + 128 + 4 + 0 + + + + diff --git a/docker/board_files/arty-a7-100/E.0/1.0/part0_pins.xml b/docker/board_files/arty-a7-100/E.0/1.0/part0_pins.xml new file mode 100644 index 00000000..dc32e54e --- /dev/null +++ b/docker/board_files/arty-a7-100/E.0/1.0/part0_pins.xml @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/board_files/arty-a7-100/E.0/1.0/preset.xml b/docker/board_files/arty-a7-100/E.0/1.0/preset.xml new file mode 100644 index 00000000..ec20fb47 --- /dev/null +++ b/docker/board_files/arty-a7-100/E.0/1.0/preset.xml @@ -0,0 +1,418 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/board_files/arty-a7-100/E.0/1.1/board.xml b/docker/board_files/arty-a7-100/E.0/1.1/board.xml new file mode 100644 index 00000000..1bffd15b --- /dev/null +++ b/docker/board_files/arty-a7-100/E.0/1.1/board.xml @@ -0,0 +1,1247 @@ + + + + + E.0 + +1.1 +Arty A7-100 + + + + + DDR3 board interface, it can use MIG IP for connection. + + + + + + 4-position user DIP Switches + + + + + + + + + + + + + + + + Secondary interface to communicate with ethernet phy. + + + + + + + + + + + + + + + + + + + + + + + + + Primary interface to communicate with ethernet phy in MII mode. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Shield I2C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + I2C Pullups to enable shield I2C + + + + + + + + + + + + + + 4 LEDs + + + + + + + + + + + + + + + + 4 Push Buttons + + + + + + + + + + + + + + + + Quad SPI Flash + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Onboard Reset Button + + + + + + + + + + + + + + + + 4 RGB LEDs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 MB DDR3L memory SODIMM + + + + + + + DIP Switches 3 to 0 + + + PHY Ethernet on the board + + + + + + + + + + + Shield i2c + + + Shield i2c pullups, must pull high if using the shield I2C on J3 + + + LEDs 3 to 0 + + + Push buttons 3 to 0 + + + 16 MB of nonvolatile storage that can be used for configuration or data storage + + + CPU Reset Push Button, active low + + + RGB leds 12 to 0 (3 per LED) + + + Shield pins 0 through 19 + + + Shield pins 26 through 41 + + + Shield SPI + + + 3.3V Single-Ended 100MHz oscillator used as system clock on the board + + + USB-to-UART Bridge, which allows a connection to a host computer with a USB port + + + Pmod Connector JA + + + Pmod Connector JB + + + Pmod Connector JC + + + Pmod Connector JD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/board_files/arty-a7-100/E.0/1.1/mig.prj b/docker/board_files/arty-a7-100/E.0/1.1/mig.prj new file mode 100644 index 00000000..d50acb57 --- /dev/null +++ b/docker/board_files/arty-a7-100/E.0/1.1/mig.prj @@ -0,0 +1,159 @@ + + + + + + + + design_1_mig_7series_0_0 + + 1 + + 1 + + OFF + + 1024 + + ON + + Enabled + + xc7a100t-csg324/-1 + + 4.2 + + Single-Ended + + No Buffer + + ACTIVE LOW + + FALSE + + 1 + + 50 Ohms + + 0 + + + DDR3_SDRAM/Components/MT41K128M16XX-15E + 3077 + 1.8V + 4:1 + 99.997 + 1 + 649 + 3.250 + 1 + 1 + 1 + 1 + 16 + 1 + 1 + Disabled + Normal + 4 + FALSE + + 14 + 10 + 3 + 1.35V + 268435456 + BANK_ROW_COLUMN + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 - Fixed + Sequential + 5 + Normal + No + Slow Exit + Enable + RZQ/6 + Disable + Enable + RZQ/6 + 0 + Disabled + Enabled + Output Buffer Enabled + Full Array + 5 + Enabled + Normal + Dynamic ODT off + AXI + + RD_PRI_REG + 28 + 128 + 4 + 0 + + + + + diff --git a/docker/board_files/arty-a7-100/E.0/1.1/part0_pins.xml b/docker/board_files/arty-a7-100/E.0/1.1/part0_pins.xml new file mode 100644 index 00000000..dc32e54e --- /dev/null +++ b/docker/board_files/arty-a7-100/E.0/1.1/part0_pins.xml @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/board_files/arty-a7-100/E.0/1.1/preset.xml b/docker/board_files/arty-a7-100/E.0/1.1/preset.xml new file mode 100644 index 00000000..ec20fb47 --- /dev/null +++ b/docker/board_files/arty-a7-100/E.0/1.1/preset.xml @@ -0,0 +1,418 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/board_files/arty/C.0/board.xml b/docker/board_files/arty/C.0/board.xml new file mode 100644 index 00000000..8fedc5f5 --- /dev/null +++ b/docker/board_files/arty/C.0/board.xml @@ -0,0 +1,1259 @@ + + + + + C.0 + +1.1 +Arty + + + + + DDR3 board interface, it can use MIG IP for connection. + + + + + + 4-position user DIP Switches + + + + + + + + + + + + + + + + Secondary interface to communicate with ethernet phy. + + + + + + + + + + + + + + + + + + + + + + + + + Primary interface to communicate with ethernet phy in MII mode. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Shield I2C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + I2C Pullups to enable shield I2C + + + + + + + + + + + + + + + + + + + + + + + + + + 4 LEDs + + + + + + + + + + + + + + + + 4 Push Buttons + + + + + + + + + + + + + + + + Quad SPI Flash + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Onboard Reset Button + + + + + + + + + + + + + + + + 4 RGB LEDs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 MB DDR3L memory SODIMM + + + + + + + DIP Switches 3 to 0 + + + PHY Ethernet on the board + + + + + + + + + + + Shield i2c + + + Shield i2c pullups, must pull high if using the shield I2C on J3 + + + LEDs 3 to 0 + + + Push buttons 3 to 0 + + + 16 MB of nonvolatile storage that can be used for configuration or data storage + + + CPU Reset Push Button, active low + + + RGB leds 12 to 0 (3 per LED) + + + Shield pins 0 through 19 + + + Shield pins 26 through 41 + + + Shield SPI + + + 3.3V Single-Ended 100MHz oscillator used as system clock on the board + + + USB-to-UART Bridge, which allows a connection to a host computer with a USB port + + + Pmod Connector JA + + + Pmod Connector JB + + + Pmod Connector JC + + + Pmod Connector JD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/board_files/arty/C.0/mig.prj b/docker/board_files/arty/C.0/mig.prj new file mode 100644 index 00000000..9b31d7bc --- /dev/null +++ b/docker/board_files/arty/C.0/mig.prj @@ -0,0 +1,134 @@ + + + + design_1_mig_7series_0_0 + 1 + 1 + OFF + 1024 + ON + Enabled + xc7a35ti-csg324/-1L + 2.3 + No Buffer + No Buffer + ACTIVE LOW + FALSE + 1 + 50 Ohms + 0 + + DDR3_SDRAM/Components/MT41K128M16XX-15E + 3000 + 1.8V + 4:1 + 166.666 + 0 + 666 + 1.000 + 1 + 1 + 1 + 1 + 16 + 1 + 1 + Disabled + Normal + FALSE + + 14 + 10 + 3 + 1.35V + 268435456 + BANK_ROW_COLUMN + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 - Fixed + Sequential + 5 + Normal + No + Slow Exit + Enable + RZQ/6 + Disable + Enable + RZQ/6 + 0 + Disabled + Enabled + Output Buffer Enabled + Full Array + 5 + Enabled + Normal + Dynamic ODT off + AXI + + RD_PRI_REG + 28 + 128 + 4 + 0 + + + + diff --git a/docker/board_files/arty/C.0/part0_pins.xml b/docker/board_files/arty/C.0/part0_pins.xml new file mode 100644 index 00000000..3f6de551 --- /dev/null +++ b/docker/board_files/arty/C.0/part0_pins.xml @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/board_files/arty/C.0/preset.xml b/docker/board_files/arty/C.0/preset.xml new file mode 100644 index 00000000..c53ad754 --- /dev/null +++ b/docker/board_files/arty/C.0/preset.xml @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/board_files/nexys-a7-100t/D.0/1.0/board.xml b/docker/board_files/nexys-a7-100t/D.0/1.0/board.xml new file mode 100644 index 00000000..74e1500d --- /dev/null +++ b/docker/board_files/nexys-a7-100t/D.0/1.0/board.xml @@ -0,0 +1,1370 @@ + + + + + D.0 + +1.0 +Nexys A7-100T + + + + + Accelerometer control through SPI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DDR2 board interface, it can use MIG IP for connection. + + + + + + 16 DIP Switches + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dual 7 Seg LED Segments + + + + + + + + + + + + + + + + + + + + Secondary interface to communicate with ethernet phy. + + + + + + + + + + + + + + + + + + + + + + + + + Primary interface to communicate with ethernet phy in RMII mode. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 16 LEDs + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 Push Buttons + + + + + + + + + + + + + + + + + Quad SPI Flash + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 RGB LEDs + + + + + + + + + + + + + + + + + + 7 Segment Display Anodes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Temperature Sensor connected to I2C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + USB-to-UART Bridge, which allows a connection to a host computer with a USB port + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Accelerometer controlled through SPI + + + 256 MB Onboard DDR Memory + + + + + + + 16 Switches + + + 7 Segment Display Segment Control + + + Ethernet RMII Signals + + + Ethernet MDIO/MDC Signals + + + 16 LEDs + + + Push Buttons 5 to 0 {Down Right Left Up Center} + + + QSPI Flash + + + Onboard Reset Button + + + 2 RGB LEDs + + + 7 Segment Display Anodes + + + 100 MHz Single-Ended System Clock + + + SPI Controlled Temperature Sensor + + + USB-to-UART Bridge, which allows a connection to a host computer with a USB port + + + Pmod Connector JA + + + Pmod Connector JB + + + Pmod Connector JC + + + Pmod Connector JD + + + Pmod Connector JXADC + + + + + + + + + + + + + + + + + + + + + Onboard MicroSD Card Slot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/board_files/nexys-a7-100t/D.0/1.0/mig.prj b/docker/board_files/nexys-a7-100t/D.0/1.0/mig.prj new file mode 100644 index 00000000..3c132cb5 --- /dev/null +++ b/docker/board_files/nexys-a7-100t/D.0/1.0/mig.prj @@ -0,0 +1,132 @@ + + + + design_1_mig_7series_0_0 + 1 + 1 + OFF + 1024 + ON + Enabled + xc7a100t-csg324/-1 + 4.1 + No Buffer + Use System Clock + ACTIVE LOW + FALSE + 1 + 50 Ohms + 0 + + 7a/xc7a50t-csg324 + + + DDR2_SDRAM/Components/MT47H64M16HR-25E + 3333 + 1.8V + 4:1 + 200.02 + 1 + 1200 + 12.000 + 1 + 1 + 1 + 1 + 16 + 1 + 1 + Disabled + Strict + 4 + FALSE + + 13 + 10 + 3 + 134217728 + BANK_ROW_COLUMN + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 + Sequential + 5 + Normal + No + Fast exit + 5 + Enable-Normal + Fullstrength + Enable + 1 + 50ohms + 0 + OCD Exit + Enable + Disable + Enable + AXI + + RD_PRI_REG + 27 + 128 + 4 + 0 + + + + diff --git a/docker/board_files/nexys-a7-100t/D.0/1.0/part0_pins.xml b/docker/board_files/nexys-a7-100t/D.0/1.0/part0_pins.xml new file mode 100644 index 00000000..55f9b068 --- /dev/null +++ b/docker/board_files/nexys-a7-100t/D.0/1.0/part0_pins.xml @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/board_files/nexys-a7-100t/D.0/1.0/preset.xml b/docker/board_files/nexys-a7-100t/D.0/1.0/preset.xml new file mode 100644 index 00000000..7128ccee --- /dev/null +++ b/docker/board_files/nexys-a7-100t/D.0/1.0/preset.xml @@ -0,0 +1,398 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/board_files/nexys-a7-100t/D.0/1.3/board.xml b/docker/board_files/nexys-a7-100t/D.0/1.3/board.xml new file mode 100644 index 00000000..d4f442b0 --- /dev/null +++ b/docker/board_files/nexys-a7-100t/D.0/1.3/board.xml @@ -0,0 +1,1301 @@ + + + + + D.0 + +1.3 +Nexys A7-100T + + + + + Accelerometer control through SPI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DDR2 board interface, it can use MIG IP for connection. + + + + + + 16 DIP Switches + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dual 7 Seg LED Segments + + + + + + + + + + + + + + + + + + + + 16 LEDs + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 Push Buttons + + + + + + + + + + + + + + + + + Quad SPI Flash + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 RGB LEDs + + + + + + + + + + + + + + + + + + 7 Segment Display Anodes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Temperature Sensor connected to I2C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + USB-to-UART Bridge, which allows a connection to a host computer with a USB port + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Accelerometer controlled through SPI + + + 256 MB Onboard DDR Memory + + + + + + + 16 Switches + + + 7 Segment Display Segment Control + + + 16 LEDs + + + Push Buttons 5 to 0 {Down Right Left Up Center} + + + QSPI Flash + + + Onboard Reset Button + + + 2 RGB LEDs + + + 7 Segment Display Anodes + + + 100 MHz Single-Ended System Clock + + + SPI Controlled Temperature Sensor + + + USB-to-UART Bridge, which allows a connection to a host computer with a USB port + + + Pmod Connector JA + + + Pmod Connector JB + + + Pmod Connector JC + + + Pmod Connector JD + + + Pmod Connector JXADC + + + + + + + + + + + + + + + + + + + + + Onboard MicroSD Card Slot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/board_files/nexys-a7-100t/D.0/1.3/mig.prj b/docker/board_files/nexys-a7-100t/D.0/1.3/mig.prj new file mode 100644 index 00000000..301f5834 --- /dev/null +++ b/docker/board_files/nexys-a7-100t/D.0/1.3/mig.prj @@ -0,0 +1,157 @@ + + + + + + + + design_1_mig_7series_0_0 + + 1 + + 1 + + OFF + + 1024 + + ON + + Enabled + + xc7a100t-csg324/-1 + + 4.2 + + Single-Ended + + No Buffer + + ACTIVE LOW + + FALSE + + 1 + + 50 Ohms + + 0 + + + 7a/xc7a50t-csg324 + + + + DDR2_SDRAM/Components/MT47H64M16HR-25E + 3077 + 1.8V + 4:1 + 99.997 + 1 + 1200 + 6.000 + 1 + 1 + 1 + 1 + 16 + 1 + 1 + Disabled + Strict + 4 + FALSE + + 13 + 10 + 3 + 134217728 + BANK_ROW_COLUMN + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 + Sequential + 5 + Normal + No + Fast exit + 5 + Enable-Normal + Fullstrength + Enable + 1 + 50ohms + 0 + OCD Exit + Enable + Disable + Enable + AXI + + RD_PRI_REG + 27 + 128 + 4 + 0 + + + + + diff --git a/docker/board_files/nexys-a7-100t/D.0/1.3/part0_pins.xml b/docker/board_files/nexys-a7-100t/D.0/1.3/part0_pins.xml new file mode 100644 index 00000000..b5ad21b5 --- /dev/null +++ b/docker/board_files/nexys-a7-100t/D.0/1.3/part0_pins.xml @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/board_files/nexys-a7-100t/D.0/1.3/preset.xml b/docker/board_files/nexys-a7-100t/D.0/1.3/preset.xml new file mode 100644 index 00000000..a46917bf --- /dev/null +++ b/docker/board_files/nexys-a7-100t/D.0/1.3/preset.xml @@ -0,0 +1,398 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/install_config.txt b/docker/install_config.txt new file mode 100644 index 00000000..15c5df23 --- /dev/null +++ b/docker/install_config.txt @@ -0,0 +1,30 @@ +#### Vivado ML Standard Install Configuration #### +Edition=Vivado ML Standard + +Product=Vivado + +# Path where AMD FPGAs & Adaptive SoCs software will be installed. +Destination=/tools/Xilinx + +# Choose the Products/Devices the you would like to install. +Modules=xcvm1102:0,Zynq UltraScale+ MPSoCs:0,Kintex UltraScale+ FPGAs:0,Virtex UltraScale+ 58G FPGAs:0,Vitis Model Composer(A toolbox for Simulink):0,Artix-7 FPGAs:1,Install devices for Alveo and edge acceleration platforms:0,Vitis Embedded Development:0,Zynq-7000 All Programmable SoC:0,Virtex UltraScale+ HBM FPGAs:0,xcve2202:0,Spartan UltraScale+:0,xcve2002:0,Vitis Networking P4:0,Kintex UltraScale FPGAs:0,Power Design Manager (PDM):0,Virtex UltraScale+ FPGAs:0,Artix UltraScale+ FPGAs:0,xcv80:0,Spartan-7 FPGAs:0,DocNav:0,xcve2102:0,xcve2302:0,Install Devices for Kria SOMs and Starter Kits:0,Kintex-7 FPGAs:0 + +# Choose the post install scripts you'd like to run as part of the finalization step. Please note that some of these scripts may require user interaction during runtime. +InstallOptions=Acquire or Manage a License Key:0 + +## Shortcuts and File associations ## +# Choose whether Start menu/Application menu shortcuts will be created or not. +CreateProgramGroupShortcuts=0 + +# Choose the name of the Start menu/Application menu shortcut. This setting will be ignored if you choose NOT to create shortcuts. +ProgramGroupFolder=Xilinx Design Tools + +# Choose whether shortcuts will be created for All users or just the Current user. Shortcuts can be created for all users only if you run the installer as administrator. +CreateShortcutsForAllUsers=0 + +# Choose whether shortcuts will be created on the desktop or not. +CreateDesktopShortcuts=0 + +# Choose whether file associations will be created or not. +CreateFileAssociation=0 + From f27e34716b01c889bcedae3b24326262a0c956bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan-Dan=20Cioc=C3=AErlan?= Date: Sun, 12 Oct 2025 13:33:14 +0000 Subject: [PATCH 2/2] fix: gcc 9.3.0 for xsim simulation --- .devcontainer/linux/devcontainer.json | 47 +++++++++++++++++++++++++++ .gitignore | 3 +- docker/Dockerfile | 4 +-- 3 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 .devcontainer/linux/devcontainer.json diff --git a/.devcontainer/linux/devcontainer.json b/.devcontainer/linux/devcontainer.json new file mode 100644 index 00000000..7b9ce4f4 --- /dev/null +++ b/.devcontainer/linux/devcontainer.json @@ -0,0 +1,47 @@ +{ + "name": "Container for computer architecture", + // "image": "gitlab.cs.pub.ro:5050/ac/ac-public/vivado-fit:1.0.0", + "image": "vivado-fresh:latest", + // "build": { + // "dockerfile": "Fedora.Dockerfile" + // }, + // "workspaceFolder": "/home/sdcioc/workspace", + // "remoteUser": "sdcioc", + "remoteEnv": { + "DISPLAY": "unix:0" + // "DISPLAY" : ":0.0" + }, + // "containerEnv": { + // "DISPLAY" : ":0.0" + // }, + "mounts": [ + "source=/tmp/.X11-unix,target=/tmp/.X11-unix,type=bind,consistency=cached" + ], + "customizations": { + "vscode": { + "extensions": [ + "GitHub.vscode-pull-request-github", + "GitHub.copilot", + "ms-azuretools.vscode-docker", + "GitHub.copilot-chat", + "ms-vscode.makefile-tools", + "ms-python.python", + "tomoki1207.pdf", + "ms-python.python", + "ms-python.vscode-pylance", + "ms-python.isort", + "ms-python.flake8", + "james-yu.latex-workshop", + "Aizhe.3d-html-viewer", + "redhat.vscode-xml", + "bierner.github-markdown-preview", + "myriad-dreamin.tinymist", + "mshr-h.veriloghdl" + ] + } + }, + "runArgs": [ + "--rm", + "--privileged" + ] +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 9bfd07db..01329353 100644 --- a/.gitignore +++ b/.gitignore @@ -62,4 +62,5 @@ _site/ *.jou *.log build_project/ -.Xil/ \ No newline at end of file +.Xil/ +*.pb \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile index 536c6638..44cba47c 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -109,8 +109,8 @@ RUN rm -rf /tools/Xilinx/${VIVADO_VERSION}/tps/lnx64/git-2.45.0 && \ echo "FINISHED removing git-2.46.0" && \ rm -rf /tools/Xilinx/${VIVADO_VERSION}/tps/lnx64/gcc-8.3.0 && \ echo "FINISHED removing gcc-8.3.0" && \ - rm -rf /tools/Xilinx/${VIVADO_VERSION}/tps/lnx64/gcc-9.3.0 && \ - echo "FINISHED removing gcc-9.3.0" && \ + # rm -rf /tools/Xilinx/${VIVADO_VERSION}/tps/lnx64/gcc-9.3.0 && \ + # echo "FINISHED removing gcc-9.3.0" && \ rm -rf /tools/Xilinx/${VIVADO_VERSION}/tps/lnx64/clangd-8.0.0 && \ echo "FINISHED removing clangd-8.0.0"