Generating and recognizing LFPS square wave patterns.

SerDes blocks differ in their out-of-band signaling capabilities. Some are capable of detecting and generating LFPS signaling on their own; others only make it possible to access the high-speed I/O buffers directly through fabric. This gateware can detect patterns that fit LFPS requirements given only a bare input buffer, or vice versa.

class sol_usb.gateware.interface.serdes_phy.lfps.LFPSSquareWaveDetector(*args, src_loc_at: int = 0, **kwargs)

Detector that identifies LFPS square-wave patterns.

Operates in the pipe domain.

  • rx_gpio (Signal(), input) – The current state of the Rx lines, as retrieved by our SerDes.

  • present (Signal(), output) – High whenever we detect an LFPS toggling.

class sol_usb.gateware.interface.serdes_phy.lfps.LFPSSquareWaveGenerator(*args, src_loc_at: int = 0, **kwargs)

Generator that outputs LFPS square-wave patterns.