Improve simulation output: add names to submodules
authorJean THOMAS <git0@pub.jeanthomas.me>
Fri, 10 Jul 2020 15:46:06 +0000 (17:46 +0200)
committerJean THOMAS <git0@pub.jeanthomas.me>
Fri, 10 Jul 2020 15:46:06 +0000 (17:46 +0200)
gram/core/__init__.py
gram/core/multiplexer.py
gram/core/refresher.py

index 950a2deb2986cc13a1cfbc156f0a10a7ff1b23e1..da2b78a8adc2bb95ac1986be31823887d0742602 100644 (file)
@@ -51,14 +51,14 @@ class gramCore(Peripheral, Elaboratable):
     def elaborate(self, platform):
         m = Module()
 
-        m.submodules += self._bridge
+        m.submodules.bridge = self._bridge
 
-        m.submodules += self.dfii
+        m.submodules.dfii = self.dfii
         m.d.comb += self.dfii.master.connect(self._phy.dfi)
 
         m.submodules.controller = self.controller
         m.d.comb += self.controller.dfi.connect(self.dfii.slave)
 
-        m.submodules += self.crossbar
+        m.submodules.crossbar = self.crossbar
 
         return m
index 84c32b83dd60298a4b3dc6d349c2ddbd570e5704..9730eca71ee18235172676f1d118e7cc93b15973 100644 (file)
@@ -71,8 +71,7 @@ class _CommandChooser(Elaboratable):
             write = request.is_write == self.want_writes
             m.d.comb += valids[i].eq(request.valid & (command | (read & write)))
 
-        arbiter = RoundRobin(n)
-        m.submodules += arbiter
+        m.submodules.arbiter = arbiter = RoundRobin(n)
         choices = Array(valids[i] for i in range(n))
         m.d.comb += [
             arbiter.request.eq(valids),
@@ -304,8 +303,7 @@ class Multiplexer(Elaboratable):
                                         log2_int(len(bank_machines))))
         # nop must be 1st
         commands = [nop, choose_cmd.cmd, choose_req.cmd, refresher.cmd]
-        steerer = _Steerer(commands, dfi)
-        m.submodules += steerer
+        m.submodules.steerer = steerer = _Steerer(commands, dfi)
 
         # tRRD timing (Row to Row delay) -----------------------------------------------------------
         m.submodules.trrdcon = trrdcon = tXXDController(settings.timing.tRRD)
index 9101c8ee20ca2818060f34994b1a0dc4ed79e179..7c68fec76c0befd372ddf4d1c664a11ba219631c 100644 (file)
@@ -44,7 +44,7 @@ class RefreshExecuter(Elaboratable):
         trp = self._trp
         trfc = self._trfc
 
-        tl = Timeline([
+        m.submodules.timeline = tl = Timeline([
             # Precharge All
             (0, [
                 self.a.eq(2**10),
@@ -71,7 +71,6 @@ class RefreshExecuter(Elaboratable):
                 self.done.eq(1),
             ]),
         ])
-        m.submodules += tl
         m.d.comb += tl.trigger.eq(self.start)
 
         return m
@@ -104,8 +103,7 @@ class RefreshSequencer(Elaboratable):
     def elaborate(self, platform):
         m = Module()
 
-        executer = RefreshExecuter(self._abits, self._babits, self._trp, self._trfc)
-        m.submodules += executer
+        m.submodules.executer = executer = RefreshExecuter(self._abits, self._babits, self._trp, self._trfc)
         m.d.comb += [
             self.a.eq(executer.a),
             self.ba.eq(executer.ba),
@@ -257,7 +255,7 @@ class ZQCSExecuter(Elaboratable):
         trp = self._trp
         tzqcs = self._tzqcs
 
-        tl = Timeline([
+        m.submodules.timeline = tl = Timeline([
             # Precharge All
             (0, [
                 self.a.eq(2**10),
@@ -286,7 +284,6 @@ class ZQCSExecuter(Elaboratable):
                 self.done.eq(1)
             ]),
         ])
-        m.submodules += tl
         m.d.comb += tl.trigger.eq(self.start)
 
         return m