
This script allows you to use the DVT compiler in batch mode.

.. code-block:: console

 dvt_build.sh
    [-cmd <command file>]
    [-compile_waivers <XML file>]
    [-custom_report_location <directory>]
    [-gen_custom_report <FTL file>]
    [-heap_size <size>]
    [-help]
    [-ignore_build_config_errors]
    [-license_queue_timeout <timeout>]
    [-print_all_compile_problems]
    [-lang <language>]
    [-log <log file>]
    [-print_compile_waivers_info]
    [-silent]
    [-stack_size <size>]
    [-version]
    [-rure]
    [-run_cmd <file>]
    [-seed <seed>]
    [-uvm_test <uvm_test_name>]
    [-uvm_verbosity <uvm_verbosity>]
    [-ovm_test <ovm_test_name>]
    [-ovm_verbosity <ovm_verbosity>]

 Where:

 [-cmd <command file>]
    Optional. Compile using the specified compilation arguments file.
    If not specified, compilation arguments are automatically detected by scanning the current working directory for source files.
 [-compile_waivers <XML file>]
    Optional. Waive compilation errors using the waivers specified in the XML file. Waivers specified with this flag will have the highest precedence.
 [-custom_report_location <directory>]
    Optional. Destination directory for the custom build report.
 [-gen_custom_report <FTL file>]
    Optional, one or more. Generate a custom report using the specified template.
 [-heap_size <size>]
    Optional. Set the Java heap size (syntax is <N>[g|G|m|M|k|K]). Default is 3072m.
 [-help]
    Print help and exit.
 [-ignore_build_config_errors]
    Optional. Ignore build configuration errors.
 [-license_queue_timeout <timeout>]
    Optional. Maximum time in seconds to wait in queue for a license when one is not available.
 [-print_all_compile_problems]
    Optional. Print all compile problems. Include waived problems if used with "-print_compile_waivers_info".
 [-lang <language>]
    Mandatory. Enable support for the specified language (e, vlog, vhdl).
 [-log <log file>]
    Optional. Log to specified file.
 [-print_compile_waivers_info]
    Optional. Prints how many problems each compile waiver has matched.
 [-silent]
    Optional. Turn on minimal output.
 [-stack_size <size>]
    Optional. Set the Java thread stack size (syntax is <N>[g|G|m|M|k|K]). Default is 4m.
 [-version]
    Print version and exit.
 [-rure]
    Optional. Run UVM Runtime Elaboration.
 [-run_cmd <file>]
    Optional. Run UVM Runtime Elaboration using the specified run arguments file.
 [-seed <seed>]
    Optional. Seed for running UVM Runtime Elaboration.
 [-uvm_test <uvm_test_name>]
   . Optional. Test used when running UVM Runtime Elaboration
 [-uvm_verbosity <uvm_verbosity>]
    Optional. UVM verbosity used when running UVM Runtime Elaboration
 [-ovm_test <ovm_test_name>]
    Optional. Test used when running OVM Runtime Elaboration
 [-ovm_verbosity <ovm_verbosity>]
    Optional. OVM verbosity used when running OVM Runtime Elaboration

**Exit code**

- 0 : The compilation completed successfully: at least a source file got analyzed and no configuration or compilation errors were reported
- 1 : Either no source files were compiled or configuration/compilation errors were encountered


**Examples**

Compile using the specified arguments file in mixed SystemVerilog + VHDL language: 

.. code-block:: 

 dvt_build.sh -lang vlog -lang vhdl -cmd my_compile.args
 
Compile and generate a custom report using the specified template file:

.. code-block:: 
    
 dvt_build.sh -lang vlog -cmd my_compile.args -gen_custom_report template.xml.ftl


Run UVM Runtime Elaboration using the specified arguments file in SystemVerilog language: 

.. code-block:: 

 dvt_build.sh -lang vlog -cmd my_compile.args -rure -run_cmd my_run.args

Run UVM Runtime Elaboration using the specified uvm test name and seed in SystemVerilog language: 

.. code-block:: 

 dvt_build.sh -lang vlog -cmd my_compile.args -rure -uvm_test my_uvm_test -seed 2

