mirror of
https://github.com/enjoy-digital/usb3_pipe.git
synced 2025-01-04 10:18:41 +08:00
usb3_core/core: generate first/last packets delimiters from out_active signals
This commit is contained in:
parent
b50e292978
commit
176617fb84
@ -75,11 +75,25 @@ class USB3Core(Module, AutoCSR):
|
||||
)
|
||||
]
|
||||
|
||||
|
||||
self.comb += sink.ready.eq(1)
|
||||
|
||||
out_data = Signal(32)
|
||||
out_datak = Signal(4)
|
||||
out_stall = Signal()
|
||||
out_active = Signal()
|
||||
out_active_d = Signal()
|
||||
# FIXME: Source always supposed to be ready, which is not the case! Use this for now for
|
||||
# initial tests along with a sys_clk generated from the same source as the one used for
|
||||
# the TX transceiver
|
||||
self.comb += source.valid.eq(1)
|
||||
out_stall = Signal()
|
||||
self.comb += out_stall.eq(~source.ready)
|
||||
self.sync += [
|
||||
source.data.eq(out_data),
|
||||
source.ctrl.eq(out_datak),
|
||||
out_active_d.eq(out_active),
|
||||
source.first.eq(out_active & ~ out_active_d),
|
||||
]
|
||||
self.comb += source.last.eq(~out_active & out_active_d)
|
||||
|
||||
self.specials += Instance("usb3_top_usb3_pipe",
|
||||
i_clk = ClockSignal(),
|
||||
i_reset_n = ~self.reset,
|
||||
@ -90,10 +104,10 @@ class USB3Core(Module, AutoCSR):
|
||||
i_in_datak = sink.ctrl,
|
||||
i_in_active = sink.valid,
|
||||
|
||||
o_out_data = source.data,
|
||||
o_out_datak = source.ctrl,
|
||||
#o_out_active = ,
|
||||
i_out_stall = out_stall,
|
||||
o_out_data = out_data,
|
||||
o_out_datak = out_datak,
|
||||
o_out_active = out_active,
|
||||
i_out_stall = 0, # FIXME
|
||||
|
||||
i_buf_in_addr = usb3_control.buf_in_addr,
|
||||
i_buf_in_data = usb3_control.buf_in_data,
|
||||
|
Loading…
x
Reference in New Issue
Block a user