forked from M-Labs/artiq-zynq
downconn GW: rename to RXPHYs
This commit is contained in:
parent
17de7f2365
commit
034588ec59
@ -12,14 +12,14 @@ from cxp_pipeline import word_layout
|
|||||||
from functools import reduce
|
from functools import reduce
|
||||||
from operator import add
|
from operator import add
|
||||||
|
|
||||||
class CXP_DownConn_PHYS(Module, AutoCSR):
|
class CXP_RXPHYs(Module, AutoCSR):
|
||||||
def __init__(self, refclk, pads, sys_clk_freq, debug_sma, pmod_pads, master=0):
|
def __init__(self, refclk, pads, sys_clk_freq, debug_sma, pmod_pads, master=0):
|
||||||
self.qpll_reset = CSR()
|
self.qpll_reset = CSR()
|
||||||
self.qpll_locked = CSRStatus()
|
self.qpll_locked = CSRStatus()
|
||||||
self.gtx_start_init = CSRStorage()
|
self.gtx_start_init = CSRStorage()
|
||||||
self.gtx_restart = CSR()
|
self.gtx_restart = CSR()
|
||||||
|
|
||||||
self.rx_phys = []
|
self.phys = []
|
||||||
# # #
|
# # #
|
||||||
|
|
||||||
# For speed higher than 6.6Gbps, QPLL need to be used instead of CPLL
|
# For speed higher than 6.6Gbps, QPLL need to be used instead of CPLL
|
||||||
@ -37,10 +37,10 @@ class CXP_DownConn_PHYS(Module, AutoCSR):
|
|||||||
else:
|
else:
|
||||||
rx_mode = "master" if i == master else "slave"
|
rx_mode = "master" if i == master else "slave"
|
||||||
rx = Receiver(qpll, pad, sys_clk_freq, "single", rx_mode, debug_sma, pmod_pads)
|
rx = Receiver(qpll, pad, sys_clk_freq, "single", rx_mode, debug_sma, pmod_pads)
|
||||||
self.rx_phys.append(rx)
|
self.phys.append(rx)
|
||||||
setattr(self.submodules, "rx"+str(i), rx)
|
setattr(self.submodules, "rx"+str(i), rx)
|
||||||
|
|
||||||
for i, phy in enumerate(self.rx_phys):
|
for i, phy in enumerate(self.phys):
|
||||||
if i == master:
|
if i == master:
|
||||||
self.comb += rx_resetter.rx_ready.eq(phy.gtx.rx_ready)
|
self.comb += rx_resetter.rx_ready.eq(phy.gtx.rx_ready)
|
||||||
self.comb += [
|
self.comb += [
|
||||||
@ -49,7 +49,7 @@ class CXP_DownConn_PHYS(Module, AutoCSR):
|
|||||||
]
|
]
|
||||||
|
|
||||||
# master rx_init will lock up when slaves_phaligndone signal is not connected
|
# master rx_init will lock up when slaves_phaligndone signal is not connected
|
||||||
self.submodules.rx_phase_alignment = GTXInitPhaseAlignment([rx_phy.gtx.rx_init for rx_phy in self.rx_phys])
|
self.submodules.rx_phase_alignment = GTXInitPhaseAlignment([rx_phy.gtx.rx_init for rx_phy in self.phys])
|
||||||
|
|
||||||
class Receiver(Module):
|
class Receiver(Module):
|
||||||
def __init__(self, qpll, pad, sys_clk_freq, tx_mode, rx_mode, debug_sma, pmod_pads):
|
def __init__(self, qpll, pad, sys_clk_freq, tx_mode, rx_mode, debug_sma, pmod_pads):
|
||||||
|
Loading…
Reference in New Issue
Block a user