targets/arty: use new ISERDESE2 MEMORY mode.
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Fri, 20 Mar 2020 17:58:31 +0000 (18:58 +0100)
committerFlorent Kermarrec <florent@enjoy-digital.fr>
Fri, 20 Mar 2020 17:58:31 +0000 (18:58 +0100)
litex/boards/platforms/arty.py
litex/boards/targets/arty.py

index f79b2146005e4e690f79368c18bc55c135ad88b4..c996cff290c63a73b3012c5ffeabacd99e1720ee 100644 (file)
@@ -109,8 +109,12 @@ _io = [
             "V4 T5 U4 V5 V1 T3 U3 R3"),
             IOStandard("SSTL135"),
             Misc("IN_TERM=UNTUNED_SPLIT_40")),
-        Subsignal("dqs_p", Pins("N2 U2"), IOStandard("DIFF_SSTL135")),
-        Subsignal("dqs_n", Pins("N1 V2"), IOStandard("DIFF_SSTL135")),
+        Subsignal("dqs_p", Pins("N2 U2"),
+            IOStandard("DIFF_SSTL135"),
+            Misc("IN_TERM=UNTUNED_SPLIT_40")),
+        Subsignal("dqs_n", Pins("N1 V2"),
+            IOStandard("DIFF_SSTL135"),
+            Misc("IN_TERM=UNTUNED_SPLIT_40")),
         Subsignal("clk_p", Pins("U9"), IOStandard("DIFF_SSTL135")),
         Subsignal("clk_n", Pins("V9"), IOStandard("DIFF_SSTL135")),
         Subsignal("cke", Pins("N5"), IOStandard("SSTL135")),
index 8b0840e4668d6c6ae97522738b834dfd924d1439..b7f36b30e5d1caa1f95fcca7598a1790d511268c 100755 (executable)
@@ -27,6 +27,7 @@ from liteeth.frontend.etherbone import LiteEthEtherbone
 class _CRG(Module):
     def __init__(self, platform, sys_clk_freq):
         self.clock_domains.cd_sys       = ClockDomain()
+        self.clock_domains.cd_sys2x     = ClockDomain(reset_less=True)
         self.clock_domains.cd_sys4x     = ClockDomain(reset_less=True)
         self.clock_domains.cd_sys4x_dqs = ClockDomain(reset_less=True)
         self.clock_domains.cd_clk200    = ClockDomain()
@@ -38,6 +39,7 @@ class _CRG(Module):
         self.comb += pll.reset.eq(~platform.request("cpu_reset"))
         pll.register_clkin(platform.request("clk100"), 100e6)
         pll.create_clkout(self.cd_sys,       sys_clk_freq)
+        pll.create_clkout(self.cd_sys2x,     2*sys_clk_freq)
         pll.create_clkout(self.cd_sys4x,     4*sys_clk_freq)
         pll.create_clkout(self.cd_sys4x_dqs, 4*sys_clk_freq, phase=90)
         pll.create_clkout(self.cd_clk200,    200e6)
@@ -62,9 +64,10 @@ class BaseSoC(SoCSDRAM):
         # DDR3 SDRAM -------------------------------------------------------------------------------
         if not self.integrated_main_ram_size:
             self.submodules.ddrphy = s7ddrphy.A7DDRPHY(platform.request("ddram"),
-                memtype      = "DDR3",
-                nphases      = 4,
-                sys_clk_freq = sys_clk_freq)
+                memtype        = "DDR3",
+                nphases        = 4,
+                sys_clk_freq   = sys_clk_freq,
+                interface_type = "MEMORY")
             self.add_csr("ddrphy")
             sdram_module = MT41K128M16(sys_clk_freq, "1:4")
             self.register_sdram(self.ddrphy,