From de87d65f684758cd0d98dd8a1970d9a40bb7f32a Mon Sep 17 00:00:00 2001 From: Florent Kermarrec Date: Sat, 22 Aug 2015 12:42:44 +0200 Subject: [PATCH] sdram/module: add P3R1GE4JGF DDR2 (Atlys) and MT41J128M16 DDR3 (Opsis, Novena) modules. --- misoclib/mem/sdram/module.py | 40 ++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/misoclib/mem/sdram/module.py b/misoclib/mem/sdram/module.py index 049c595cf..ae265066b 100644 --- a/misoclib/mem/sdram/module.py +++ b/misoclib/mem/sdram/module.py @@ -165,6 +165,26 @@ class MT47H128M8(SDRAMModule): self.timing_settings) +class P3R1GE4JGF(SDRAMModule): + geom_settings = { + "nbanks": 8, + "nrows": 8192, + "ncols": 1024 + } + timing_settings = { + "tRP": 12.5, + "tRCD": 12.5, + "tWR": 15, + "tWTR": 3, + "tREFI": 7800, + "tRFC": 127.5, + } + + def __init__(self, clk_freq): + SDRAMModule.__init__(self, clk_freq, "DDR2", self.geom_settings, + self.timing_settings) + + # DDR3 class MT8JTF12864(SDRAMModule): geom_settings = { @@ -183,3 +203,23 @@ class MT8JTF12864(SDRAMModule): def __init__(self, clk_freq): SDRAMModule.__init__(self, clk_freq, "DDR3", self.geom_settings, self.timing_settings) + + +class MT41J128M16(SDRAMModule): + geom_settings = { + "nbanks": 8, + "nrows": 16384, + "ncols": 1024, + } + timing_settings = { + "tRP": 15, + "tRCD": 15, + "tWR": 15, + "tWTR": 3, + "tREFI": 64*1000*1000/16384, + "tRFC": 260, + } + + def __init__(self, clk_freq): + SDRAMModule.__init__(self, clk_freq, "DDR3", self.geom_settings, + self.timing_settings)