Git Product home page Git Product logo

vivado-docker's Introduction

vivado-docker

Summary

Docker installation of AMD's Vivado tooling for FPGA development. The specific version of the tooling is Vivado 2023.2.

Details

The script builds a Docker container with a ready-to-go installation of the AMD's (formerly: Xilinx) Vivado tooling for developing for FPGA devices.

By default it installs a limited number of features from the free-to-develop-with "Vivado ML Standard" software package.

Contribution

The contribution to the state of the art is that it is able to install Vivado ML Standard version 2023.2.

This is the latest edition of the Vivado software at the time of this writing. I am not aware of any other packages that are available publicly which do the same.

Prerequisites

  • Git
  • Docker and buildkit
  • A download of the Unified installer.

Limitations

This not an end-all be-all solution for dockerizing Vivado. At least not yet. The limitations I encountered are as follows:

  • It seems that not all installation options end up with a successful build of a docker container. Some require access to a display server (X11), which I don't know how to offer while a container is being built.
  • It is currently not possible to dockerize "Vivado ML Enterprise", which requires a paid license.
  • The resulting container is enormous, with over 200GB in total.
  • The container takes more than an hour to build. You want to use docker build with BuildKit to cut down on the build time considerably.
  • You must download the installation package yourself from AMD, and make it available to the package by placing it inside the repository once you check it out. I do not see that changing.
  • The correct operation of this repo relies on downloading a missing Vivado archive, which makes it very hard to test.

Why?

I am a fan of repeatable, hermetic, and self-maintaining dev environments. While Docker itself isn't any of the above by default, the containers you build kind of are. This allows me to build a dev environment that I know is identical across possible multiple installations.

If you don't care about that you might as well install Vivado the usual way. I understand that not everyone does and that you aren't required to care.

Prior art

This repo was not built in a vacuum. I consulted a number of resources out there on the internet.

vivado-docker's People

Contributors

filmil avatar pkkim avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.