找回密码
 注册
关于网站域名变更的通知
查看: 6100|回复: 15
打印 上一主题 下一主题

RGMII 收发信号各有一根enable 信号, 是否需要与clock 等长

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2015-10-8 19:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 Quantum_ 于 2015-10-8 19:54 编辑 , q1 B* m9 [* f" ?3 ?% y. R
$ A$ U6 w  D. h% l# h6 B& q
RGMII 有收发信号各一组
2 {9 K  K- j0 R# ORxCLK, RXd0, RXD1,RXD2,RXD3, RXen" `. w0 j  J* [

$ g# s% F0 `2 TTxclk, Txd0, Txd1, Txd2, Txd3, TxDv( T3 T) w0 U4 Y7 A" G

5 h: i; c2 a4 q, y3 W我的问题是. F0 S/ P5 P/ U1 D2 K% W7 P/ F
收或发中的en / dv 信号, 在pcb 走线设计上, 是否需要与各自的clk 等长?# H, b; \2 l6 {' m5 N

/ z! t: F6 [* y; B( i6 G: ?有人说不需要。enable只是一个简单的开关。' }4 o' Z3 T' `0 n  D& O2 }
, y# z9 F  T  g% d6 ^2 O9 w
也有人说需要, 理由就是附件的那个timing diagram。 ) D" s! m9 g4 G/ L- L( B! ?
; u* W! P( j+ ^9 x7 O& H9 t# D8 m
diagram中说的setup 与 hold 是否就是指锁存?--似乎不太对。
5 b/ W$ S6 d! W5 i, D
8 s) T1 f- j- _( A- D9 t7 V0 ?' \' O谢谢!
- x; w8 a% p$ }& f) T* v
, {! ~# }* r; `* o3 g8 c. ]# [6 n8 E
  Z- k9 G) Y4 f2 |% ?+ G+ |& F% Y

5 ~1 D3 P! Q6 V: M6 t% R9 Y5 ~: L8 `# g8 u1 O

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

timing

timing

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

diagram

diagram

该用户从未签到

2#
发表于 2015-10-8 21:51 | 只看该作者
需要啊,图上很明显看得出来,TRX_CIL和DATA一样,在上升下降沿有不同含义,EN  ERROR,图中的时序的skew很明显不仅指DATA,还包括CIL信号,假设你收到的数据出现连续错误,ERROR信号就有作用了,如果时序不对,很显然就可能出问题。
6 g- x6 t- N# p9 T% a# W) T但是RGMII这速率,一般来说,不容易出问题,基本这一把线拉出来误差不会太大,超过上千mil再考虑下等长吧,表示从来不做等长,时序刚刚的。当然不做时序补偿(不升等长)的话就要用delay来保证RGMII模式下的DDR时序要求了

点评

谢谢!Kevin 估计是我理解错了。 1. TRX_CIL 与 其它的enable 功能不太一样。 很多时候Enable 的功能,和power-good 相似。 2. 功能上, 很难理解, enable为何要与clk有时序对应关系。从图上看, 似乎CIL 与d  详情 回复 发表于 2015-10-8 23:12

该用户从未签到

3#
 楼主| 发表于 2015-10-8 23:12 | 只看该作者
kevin890505 发表于 2015-10-8 21:51
' V4 P0 R. r3 M4 m/ f3 V需要啊,图上很明显看得出来,TRX_CIL和DATA一样,在上升下降沿有不同含义,EN  ERROR,图中的时序的skew很 ...

; O! W7 j6 Z5 {+ G! p9 C7 J- }& i谢谢!Kevin5 `* U% B6 f5 i& M, m3 O( Q
估计是我理解错了。 * U# s" Q( [( i; ?1 F$ \
1. TRX_CIL  与 其它的enable 功能不太一样。 很多时候Enable 的功能,和power-good 相似。 9 u; X) Q4 E; B) S8 K% X
2. 功能上, 很难理解, enable为何要与clk有时序对应关系。从图上看, 似乎CIL 与data  是同步的跳动。 可是, 传输逻辑是什么呢?TXD(4-9)指的是什么呢?
9 y+ f, \2 C: e; x  A' ~5 H* n: J3. 速率上,T-scew is 0.5 ns, T-setup and T-hold are both 1 ns.  按照5600mil/ns stripline. 它们的tolerence就是2800mil. 可是, 芯片供应商及我司的SI 专员给出的要求却是+/-25mill 的等长tolerence。 这算是严格吗?还是浪费时间,精力?
/ g% o$ B9 y; y! N! x' N
- ?, C% r* L1 l6 d* G  H1 ~3 @6 a谢谢!
$ h% o# i! e( j8 |
6 o! h3 _% V/ S1 a& h3 N1 `0 g+ l9 \' u& E; x1 z6 u  ?; G
. ?$ u% q% m  p2 J! [$ C

点评

1,是的,双重作用; 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根数  详情 回复 发表于 2015-10-23 10:08

该用户从未签到

5#
发表于 2015-10-10 10:58 | 只看该作者
我记得RGMII的clk和data之间 如果在芯片内部没有delay的话,走线好像有一个delay要做的。
8 i7 `- A3 P: M. G! |5 W& }2 @

