|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本节我们介绍FPGA收发器RX以下相关内容:3 T+ G5 o9 @! `
1.RX字节和字对齐
0 f& v( z$ |3 f7 O5 O8 m/ g) I2.RX弹性缓冲器8 U: F0 A! L' n$ T5 q0 @9 V o
; ?. X* o! y2 q! [0 {8 U0 A+ \
1.RX字节和字对齐. o+ e* ^4 c. b; k2 ^
1.1功能描述
, x. y q9 {2 W1 F+ ?) o& I1 F- A输入到FPGA收发器的串行数据在解串(串并转换)之前必须进行符号边界对齐。为了保证数据对齐,发送器发送一个通常称为comma码(K码)的字符,接收器在输入的数据里查找comma码。当发下comma码后,则将comma移动到字符边界,这样使得接收到的并行数据匹配发送的并行数据。 |% B' Y" A# h
图1显示了10bit comma对齐过程。RX接收到没有对齐的数据在图中右侧。图中虚线为查找到的comma码,标志查找到字节边界,图中左侧comma之后每10bit自动划分为一个字,自此完成数据字对齐。7 d- b. H6 u0 ~& Z
' D( Q% V% N+ v3 j8 w. X
) p9 e$ K! {3 m: p& g1.2使能Comma对齐) h* M2 s; N( h! s6 A" c
将RXCOMMADETEN端口设置为高,使能Comma对齐模块,旁路该模块会减少路径延迟。1 _* J, o' W& ^, X- H
% ]( s5 L, d, p$ N$ d1.3配置Comma参数- ?: a/ W% b' Q& @2 s0 _( b& d
为了设置comma参数,需要配置ALIGN_MCOMMA_VALUE,ALGN_PCOMMA_VALUE和ALIGN_COMMA_enable属性。comma的长度和RX_DATA_WIDTH有关。图3显示了comma匹配掩码模式! a3 M' d4 Q1 N5 }8 c! }( M) s( ^
& c6 Q& k, y2 e6 @
3 S7 H9 w/ h6 [8 D' b o1.4 comma状态指示
5 X0 e' [# i+ j: A6 J& v6 P当MCOMMA或者PCOMMA对齐被激活后,任何匹配的comma模式与最近的边界重新对齐。comma对齐后,RXBYTEISALIGNED信号置为高。此时可以将RXENMCOMMAALIGN和RXENPCOMMAALIGN置为0,关闭comma对齐功能,使comma对齐模块保持当前对齐位置。
& `( c8 y% F$ l5 V, e& r7 ], n5 o当RXBYTEISALIGNED置为高时,表明已经检测到comma与字节边界对齐。若后续到达的comma都可以对齐,则RXBYTEISALIGNED继续为高,否则RXBYTEISALIGNED为低。
9 t. b( F+ h9 u3 E1 t# U5 B- j, p" j+ b7 P2 r, D
1.5 comma对齐边界设定
4 s" g! x8 n! \( F, P" U+ w$ h) MALIGN_COMMA_WORD属性用于定义对齐边界。边界空白区域长度由RX_DATA_WIDTH属性决定,边界位置的数量由RX用户接口RXDATA的字节数决定。图5显示了可选择的字节边界。
$ Q# \3 _' ?2 [; K- N' |6 y: I
5 y, l0 E: {; `) B8 w- o6 W( {
f8 E7 X4 |. w- C$ h; u% x. m5 J9 L
5 F# r* ? p4 | F* G E# Q+ {/ W
/ p+ ?& v8 b+ s" F; Y, H+ K
|
|