Sign In

Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Visitor
mendx
Posts: 5
Registered: ‎11-23-2011
0

How to solve this problem(DDR3 SI simulation with Spartan6)

I am simulating the DDR3(MT41J64M16) signal integrity with Spartan6(XC6SLX45).


When writing DDR3, DQ and DQS/DQS# received signals are very well.
But when reading DDR3 to FPGA, FPGA received signals(DQ, DQS/DQS#) are terrible, which edges are non-monotonic.(Please see following pictures)


How to solve the problem?


When writing DDR3, FPGA DQ used "SSTL15_OT50_LR_33",  DDR3 DQ used DQ_34_ODT40_1066; FPGA DQS/DQS# used D_SSTL15_II_LR_33P/N, DDR3 DQS/DQS# used DQS_34_ODT40_1066.
When reading DDR3, FPGA DQ used "SSTL15_IN50M_LR_33",  DDR3 DQ used DQ_34_1066; FPGA DQS/DQS#

used D_SSTL15_I50M_LR_33P/N, DDR3 DQS/DQS# used DQS_34_1066.


Simulation model and waveform are followed:

DDR3_Spartan6.jpg

 

DDR3_Spartan6_DQ.jpg

 

DDR3_Spartan6_DQS-DQS#.jpg

 

 

Visitor
mendx
Posts: 5
Registered: ‎11-23-2011
0

Re: How to solve this problem(DDR3 SI simulation with Spartan6)

Anybody? Please help me!

Thank you very much!

Xilinx Employee
dann
Posts: 48
Registered: ‎03-23-2010
0

Re: How to solve this problem(DDR3 SI simulation with Spartan6)

[ Edited ]

Are all of the trace length guidelines met?

Visitor
mendx
Posts: 5
Registered: ‎11-23-2011
0

Re: How to solve this problem(DDR3 SI simulation with Spartan6)

I only simultated one Data(DQ0) and one pair DQS/DQS#(LDQS/LDQS#).

There are 1.56in trace and two vias between FPGA and DDR3.(First picture).

 

I simulated it using Hyperlynx 8.1. 

 

Expert Contributor
robinliuy
Posts: 337
Registered: ‎05-21-2008
0

Re: How to solve this problem(DDR3 SI simulation with Spartan6)

Is this simulated on die or on pin? Please make sure you simulate "on die". The following are some points you can try.\
1. Change DDR3 driver from 34ohm to 40ohm.
2. Try IN_TERM 25 or 75 at FPGA DQ and DQs.
Visitor
mendx
Posts: 5
Registered: ‎11-23-2011
0

Re: How to solve this problem(DDR3 SI simulation with Spartan6)

Thank you, robinliuy!

 

Is this simulated on die or on pin? Please make sure you simulate "on die".

FPGA side I used "SSTL15_IN50M_LR_33" as  DQ IBIS model. The simulation should be "on die".

 

The following are some points you can try.\
1. Change DDR3 driver from 34ohm to 40ohm.
2. Try IN_TERM 25 or 75 at FPGA DQ and DQs

When changing DDR3 driver from "DQ_34_1066" to "DQ_40_1066", or changing "SSTL15_IN50M_LR_33" to "SSTL15_IN25_LR_33"/"SSTL15_IN50_LR_33"/"SSTL15_IN75_LR_33",  the result was very much the same as before.

Visitor
mendx
Posts: 5
Registered: ‎11-23-2011
0

Re: How to solve this problem(DDR3 SI simulation with Spartan6)

I know the answer.

 

In hyperlynx the default  test probes are set "Always at the pins". So my default simulation results were signals at the pin.

When setting the probes "Always at the die", the FPGA received signals are very well.

Visitor
jfundora
Posts: 3
Registered: ‎04-09-2012
0

Re: How to solve this problem(DDR3 SI simulation with Spartan6)

Does your write voltage levels go from 1.5V to 0V and vice versa on the DQ signal?  I am asking because I have similar issues, but not sure if the voltage levels are suppose to go from 1.50V to 0V or if they just have to cross over the Vtt threshold of 750mV (mine go from ~1.2V to ~350mV).  Let me know.  Thanks!

Visitor
jfundora
Posts: 3
Registered: ‎04-09-2012
0

Re: How to solve this problem(DDR3 SI simulation with Spartan6)

Sorry forgot to ask in previous post.  What does your current waveforms look like?  Do you get the entire amperage from your DDR3 IBIS model or are you only getting some of it?  For example: when my DDR3 is driving the pulldown and pullup current is ~34.8mA.  On my current waveform I peak at 8mA and 16mA (as seen below).  Do you get these as well or do you get the full amperage?  Again sorry for double posting.

current waveform.bmp
Newbie
thomas20039
Posts: 1
Registered: ‎07-24-2012
0

Re: How to solve this problem(DDR3 SI simulation with Spartan6)

Hi.

 

I had the same probleme with an other FPGA and it corrected my problem too.

But i don't understand how can we know if we have to put "always at the die" or always at the pin" ??

 

I look every where in the datasheet and i don't find that....

 

Thank you.