From 1b8f313d402b77cb1ffbdfa38ab34d3278ef7a43 Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Wed, 30 Sep 2015 16:40:04 +0800 Subject: [PATCH] lasmicon: do not depend on FIFO Record support --- misoc/cores/lasmicon/bankmachine.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/misoc/cores/lasmicon/bankmachine.py b/misoc/cores/lasmicon/bankmachine.py index 0a4fdb10..853e7d9a 100644 --- a/misoc/cores/lasmicon/bankmachine.py +++ b/misoc/cores/lasmicon/bankmachine.py @@ -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) -- 2.30.2