A VS Code extension that provides a GUI panel for launching Questa EDA flows. Select a tool, fill in the fields, and the extension generates a script file and runs the appropriate command in a VS Code terminal.
A scan option is available to extract information from the design such as the RTL source directories, Testbench and Device Under Test name.
Three tools are included:
| Tool | Dropdown label | Terminal command |
|---|---|---|
| Questa Visualizer | Run Questa Visualizer | qrun … -f qrun_sim.f |
| Questa Increased Coverage | Run Questa Increased Coverage | qverify … -do run_cc.do |
| Questa Inspect (AutoCheck) | Run Questa Inspect | qverify -c … -do run_ac.do |
Install via the vsix file. In VS Code open the Extensions view, click the … menu, choose Install from VSIX…, and select tcl-launcher-0.0.1.vsix. The launcher appears in the activity bar as a rocket icon.
Figure: Questa Launcher panel in VS Code
- Select the required Questa tool from the top level pull-down menu
- Hit the
Scanbutton, this runs an in-process RTL parser over the open workspace. It recursively searches for.vhd,.vhdl,.v,.sv,.svh, and.vhsource files and:
- Identifies the
Testbench(Visualizer) orDUT(CoverCheck/AutoCheck) from the design hierarchy. - Populates the
Source Foldersfield with a list of discovered source directories. - Writes
dirList.txtto the workspace root (used by the Automatic compile method). - Auto-fills wave, waiver, and exclusion file fields if matching files are found.
-
Check the
Testbench NameorDevice Under Testname. Note the parser is not a full VHDL/Verilog parser and hence doesn't always find the right name. Correct if required. -
Check that source folders, correct if required. Note that all files in the selected folders will be compiled. If this is a problem either move the non-required files into another folder or use the customer file list option.
-
Update the
Library Nameif required, default is work. The library will be compiled to a folder under the Output Directory. -
Fill in any other required field before hitting the
Runbutton.
Figure: Questa Visualizer panel
Runs simulation via qrun. The generated script is qrun_sim.f.
Compile/Run Method options:
| Option | Behaviour |
|---|---|
Automatic |
Click SCAN first. Compiles from dirList.txt. |
Custom filelist |
Compiles with -f <Script Name>. |
qrun.f |
Passes the named file directly to qrun — all other fields except the Output Directory are ignored. |
Notable fields:
- Command Line Run (-c) — runs
vsimin headless mode. If unchecked, the Visualizer GUI opens. - WaveFile name — a
.dofile loaded on startup (ignored in command line mode). - Enable Code Coverage — adds
-coverageand+coverto the compile/run commands; generatescoverage.rpt. - Log options — multiselect list of signal types passed to
-qwavedb. - Simulation Resolution — sets
-t fs/ps/ns.
CLEAN deletes: the Output Directory, .visualizer/, work/, qrun.log, qwave.db, design.bin, sysinfo.log, qrun_sim.f, and cov_0.ucdb.
If questa.ini does not exist it will be created by the qrun command. A vmap command will be executed prior to running qrun to map the library to the Output Directory.
Figure: Questa Increased Coverage (CoverCheck) panel
Compiles the design with qrun and runs Increased Coverage via qverify. The generated script is run_cc.do.
Compile Method options are the same as Visualizer (Automatic / Custom file list / qrun.f).
Notable fields:
- Device Under Test Name — required; used as the compile target (
work.<DUT>). - Load Coverage UCDB file — merges an existing UCDB into the analysis (
covercheck load ucdb). - Add waiver file / directives file — TCL scripts sourced before the run.
- Generate Witness Waveforms — adds
-witness_waveformstocovercheck verify. - Run Time (min) — sets the
-timeoutvalue. - Open Report after run — opens
icov.rptin the VS Code editor when the run completes.
Terminal command: qverify [-c] -od <Output Directory> -do run_cc.do
CLEAN deletes: the Output Directory and run_cc.do.
If questa.ini does not exist it will be created by the qrun command. A vmap command will be executed prior to running qverify to map the library to the Output Directory.
Figure: Questa Inspect panel
Compiles the design with qrun and runs formal lint via qverify. The generated script is run_ac.do.
Compile Method options:
| Option | Behaviour |
|---|---|
Automatic |
Click SCAN first. Compiles from dirList.txt. |
qrun option |
Passes the Script Name field as extra qrun arguments. |
script name |
Sources the named TCL script for compilation (do <script>). |
Notable fields:
- DUT Name — required; used as the compile target (
work.<DUT>). - Directives File — TCL script containing AutoCheck directives.
- Waiver File — suppresses known violations.
- Run Time (min) — sets the
-timeoutvalue. - Open Database after run — opens
autocheck.dbinqverifywhen the run completes.
Terminal command: qverify -c -od <Output Directory> -do run_ac.do
CLEAN deletes the Output Directory.
- Library error — check
modelsim.ini/questa.inifor anyworkmappings. The launcher mapsworkinside the Output Directory to keep the project root clean. - License error (lmutil reports OK) — look for stale
qverify,vsim, orvsimkprocesses and kill them. - Multiple terminal tabs — each RUN opens a new PowerShell terminal. This is intentional so earlier run logs are preserved, but it does accumulate tabs over time.
- Once the questa.ini file is created it will not be deleted by the
Cleanbutton
See the LICENSE file for details.
All logos, trademarks and graphics used herein are the property of their respective owners.



