From 1c5e9408c8a0517e8d0906dd28811f2c5febbb3a Mon Sep 17 00:00:00 2001 From: Florent Kermarrec Date: Thu, 19 Mar 2020 18:15:08 +0100 Subject: [PATCH] s6ddrphy/s7ddrphy: use IOBUFDS/IOBUF for DQS even if input is not currently used. --- litedram/phy/s6ddrphy.py | 20 +++++++++----------- litedram/phy/s7ddrphy.py | 10 +++++----- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/litedram/phy/s6ddrphy.py b/litedram/phy/s6ddrphy.py index d43aab6..9340e32 100644 --- a/litedram/phy/s6ddrphy.py +++ b/litedram/phy/s6ddrphy.py @@ -218,19 +218,17 @@ class S6HalfRateDDRPHY(Module): # DQS tristate buffer if hasattr(pads, "dqs_n"): - self.specials += Instance("OBUFTDS", - i_I=dqs_o[i], - i_T=dqs_t[i], - - o_O=pads.dqs[i], - o_OB=pads.dqs_n[i], + self.specials += Instance("IOBUFDS", + i_T = dqs_t[i], + i_I = dqs_o[i], + io_IO = pads.dqs[i], + io_IOB = pads.dqs_n[i], ) else: - self.specials += Instance("OBUFT", - i_I=dqs_o[i], - i_T=dqs_t[i], - - o_O=pads.dqs[i] + self.specials += Instance("IOBUF", + i_T = dqs_t[i], + i_I = dqs_o[i], + io_IO = pads.dqs[i], ) sd_sdram_half += postamble.eq(drive_dqs) diff --git a/litedram/phy/s7ddrphy.py b/litedram/phy/s7ddrphy.py index 9340528..f0ff185 100644 --- a/litedram/phy/s7ddrphy.py +++ b/litedram/phy/s7ddrphy.py @@ -382,11 +382,11 @@ class S7DDRPHY(Module, AutoCSR): o_ODATAIN = dqs_nodelay, o_DATAOUT = dqs_delayed ) - self.specials += Instance("OBUFTDS", - i_I = dqs_delayed if with_odelay else dqs_nodelay, - i_T = dqs_t, - o_O = pads.dqs_p[i], - o_OB = pads.dqs_n[i], + self.specials += Instance("IOBUFDS", + i_T = dqs_t, + i_I = dqs_delayed if with_odelay else dqs_nodelay, + io_IO = pads.dqs_p[i], + io_IOB = pads.dqs_n[i], ) # DQ ---------------------------------------------------------------------------------------