EDA365电子工程师网

标题: RGMII 收发信号各有一根enable 信号, 是否需要与clock 等长 [打印本页]

作者: Quantum_    时间: 2015-10-8 19:46
标题: RGMII 收发信号各有一根enable 信号, 是否需要与clock 等长
本帖最后由 Quantum_ 于 2015-10-8 19:54 编辑 * Z7 `+ n; t: y, A) c1 J0 a

: t1 L% Q0 m, U& D7 ~+ S- BRGMII 有收发信号各一组
2 ], `, M$ O0 o5 _+ {- DRxCLK, RXd0, RXD1,RXD2,RXD3, RXen- Y& m2 r) X6 Y6 k; y! s* r

, L& b3 k5 W8 u; G  r0 gTxclk, Txd0, Txd1, Txd2, Txd3, TxDv
) W3 |5 ^' ]) b2 d5 A8 C! P5 G: b7 h0 }! m$ Z+ s4 H
我的问题是4 Z3 }: f& A  H" V* y9 S3 e- s/ }
收或发中的en / dv 信号, 在pcb 走线设计上, 是否需要与各自的clk 等长?
+ f& w% f# }% Y( x! n! i- y" k( B3 y- c4 }, g  }4 d3 n+ |
有人说不需要。enable只是一个简单的开关。+ j0 [4 Y' R, A$ d, K
' n: C6 \4 C* D6 J" H" W9 K
也有人说需要, 理由就是附件的那个timing diagram。
9 k% e6 e9 k! D' p! ]/ W- [' M2 `! @4 o6 s5 {0 y% ?  a
diagram中说的setup 与 hold 是否就是指锁存?--似乎不太对。
* ~8 z# e/ U* R- M8 F, Q' L1 ^& x1 Y8 f3 [1 T9 s% D5 k
谢谢!# S' W0 R$ V3 V) G

$ c) S7 e1 p( A: b0 N! Z! ^  X6 y. G/ i* [& B9 g* l. L

, g9 C% F) I, Q  ~; Q
1 Q& K6 i  `  K( A
% U+ A6 L) g/ C. y& d' Z+ {

GRMII_TIMING.png (133.25 KB, 下载次数: 3)

timing

timing

RGMII_TIMING_diagram.png (78.92 KB, 下载次数: 1)

diagram

diagram

作者: kevin890505    时间: 2015-10-8 21:51
需要啊,图上很明显看得出来,TRX_CIL和DATA一样,在上升下降沿有不同含义,EN  ERROR,图中的时序的skew很明显不仅指DATA,还包括CIL信号,假设你收到的数据出现连续错误,ERROR信号就有作用了,如果时序不对,很显然就可能出问题。& l" [3 K- [7 N* x5 E# S* f6 t
但是RGMII这速率,一般来说,不容易出问题,基本这一把线拉出来误差不会太大,超过上千mil再考虑下等长吧,表示从来不做等长,时序刚刚的。当然不做时序补偿(不升等长)的话就要用delay来保证RGMII模式下的DDR时序要求了
作者: Quantum_    时间: 2015-10-8 23:12
kevin890505 发表于 2015-10-8 21:517 m' y) G' l+ R- I
需要啊,图上很明显看得出来,TRX_CIL和DATA一样,在上升下降沿有不同含义,EN  ERROR,图中的时序的skew很 ...
4 I) ?7 ]' U' e0 c% @: F' z
谢谢!Kevin
% `# b4 ^3 J1 ^估计是我理解错了。
: e1 d3 X; w( T" [  o1. TRX_CIL  与 其它的enable 功能不太一样。 很多时候Enable 的功能,和power-good 相似。
# E+ h* m3 p' c$ G- s2. 功能上, 很难理解, enable为何要与clk有时序对应关系。从图上看, 似乎CIL 与data  是同步的跳动。 可是, 传输逻辑是什么呢?TXD(4-9)指的是什么呢?
; f' i& U$ g; m2 l3 Q" m$ y$ \8 F3. 速率上,T-scew is 0.5 ns, T-setup and T-hold are both 1 ns.  按照5600mil/ns stripline. 它们的tolerence就是2800mil. 可是, 芯片供应商及我司的SI 专员给出的要求却是+/-25mill 的等长tolerence。 这算是严格吗?还是浪费时间,精力?
% {5 t3 D/ \4 e" l2 s  {: Y$ p9 T& u; G0 }* x
谢谢!* x" @0 R6 x+ U$ v( j3 K' ]( X" c2 R

& ?0 t8 g" K) T" Q, ]3 H
7 j% \, Q, [7 R. L7 X/ Q, j. B
) K( U- \) T* T* u1 ~; p# t
作者: xiaowenwu1989    时间: 2015-10-9 11:58
学习了( {, |- h+ C. N0 M8 p6 b" O/ F

作者: bluskly    时间: 2015-10-10 10:58
我记得RGMII的clk和data之间 如果在芯片内部没有delay的话,走线好像有一个delay要做的。 8 R5 }( D5 k$ j% L6 p3 l( z" q, G9 \

作者: cvntao    时间: 2015-10-14 08:54
bluskly 发表于 2015-10-10 10:58
+ g/ N) d& N, [我记得RGMII的clk和data之间 如果在芯片内部没有delay的话,走线好像有一个delay要做的。
7 ?6 u4 f- A: m) W  ]- K
长10.25inch,不可能吧4 y% V: Y* N% f0 r9 F

作者: 超級狗    时间: 2015-10-14 16:50
SimpliPHY VSC8201 PCB Design and Layout Guide* h8 U9 |5 f4 s0 E2 K
8 Y7 a1 x! _! x! [- f

RGMII PCB Layout.jpg (123.89 KB, 下载次数: 2)

RGMII PCB Layout.jpg

作者: xd365    时间: 2015-10-17 16:19
网口的信号没那么严
作者: IterSu    时间: 2015-10-18 19:58
       需要的,2#好厉害!
作者: LX0105    时间: 2015-10-21 14:01
走线时每4根为一组另加TX_CLK、TX_EN线走在一起,走同层,等长。如:TXD (0-3)      加   TX_CLK、TX_EN* N! e) @. [  k: W7 x, y
; RXD (0-3)     加   RX_CLK、RX_DV
作者: Quantum_    时间: 2015-10-22 08:47
LX0105 发表于 2015-10-21 14:01' M% }& F$ c* v2 i4 B
走线时每4根为一组另加TX_CLK、TX_EN线走在一起,走同层,等长。如:TXD (0-3)      加   TX_CLK、TX_EN; b1 _6 q# d3 J/ K
...
9 s0 ]2 q0 O4 V+ I0 |
直接说6根一组,如何?2 \* f9 f! w) C2 v& L9 Q

作者: kevin890505    时间: 2015-10-23 10:08
Quantum_ 发表于 2015-10-8 23:12
# X$ y9 m& ~& c. N  H! N2 d谢谢!Kevin
. o4 y# I' C9 Y( Q5 N估计是我理解错了。 - d( \' J* B2 [2 x/ P
1. TRX_CIL  与 其它的enable 功能不太一样。 很多时候Enable 的功能 ...

8 ^# a& y- \: A9 c5 g4 ?! r1,是的,双重作用;
* k, _: {. F0 {7 h0 z' t& U/ t8 k8 @2,原因见下图,收作用RX_CTL is encoded on the rising edge of RXC,RX_ERROR OR RX _DRV is encoded on the falling edge of RXC,发类似,上升下降沿不一样,TXD[0:3],[4:9]就是图上,4根数据线上DDR触发是8位,加上,EN/ERROR就是这么多了,看图;
9 g+ Z& u8 z& ?/ m! S9 h3,不是你那么算的,RGMII是CK=125M,周期是8ns,DATA=250M,就是4ns,你所有数据上升下降沿都要触发,你把数据中间和CK边沿对齐,那就是数据居中,最理想的是前后各有2ns,然后建立保持时间最少1ns,那么就算数据是最理想的上升下降沿,你也只有1ns的余量可以供你浪。数字时序,不是OK不OK,而是裕量多少,也就是外部干扰了,我还有足够的可靠性可以让设备正常工作,这就是很多PHY的CLK会有个2ns延时的原因,你可以不用绕CLK来保证时序。/ P5 Y' ]: r4 F1 q, O- d' i
那么粗略算以下,一般来说你把上升下降取周期的1/8差不多吧就是1ns,然后信号不理想畸变,那么恶略点你可能只有1000mil的裕量了。然后设计肯定要比理论高,那么就1000mil之内不等长没什么问题,但时序肯定是裕量越大越好,太精确就没什么必要了,在不增加工作量的情况下随意,比如在这里非要做5mil等长,就是闲着蛋疼了,因为这个时序根本不在意那5个ps还是10个ps。拉等长很简单,拉200和25mil都一样的,看你了。
+ f6 F, s) E* m2 E1 J8 ?0 B8 s0 U) X, c4 R/ ]+ e' d

7 o& F& K% d/ V个人理解,仅供参考
! q, F; f2 u' i% {+ p

111.png (35.48 KB, 下载次数: 0)

111.png

作者: qilinwang66    时间: 2018-6-1 16:10





欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2