From d18d6853dd8a94fd1be4cb52393c48091ebca655 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Tue, 19 Nov 2019 15:37:32 +0000 Subject: [PATCH 1/1] clarify whats being obtained from _connect_out function --- src/nmutil/singlepipe.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/nmutil/singlepipe.py b/src/nmutil/singlepipe.py index a526be7b..e109900d 100644 --- a/src/nmutil/singlepipe.py +++ b/src/nmutil/singlepipe.py @@ -13,7 +13,7 @@ PipelineAPI: * StageAPI: combinatorial (NO REGISTERS / LATCHES PERMITTED) - * PipelineAPI: synchronous (registers / latches MAY added on demand) + * PipelineAPI: synchronous registers / latches get added here RecordBasedStage: ---------------- @@ -951,14 +951,14 @@ class FIFOControl(ControlBase): m.submodules.fn = fn = NextControl() fn.valid_o, fn.ready_i, fn.data_o = fifo.readable, fifo.re, fifo.dout connections = fn._connect_out(self.n, fn=nmoperator.cat) + valid_eq, ready_eq, data_o = connections # ok ok so we can't just do the ready/valid eqs straight: # first 2 from connections are the ready/valid, 3rd is data. if self.fwft: - m.d.comb += connections[:2] # combinatorial on next ready/valid + m.d.comb += [valid_eq, ready_eq] # combinatorial on next ready/valid else: - m.d.sync += connections[:2] # non-fwft mode needs sync - data_o = connections[2] # get the data + m.d.sync += [valid_eq, ready_eq] # non-fwft mode needs sync data_o = self._postprocess(data_o) # XXX TBD, does nothing right now m.d.comb += data_o -- 2.30.2