|
xooo 发表于 2013-3-21 21:58 * g1 t& d6 p: T4 H2 ]8 |! }) w
根据你的DDR速率看吧,一般DDR2等长做大pin就可以了。DDR3以上就要考虑封装延迟和负载效应等。否则即使等长 ...
/ ^7 T. Z4 E" w0 t5 S& Q个人愚见 : 我觉得还是得首先搞清楚DDR这边走线为何要等长(或者说走线长度相差不能超过多少)?他的Root Cause是到底什么?
! U+ E: h/ H3 B& x$ Q4 c u
4 Z0 h' M- ]( j2 l5 ~- o走线上的等长,那仅仅是一个经验值(或者是芯片厂商给出的值),不同的设计或者说不同的板子设计都是不同的,至少应该存在差异! 如果真的要死扣等长是 pin-to-pin 等长,还是die-to-die等长 ?我认为应该是 pin-to-pin !!!
/ K/ f) {. i5 J+ P+ M- [8 x$ t, K9 j$ d6 c' w# ^
“从DDR的IBIS文件来看,不同pin的电感相差较大,估计pin到die的长度都不等”
: e$ `& W1 L( A: l) S& V) ]0 D2 h虽然从DDR的IBIS文件来看,不同pin的电感相差较大,但是如果仔细的看DDR/DDR2/DDR3...的IBIS文件,你会发现,相同的总线(例如地址线或者数据线)都是调用同一个Buffer的!!而且相同的总线一般也会调用相同的Package参数。如果调用不同的Package参数,这个要计算不同的参数导致信号输出的时延的差异。 至于pin到die的长度,不是Micron不提供,而是IBIS文件规范里面根本就没有这项参数!
& q% L! I9 A# h9 B" l4 e6 S5 P9 l! K
4 X1 K O1 R4 Y2 n5 N# \这样说吧,你通过DDR的Datasheet给出的参数(这个就是时序的问题),最终计算出,总线之间的时延不能超过 X ps (假如100PS吧),也就是说你的时间裕度是100ps,那么这个100ps * 6in/s(信号在Trace的传输速率)就是走线长度相差不能超过100ps * 6in/s这个长度(最好控制在这个长度以内)!! 这个是Root Cause! 从这个角度来解释的话,下次你就不会去问Micron和Xilinx那帮FAE,封装中pin-to-die的长度(Package Length) 。 他即使给了你这个参数也解决不了你的问题 ....( d& Q/ s# @% a# I+ ^$ ?
8 k$ p2 o$ A, q7 c8 |0 [$ `) l谢谢 ....' |' Z# ~3 h% x3 s
0 X& o3 D% p/ |0 G! Y0 L8 W/ Q+ N
|
|