|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本节我们介绍FPGA收发器RX以下相关内容:/ S( y$ d/ p3 m; B: A8 J. D
1.RX字节和字对齐: {; {( O k. N2 |1 }2 h7 R' \
2.RX弹性缓冲器
} A. K6 q2 ?: B2 U& U+ y1 [1 p, H" R
1.RX字节和字对齐
- |, d0 k0 M1 ~8 Y1.1功能描述- q/ v r5 R8 m1 O
输入到FPGA收发器的串行数据在解串(串并转换)之前必须进行符号边界对齐。为了保证数据对齐,发送器发送一个通常称为comma码(K码)的字符,接收器在输入的数据里查找comma码。当发下comma码后,则将comma移动到字符边界,这样使得接收到的并行数据匹配发送的并行数据。
+ f- F8 h: z1 m: e F图1显示了10bit comma对齐过程。RX接收到没有对齐的数据在图中右侧。图中虚线为查找到的comma码,标志查找到字节边界,图中左侧comma之后每10bit自动划分为一个字,自此完成数据字对齐。
; h/ O' m- s" c- I! X5 _
* @2 S/ c2 T* v4 {3 r( a% j2 ?3 I/ i; G- W# x3 F: I* f
1.2使能Comma对齐3 j( H4 a5 t, u4 K' Z- E) z' q
将RXCOMMADETEN端口设置为高,使能Comma对齐模块,旁路该模块会减少路径延迟。
, X: a) A/ I8 m- N T9 ^. h" Y4 p
+ v3 Y x' y& t% T" i# Y1.3配置Comma参数
* d0 L' C8 O* I3 J: r, V为了设置comma参数,需要配置ALIGN_MCOMMA_VALUE,ALGN_PCOMMA_VALUE和ALIGN_COMMA_enable属性。comma的长度和RX_DATA_WIDTH有关。图3显示了comma匹配掩码模式
* Y4 F* i2 P6 B5 y7 k H! s; \3 L
6 r2 S3 O, W! h( S, C4 {! z
/ o8 q0 M9 Y8 x4 d0 f6 ]6 q3 e! Y
1.4 comma状态指示
' f, \7 _, S1 D# x2 \) y+ m# N当MCOMMA或者PCOMMA对齐被激活后,任何匹配的comma模式与最近的边界重新对齐。comma对齐后,RXBYTEISALIGNED信号置为高。此时可以将RXENMCOMMAALIGN和RXENPCOMMAALIGN置为0,关闭comma对齐功能,使comma对齐模块保持当前对齐位置。/ U4 r8 j/ X: W* A7 j# `/ d+ d
当RXBYTEISALIGNED置为高时,表明已经检测到comma与字节边界对齐。若后续到达的comma都可以对齐,则RXBYTEISALIGNED继续为高,否则RXBYTEISALIGNED为低。; |; t2 D3 |8 J# V. y, r- c: M$ L* Y
v4 v W6 ?; @1.5 comma对齐边界设定
% e+ T& s3 i! f* S7 H# H$ \, {ALIGN_COMMA_WORD属性用于定义对齐边界。边界空白区域长度由RX_DATA_WIDTH属性决定,边界位置的数量由RX用户接口RXDATA的字节数决定。图5显示了可选择的字节边界。
2 B* w& h! V6 c& N$ f/ P0 H
9 u) Y6 z% r- v& M4 \0 ~( h) v& Q1 N
+ j" ~5 \/ u" [
) s& t. ^% j* P( z. _( c
7 [8 @' _4 W+ i+ ?
|
|