Skip to content

Commit

Permalink
fhdl/verilog: remove empty cases
Browse files Browse the repository at this point in the history
  • Loading branch information
Sebastien Bourdeauducq committed Nov 18, 2012
1 parent 89643bc commit 51e2e6e
Showing 1 changed file with 14 additions and 11 deletions.
25 changes: 14 additions & 11 deletions migen/fhdl/verilog.py
Expand Up @@ -81,17 +81,20 @@ def _printnode(ns, at, level, node):
r += "\t"*level + "end\n"
return r
elif isinstance(node, Case):
r = "\t"*level + "case (" + _printexpr(ns, node.test) + ")\n"
for case in node.cases:
r += "\t"*(level + 1) + _printexpr(ns, case[0]) + ": begin\n"
r += _printnode(ns, at, level + 2, case[1])
r += "\t"*(level + 1) + "end\n"
if node.default:
r += "\t"*(level + 1) + "default: begin\n"
r += _printnode(ns, at, level + 2, node.default)
r += "\t"*(level + 1) + "end\n"
r += "\t"*level + "endcase\n"
return r
if node.cases or node.default:
r = "\t"*level + "case (" + _printexpr(ns, node.test) + ")\n"
for case in node.cases:
r += "\t"*(level + 1) + _printexpr(ns, case[0]) + ": begin\n"
r += _printnode(ns, at, level + 2, case[1])
r += "\t"*(level + 1) + "end\n"
if node.default:
r += "\t"*(level + 1) + "default: begin\n"
r += _printnode(ns, at, level + 2, node.default)
r += "\t"*(level + 1) + "end\n"
r += "\t"*level + "endcase\n"
return r
else:
return ""
else:
raise TypeError

Expand Down

0 comments on commit 51e2e6e

Please sign in to comment.