diff --git a/docs/screenshots/pyrtl-renderer-demo-ascii.png b/docs/screenshots/pyrtl-renderer-demo-ascii.png index 4e3023e1..30d04136 100644 Binary files a/docs/screenshots/pyrtl-renderer-demo-ascii.png and b/docs/screenshots/pyrtl-renderer-demo-ascii.png differ diff --git a/examples/renderer-demo.py b/examples/renderer-demo.py index ab66485b..6831635c 100644 --- a/examples/renderer-demo.py +++ b/examples/renderer-demo.py @@ -85,8 +85,8 @@ def make_counter(period: int, bitwidth: int = 2): ) for name, (constants, notes) in renderers.items(): - print(f"# {notes}") - print(f"export PYRTL_RENDERER={name}\n") + print(f"# {notes}\n") + print(f"$ export PYRTL_RENDERER={name}\n") sim.tracer.render_trace( renderer=pyrtl.simulation.WaveRenderer(constants), repr_func=int ) diff --git a/pyrtl/simulation.py b/pyrtl/simulation.py index 8ce6569c..dd83f612 100644 --- a/pyrtl/simulation.py +++ b/pyrtl/simulation.py @@ -1376,10 +1376,10 @@ class Utf8RendererConstants(RendererConstants): This is the default renderer. - Enable this renderer by default by setting the ``PYRTL_RENDERER`` environment - variable to ``utf-8``:: + Use this renderer by default by setting the ``PYRTL_RENDERER`` environment variable + to ``utf-8``:: - export PYRTL_RENDERER=utf-8 + $ export PYRTL_RENDERER=utf-8 .. image:: ../docs/screenshots/pyrtl-renderer-demo-utf-8.png :width: 35em @@ -1417,10 +1417,10 @@ class Utf8AltRendererConstants(RendererConstants): Compared to :class:`Utf8RendererConstants`, this renderer is more compact because it uses one character between cycles instead of two. - Enable this renderer by default by setting the ``PYRTL_RENDERER`` environment - variable to ``utf-8-alt``:: + Use this renderer by default by setting the ``PYRTL_RENDERER`` environment variable + to ``utf-8-alt``:: - export PYRTL_RENDERER=utf-8-alt + $ export PYRTL_RENDERER=utf-8-alt .. image:: ../docs/screenshots/pyrtl-renderer-demo-utf-8-alt.png :width: 25em @@ -1456,10 +1456,10 @@ class PowerlineRendererConstants(Utf8RendererConstants): This renderer requires a `terminal font that supports Powerline glyphs `_. - Enable this renderer by default by setting the ``PYRTL_RENDERER`` environment - variable to ``powerline``:: + Use this renderer by default by setting the ``PYRTL_RENDERER`` environment variable + to ``powerline``:: - export PYRTL_RENDERER=powerline + $ export PYRTL_RENDERER=powerline .. image:: ../docs/screenshots/pyrtl-renderer-demo-powerline.png :width: 35em @@ -1487,10 +1487,10 @@ class Utf8BasicRendererConstants(RendererConstants): codes `_, which makes its output suitable for inclusion in text files. - Enable this renderer by default by setting the ``PYRTL_RENDERER`` environment - variable to ``utf-8-basic``:: + Use this renderer by default by setting the ``PYRTL_RENDERER`` environment variable + to ``utf-8-basic``:: - export PYRTL_RENDERER=utf-8-basic + $ export PYRTL_RENDERER=utf-8-basic .. image:: ../docs/screenshots/pyrtl-renderer-demo-utf-8-basic.png :width: 25em @@ -1515,14 +1515,14 @@ class Utf8BasicRendererConstants(RendererConstants): class AsciiRendererConstants(RendererConstants): """7-bit ASCII renderer constants. These should work anywhere. - Single-bit :class:`WireVectors` are rendered as waveforms with sloped - rising and falling edges. Multi-bit :class:`WireVector` values are rendered between - vertical bars. + Single-bit :class:`WireVectors` are rendered as square waveforms with + vertical rising and falling edges. Multi-bit :class:`WireVector` values are rendered + between vertical bars. - Enable this renderer by default by setting the ``PYRTL_RENDERER`` environment - variable to ``ascii``:: + Use this renderer by default by setting the ``PYRTL_RENDERER`` environment variable + to ``ascii``:: - export PYRTL_RENDERER=ascii + $ export PYRTL_RENDERER=ascii .. image:: ../docs/screenshots/pyrtl-renderer-demo-ascii.png :width: 25em @@ -1530,8 +1530,11 @@ class AsciiRendererConstants(RendererConstants): _tick = "|" - _up, _down = ",", "." - _low, _high = "_", "-" + _up, _down = "|", "|" + _low, _high = "_", " " + + _prev_line_up, _prev_line_down = " ", " " + _prev_line_low, _prev_line_high = " ", "_" _x = "|" _zero_x = "|" diff --git a/tests/test_simulation.py b/tests/test_simulation.py index 00ddd6e5..f5e8e347 100644 --- a/tests/test_simulation.py +++ b/tests/test_simulation.py @@ -186,7 +186,7 @@ def check_rendered_trace(self, expected, **kwargs): ) buff = io.StringIO() sim.tracer.render_trace(file=buff, renderer=self.renderer, **kwargs) - self.assertEqual(buff.getvalue(), expected) + self.assertEqual(expected, buff.getvalue()) def test_hex_trace(self): expected = ( @@ -195,8 +195,8 @@ def test_hex_trace(self): "a 0x1 |0x4 |0x9 |0xb |0xc\n" " \n" "b 0x2 |0x17|0x2b|0x78|----\n" - " \n" - "c ____,---------.____,----\n" + " _________ ____\n" + "c ____| |____|\n" ) self.check_rendered_trace(expected) @@ -207,8 +207,8 @@ def test_oct_trace(self): "a 0o1 |0o4 |0o11 |0o13 |0o14\n" " \n" "b 0o2 |0o27 |0o53 |0o170|-----\n" - " \n" - "c _____,-----------._____,-----\n" + " ___________ _____\n" + "c _____| |_____|\n" ) self.check_rendered_trace(expected, repr_func=oct) @@ -220,8 +220,8 @@ def test_bin_trace(self): "a 0b1 |0b100 |0b1001 |0b1011 |0b1100\n" " \n" "b 0b10 |0b10111 |0b101011 |0b1111000|---------\n" - " \n" - "c _________,-------------------._________,---------\n" + " ___________________ _________\n" + "c _________| |_________|\n" ) self.check_rendered_trace(expected, repr_func=bin) @@ -233,8 +233,8 @@ def test_decimal_trace(self): "a 1 |4 |9 |11 |12\n" " \n" "b 2 |23 |43 |120|---\n" - " \n" - "c ___,-------.___,---\n" + " _______ ___\n" + "c ___| |___|\n" ) self.check_rendered_trace(expected, repr_func=str)