点评

长10.25inch,不可能吧  详情 回复 发表于 2015-10-14 08:54

该用户从未签到

6#
发表于 2015-10-14 08:54 | 只看该作者
bluskly 发表于 2015-10-10 10:58
! \! |, k3 W7 h; f8 S我记得RGMII的clk和data之间 如果在芯片内部没有delay的话,走线好像有一个delay要做的。
9 t! g5 i9 V. K) I2 e( `1 X4 t
长10.25inch,不可能吧
# v% r7 b8 i' w; O% V

点评

支持!: 5.0
支持!: 5
布拉斯基的 RGMII 跑的是龜速,所以需要這麼長的距離!>_<|||  发表于 2015-10-14 20:17

该用户从未签到

7#
发表于 2015-10-14 16:50 | 只看该作者
SimpliPHY VSC8201 PCB Design and Layout Guide% K. H# r& |2 X3 w. O# K  g
. T% Q" f! Z6 f

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

RGMII PCB Layout.jpg

该用户从未签到

8#
发表于 2015-10-17 16:19 | 只看该作者
网口的信号没那么严

该用户从未签到

9#
发表于 2015-10-18 19:58 | 只看该作者
       需要的,2#好厉害!
  • TA的每日心情
    开心
    2024-1-3 15:02
  • 签到天数: 48 天

    [LV.5]常住居民I

    10#
    发表于 2015-10-21 14:01 | 只看该作者
    走线时每4根为一组另加TX_CLK、TX_EN线走在一起,走同层,等长。如:TXD (0-3)      加   TX_CLK、TX_EN
    5 W8 S& l, e" V& v6 w; RXD (0-3)     加   RX_CLK、RX_DV

    点评

    直接说6根一组,如何?  详情 回复 发表于 2015-10-22 08:47

    该用户从未签到

    11#
     楼主| 发表于 2015-10-22 08:47 | 只看该作者
    LX0105 发表于 2015-10-21 14:01! b( G" x$ X& A% }# f/ C! j
    走线时每4根为一组另加TX_CLK、TX_EN线走在一起,走同层,等长。如:TXD (0-3)      加   TX_CLK、TX_EN7 D' g8 k1 s8 |
    ...
    + q4 j* I1 ]1 r1 v8 n
    直接说6根一组,如何?) m: y/ f+ g! @

    该用户从未签到

    12#
    发表于 2015-10-23 10:08 | 只看该作者
    Quantum_ 发表于 2015-10-8 23:12( M) d5 N8 z9 y
    谢谢!Kevin
    " O4 r  |6 G) P4 c6 M$ Z) }! f估计是我理解错了。
    0 k6 S! ?+ u' ~' o1. TRX_CIL  与 其它的enable 功能不太一样。 很多时候Enable 的功能 ...

    # m* q- A* F: u/ O) ^& @$ _% o1,是的,双重作用;4 C, b! t4 S/ B7 E
    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就是这么多了,看图;
    . j6 {) k8 T0 Y6 A% ^+ N6 J3,不是你那么算的,RGMII是CK=125M,周期是8ns,DATA=250M,就是4ns,你所有数据上升下降沿都要触发,你把数据中间和CK边沿对齐,那就是数据居中,最理想的是前后各有2ns,然后建立保持时间最少1ns,那么就算数据是最理想的上升下降沿,你也只有1ns的余量可以供你浪。数字时序,不是OK不OK,而是裕量多少,也就是外部干扰了,我还有足够的可靠性可以让设备正常工作,这就是很多PHY的CLK会有个2ns延时的原因,你可以不用绕CLK来保证时序。& M& s0 _+ G, k0 Z( r9 M: t
    那么粗略算以下,一般来说你把上升下降取周期的1/8差不多吧就是1ns,然后信号不理想畸变,那么恶略点你可能只有1000mil的裕量了。然后设计肯定要比理论高,那么就1000mil之内不等长没什么问题,但时序肯定是裕量越大越好,太精确就没什么必要了,在不增加工作量的情况下随意,比如在这里非要做5mil等长,就是闲着蛋疼了,因为这个时序根本不在意那5个ps还是10个ps。拉等长很简单,拉200和25mil都一样的,看你了。/ S, P! b' X5 A& x" y$ g! a0 h

    6 P- r8 S$ c- ~# k3 E( C: O" @0 R+ U& ^! V# y4 h( `9 x
    个人理解,仅供参考
    5 z( ]# |' ?2 e! v

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

    111.png
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-11 10:21 , Processed in 0.140625 second(s), 27 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表