From 231eca3e553bddc01f329fa8bf64910f499d54f3 Mon Sep 17 00:00:00 2001 From: Tobias Platen Date: Thu, 28 May 2020 14:52:02 +0200 Subject: [PATCH] more fixes for DataMerger --- src/soc/experiment/l0_cache.py | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/soc/experiment/l0_cache.py b/src/soc/experiment/l0_cache.py index 6a1cefc7..5dc0c21d 100644 --- a/src/soc/experiment/l0_cache.py +++ b/src/soc/experiment/l0_cache.py @@ -25,6 +25,7 @@ from nmigen.hdl.rec import Record, Layout from nmutil.latch import SRLatch, latchregister from soc.decoder.power_decoder2 import Data from soc.decoder.power_enums import InternalOp +from soc.regfile.regfile import ortreereduce from soc.experiment.compldst import CompLDSTOpSubset from soc.decoder.power_decoder2 import Data @@ -34,7 +35,6 @@ from nmigen.lib.coding import PriorityEncoder # for testing purposes from soc.experiment.testmem import TestMemory - class PortInterface(RecordObject): """PortInterface @@ -143,8 +143,7 @@ class DataMergerRecord(Record): Record.__init__(self, Layout(layout), name=name) -# TODO: - +# TODO: unit test class DataMerger(Elaboratable): """DataMerger @@ -192,22 +191,20 @@ class DataMerger(Elaboratable): def elaborate(self, platform): m = Module() - comb, sync = m.d.comb, m.d.sync + comb = m.d.comb #(1) pick a row m.submodules.pick = pick = PriorityEncoder(self.array_size) for j in range(self.array_size): - with m.If(self.addr_match_i[j].bool()): - pick.i.eq(pick.i||(1<