Contents
Required tools and libraries and version could be found in TOT/makefile.
TOT> make
Please install corresponding tools and point to the actual path in your environment.
Note that the current source code has only been tested for the nv_small configuration, and while the nv_small configuration passes many tests, additionall coverage is necessary to get it to tapeout quality.
Any project name specified should have a project spec file located at hw/spec/defs/<project_name>.spec.
Creating tree.make to setup your working environment and projects
Enter projects name (Press ENTER if use: nv_small nv_large):
Enter to determine designware_noexist (Press ENTER 0 to use design ware, 1 to not use design ware: 1):
Enter design ware path (Press ENTER if use: /home/tools/synopsys/syn_2011.09/dw/sim_ver):
Enter c pre-process path (Press ENTER if use:
/home/utils/gcc-4.8.2/bin/cpp):
Enter gcc path (Press ENTER if use: /home/utils/gcc-4.8.2/bin/gcc):
Enter g++ path (Press ENTER if use: /home/utils/gcc-4.8.2/bin/g++):
Enter perl path (Press ENTER if use:
/home/utils/perl-5.10/5.10.0-threads-64/bin/perl):
Enter java path (Press ENTER if use:
/home/utils/java/jdk1.8.0_131/bin/java):
Enter systemc path (Press ENTER if use:
/home/ip/shared/inf/SystemC/1.0/20151112/systemc-2.3.0/GCC472_64_DBG):
Enter python path (Press ENTER if use:
/home/tools/continuum/Anaconda3-5.0.1/bin/python):
Enter vcs_home path (Press ENTER if use:
/home/tools/vcs/mx-2016.06-SP2-4):
Enter novas_home path (Press ENTER if use:
/home/tools/debussy/verdi3_2016.06-SP2-9):
Enter verdi_home path (Press ENTER if use:
/home/tools/debussy/verdi3_2016.06-SP2-9):
================================================================
tree.make is created successfully, and you can edit tree.make
manually later
================================================================
After this setup, a file named tree.make
will be generated under TOT
directory.
During tree.make file setup process, project name has been specified. The project name could be changed after tree.make generation. It’s allowed to build multiple projects. To change target project names, open generated TOT/tree.make , and modify line which starts with projects, for example, we can remove other project name, only build nv_small:
##=======================
## Project Name Setup, multiple projects supported
##=======================
PROJECTS := nv_small
The NVDLA design utilize the following Designware components.
DW02_multp
DW02_sum
DW_lsd
For best QOR, the EDA vendor supplied versions should be used for both synthesis and simulation. They can be obtained directly from the EDA vendors.
If no designware implementation is available, the NVDLA repository contains an alternate implementation. The design can be compiled to using the alternate implementation by setting the tree.make variable DESIGNWARE_NOEXIST to 1.
DESIGNWARE_NOEXIST := 1
If designware implementation is available, set the tree.make variable DESIGNWARE_NOEXIST to 0. When using a designware implementation, the designware directory also needs up be added to tree.make with the DESIGNWARE_DIR variable. This variable should point to a directory where the simulation version of the designware component is avaiable. Synthesis will pick up an internal optimized version.
DESIGNWARE_NOEXIST := 0
DESIGNWARE_DIR := \<PATH_TO_DESIGNWARE_DIRECTOTRY\>
Once tree.make has been setup, RTL can be build with following command
TOT > ./tools/bin/tmake -build vmod
In the end of build process, following line will be show in the last line:
[TMAKE]: DONE
There will be a new directory named outdir under TOT. RTL file can be found under TOT/outdir/<project_name>/vmod.
TOT > ./tools/bin/tmake -build ready_for_test
Several messages begin with [TMAKE] will be show on terminal output during build process, and in the end of the process, following line will be show in the last line:
[TMAKE]: DONE
There will be a new directory named outdir under TOT, it’s generated by build flow and contains generated RTL and verification environment.
To validate tree healthness after download from git server, or to make sure changes are not break base line functions, use following command to build tree and then run protection tests
TOT > ./tools/bin/tmake -build verif_protection
In the end of build process, following line will be show in the last line:
[TMAKE]: DONE
There is a tmake target for the Cmodel of NVDLA, which lives
in the cmod/
directory. If building the Virtual Platform, or another
application that uses the NVDLA Cmodel, please use following command
TOT > ./tools/bin/tmake -build cmod_top
In the end of build process, following line will be show in the last line:
[TMAKE]: DONE
CMOD headers and dynamically linked shared object library could be found under
outdir/<project_name>/cmod/release
Here is the end of NVDLA Environment Setup Guide.