Simulation

-tool

Select the tool to use: Synopsys VCS (snps) or Cadence XRUN (cdns). Default is snps.

-list

Automatically generate filelist.f in the design folder, which will be used for the testbench.

The filelist.f will include all .v files with the absolute path of the cloned repo. Please ensure the rtl folder is clean and does not contain unused files.

To use this, follow these steps:

  1. Create the xxx folder and place all design files into it.

  2. Add the xxx name to design/fl/dut_auto_fl/dut_auto_filelist.

  3. Run the command: python3 run -list.

  4. The xxx_filelist.f will be generated in design/fl/dut_auto_fl/.

The list can be found and managed in design/fl/dut_auto_fl/dut_auto_filelist.

All the folder names in dut_auto_filelist will be generated.

-auto_dut

Automatically generate dut.f in the design/fl/ folder for each RTL module, which will be used for the testbench.

To use this, follow these steps:

  1. Based on -list generation, provide xxx from the list: design/fl/dut_auto_fl/dut_auto_filelist.

  2. Run the command: python3 run -auto_dut=xxx.

  3. The dut.f will be generated in design/fl/.

-auto_tb

Automatically generate tb.f in the verif/fl/ folder, which will be used for the testbench.

To use this, follow these steps:

  1. Prepare the xxx filelist in verif/fl/tb_auto_fl/.

  2. Run the command: python3 run -auto_tb=xxx.

  3. The tb.f will be generated in verif/fl/.

Additionally, automatically generate xxx_test_include.sv in the verif/tb/test_include/ folder, which will include all tests found in verif/test/xxx/ and be used for the testbench.

The tb.f will include all existing verif/pkg/xxx folders, vip_snps folders, and verif/test/xxx folder paths.

-manual_dut

Specify the manually written DUT filelist to simulate.

The filelists should be prepared and managed in the relative root folder design/fl/dut_manual_fl/.

Example, using -manual_dut=xxx_flist.f:

The file design/fl/dut_manual_fl/xxx_flist.f will be used as the dut.f.

-manual_tb

Specify the manually written TB filelist to simulate.

The filelists should be prepared and managed in the relative root folder verif/fl/tb_manual_fl/.

Example, using -manual_tb=xxx_flist.f:

The file verif/fl/tb_manual_fl/xxx_flist.f will be used as the tb.f.

-run_folder

Specify the run folder. Default is work.

-name

Specify the test name.

Example, using -name=xxx_test. This will use xxx_test.sv like +UVM_TESTNAME=xxx_test

-base_dut

3-step only! skip dut compiling, use the base_dut specified dut compiling database。

Example: -base_dut=xxx
This creates and compiles PROJECT_NAME_xxx. By default, PROJECT_NAME is used as the compilation folder.

-base_tb

3-step only! skip tb compiling, use the base_tb specified tb compiling database

Example: -base_tb=xxx_xxx_test

-dry_run

Run the complete flow without actual simulation execution.

-dry_run is recommended when first checking command legality and generated command lines.

-dump_scope

Specify the waveform dump scope. Default: verif/test/common/dump_scope.txt.

-prerun

Run a command/script before simulation. Use the format: -prerun="".

-postrun

Run a command/script after simulation. Use the format: -postrun="".

-define

Pass defines to the simulation. Use the format: -define="".

Examples:
-define="aaa"
-define="aaa bbb ccc"

-tpa

Pass test plug arguments to the simulation. Use the format: -tpa="".

Examples:
-tpa="+aaa"
-tpa="+aaa, +bbb"

-vpa

Pass value plug arguments to the simulation. Use the format: -vpa="".

Examples:
-vpa="+aaa=xxx"
-vpa="+aaa=xxx, +bbb=yyy"

-seed

Specify a seed for the simulation. Default: random.

-repeat

Specify the number of times to repeat a test case. Default: 1.

-wave

Specify the wave dump format. Options: fsdb, vpd, shm.

Compatibility recommendation:

  • snps: use fsdb or vpd; shm is invalid.

  • cdns: use shm; fsdb/vpd requires extra PLI environment.

-cov

Enable coverage collection. Options: all or specific types (e.g., line,tgl,fsm,branch,cond,assert).

Runtime guardrails

During non-dry_run execution, UVE performs pre-checks before launching tool commands:

  • Step3 partial flows require matching base compile DB (-base_dut / -base_tb) when compile stages are skipped.

  • Tool-wave mismatch is reported early to avoid wasting runtime.

  • Required executables are checked in PATH (for example: vcs/vlogan/xrun).

If the command is executed outside the prepared container environment, these checks may fail as expected.