Skip to content

Commit f90b305

Browse files
committed
view_waveform support background execution.
1 parent 0768e6d commit f90b305

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

tests/lib_simulation_/simulator/lib_simulation_simulator.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,5 @@ def mkTest():
7171
print(rslt)
7272

7373
# launch waveform viewer (GTKwave)
74-
#sim.view_waveform()
74+
#sim.view_waveform() # background=False
75+
#sim.view_waveform(background=True)

veriloggen/lib/simulation.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ def _run_iverilog(self, display=False, outputfile='a.out', include=None, define=
103103
# encoding: 'utf-8' ?
104104
encode = sys.getdefaultencoding()
105105

106-
code = self.to_code()
106+
code = self._to_code()
107107
tmp = tempfile.NamedTemporaryFile()
108108
tmp.write(code.encode(encode))
109109
tmp.read()
@@ -140,7 +140,7 @@ def _run_iverilog(self, display=False, outputfile='a.out', include=None, define=
140140

141141
return ''.join([syn_rslt, sim_rslt])
142142

143-
def to_code(self):
143+
def _to_code(self):
144144
code = []
145145
for obj in self.objs:
146146
if isinstance(obj, module.Module):
@@ -151,12 +151,14 @@ def to_code(self):
151151
code.append('\n')
152152
return ''.join(code)
153153

154-
def view_waveform(self, filename='uut.vcd'):
155-
return self._view_waveform_gtkwave(filename)
154+
def view_waveform(self, filename='uut.vcd', background=False):
155+
return self._view_waveform_gtkwave(filename, background)
156156

157-
def _view_waveform_gtkwave(self, filename='uut.vcd'):
157+
def _view_waveform_gtkwave(self, filename='uut.vcd', background=False):
158158
cmd = []
159159
cmd.append('gtkwave')
160160
cmd.append('--giga')
161161
cmd.append(filename)
162+
if background:
163+
cmd.append('&')
162164
subprocess.call(' '.join(cmd), shell=True)

0 commit comments

Comments
 (0)