Permalink
Browse files

transform/unroll_sync: support generator function

  • Loading branch information...
1 parent 9efc581 commit fecab5518bfef72105ab4ba437f0cad51fc4e6f4 @sbourdeauducq sbourdeauducq committed Oct 15, 2012
Showing with 6 additions and 2 deletions.
  1. +6 −2 migen/transform/unroll.py
@@ -80,7 +80,7 @@ def _variable_for(s, n):
name = "v"
return Signal(s.bv, name=name, variable=True)
-def unroll_sync(sync, inputs, outputs):
+def unroll_sync(statements, inputs, outputs):
assert(inputs or outputs)
if inputs:
sd_in = _list_step_dicts(inputs)
@@ -106,7 +106,11 @@ def unroll_sync(sync, inputs, outputs):
# replace signals with intermediate variables and copy statements
io_var_dict.update(di)
- r += _replace(sync, io_var_dict, do_var)
+ if isinstance(statements, list):
+ sl = statements
+ else:
+ sl = statements(n)
+ r += _replace(sl, io_var_dict, do_var)
# assign to output signals
r += [v.eq(do_var[k]) for k, v in do.items()]

0 comments on commit fecab55

Please sign in to comment.