-
Notifications
You must be signed in to change notification settings - Fork 28
Open
Description
Consider the following source code:
{"signal": [
{"name": "clk_i", "wave": "P.......", "phase": 1.0 },
{"name": "reset_i", "wave": "1.0...1" },
{"name": "in_i", "wave": "=....==<", "phase": 0.5, "data": "0 1 0" },
{"name": "state_p", "wave": "=.=====", "data": "00 01 10 11 10|00 00" },
{"name": "state_n", "wave": "=.=====", "data": "01 10 11 00|10 00|01 01"},
{"name": "out_o", "wave": "=.=====", "data": "11 10 00 10 00|11 11"}
],
"config": { "hscale": 1 },
"head": { "tick": 0 }
}
This works just fine in the editor. Now, let us try the same source code in wavedrompy:
Traceback (most recent call last):
File "/usr/local/bin/wavedrompy", line 8, in <module>
sys.exit(main())
File "/usr/local/lib/python3.8/dist-packages/wavedrom/__init__.py", line 63, in main
render_write(args.input, args.svg, False)
File "/usr/local/lib/python3.8/dist-packages/wavedrom/__init__.py", line 47, in render_write
out = render(jinput, strict_js_features=strict_js_features)
File "/usr/local/lib/python3.8/dist-packages/wavedrom/__init__.py", line 38, in render
return WaveDrom().render_waveform(0, source, output, strict_js_features)
File "/usr/local/lib/python3.8/dist-packages/wavedrom/waveform.py", line 793, in render_waveform
content = self.parse_wave_lanes(ret.lanes)
File "/usr/local/lib/python3.8/dist-packages/wavedrom/waveform.py", line 196, in parse_wave_lanes
sub_content.append(self.parse_wave_lane(sigx["wave"], self.lane.period * self.lane.hscale - 1))
File "/usr/local/lib/python3.8/dist-packages/wavedrom/waveform.py", line 160, in parse_wave_lane
if Stack[0] in ['.', '|']:
IndexError: deque index out of range
As far as I can see, this is related to the “<” character.
Metadata
Metadata
Assignees
Labels
No labels