2012-09-12 16:19:42 -04:00
|
|
|
from migen.fhdl.structure import *
|
|
|
|
from migen.bus import csr
|
2013-04-14 12:23:37 -04:00
|
|
|
from migen.bank import csrgen
|
2012-09-12 16:19:42 -04:00
|
|
|
from migen.bank.description import *
|
|
|
|
|
2013-09-21 07:04:07 -04:00
|
|
|
class MiIo(Module, AutoCSR):
|
|
|
|
def __init__(self, width):
|
2012-09-12 16:19:42 -04:00
|
|
|
self.width = width
|
2013-09-21 07:04:07 -04:00
|
|
|
|
|
|
|
self.i = Signal(self.width)
|
|
|
|
self.o = Signal(self.width)
|
|
|
|
|
|
|
|
self._r_i = CSRStatus(self.width)
|
|
|
|
self._r_o = CSRStorage(self.width)
|
|
|
|
|
|
|
|
self.sync +=[
|
|
|
|
self._r_i.status.eq(self.i),
|
|
|
|
self.o.eq(self._r_o.storage)
|
|
|
|
]
|