ECP5 and ECP5-5G High-Speed I/O Interface
Technical Note
© 2014-2020 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at
All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-TN-02035-1.3
81
Table 9.6. BW_ALIGN Port Description
Port
I/O
Description
RX_SCLK
I
Divided RX clock from the 7:1 RX interface, produced by CLKDIV.
RST
I
Active high reset to this circuit. When RST=1, All outputs=0.
PLL_LOCK
I
Connect to PLL’s LOCK output. Start the alignment procedures after PLL lock goes high.
UPDATE
I
Start the procedure, or re-start if need to optimize again.
RXCLK_WORD<6:0>
I
Parallel data output from the 2nd IDDRX71 attached to RX CLK Input.
PHASESTEP
O
Rotate phase for PLL.
PHASEDIR
O
Phase rotation direction for PLL, fixed to forward (0) for this design.
ALIGNWORD
O
Connect to IDDRX71.ALIGNWORD, for word rotation.
WINDOW_SIZE
O
Final valid window size.
BIT_LOCK
O
Status output, bit lock has been achieved.
WORD_LOCK
O
Status output, word lock has been achieved.
READY
O
Indicate that alignment procedure is finished and RX circuit is ready to operate.
With Bit Alignment, the goal is to place Edge Clock (under PLL dynamic phase shift control) to the center of valid
window for the clock word and data words. The PLL phase rotation goes through all 16 phases. The PLL’s high-speed
output is used to sample RX input clock. Transitions are detected on the second IDDR71 output which inputs the RX
clock and phases close to transition are identified. The IP chooses the phase most away from transition as the final
phase to use.
The low speed clock has two transitions per 7-bit word. It is not the worst case in terms of inter-symbol interference.
On the other hand, we do have eight possible sample points per bit period. Minimum eye-opening of 3/8 UI is needed
to achieve lock. Jitter tolerance is around 0.25 UI, about 300 ps at 756 Mb/sec.
After bit alignment is achieved, word alignment is needed so video data (in 7-bit words) can be processed in core. The
IP uses the ALIGNWD function of the IDDRX71 primitive for word alignment. Each pulse on ALIGNWD rotates the 7-bit
bus by 2 bits. In maximum 7 ALIGNWD operations, the word loops through all seven possibilities. The goal is to get
7’b1100011 (7’h63) in the clock word. The clock word is the clock (4 bit 1 and 3’b 0) converted to parallel data, exactly
as the video data traffic. For the 7:1 video, the RX input clock serves as:
Frequency reference to generate high-speed
Phase reference as source synchronized RX, since the clock is edge aligned with the data bits
Word alignment reference
9.1.5.
MIPI_FILTER
This module is needed to filter low speed signal for MIPI RX. It filters out narrow pulses. It allows pulse width above 40
ns to pass.
MIPI_FILTER
LS
FILTER_CLK
RST
LSOUT
Figure 9.5. MIPI_FILTER Ports