synth_opt_adders icon indicating copy to clipboard operation
synth_opt_adders copied to clipboard

Is YosysAdder still supported?

Open tcal-x opened this issue 2 years ago • 2 comments

With pptrees v1.2.6

I have a simple script:

from pptrees.YosysAdder import YosysAdder as forest

width = 9
f = forest(width, alias = "sklansky")
f.hdl('adder.v')

This gives the following output:

Traceback (most recent call last):
  File "x.py", line 6, in <module>
    f.hdl('adder.v')
  File "/media/tim/GIT/tdene/synth_opt_adders/venv/lib/python3.8/site-packages/pptrees-1.2.6-py3.8.egg/pptrees/YosysAdder.py", line 43, in hdl
    hdl, module_defs, file_out_hdl = super().hdl(
TypeError: hdl() got an unexpected keyword argument 'cell_flat'

Grandparent class ExpressionForest's hdl() method has args flat, block_flat, and node_flat, but not cell_flat.

tcal-x avatar Aug 19 '22 05:08 tcal-x

A separate issue with YosysAdder:

from pptrees.YosysAdder import YosysAdder as forest

width = 9
f = forest(width, alias = "ripple")
f.gif("adder.gif")

output:

Traceback (most recent call last):
  File "x.py", line 7, in <module>
    f.gif("adder.gif")
  File "/media/tim/GIT/tdene/synth_opt_adders/venv/lib/python3.8/site-packages/pptrees-1.2.6-py3.8.egg/pptrees/ExpressionForest.py", line 532, in gif
    fout.write(self._repr_png_())
  File "/media/tim/GIT/tdene/synth_opt_adders/venv/lib/python3.8/site-packages/pptrees-1.2.6-py3.8.egg/pptrees/ExpressionForest.py", line 210, in _repr_png_
    return display_gif(self.trees)
  File "/media/tim/GIT/tdene/synth_opt_adders/venv/lib/python3.8/site-packages/pptrees-1.2.6-py3.8.egg/pptrees/util.py", line 411, in display_gif
    graph.png(*args, out=fname, **kwargs)
  File "/media/tim/GIT/tdene/synth_opt_adders/venv/lib/python3.8/site-packages/pptrees-1.2.6-py3.8.egg/pptrees/ExpressionTree.py", line 1011, in png
    pg = nx.drawing.nx_pydot.to_pydot(self)
  File "/media/tim/GIT/tdene/synth_opt_adders/venv/lib/python3.8/site-packages/networkx-2.8.4-py3.8.egg/networkx/drawing/nx_pydot.py", line 302, in to_pydot
    any(
  File "/media/tim/GIT/tdene/synth_opt_adders/venv/lib/python3.8/site-packages/networkx-2.8.4-py3.8.egg/networkx/drawing/nx_pydot.py", line 303, in <genexpr>
    (_check_colon_quotes(k) or _check_colon_quotes(v))
  File "/media/tim/GIT/tdene/synth_opt_adders/venv/lib/python3.8/site-packages/networkx-2.8.4-py3.8.egg/networkx/drawing/nx_pydot.py", line 199, in _check_colon_quotes
    return ":" in s and (s[0] != '"' or s[-1] != '"')
TypeError: argument of type 'int' is not iterable

tcal-x avatar Aug 19 '22 21:08 tcal-x

YosysAdder should be supported, but it looks like support for it has fallen by the wayside.

The failure of diagram generation is concerning. It's definitely related to #94, the question is just how.

tdene avatar Aug 24 '22 15:08 tdene