4.7.9 vcs.vlogan Compatibility Mode
The
+dvt_init+vcs.vlogan directive resets the builder to the vcs.vlogan default state.
File Extension to Language Syntax Mapping
Language Syntax for Unmapped Extensions: Verilog 1995
Language Syntax for Included Files: Included files are parsed using the syntax that was used for parsing the including file.
Mode Specific Directives
The dot (.) for specifying <ext> is optional. For example
+verilog1995ext+.svh and
+verilog1995ext+svh are equivalent.
You can specify more extensions at once, for example
+verilog1995ext+.svh+svp.
When several directives change the syntax of a specific <ext>, the last one wins.
ntb_opts [ uvm / uvm-1.0 / uvm-1.1 / uvm-1.2 ]
Typical use-case #1 - single vcs command
Command:
vcs -ntb_opts uvm top1.sv top2.sv [other compilation directives]
Build config:
// The UVM library is compiled from $VCS_UVM_HOME or $VCS_HOME/etc/uvm or $DVT_UVM_HOME
// (in this order of precedence, depending on which environment variables are defined).
+dvt_init+vcs.vlogan -ntb_opts uvm top_file1.sv top_file2.sv [other compilation directives]
Typical use-case #2 - multiple vlogan commands
Commands:
vlogan -ntb_opts uvm top1.sv top2.sv [other compilation directives]
vlogan -ntb_opts uvm top3.sv top4.sv [other compilation directives]
Build config:
// The UVM library is compiled from $VCS_UVM_HOME or $VCS_HOME/etc/uvm or $DVT_UVM_HOME
// (in this order of precedence, depending on which environment variables are defined).
+dvt_init+vcs.vlogan -ntb_opts uvm
// The UVM library is not recompiled. It is "referenced" by adding the relevant incdirs.
+dvt_init+vcs.vlogan -ntb_opts uvm top1.sv top2.sv [other compilation directives]
// The UVM library is not recompiled. It is "referenced" by adding the relevant incdirs.
+dvt_init+vcs.vlogan -ntb_opts uvm top3.sv top4.sv [other compilation directives]
Note: In the invocations which "references" the UVM library (rows 7-10 in the table below) -
ntb_opts uvm is equivalent with:
+incdir+<VCS>/wrap
+incdir+<UVM>/src
and any
`include uvm_pkg.sv will solve to
<VCS>/wrap/uvm_pkg.sv which contains the following code:
`ifndef WRAP_UVM_PKG_SV
`define WRAP_UVM_PKG_SV
`include "uvm_macros.svh"
Note: The second, third, ...
ntb_opts uvm invocations without top files (rows 4-6 in the table below) will take into account the
dvt_disable_uvm_reuse directive.
Details
The effect of this directive in a particular invocation depends on the following factors:
if it's the
first invocation which specifies -ntb_opts uvm
if the invocation specifies source files to be compiled (
top files) in addition to the -ntb_opts uvm flag
if
$VCS_UVM_HOME / $VCS_HOME environment variables are set
Note: If $DVT_UVM_HOME is not defined, falls back to $DVT_HOME/predefined_projects/libs/uvm-1.2.
Predefined API