Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: m-labs/migen
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 4d9b2fff631d
Choose a base ref
...
head repository: m-labs/migen
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 02d804feab86
Choose a head ref
  • 2 commits
  • 2 files changed
  • 1 contributor

Commits on Oct 19, 2015

  1. Copy the full SHA
    0999a17 View commit details
  2. Copy the full SHA
    02d804f View commit details
Showing with 6 additions and 4 deletions.
  1. +2 −1 migen/fhdl/verilog.py
  2. +4 −3 migen/sim/core.py
3 changes: 2 additions & 1 deletion migen/fhdl/verilog.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from functools import partial
from operator import itemgetter
import collections

from migen.fhdl.structure import *
from migen.fhdl.structure import _Operator, _Slice, _Assign, _Fragment
@@ -128,7 +129,7 @@ def _printnode(ns, at, level, node):
else:
assignment = " <= "
return "\t"*level + _printexpr(ns, node.l)[0] + assignment + _printexpr(ns, node.r)[0] + ";\n"
elif isinstance(node, (list, tuple)):
elif isinstance(node, collections.Iterable):
return "".join(list(map(partial(_printnode, ns, at, level), node)))
elif isinstance(node, If):
r = "\t"*level + "if (" + _printexpr(ns, node.cond)[0] + ") begin\n"
7 changes: 4 additions & 3 deletions migen/sim/core.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import operator
import collections

from migen.fhdl.structure import *
from migen.fhdl.structure import (_Value, _Statement,
@@ -193,7 +194,7 @@ def execute(self, statements):
return
if "default" in s.cases:
self.execute(s.cases["default"])
elif isinstance(s, list):
elif isinstance(s, collections.Iterable):
self.execute(s)
else:
raise NotImplementedError
@@ -210,8 +211,8 @@ def __init__(self, fragment_or_module, generators, clocks={"sys": 10}, vcd_name=
generators = {"sys": generators}
self.generators = dict()
for k, v in generators.items():
if isinstance(v, list):
self.generators[k] = v
if isinstance(v, collections.Iterable):
self.generators[k] = list(v)
else:
self.generators[k] = [v]