
OpenLDI/FPD-LINK/LVDS Receiver Interface IP
User Guide
© 2017-2019 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.
18
FPGA-IPUG-02021-1.1
Example:
IP configuration: Single channel FPD-Link Rx, RGB888 data type, 1039.5 Mb/s Rx Line Rate, Rx Gear 7
Rx line rate
(total)
=
1039.5 𝑀𝑏/𝑠 ∗ 4 ∗ 1
=
4.158 𝐺𝑏/𝑠
Pixclk
(Internal Pixel Clock)
=
1039.5 𝑀𝑏/𝑠
7
=
148.5 𝑀𝐻𝑧
Rx LVDS Input Clock
=
148.5 𝑀𝐻𝑧 ∗
7
7
=
148.5 𝑀𝐻𝑧
Rx LVDS ECLK
=
148.5 𝑀𝐻𝑧 ∗
7
2
=
519.75 𝑀𝐻𝑧
Number of Pixels per Pixel Clock
=
7
7
∗ 1
=
1 𝑃𝑖𝑥𝑒𝑙 𝑝𝑒𝑟 𝑃𝑖𝑥𝑒𝑙 𝐶𝑙𝑜𝑐𝑘
2.3.
Design and Module Description
2.3.1.
FPD-Link Rx Wrapper Module
The
fpd_link_rx_wrapper.v module instantiates fpd_link_rx, general purpose PLL (GPLL), test_mode, lvds71_pxlmap,
and synchronizer modules. The fpd_link_rx module is the core module which performs the data training and serial to
parallel conversion. GPLL
is used for fast clock generation. The
test_mode is used for internal self-checking.
lvds71_pxlmap is used to decode the output parallel data of fpd_link_rx and convert them into pixel format.
Synchronizers are two-level synchronizers used to sync the system reset into different clock domains before it is used
in the system.
fpd_link_rx_wrapper
CLKFB
RST
CLKOS
PHASEDIR
LOCK
PHASESTEP
PHASELOADREG
CLKOP
CLKI
PHASESEL
GPLL
fpd_link_rx
clk_ch0_i
d0_ch0_i
d1_ch0_i
d2_ch0_i
d3_ch0_i
clk_ch1_i
d0_ch1_i
d1_ch1_i
d2_ch1_i
d3_ch1_i
gsync_rst_i
pixel_clk_o
update_align_i
eclk_i
lock_i
bw_align_phdir_o
bw_align_phstep_o
clkwd_ch0_o
datain0/1/2/3_ch0_i
clkwd_ch1_o
bit_lock_o
word_lock_o
window_size_o
bw_align_rst_i
d0/d1/d2/d3_ch1_o
ready_align_o
ready_gddr_o
sync
lvds71_pxlmap
test_mode
d_i
rst_n_i
clk_i
d_o
datain0/1/2/3_ch1_i
test_mode_en_rx_i
pixel_clk_i
rst_n_i
comp_en
test_mode_err_o
d0/d1/d2/d3_ch0_o
sync
d_i
rst_n_i
clk_i
d_o
d0/d1/d2/d3_ch0_i
d0/d1/d2/d3_ch1_i
pixel_clk_i
de_o
vsync_o
hsync_o
pixel_d0_o
pixel_d1_o
pixel_d2_o
pixel_d3_o
rst_n_i
1'b0
clk_ch0_p_i/n_i
d1_ch0_p_i/n_i
d2_ch0_p_i/n_i
d3_ch0_p_i/n_i
d0_ch0_p_i/n_i
d1_ch1_p_i/n_i
d2_ch1_p_i/n_i
d3_ch1_p_i/n_i
d0_ch1_p_i/n_i
clk_ch1_p_i/n_i
rst_n_i
tstmode_en_i
pll_lock_o
gddr_rdy_o
bw_rdy_o
bit_lock_o
word_lock_o
pix_clk_o
pix_data0_o
pix_data1_o
pix_data2_o
pix_data3_o
hsync_o
vsync_o
de_o
tstmode_err_o
1'b0
1'b1
Figure 2.15. FPD-Link Rx Wrapper Block Diagram