@@ -58,13 +58,15 @@ def add_arguments(parser):
5858 group = parser .add_argument_group ("ghdl/nvc" , description = "GHDL/NVC specific flags" )
5959 group .add_argument (
6060 "--viewer-fmt" ,
61+ "--waves-fmt" ,
6162 "--gtkwave-fmt" ,
6263 choices = ["vcd" , "fst" , "ghw" ],
6364 default = None ,
6465 help = "Save .vcd, .fst, or .ghw to open in waveform viewer. NVC does not support ghw." ,
6566 )
6667 group .add_argument ("--viewer-args" , "--gtkwave-args" , default = "" , help = "Arguments to pass to waveform viewer" )
6768 group .add_argument ("--viewer" , default = None , help = "Waveform viewer to use" )
69+ group .add_argument ("--waves" , action = 'store_true' , help = "Generate waveform file" )
6870
6971 @classmethod
7072 def from_args (cls , args , output_path , ** kwargs ):
@@ -79,6 +81,7 @@ def from_args(cls, args, output_path, **kwargs):
7981 viewer_fmt = args .viewer_fmt ,
8082 viewer_args = args .viewer_args ,
8183 viewer = args .viewer ,
84+ waves = args .waves ,
8285 backend = cls .determine_backend (prefix ),
8386 )
8487
@@ -98,6 +101,7 @@ def __init__( # pylint: disable=too-many-arguments
98101 viewer_fmt = None ,
99102 viewer_args = "" ,
100103 viewer = None ,
104+ waves = False ,
101105 backend = "llvm" ,
102106 ):
103107 SimulatorInterface .__init__ (self , output_path , gui )
@@ -111,6 +115,7 @@ def __init__( # pylint: disable=too-many-arguments
111115
112116 self ._prefix = prefix
113117 self ._project = None
118+ self ._waves = waves
114119
115120 self ._backend = backend
116121 self ._vhdl_standard = None
@@ -366,6 +371,10 @@ def simulate(self, output_path, test_suite_name, config, elaborate_only): # pyl
366371 ghdl_e = elaborate_only and config .sim_options .get ("ghdl.elab_e" , False )
367372
368373 if self ._viewer_fmt is not None :
374+ if not self ._waves and not self ._gui :
375+ LOGGER .warning ("Passing --viewer-fmt, or any alias of that, without either "
376+ "--gui or --waves is deprecated and will be removed in a future version." )
377+
369378 data_file_name = str (Path (script_path ) / f"wave.{ self ._viewer_fmt !s} " )
370379 if Path (data_file_name ).exists ():
371380 remove (data_file_name )
0 commit comments