Skip to content

Commit

Permalink
Fix Register name conflict between Pytholite and Bank
Browse files Browse the repository at this point in the history
  • Loading branch information
Sebastien Bourdeauducq committed Mar 10, 2013
1 parent f93695f commit b042757
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
12 changes: 6 additions & 6 deletions migen/bank/description.py
Expand Up @@ -3,12 +3,12 @@
from migen.fhdl.structure import *
from migen.fhdl.specials import Memory

class Register(HUID):
class _Register(HUID):
pass

class RegisterRaw(Register):
class RegisterRaw(_Register):
def __init__(self, name, size=1):
Register.__init__(self)
_Register.__init__(self)
self.name = name
self.size = size
self.re = Signal()
Expand All @@ -34,9 +34,9 @@ def __init__(self, name, size=1, access_bus=READ_WRITE, access_dev=READ_ONLY, re
self.w = Signal(self.size)
self.we = Signal()

class RegisterFields(Register):
class RegisterFields(_Register):
def __init__(self, name, fields):
Register.__init__(self)
_Register.__init__(self)
self.name = name
self.fields = fields

Expand Down Expand Up @@ -74,7 +74,7 @@ def get_memories(self):
def get_registers(self):
r = []
for k, v in self.__dict__.items():
if isinstance(v, Register):
if isinstance(v, _Register):
r.append(v)
elif hasattr(v, "get_registers") and callable(v.get_registers):
r += regprefix(k + "_", v.get_registers())
Expand Down
10 changes: 5 additions & 5 deletions migen/bank/eventmanager.py
Expand Up @@ -3,24 +3,24 @@
from migen.bank.description import *
from migen.genlib.misc import optree

class EventSource(HUID):
class _EventSource(HUID):
def __init__(self):
HUID.__init__(self)
self.trigger = Signal()
self.pending = Signal()

class EventSourcePulse(EventSource):
class EventSourcePulse(_EventSource):
pass

class EventSourceLevel(EventSource):
class EventSourceLevel(_EventSource):
pass

class EventManager(Module, AutoReg):
def __init__(self):
self.irq = Signal()

def do_finalize(self):
sources_u = [v for v in self.__dict__.values() if isinstance(v, EventSource)]
sources_u = [v for v in self.__dict__.values() if isinstance(v, _EventSource)]
sources = sorted(sources_u, key=lambda x: x.huid)
n = len(sources)
self.status = RegisterRaw("status", n)
Expand Down Expand Up @@ -60,6 +60,6 @@ def do_finalize(self):
self.comb += self.irq.eq(optree("|", irqs))

def __setattr__(self, name, value):
if isinstance(value, EventSource) and self.finalized:
if isinstance(value, _EventSource) and self.finalized:
raise FinalizeError
object.__setattr__(self, name, value)

0 comments on commit b042757

Please sign in to comment.