mirror of https://github.com/m-labs/artiq.git
ttl_serdes_7series: add dci (HP bank) support
This commit is contained in:
parent
997a48fb31
commit
cf9cf0ab6f
|
@ -72,7 +72,7 @@ class _IOSERDESE2_8X(Module):
|
||||||
|
|
||||||
|
|
||||||
class Output_8X(ttl_serdes_generic.Output):
|
class Output_8X(ttl_serdes_generic.Output):
|
||||||
def __init__(self, pad, pad_n=None, invert=False):
|
def __init__(self, pad, pad_n=None, invert=False, dci=False):
|
||||||
serdes = _OSERDESE2_8X(invert)
|
serdes = _OSERDESE2_8X(invert)
|
||||||
self.submodules += serdes
|
self.submodules += serdes
|
||||||
ttl_serdes_generic.Output.__init__(self, serdes)
|
ttl_serdes_generic.Output.__init__(self, serdes)
|
||||||
|
@ -87,7 +87,7 @@ class Output_8X(ttl_serdes_generic.Output):
|
||||||
|
|
||||||
|
|
||||||
class InOut_8X(ttl_serdes_generic.InOut):
|
class InOut_8X(ttl_serdes_generic.InOut):
|
||||||
def __init__(self, pad, pad_n=None):
|
def __init__(self, pad, pad_n=None, dci=False):
|
||||||
serdes = _IOSERDESE2_8X()
|
serdes = _IOSERDESE2_8X()
|
||||||
self.submodules += serdes
|
self.submodules += serdes
|
||||||
ttl_serdes_generic.InOut.__init__(self, serdes)
|
ttl_serdes_generic.InOut.__init__(self, serdes)
|
||||||
|
@ -96,6 +96,16 @@ class InOut_8X(ttl_serdes_generic.InOut):
|
||||||
self.specials += Instance("IOBUF",
|
self.specials += Instance("IOBUF",
|
||||||
i_I=serdes.ser_out, o_O=serdes.ser_in, i_T=serdes.t_out,
|
i_I=serdes.ser_out, o_O=serdes.ser_in, i_T=serdes.t_out,
|
||||||
io_IO=pad)
|
io_IO=pad)
|
||||||
|
else:
|
||||||
|
if dci:
|
||||||
|
self.specials += Instance("IOBUFDS_DCIEN",
|
||||||
|
p_DIFF_TERM="TRUE",
|
||||||
|
p_IBUF_LOW_PWR="TRUE",
|
||||||
|
p_USE_IBUFDISABLE="TRUE",
|
||||||
|
i_IBUFDISABLE=~serdes.t_out,
|
||||||
|
i_DCITERMDISABLE=~serdes.t_out,
|
||||||
|
i_I=serdes.ser_out, o_O=serdes.ser_in, i_T=serdes.t_out,
|
||||||
|
io_IO=pad, io_IOB=pad_n)
|
||||||
else:
|
else:
|
||||||
self.specials += Instance("IOBUFDS_INTERMDISABLE",
|
self.specials += Instance("IOBUFDS_INTERMDISABLE",
|
||||||
p_DIFF_TERM="TRUE",
|
p_DIFF_TERM="TRUE",
|
||||||
|
|
Loading…
Reference in New Issue