Package: python3-myhdl
Version: 0.11-1
Severity: grave
Justification: renders package unusable
X-Debbugs-Cc: [email protected]
Result of running a very simple MyHDL file with Python 3.9 (Debian Sid):
$ python3 ./myhdltest.py
Traceback (most recent call last):
File "..././myhdltest.py", line 14, in <module>
instance.convert(hdl='Verilog')
File "/usr/lib/python3/dist-packages/myhdl/_block.py", line 342, in convert
return converter(self)
File "/usr/lib/python3/dist-packages/myhdl/conversion/_toVerilog.py", line
177, in __call__
genlist = _analyzeGens(arglist, h.absnames)
File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line 170,
in _analyzeGens
v.visit(tree)
File "/usr/lib/python3.9/ast.py", line 407, in visit
return visitor(node)
File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line
1119, in visit_Module
_AnalyzeBlockVisitor.visit_Module(self, node)
File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line
1070, in visit_Module
self.generic_visit(node)
File "/usr/lib/python3.9/ast.py", line 415, in generic_visit
self.visit(item)
File "/usr/lib/python3.9/ast.py", line 407, in visit
return visitor(node)
File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line
1099, in visit_FunctionDef
self.visit(n)
File "/usr/lib/python3.9/ast.py", line 407, in visit
return visitor(node)
File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line 521,
in visit_Assign
self.visit(target)
File "/usr/lib/python3.9/ast.py", line 407, in visit
return visitor(node)
File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line 466,
in visit_Attribute
self.setAttr(node)
File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line 482,
in setAttr
self.visit(node.value)
File "/usr/lib/python3.9/ast.py", line 407, in visit
return visitor(node)
File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line 962,
in visit_Subscript
self.accessIndex(node)
File "/usr/lib/python3/dist-packages/myhdl/conversion/_analyze.py", line 986,
in accessIndex
self.visit(node.slice.value)
File "/usr/lib/python3.9/ast.py", line 407, in visit
return visitor(node)
File "/usr/lib/python3.9/ast.py", line 411, in generic_visit
for field, value in iter_fields(node):
File "/usr/lib/python3.9/ast.py", line 249, in iter_fields
for field in node._fields:
AttributeError: 'int' object has no attribute '_fields'
The myhdltest.py example does work fine with the current upstream git master of
MyHDL:
commit 7b17942abbb2d9374df13f4f1f8c9d4589e1c88c
$ PYTHONPATH=/.../git/myhdl/ python3 ./myhdltest.py
$
-- System Information:
Debian Release: 11.0
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 5.10.0-8-amd64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_WARN
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages python3-myhdl depends on:
ii python3 3.9.2-3
Versions of packages python3-myhdl recommends:
ii myhdl-cosimulation 0.11-1
Versions of packages python3-myhdl suggests:
ii myhdl-doc 0.11-1
from myhdl import *
@block
def myhdltest(x, y):
@always_comb
def logic():
x[0].next = y[0]
return logic
instance = myhdltest(
x=Signal(intbv(0)[1:]),
y=Signal(intbv(0)[1:])
)
instance.convert(hdl='Verilog')