NVDLA Environment Setup Guide +++++++++++++++++++++++++++++++++++ .. contents:: :depth: 3 Tools and Dependency Libraries Setup ==================================== Required tools and libraries and version could be found in TOT/makefile. tree.make setup --------------- ``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/.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. Project name setup ------------------ 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 Designware Components --------------------- 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 := \ Build Tree ========== Build RTL --------- 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//vmod. Build Test Bench ---------------- ``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. Build test bench and run protect tests -------------------------------------- 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 Build CMOD ---------- 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//cmod/release`` Here is the end of **NVDLA Environment Setup Guide**.