Docker creates an isolated container on your system so you know that VTR will run without further configurations nor affecting any other work.
Our Docker file sets up this enviroment by installing all necessary Linux packages and applications as well as Perl modules.
-
Install docker (Community Edition is free and sufficient for VTR): https://docs.docker.com/engine/install/
-
Clone the VTR project:
git clone https://github.com/verilog-to-routing/vtr-verilog-to-routing
-
CD to the VTR folder and build the docker image:
docker build . -t vtrimg
-
Start docker with the new image:
docker run -it -d --name vtr vtrimg
-
Attach to the Docker container. Attaching will open a shell on the
/workspace
directory within the container. The project root directory from the docker build process is copied and placed in the/workspace
directory.# from host computer docker exec -it vtr /bin/bash
-
Verfiy that VTR has been installed correctly:
# in container ./vtr_flow/scripts/run_vtr_task.py regression_tests/vtr_reg_basic/basic_timing
The expected output is:
k6_N10_mem32K_40nm/single_ff OK k6_N10_mem32K_40nm/single_ff OK k6_N10_mem32K_40nm/single_wire OK k6_N10_mem32K_40nm/single_wire OK k6_N10_mem32K_40nm/diffeq1 OK k6_N10_mem32K_40nm/diffeq1 OK k6_N10_mem32K_40nm/ch_intrinsics OK k6_N10_mem32K_40nm/ch_intrinsics OK
-
Run and/or modify VTR in the usual way.