@@ -58,13 +58,15 @@ def add_arguments(parser):
58
58
group = parser .add_argument_group ("ghdl/nvc" , description = "GHDL/NVC specific flags" )
59
59
group .add_argument (
60
60
"--viewer-fmt" ,
61
+ "--waves-fmt" ,
61
62
"--gtkwave-fmt" ,
62
63
choices = ["vcd" , "fst" , "ghw" ],
63
64
default = None ,
64
65
help = "Save .vcd, .fst, or .ghw to open in waveform viewer. NVC does not support ghw." ,
65
66
)
66
67
group .add_argument ("--viewer-args" , "--gtkwave-args" , default = "" , help = "Arguments to pass to waveform viewer" )
67
68
group .add_argument ("--viewer" , default = None , help = "Waveform viewer to use" )
69
+ group .add_argument ("--waves" , action = 'store_true' , help = "Generate waveform file" )
68
70
69
71
@classmethod
70
72
def from_args (cls , args , output_path , ** kwargs ):
@@ -79,6 +81,7 @@ def from_args(cls, args, output_path, **kwargs):
79
81
viewer_fmt = args .viewer_fmt ,
80
82
viewer_args = args .viewer_args ,
81
83
viewer = args .viewer ,
84
+ waves = args .waves ,
82
85
backend = cls .determine_backend (prefix ),
83
86
)
84
87
@@ -98,6 +101,7 @@ def __init__( # pylint: disable=too-many-arguments
98
101
viewer_fmt = None ,
99
102
viewer_args = "" ,
100
103
viewer = None ,
104
+ waves = False ,
101
105
backend = "llvm" ,
102
106
):
103
107
SimulatorInterface .__init__ (self , output_path , gui )
@@ -111,6 +115,7 @@ def __init__( # pylint: disable=too-many-arguments
111
115
112
116
self ._prefix = prefix
113
117
self ._project = None
118
+ self ._waves = waves
114
119
115
120
self ._backend = backend
116
121
self ._vhdl_standard = None
@@ -366,6 +371,10 @@ def simulate(self, output_path, test_suite_name, config, elaborate_only): # pyl
366
371
ghdl_e = elaborate_only and config .sim_options .get ("ghdl.elab_e" , False )
367
372
368
373
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
+
369
378
data_file_name = str (Path (script_path ) / f"wave.{ self ._viewer_fmt !s} " )
370
379
if Path (data_file_name ).exists ():
371
380
remove (data_file_name )
0 commit comments