bankbits=geom_settings.bankbits,
nranks=phy_settings.nranks,
databits=phy_settings.dfi_databits,
- nphases=phy_settings.nphases)
+ nphases=phy_settings.nphases,
+ name="mem_dfi")
self._clk_freq = clk_freq
class DFIInjector(Elaboratable):
def __init__(self, csr_bank, addressbits, bankbits, nranks, databits, nphases=1):
+ print ("nranks", nranks, "nphases", nphases)
self._nranks = nranks
self._inti = dfi.Interface(addressbits, bankbits,
for n, phase in enumerate(self._phases):
m.submodules['phase_%d' % n] = phase
+ for phase in self._inti.phases:
+ print ("phase", phase)
+
with m.If(self._control.w_data[0]):
m.d.comb += self.slave.connect(self.master)
with m.Else():
class Interface:
def __init__(self, addressbits, bankbits, nranks, databits, nphases=1,
name=None):
+ print ("DFI Interface", name, "addr", addressbits,
+ "bankbits", bankbits, "nranks", nranks, "data", databits,
+ "phases", nphases)
self.phases = []
for p in range(nphases):
p = Record(phase_description(addressbits, bankbits,
SDRAM_VERBOSE_STD = 1
SDRAM_VERBOSE_DBG = 2
-def Display(*args):
- return Signal().eq(0)
+#def Display(*args):
+# return Signal().eq(0)
def Assert(*args):
return Signal().eq(0)
bankbits = self.bankbits,
nranks = self.settings.nranks,
databits = self.settings.dfi_databits,
- nphases = self.settings.nphases
+ nphases = self.settings.nphases,
+ name="phy"
)
def elaborate(self, platform):