From a853559b2cb4c8c08fa4e847cb6ac5399fe31d8f Mon Sep 17 00:00:00 2001 From: Lars Asplund Date: Fri, 10 Apr 2026 23:11:00 +0200 Subject: [PATCH] Added VUnit menu in Questa/Modelsim GUI. --- vunit/sim_if/modelsim.py | 16 ++++++++++++++++ vunit/sim_if/vsim_simulator_mixin.py | 8 ++++++++ 2 files changed, 24 insertions(+) diff --git a/vunit/sim_if/modelsim.py b/vunit/sim_if/modelsim.py index df07e8a1e..b83865bdc 100644 --- a/vunit/sim_if/modelsim.py +++ b/vunit/sim_if/modelsim.py @@ -787,6 +787,22 @@ def _create_run_function(): } """ + @staticmethod + def _create_vunit_menu(): + """ + Create a menu in the GUI to call the VUnit commands. + """ + tcl = 'add_menu "" VUnit\n' + tcl += 'add_menuitem "" VUnit "Run" vunit_run\n' + tcl += 'add_menuitem "" VUnit "Restart" vunit_restart\n' + tcl += 'add_menuitem "" VUnit "Compile" vunit_compile\n' + tcl += 'add_menuitem "" VUnit "Load Design" vunit_load\n' + tcl += 'add_menuitem "" VUnit "Run User Init File" vunit_user_init\n' + tcl += 'add_separator "" VUnit\n' + tcl += 'add_menuitem "" VUnit "Help" vunit_help\n' + + return tcl + def _vopt_extra_args(self, config): """ Determine vopt_extra_args diff --git a/vunit/sim_if/vsim_simulator_mixin.py b/vunit/sim_if/vsim_simulator_mixin.py index 616a1c18b..9c5d64c8d 100644 --- a/vunit/sim_if/vsim_simulator_mixin.py +++ b/vunit/sim_if/vsim_simulator_mixin.py @@ -301,11 +301,19 @@ def _source_tcl_file(file_name, config, message): ) return tcl + @staticmethod + def _create_vunit_menu(): + """ + Create a menu in the GUI to call the VUnit commands. + """ + return "" + def _create_gui_script(self, common_file_name, config): """ Create the user facing script which loads common functions and prints a help message """ tcl = f'source "{fix_path(common_file_name)!s}"\n' + tcl += self._create_vunit_menu() tcl += self._create_user_init_function(config) tcl += "if {![vunit_load]} {\n" tcl += " vunit_user_init\n"