forked from M-Labs/artiq-zynq
cxp GW: add eop marker at rx pipeline
This commit is contained in:
parent
c5d71f269d
commit
ca3f6e4bba
@ -122,8 +122,8 @@ class DownConn_Interface(Module, AutoCSR):
|
|||||||
# Receiver Pipeline WIP
|
# Receiver Pipeline WIP
|
||||||
#
|
#
|
||||||
# 32 32+8(dchar)
|
# 32 32+8(dchar)
|
||||||
# PHY ---/---> dchar -----/-----> trigger ack ------> packet ------> CDC FIFO ------> raw stream data packet without
|
# PHY ---/---> dchar -----/-----> trigger ack ------> packet ------> EOP Marker ------> stream data packet
|
||||||
# decoder checker decoder the first 2 words (K27.7 & 0x01)
|
# decoder checker decoder with CRC
|
||||||
#
|
#
|
||||||
cdr = ClockDomainsRenamer("cxp_gtx_rx")
|
cdr = ClockDomainsRenamer("cxp_gtx_rx")
|
||||||
|
|
||||||
@ -221,7 +221,10 @@ class DownConn_Interface(Module, AutoCSR):
|
|||||||
# self.submodules += ClockDomainsRenamer({"write": "cxp_gtx_rx", "read": "sys"})(cdc_fifo)
|
# self.submodules += ClockDomainsRenamer({"write": "cxp_gtx_rx", "read": "sys"})(cdc_fifo)
|
||||||
# self.submodules.debug_out = debug_out = RX_Debug_Buffer(word_layout_dchar)
|
# self.submodules.debug_out = debug_out = RX_Debug_Buffer(word_layout_dchar)
|
||||||
|
|
||||||
rx_pipeline = [phy, dchar_decoder, trig_ack_checker, bootstrap]
|
# Drop the K29.7 and mark the EOP for arbiter and crc cheker
|
||||||
|
self.submodules.eop_marker = eop_marker = cdr(EOP_Marker())
|
||||||
|
|
||||||
|
rx_pipeline = [phy, dchar_decoder, trig_ack_checker, bootstrap, eop_marker]
|
||||||
for s, d in zip(rx_pipeline, rx_pipeline[1:]):
|
for s, d in zip(rx_pipeline, rx_pipeline[1:]):
|
||||||
self.comb += s.source.connect(d.sink)
|
self.comb += s.source.connect(d.sink)
|
||||||
self.source = rx_pipeline[-1].source
|
self.source = rx_pipeline[-1].source
|
||||||
|
Loading…
Reference in New Issue
Block a user