lasmicon: do not depend on FIFO Record support

This commit is contained in:
Sebastien Bourdeauducq 2015-09-30 16:40:04 +08:00
parent c36029fa61
commit 1b8f313d40
1 changed files with 10 additions and 4 deletions

View File

@ -35,18 +35,24 @@ class BankMachine(Module):
###
# Request FIFO
self.submodules.req_fifo = SyncFIFO([("we", 1), ("adr", len(req.adr))],
layout = [("we", 1), ("adr", len(req.adr))]
req_in = Record(layout)
reqf = Record(layout)
self.submodules.req_fifo = SyncFIFO(layout_len(layout),
controller_settings.req_queue_size)
self.comb += [
self.req_fifo.din.we.eq(req.we),
self.req_fifo.din.adr.eq(req.adr),
self.req_fifo.din.eq(req_in.raw_bits()),
reqf.raw_bits().eq(self.req_fifo.dout)
]
self.comb += [
req_in.we.eq(req.we),
req_in.adr.eq(req.adr),
self.req_fifo.we.eq(req.stb),
req.req_ack.eq(self.req_fifo.writable),
self.req_fifo.re.eq(req.dat_w_ack | req.dat_r_ack),
req.lock.eq(self.req_fifo.readable)
]
reqf = self.req_fifo.dout
slicer = _AddressSlicer(geom_settings.colbits, address_align)