back.rtlil: do not add src
attribute to cases if emit_src=False.
Fixes #706.
This commit is contained in:
parent
de8846ea84
commit
7bf15bc466
|
@ -779,8 +779,9 @@ class _StatementCompiler(xfrm.StatementVisitor):
|
||||||
with self._case.switch(test_sigspec, src=_src(stmt.src_loc)) as switch:
|
with self._case.switch(test_sigspec, src=_src(stmt.src_loc)) as switch:
|
||||||
for values, stmts in stmt.cases.items():
|
for values, stmts in stmt.cases.items():
|
||||||
case_attrs = {}
|
case_attrs = {}
|
||||||
|
case_src = None
|
||||||
if values in stmt.case_src_locs:
|
if values in stmt.case_src_locs:
|
||||||
case_attrs["src"] = _src(stmt.case_src_locs[values])
|
case_src = _src(stmt.case_src_locs[values])
|
||||||
if isinstance(stmt.test, ast.Signal) and stmt.test.decoder:
|
if isinstance(stmt.test, ast.Signal) and stmt.test.decoder:
|
||||||
decoded_values = []
|
decoded_values = []
|
||||||
for value in values:
|
for value in values:
|
||||||
|
@ -789,7 +790,7 @@ class _StatementCompiler(xfrm.StatementVisitor):
|
||||||
else:
|
else:
|
||||||
decoded_values.append(stmt.test.decoder(int(value, 2)))
|
decoded_values.append(stmt.test.decoder(int(value, 2)))
|
||||||
case_attrs["amaranth.decoding"] = "|".join(decoded_values)
|
case_attrs["amaranth.decoding"] = "|".join(decoded_values)
|
||||||
with self.case(switch, values, attrs=case_attrs):
|
with self.case(switch, values, attrs=case_attrs, src=case_src):
|
||||||
self._wrap_assign = False
|
self._wrap_assign = False
|
||||||
self.on_statements(stmts)
|
self.on_statements(stmts)
|
||||||
self._wrap_assign = True
|
self._wrap_assign = True
|
||||||
|
|
Loading…
Reference in a new issue