Fix CSR issue in DFII (r_data used for reading host data)
authorJean THOMAS <git0@pub.jeanthomas.me>
Wed, 24 Jun 2020 15:56:31 +0000 (17:56 +0200)
committerJean THOMAS <git0@pub.jeanthomas.me>
Wed, 24 Jun 2020 15:56:31 +0000 (17:56 +0200)
gram/dfii.py

index 2873b06738c05b4cbe71f83e7d3bb9b76874f4f5..946913cfc16aed15036653490b1ad2e7fcdef6d0 100644 (file)
@@ -82,17 +82,17 @@ class DFIInjector(Elaboratable):
 
         m.submodules += self._phases
 
-        with m.If(self._control.r_data[0]):
+        with m.If(self._control.w_data[0]):
             m.d.comb += self.slave.connect(self.master)
         with m.Else():
             m.d.comb += self._inti.connect(self.master)
 
         for i in range(self._nranks):
-            m.d.comb += [phase.cke[i].eq(self._control.r_data[1])
+            m.d.comb += [phase.cke[i].eq(self._control.w_data[1])
                          for phase in self._inti.phases]
-            m.d.comb += [phase.odt[i].eq(self._control.r_data[2])
+            m.d.comb += [phase.odt[i].eq(self._control.w_data[2])
                          for phase in self._inti.phases if hasattr(phase, "odt")]
-        m.d.comb += [phase.reset_n.eq(self._control.r_data[3])
+        m.d.comb += [phase.reset_n.eq(self._control.w_data[3])
                      for phase in self._inti.phases if hasattr(phase, "reset_n")]
 
         return m