EDA365电子工程师网

标题: DDR3仿真 [打印本页]

作者: snsArvin    时间: 2015-1-5 10:27
标题: DDR3仿真
大家好,关于DDR3仿真,有些不解之处,请大家指导!
7 `( y/ f/ T  L  i! [' _1.DDR3时序余量怎么计算?1 g. L# V! ^# D9 O; Y  o
2.下图中tIS(base)是个基值,标准上说:实际建立时间需要加上Δt,这个计算出来的总的tIS是DDR3芯片对建立时间的需求?还是实际电路的tIS?6 M% V6 g& C* x# i$ h- Y
* A* f3 T' h8 e: x

& U, m, \; s0 U# }" n
) }- |$ h7 c* q3.tIS有两个参考,AC150和AC175,到底用哪个?
9 J( z( s, x$ w& A, I( h
作者: shark4685    时间: 2015-1-5 15:34
看本质,看信号的上升沿,上升沿快用严格的规范。上升沿慢用稍微宽泛点的。
作者: snsArvin    时间: 2015-1-5 15:47
shark4685 发表于 2015-1-5 15:34
1 P; S% n. P& \看本质,看信号的上升沿,上升沿快用严格的规范。上升沿慢用稍微宽泛点的。
- j' S' O* t. g
谢谢版主,Slew rate的大小和tIS有直接关系吗?如果像下图这样,我认为不影响0 z% ~' U' A$ K" v$ ?3 l
图中红线和黑线,我认为tIS都一样8 W2 c7 z  [& c" D: t. o

3 Y8 ]0 Z( {# v' n: T7 q! Z' a : N/ W0 a% Z  @

作者: shark4685    时间: 2015-1-5 16:44
slew rate越大,相当于信号上升沿约小,所以时序上余量相当于变大了,对应标准就严格。. N3 p# h6 F7 v- ^; h: \9 T
1 I; V7 K7 s% S' y" ~- C/ {/ O

3 I9 }  X5 g: l
作者: snsArvin    时间: 2015-1-5 17:27
shark4685 发表于 2015-1-5 16:44& Z( P) s2 G$ L5 K! M* A! G
slew rate越大,相当于信号上升沿约小,所以时序上余量相当于变大了,对应标准就严格。
8 q9 x, ^4 Z( E8 I9 E
在计算时序余量时,如何使用这个slew rate?
1 B0 {+ n( U! B5 L; g
作者: Coziness_yang    时间: 2015-1-5 22:16
计算Slew Rate主要是要看信号的质量,有的信号在上升沿上存在非单调,但有些信号是单调的,所以对于slew rate我们需要采用不同的计算方法。而对于时序裕量,我们需要看slew rate,因为slew rate的不一样,时间裕量的计算肯定也不一样。
作者: Head4psi    时间: 2015-1-5 22:18
1. 总的tIS是DDR3芯片对建立时间的需求?
' K! ]8 V0 `$ i5 T6 H4 y1 K8 `   是的,在 DDR3 pin 上所量到的 Setup time,要大于这个值 (tIS total),多出来的就是你的余量。
+ v6 k7 Y7 B! }! d/ [# _/ y( X! X8 m
2. tIS有两个参考,AC150和AC175,到底用哪个?
. ?% g% V8 I* N# v, O4 r    都可以,但是选用 AC150 的余量会多一点,原因有历史因素,非三言两语可喻。, ^1 G  q7 r- `, O# h3 Z. I

作者: shark4685    时间: 2015-1-6 08:35
想听听历时原因
作者: snsArvin    时间: 2015-1-6 08:37
Coziness_yang 发表于 2015-1-5 22:16
: V4 M. _- q- m/ j. b3 C* R8 I计算Slew Rate主要是要看信号的质量,有的信号在上升沿上存在非单调,但有些信号是单调的,所以对于slew ra ...
" y, ^/ c, Y; _* Y6 q2 L
您好,谢谢您给我解答,那么在计算时序裕量时,需要减去建立时间,那么是不是说这时候的建立时间需要用slew rate和AC175的基值一起来确定?
2 S3 n, g! n+ \- k9 d
  W$ A$ `6 k! g% y/ q# ~& E ! Z) Z0 f: w1 S9 u" s" k+ Y

# y, ~- t* v2 ~( m" k! h
作者: snsArvin    时间: 2015-1-6 08:40
Head4psi 发表于 2015-1-5 22:18! R) E) h/ {# ?
1. 总的tIS是DDR3芯片对建立时间的需求?3 e' a1 w4 N7 B7 P4 W1 a+ A* m4 R( p
   是的,在 DDR3 pin 上所量到的 Setup time,要大于这个值 (tI ...
! L- v* _& `. M' K  B
多谢您,那就是说要下面的数据算出DDR3对建立时间的实际需求,然后在实际的仿真波形上测量建立时间,和这个需求值比较,对吗?$ G+ k& z7 `) Z  B

  U8 h1 [* @$ B 0 U/ G0 e8 B  h" ?  s

# }2 x3 |6 F/ L3 O& Y! a' G0 ?
作者: cousins    时间: 2015-1-6 08:42
本帖最后由 cousins 于 2015-1-6 09:24 编辑
3 k  ]* W8 S6 n) N& T, I+ y7 z$ D2 M1 _* Y) ]
1.tvb+tskew  tva-tskew   相位右偏为正,左偏为负  tvb为valid before 即理想DQ有效跳变前于strobe跳变的时间,tva为valid after,即理想DQ有效跳变后于strobe跳变的时间。skew为单根DQ允许的相偏
4 y" W& p4 m* [. K2.参考第一条可以知道,datasheet里为requirement。实际测的为tvb+tskew tva-tskew9 h$ ]$ d. V/ m2 p
3.AC175 AC150代表的是门限偏移,即AC threshold +/- 175mV或者150mV,与速率有对应关系,速率越高,AC threshold +/-越小。0 R" F3 L' Y( `# Y$ r+ ?
" x  i4 V' l& t. F; n3 {1 q% e
考虑到clk jitter及DQ skew的影响,slew rate取较大值为比较严格的做法,因为slew rate越大,最低要求的建立保持时间越长。
作者: snsArvin    时间: 2015-1-6 09:06
cousins 发表于 2015-1-6 08:423 g# v, l$ C& l
1.tvb+tskew  tva-tskew   相位右偏为正,左偏为负  tvb为valid before 即理想DQ有效跳变前于strobe跳变的 ...
1 A' D$ ?/ F" A1 X2 u6 m
时序余量是否可以直接从波形读取?
  \/ d7 G% E  y% U8 o/ b1 z1 V
作者: cousins    时间: 2015-1-6 09:17
snsArvin 发表于 2015-1-6 09:06
+ u: b& f! @& G$ W时序余量是否可以直接从波形读取?
; }" w1 I  _: u3 S1 w! ]5 a
不能,要抓取cursor后再做计算- I( k1 t$ R- E
. Q! C+ R" |$ x& N2 f- N- B& k

作者: snsArvin    时间: 2015-1-6 09:29
cousins 发表于 2015-1-6 09:17" ?  A! ~( V) H. s: f+ E4 V* N
不能,要抓取cursor后再做计算

* c. C0 y: g* q0 a1 ~版主,您前面讲的余量计算:tvb+tskew ,tva-tskew,为什么没有减去建立时间?
" m" p# h5 _& H3 W% A( `
作者: cousins    时间: 2015-1-6 11:14
因为tvb+tskew就是实际的建立时间,减去datasheet中的requirement就是裕量8 b1 [8 z- ?$ C; y
tva-tskew是实际的保持时间,减去datasheet中的requirement就是裕量
. F% i) I! ?0 S% S3 c/ d
作者: snsArvin    时间: 2015-1-6 11:31
cousins 发表于 2015-1-6 11:14$ R3 I0 x& M; `5 ~# b: S# d
因为tvb+tskew就是实际的建立时间,减去datasheet中的requirement就是裕量; x+ L7 s* ?- ~  u  E  I; ^3 K
tva-tskew是实际的保持时间,减 ...

0 N6 y. b+ d$ I合格的标标准是余量大于0?
+ p3 c4 u4 {' s
作者: snsArvin    时间: 2015-1-6 11:33
cousins 发表于 2015-1-6 11:14; Q- R# j& d) S: \+ S% I/ a
因为tvb+tskew就是实际的建立时间,减去datasheet中的requirement就是裕量- h" M) D7 r3 X
tva-tskew是实际的保持时间,减 ...

' s- p/ h* N! {2 [6 O0 x7 z版主,按道理,如果我设置好芯片内部DQ和Strobe的延迟,那么仿真出来直接就可以量出实际的建立和保持时间,再和要求的建立和保持时间比较不就可以了吗?6 v$ x, ?. f  a  Z

作者: Head4psi    时间: 2015-1-6 12:48
多谢您,那就是说要下面的数据算出DDR3对建立时间的实际需求,然后在实际的仿真波形上测量建立时间,和这个需求值比较,对吗?. ?- j7 L7 }6 l- M

* z* j! J- A2 l  X; I对,仿真波形可测量出你的設計的 setup time,把它与規格 tIS 比较,多的就是余量。
作者: snsArvin    时间: 2015-1-6 12:59
Head4psi 发表于 2015-1-6 12:48
5 O5 G: q7 {% y, o3 z" M& h; f1 G多谢您,那就是说要下面的数据算出DDR3对建立时间的实际需求,然后在实际的仿真波形上测量建立时间,和这个 ...

4 o: {" z) D0 }- a但是这怎么理解?为什么slew rate越大,setup和hold的margin(裕量)反而会越大?按照公式算下来,slew rate越大,需要的建立和保存时间就越大,那么裕量该减小才是( R7 U" D% g( p, B

" Y) s4 l( `- @- u( N9 ^
作者: Head4psi    时间: 2015-1-6 13:05
#8 想听听历时原因。0 I- x/ J* W- p: z
% n- b4 \! x( l: x' w; Y+ S4 z
当初由 AC175 想降到 AC150 规格时,DRAM 供应商提出因为幅度降低相望控制器端多留些余量,所以由AC175 转 AC150时除了电位平移的 25 ps 外,又多要求了125ps ,例如 DDR3-1600 由 45 增加 到 170 Ps 。
# H6 U  F" f" D( u3 e( E5 a
9 G% w5 ^  d4 r* I所以之前我在 #7 说反了,对系统设记者而言,可以选 AC175 规格比较有利,在此一并更正。
7 `9 @. R4 G9 @' E* }6 L; A) l
0 Q) V' p; I$ U8 h
作者: snsArvin    时间: 2015-1-6 13:38
Head4psi 发表于 2015-1-6 13:05; R/ Z2 y0 Y/ \8 ^
#8 想听听历时原因。
0 T& `$ Z: K4 n2 L  i  x) V* Z% Z+ P/ p
当初由 AC175 想降到 AC150 规格时,DRAM 供应商提出因为幅度降低相望控制器端多留 ...

( A4 }$ H7 b6 M+ i" k怎么解释slew rate越大,需要的建立和保持时间越大?% Y# A  m. W3 E2 V  v5 V" b: a

作者: Head4psi    时间: 2015-1-6 15:10
怎么解释slew rate越大,需要的建立和保持时间越大?
2 t& N" y3 d) w
7 x) P" P% k! j4 ]  E1 ?3 c上述这句话不知你如何下此结论?+ \, P. a7 K5 @+ {
实际看 Timming 是 Clock 与 Data 相对的,Clock 的 Slew rate 快 (短时),则电路的data valid 较快,所以规格给值较小。返之,若是 Data 的 Slew Rate 变快,电路的 data valid 一样快,但是量测点后退了 ,所以规格给值要变大。仔细推敲 derating table 可知一二。
作者: snsArvin    时间: 2015-1-6 15:26
本帖最后由 snsArvin 于 2015-1-6 16:00 编辑 7 e- j- e( [; G2 W
Head4psi 发表于 2015-1-6 15:10! {" v" M3 J5 p6 l& e) ?7 P
怎么解释slew rate越大,需要的建立和保持时间越大?
% r) s: j  w, w& m4 n( \# d( E" O  _5 y9 |
上述这句话不知你如何下此结论?
/ M# {. ], Y! C0 t( H
下面这张表可以看出,如果时钟slew rate不变,则地址/命令的slew ratr越大,derating就越大啊,那么基值加上derating不就越大吗?那不也就是要求的建立和保持时间越大吗?
$ T' d* z# {& ^4 m5 n

image.jpg (102.22 KB, 下载次数: 0)

image.jpg

作者: Head4psi    时间: 2015-1-6 16:21
CK 不变,地址/命令的slew rate 越快,量测点越后退 (量到的眼寬增加了),所以要求的 Total tIS 变大。
作者: snsArvin    时间: 2015-1-6 17:55
Head4psi 发表于 2015-1-6 16:21
: m& K$ Q* K$ D9 m( q  ]CK 不变,地址/命令的slew rate 越快,量测点越后退 (量到的眼寬增加了),所以要求的 Total tIS 变大。
6 j9 N* m% F( G+ M
我在琢磨琢磨,谢谢了!% r5 _1 a) _# b# l' D1 z0 v

作者: bingshuihuo    时间: 2015-1-9 08:38
不错  这样讲的话 很多东西都可以做的很好的
作者: Colin_SI/PI    时间: 2015-1-27 18:18
DDR3的时序参数是基于标准负载测试的0 v8 D6 \0 t) I
& N( y$ r  @1 t9 L
9 K: Z, v6 ~. Y' o. {. E0 T6 K0 Y
实际负载不可能标准 所以波形有差别,负载过重过轻 等都会造成影响, ^( j9 q! a! v) k1 z' @
飞行时间偏移,包括芯片内部的逻辑偏移,buffer偏移,和PCB上走线的偏移1 D4 [3 G% m+ R- `8 r( P, P5 O
实际时序计算时要以接标准负载和实际负载计算飞行时间偏移3 M1 @: E. J$ [0 n- o( h5 h& L
DDR3的规范规定计算时序都要考虑derating7 q0 E! Y2 M6 z, o

, X0 k+ b( f1 f9 C! i) O' ^
作者: leeping2d    时间: 2015-1-27 19:17
觉得你们说的好高升啊,不懂
作者: raytingg    时间: 2015-2-1 01:15
  Y9 N2 E- q: c0 T+ p; V- u
正需要 谢谢
作者: snsArvin    时间: 2015-2-5 08:57
Colin_SI/PI 发表于 2015-1-27 18:18
8 \- g# f* h" T1 n6 P1 E$ PDDR3的时序参数是基于标准负载测试的

) x( X) j1 y( f: ^2 L谢谢,关于slew rate和建立保持时间的关系,我还是不太明白:为什么slew rate越大,需要的建立和保持都会变大?) \' A5 \$ W+ D" I5 a4 O. C! l

作者: snsArvin    时间: 2015-2-5 09:31
shark4685 发表于 2015-1-5 16:44) Z) a6 o7 o; n: O9 F
slew rate越大,相当于信号上升沿约小,所以时序上余量相当于变大了,对应标准就严格。
4 I* y' i( u3 P- p) x8 M
版主,还得麻烦您下,这个问题我还是没太想明白。
/ l# n; m3 ^6 e3 [- {+ [+ {, Kslew rate越大,相当于信号上升沿越小,这好理解9 G( {0 f4 Y$ [; L3 a4 F: o
但是,时序上升余量变大,这怎么理解?余量大了不是更好么,怎么会要更严格的标准?
) u# r' e2 b, Z* r' x6 A谢谢!!!8 U1 H- E, K$ j

作者: raytingg    时间: 2015-2-21 10:09
好詳細..感恩
作者: raytingg    时间: 2015-2-23 03:58
! M3 J: @7 C. H3 |1 x# a& D
谢谢
作者: abgyqolt    时间: 2016-8-19 15:14
学习了 谢谢
作者: linbanyon    时间: 2018-6-13 09:46
谢谢




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