Skip to content

Latest commit

 

History

History
51 lines (34 loc) · 2.69 KB

install.md

File metadata and controls

51 lines (34 loc) · 2.69 KB

Dependencies

DART has been tested with:

  • Ubuntu 18.4 LTS;
  • Gurobi 8.1. If you dont have Gurobi, download and request an academic license here. It's known that DART gives compilation version with later versions of Gurobi. So, please, stick with Gurobi 8.1;
  • YAML-CPP v0.7.0;
  • Vivado 2018.3 or later. The most tested and recommended version is 2020.2;
  • CMake 3.0 or later;
  • It is recommended to use CCMake for compilation configuration;
  • DART is programmed with C++17, tested with GCC v8.4.0.;

Supported FPGAs

The supported FPGAs are:

Setting Up DART

DART requires the following environment variables:

  • XILINX_VIVADO: Points to the Vivado directory;
  • DART_HOME: The source dir for DART;
  • DART_IP_PATH: The directory where the IPs are stores;
  • GUROBI_HOME: The home dir for gurobi installation;
  • GRB_LICENSE_FILE: Gurobi's license file.

Moreover, vivado must be in the PATH. For convenience, it's also recommended to add DART_HOME/bin in the PATH.

Before running DART, we need a set of DART compliant IPs. DART IPs is a set of ready-to-use IPs in DART designs. Please refer to its documentation for installation and usage procedure.

Downloading and Compiling

Please follow these steps to compile DART. The compilation have to be AFTER setting up the environment variables mentioned before. In this example we are creating the DART executable with support to the pynq FPGA and partitioning mode.

$ git clone https://github.com/fred-framework/dart
$ cd pr_tool
$ mkdir build
$ cd build
$ cmake .. FPGA=pynq PARTITIONING_MODE=ON
$ make -j 8

where FPGA is: pynq, zynq, zcu_102, or us_96, depending on the board to be used. PARTITIONING_MODE is another important parameter. It is a ON/OFF parameter that indicates whether dart performs partitioning or not. If this parameter is OFF, then the user must provide the IP partition into reconfigurable regions. On the other hand, if this parameter is ON, then dart will perform an optimized partitioninig considering the IP timing constraints. Please check ccmake to see other configuration parameters.