mirror of https://github.com/m-labs/artiq.git
jesd204: make sure IOB FF is used to sample SYSREF at FPGA
This commit is contained in:
parent
60b22217ce
commit
d9955fee76
|
@ -42,6 +42,7 @@ class UltrascaleCRG(Module, AutoCSR):
|
||||||
|
|
||||||
jref = platform.request("dac_sysref")
|
jref = platform.request("dac_sysref")
|
||||||
jref_se = Signal()
|
jref_se = Signal()
|
||||||
|
jref_r = Signal()
|
||||||
self.specials += [
|
self.specials += [
|
||||||
Instance("IBUFDS_IBUFDISABLE",
|
Instance("IBUFDS_IBUFDISABLE",
|
||||||
p_USE_IBUFDISABLE="TRUE", p_SIM_DEVICE="ULTRASCALE",
|
p_USE_IBUFDISABLE="TRUE", p_SIM_DEVICE="ULTRASCALE",
|
||||||
|
@ -51,7 +52,9 @@ class UltrascaleCRG(Module, AutoCSR):
|
||||||
# SYSREF normally meets s/h at the FPGA, except during margin
|
# SYSREF normally meets s/h at the FPGA, except during margin
|
||||||
# scan and before full initialization.
|
# scan and before full initialization.
|
||||||
# Be paranoid and use a double-register anyway.
|
# Be paranoid and use a double-register anyway.
|
||||||
MultiReg(jref_se, self.jref, "jesd")
|
Instance("FD", i_C=ClockSignal("jesd"), i_D=jref_se, o_Q=jref_r,
|
||||||
|
attr={("IOB", "TRUE")}),
|
||||||
|
Instance("FD", i_C=ClockSignal("jesd"), i_D=jref_r, o_Q=self.jref)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue