Quantcast
Channel: Processors forum - Recent Threads
Viewing all articles
Browse latest Browse all 17527

AM3351: DDR2 signal integrity and timing not according to JEDEC compliance measurements

$
0
0

Part Number: AM3351

Hi!

It has been a while on the DDR2 topic, before our equipment was not good and also time was limited to analyze in-depth, but lately we have had time to measure integrity and timing of the DDR2. The previous question about the Vswing is not applicable anymore, we solved the amplitude with an parallel termination on the clock differential and series termination. (Not sure why this is not added in the datasheet as a requirement on the differential clock to the DDR2 device.)

Now we almost finalized the qualification successfully but we run into a few points which are not okay yet. (Below the measurement I'll share details about the design).

1.  When measuring read bursts timing fails on:

- tAC-Diff, CK, DQ which is required to be +/- 500 ps. Measurement results show between -628.75 ps and -282.71 ps.

Histogram hits tAC-Diff

Where the signals are (all measured close to the CPU):

- C1 -> CK_p/n

- C2 -> DQS1_p/n

- C3 -> DQ8

2. Second measurement on read burst where timing fails:

- tDQSQ-Diff, DQ, DQS which is required to be less than +300ps. Measurement results show +396.45ps (with an average of 288.93ps and a low of -387.77ps).

Signals are same as the previous measurement.

3. The third measurement is an signal integrity measurement where we do not meet the JEDEC:

- Vox(ac)DQS, DQS, DQS# where the low limit is 775mV and high limit 1.025V. From the measurement result we see the low limit is not met and results in 421.89mV.

As shown in the histogram we do not meet this JEDEC spec.

Can you advice on these measurements and fails?

The design consist of a DDR2 (ISSI) device (IS43DR16640C-25DBLI) connected to the CPU (AM3351).

The DDR2 settings in the Sitara CPU are as follow:

arch/arm/include/asm/arch-am33xx/ddr_defs.h:28:#define IS43DR16640C25DBLI_EMIF_READ_LATENCY   0x100306
arch/arm/include/asm/arch-am33xx/ddr_defs.h:29:#define IS43DR16640C25DBLI_EMIF_SDCFG                   0x43845732
arch/arm/include/asm/arch-am33xx/ddr_defs.h:30:#define IS43DR16640C25DBLI_EMIF_SDREF                   0x2000040d
arch/arm/include/asm/arch-am33xx/ddr_defs.h:31:#define IS43DR16640C25DBLI_EMIF_TIM1                       0x0666a392
arch/arm/include/asm/arch-am33xx/ddr_defs.h:32:#define IS43DR16640C25DBLI_EMIF_TIM2                       0x142431ca
arch/arm/include/asm/arch-am33xx/ddr_defs.h:33:#define IS43DR16640C25DBLI_EMIF_TIM3                       0x0000021f
arch/arm/include/asm/arch-am33xx/ddr_defs.h:34:#define IS43DR16640C25DBLI_INVERT_CLKOUT            0x0
arch/arm/include/asm/arch-am33xx/ddr_defs.h:35:#define IS43DR16640C25DBLI_IOCTRL_VALUE               0x373
arch/arm/include/asm/arch-am33xx/ddr_defs.h:36:#define IS43DR16640C25DBLI_PHY_FIFO_WE                0x5d
arch/arm/include/asm/arch-am33xx/ddr_defs.h:37:#define IS43DR16640C25DBLI_PHY_WR_DATA               0x40
arch/arm/include/asm/arch-am33xx/ddr_defs.h:38:#define IS43DR16640C25DBLI_RATIO                              0x80
arch/arm/include/asm/arch-am33xx/ddr_defs.h:39:#define IS43DR16640C25DBLI_RD_DQS                          0x40
arch/arm/include/asm/arch-am33xx/ddr_defs.h:40:#define IS43DR16640C25DBLI_WR_DQS                         0x6

PCB trace lengths between CPU (U2000) and DDR2 (U4001) are as follow:

NetLengthTime
DDR2_ADD030.654
U2000.F3:U4001.M830.6540.18765
DDR2_ADD129.890
U2000.J2:U4001.M329.8890.18297
DDR2_ADD230.391
U2000.D1:U4001.M730.3910.18604
DDR2_ADD329.966
U2000.B3:U4001.N229.9660.18344
DDR2_ADD430.377
U2000.E5:U4001.N830.3770.18596
DDR2_ADD530.258
U2000.A2:U4001.N330.2580.18523
DDR2_ADD630.559
U2000.B1:U4001.N730.5590.18707
DDR2_ADD730.033
U2000.D2:U4001.P230.0320.18385
DDR2_ADD830.570
U2000.C3:U4001.P830.5700.18714
DDR2_ADD930.016
U2000.B2:U4001.P330.0160.18375
DDR2_ADD1030.270
U2000.E2:U4001.M230.2700.1853
DDR2_ADD1129.976
U2000.G4:U4001.P729.9760.1835
DDR2_ADD1229.727
U2000.F4:U4001.R229.7270.18198
DDR2_ADD1330.044
U2000.H1:U4001.R830.0440.18392
DDR2_BA029.997
U2000.A3:U4001.L229.9970.18363
DDR2_BA130.262
U2000.E1:U4001.L330.2620.18525
DDR2_BA230.175
U2000.B4:U4001.L130.1750.18472
DDR2_CAS_N30.260
U2000.F1:U4001.L730.2600.18524
DDR2_CKE30.046
U2000.G3:U4001.K230.0460.18394
DDR2_CK_N29.028
U2000.C1:U4001.K829.0290.1774
DDR2_CK_P30.298
U2000.C2:U4001.J830.2980.18515
DDR2_CS0_N30.306
U2000.H2:U4001.L830.3060.18552
DDR2_ODT29.862
U2000.G1:U4001.K929.8620.18281
DDR2_RAS_N30.384
U2000.F2:U4001.K730.3840.186
DDR2_WE_N30.282
U2000.A4:U4001.K330.2830.18538
DDR2_BYTE0(11)
DDR2_DAT017.647
U2000.N4:U4001.C817.6470.10803
DDR2_DAT116.709
U2000.P4:U4001.C216.7090.10229
DDR2_DAT216.851
U2000.P2:U4001.D716.8510.10316
DDR2_DAT317.329
U2000.P1:U4001.D317.3290.10608
DDR2_DAT416.085
U4001.D1:U2000.P316.0850.09847
DDR2_DAT517.386
U2000.T1:U4001.D917.3860.10643
DDR2_DAT615.816
U2000.T2:U4001.B115.8160.09682
DDR2_DAT718.325
U2000.R3:U4001.B918.3250.11218
DDR2_DQM016.827
U2000.N3:U4001.B316.8270.10301
DDR2_DQS0_N15.926
U2000.R2:U4001.A815.9260.09733
DDR2_DQS0_P15.876
U2000.R1:U4001.B715.8760.09703
DDR2_BYTE1(11)
DDR2_DAT816.606
U2000.K2:U4001.G816.6060.10166
DDR2_DAT915.269
U2000.K1:U4001.G215.2690.09347
DDR2_DAT1016.170
U2000.M3:U4001.H716.1700.09899
DDR2_DAT1115.871
U2000.M4:U4001.H315.8710.09716
DDR2_DAT1214.279
U2000.M2:U4001.H114.2790.08741
DDR2_DAT1316.648
U2000.M1:U4001.H916.6480.10192
DDR2_DAT1414.158
U2000.N2:U4001.F114.1580.08667
DDR2_DAT1516.420
U2000.N1:U4001.F916.4200.10052
DDR2_DQM116.364
U2000.K3:U4001.F316.3640.10017
DDR2_DQS1_N15.674
U2000.L2:U4001.E815.6740.0958
DDR2_DQS1_P15.727
U2000.L1:U4001.F715.7270.09612

Thank you in advance!

Francois.


Viewing all articles
Browse latest Browse all 17527

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>