[SI-LIST] Re: How to simulate worse case eye

  • From: "Alfred P. Neves" <al.neves@xxxxxxxxxxx>
  • To: "'Dmitriev-Zdorov, Vladimir'" <vladimir_dmitriev-zdorov@xxxxxxxxxx>, "'QU Perry'" <Perry.Qu@xxxxxxxxxxxxxxxxxx>, <si-list@xxxxxxxxxxxxx>
  • Date: Wed, 11 Mar 2009 11:40:42 -0700

Dmitriev,
 

 

 

The EDA folks have done a great job of improving the algorithms and reducing
the time to evaluate much longer bit patterns.  No doubt about it, a great
arrow in the S.I.'s Engineer quiver of tools.  Hyperlynx, Agilent ADS,
HSPICE, we use these tools all the time, they are fantastic and could not do
our work without them.  The raw simulations speeds of long patterns have
dramatically improved with improved calculation engines, 64 bit processing,
etc., great stuff! 

 

Now the however part:   The methodology of pushing "magic button", simulate
gazillions of bits in a practical sense is too intractable for either the
debug or design work we typically we perform.   Our perspective is that the
approach of simulating long bit streams is complementary in nature, you
still need to intimately understand the physical layer with 3D field solver
analysis, and measure-based tools such as IConnect, PLTS, etc,  I once had a
jitter RJ-DJ extraction tool from a major vendor report that there was 4UI
of Total Jitter due to jitter overestimation of RJ, how do you obtain 4UI of
TJ?   Scott and I used simple TDR and 3D solver analysis to understand the
real problem, which was crosstalk.  

 

 

Practical examples...   30inch backplane has a large reflection at the RX,
10Gbspec system.  The reflection each way, for 30inches, 170psec/inch prop
velocity is 5.1nsec.  This relates roughly to only 100bits round trip.  For
other practical cases, such as PDN, the resonance is roughly proportional to
the geometries of the system.  For a 10MHz resonance (practical geometry
lamda/4), you would need more than only 1000bits at 10Gbspec to extract a
full peak-peak cycle of DJ.   In a symmetric system (VCO and PLL's are
balanced topologies, and not a lot of mode conversion), typically the CDR's
have very high tolerance to low frequency energy and can handle many U.I.'s
of jitter, so I often don?t care (lower priority, but I still want to fix it
later) about low frequency jitter in systems that have BER issues.

 

From our perspective, the poor return loss at the RX is THE important issue
or the resonance of the plane is THE issue, and my "Gazzilionator" software
package isn?t going to help me much to solve this problem.

 

Regards,

Alfred P. Neves

Hillsboro Office: 
735 SE 16th Ave. 
Hillsboro, OR, 97123 
(503) 718 7172   Business 
(503) 679 2429   Mobile 
  
Main Corporate office: 
Teraspeed Consulting Group LLC 
121 North River Drive 
Narragansett, RI 02882 
(401) 284-1827 Business 
(401) 284-1840 Fax 
 <blocked::blocked::http://www.teraspeed.com/> http://www.teraspeed.com 
  
Teraspeed is the registered service mark 
of Teraspeed Consulting Group LLC 

 

----Original Message-----
From: Dmitriev-Zdorov, Vladimir [mailto:vladimir_dmitriev-zdorov@xxxxxxxxxx]

Sent: Wednesday, March 11, 2009 9:34 AM
To: al.neves@xxxxxxxxxxx; QU Perry; si-list@xxxxxxxxxxxxx
Subject: RE: [SI-LIST] Re: How to simulate worse case eye

 

Alfred,

 

It is true that the longevity of impulse response measured in bit intervals
determines the problem complexity. Good design is to prevent reflections and
sharp resonances thus making ISI shorter and smaller. However, in presence
of low frequency resonances (much lower than the bit rate) we may have
problems.

I'm not going to analyze the causes of such resonances; these could be
signal paths, or PDN or something else. Just let us say that a priori we do
not exclude a possibility for a channel to have a relatively long impulse
response. If it is short, that's OK: peak distortion or another worst case
analysis will show that there are no serious problems. But if it is longer
than we think it is, that's not good.

Sometimes, it is difficult to decide where we have to truncate the response.
Here, worst case solution also helps. If we perform such analysis twice and
don't see further eye degradation with longer response, this gives us some
confidence. 

If we look at the spectrum density of non-cyclic PRBS, most of its energy is
concentrated below 0.5...0.7 of its base frequency. For 8b10b constrained
pattern, spectral density has a cut-out around zero frequency and most of
its energy is between 0.01 and 0.5 of the base frequency. Hence, much
depends on whether this portion of the spectrum coincides with some
peculiarities of the channel's transfer function.

 

Yes, it is true that there are many other factors affecting the eye
(crosstalk, noise and jitter). In the worst case analysis we can try to
account for some phenomena that can be considered in a relatively simple
deterministic way (ISI, some types of SSO and crosstalk). But if we cannot
(algorithms become too complicated, or the effect is not deterministic) then
yes, we perform other types of analysis, such as time domain and
statistical, as we always did. Still, we may want to see how these
additional factors will affect the eye already stressed by the 'worst case'
input pattern.

 

My opinion about 'gazillions' of bits is the same: we don't have to, because
just the effect of ISI, mode conversions or crosstalk can be estimated much
faster with worst case analysis.

 

However, another interesting side of this problem is a relation of the worst
case and statistical analysis. For example, if from peak distortion analysis
we find that the worst combination of input bits, crosstalk and
deterministic noise or jitter reduces the eye size beyond the required mask,
has the design failed? Not always. Worst case analysis could be overly
pessimistic. It may easily give you the worst case solution that has a
probability of 1e-50 or smaller, that simply has no practical meaning. Only
combined with statistical analysis, and verified by time domain simulation,
worst case estimation provides a practically useful answer.

 

Vladimir

 

-----Original Message-----

From: Alfred P. Neves [mailto:al.neves@xxxxxxxxxxx] 

Sent: Tuesday, March 10, 2009 6:57 PM

To: 'QU Perry'; Dmitriev-Zdorov, Vladimir; si-list@xxxxxxxxxxxxx

Subject: RE: [SI-LIST] Re: How to simulate worse case eye

 

Am I missing something here?  If I examine a full S-parameter description of

a LTI passive channel that is relatively behaved, such that there are no

deep resonances within the first or second spectral null frequency of the

input TX power spectral density, my experience suggests that ISI impacts

between n-bits of data is relatively constrained to a reasonable length. In

fact I believe this is shown by expanding the impulse response of the

channel into a Taylor series such that the higher order terms generally drop

off rapidly suggesting there is a reasonable constraint.  In other words,

higher order derivatives (such as deep VIA or cavity type resonances) relate

to a longer interaction ISI length.  

 

Worse eye pathology, in my experience, is dramatically impacted by the noise

injected into PLL-VCO substrates, crosstalk from long length PRBS

aggressors, supply resonance, RJ due to PLL VCO, SSO, SSN, RJ due to input

referred noise to the RX, variations of PLL loop dynamics to long 111's or

0000's, etc.,.  Adding silicon changes the picture in other words.   

 

Is running gazzilions of bits for passive LTI channels (no Pll's or RJ in

other words) a solution looking for a problem?   My thinking is that be

evaluating the channel's signal integrity (including mode conversion,

crosstalk as measured with S-parameters, impedance variation, etc,) you will

learn a lot more than running LOTS of bits in the time domain.   

 

It would be interesting to chart (simulated and measured) peak-peak DJ

versus simulation run length in #bits for a host of channel models ranging

from very well behaved to very poor S.I. and maybe highly resonant, also

including a channel model with 1-7% PRBS crosstalk with varying length (2^7

to 2^31).   

 

 

 

 

 

Alfred P. Neves    `·.¸¸.·´¯`·.. ><((((º>

 

                   .¸¸.·´¯`·.¸><((((º>`·.¸¸.·´¯`·.. ><((((º>   

 

735 South East 16th Avenue

 

Hillsboro, OR 97123

 

(503) 718 7172 Office

 

(503) 679 2429 Mobile

 

 

-----Original Message-----

From: si-list-bounce@xxxxxxxxxxxxx [mailto:si-list-bounce@xxxxxxxxxxxxx] On

Behalf Of QU Perry

Sent: Tuesday, March 10, 2009 1:28 PM

To: Dmitriev-Zdorov, Vladimir; si-list@xxxxxxxxxxxxx

Subject: [SI-LIST] Re: How to simulate worse case eye

 

Hi, Vladmir:

 

Thanks for the pointer. I will take a look of the training video. Will

also check what's new on HL 8.0. Currently we are running 7.7 but we

plan to try the 8.0 Beta.

 

Agree that running long PRBS pattern in Hspice or any time domain solver

is very time consuming, but as a minimum I hope that I can verify the

fasteye algorithm to certain extent by doing some comparisons on

selected case with old/plain Hspice simulation and get some confidence

on the results.

 

On a side note, I wish we can separate Hspice with Hyperlynx as my

limited experience of running Hspice within HL is not very positive.

Another issue is encrypted I/O model and it's not very straightforward

to run Hspice sim within HL using encrypted models. Will I be able to

run a pulse/step response outside of HL and just bring in a voltage/time

waveform into HL for fast eye calculation? That would be ideal for me.

We can talk more offline or if you have a support person that I should

speak to, please let me know.

 

Regards

 

Perry

 

======================================= 

 

Perry Qu 

 

IPD Design & Qualification, Alcatel-Lucent Canada Inc.

 

600 March Road, Ottawa ON, K2K 2E6, Canada 

 

DID: 613-7846720  Fax: 613-5993642 

 

Email: perry.qu@xxxxxxxxxxxxxxxxxx 

 

======================================= 

 

 

-----Original Message-----

From: Dmitriev-Zdorov, Vladimir

[mailto:vladimir_dmitriev-zdorov@xxxxxxxxxx] 

Sent: Tuesday, March 10, 2009 1:27 PM

To: QU Perry; si-list@xxxxxxxxxxxxx

Subject: RE: [SI-LIST] Re: How to simulate worse case eye

 

 

Hi Perry,

 

In fact, you may choose between at least 3 different simulators when

running for step or impulse response in Hyperlynx (including HSPICE;

they are integrated). The result of this test simulation is fed directly

to FastEye engine that is a part of Hyperlynx and performs fast time

domain, worst case and statistical analysis for eye diagram/BER etc.

 

>I was thinking about feeding a PRBS31 pattern into a 8b/10B encoder and

use >the output of encoder as input excitation in simulation.

 

Yes, this is a good idea. In "fast" time domain analysis, we support

pseudo random generation of the 8b/10b pattern, but we do not base this

generation on any cyclic source, like LFSR, to avoid periodicity. This

way we may get any combination that does fit into 8b/10b constrains.

However, even though 8b/10b is a subclass of general unconstrained

pattern, it still has sufficient "variability" preventing us from

finding the worst case by simply performing long simulation. For

example, some time ago, we performed an experiment where such non-cyclic

"pseudo random" 8b10b pattern was running on 1 trillion = 1e12 bits

(took about 3 weeks to complete). Still, the resulting eye contour was

unable to approach to a 100 bit long worst 8b10b combination that can be

found from the worst case analysis in a fraction of a second. The eye

height that the worst pattern provided was about 12% smaller than we get

from this long simulation.

My guess is that PRBS7 is often used as a substitute for 8b10b, because

it has approximately same running length. However, it still may have 7

ones in a row, and in a long run, it does not support disparity between

its 4/6 bit words, and globally: with 127 bit period, it simply cannot

contain equal number of ones and zeros.

 

Vladimir

 

 

There is a tutorial video showing how you use HyperLynx FastEye in v7.7

which is the tool that generates the worst case bit sequence.  

http://supportnet.mentor.com/reference/tutorials/50024.cfm

 

There is also a possibility to get the license and try the new beta

version that is more flexible in terms of providing channel

characterization.

 

 

 

-----Original Message-----

From: QU Perry [mailto:Perry.Qu@xxxxxxxxxxxxxxxxxx] 

Sent: Tuesday, March 10, 2009 10:32 AM

To: Dmitriev-Zdorov, Vladimir; si-list@xxxxxxxxxxxxx

Cc: Oh, Dan

Subject: RE: [SI-LIST] Re: How to simulate worse case eye

 

Hi, Vladimir:

 

Would you be able to provide some more details on the simulation flow

you mentioned using Hyperlynx? If I understand correctly, you extract

step response or pulse response separately in Hspice and then feed that

waveform into HL for worst case eye simulation ? Do we need the new

version of HL for that (8.0)?

 

I also share your observation on using long PRBS pattern on AC coupled

serdes channel can be over-pessimistic for 8b/10b encoded system from DC

balance point of view. PRBS7 on the other hand does provide enough

pattern variation and can be too optimistic. I was thinking about

feeding a PRBS31 pattern into a 8b/10B encoder and use the output of

encoder as input excitation in simulation. We asked Synopsys to add

8b/10b encoder in LSFR function and they agreed to do that.

 

Dan: I'm interested in your paper. Can you please send me a copy?

 

Thanks!

 

Perry

 

======================================= 

 

Perry Qu 

 

IPD Design & Qualification, Alcatel-Lucent Canada Inc.

 

600 March Road, Ottawa ON, K2K 2E6, Canada 

 

DID: 613-7846720  Fax: 613-5993642 

 

Email: perry.qu@xxxxxxxxxxxxxxxxxx 

 

======================================= 

 

 

-----Original Message-----

From: si-list-bounce@xxxxxxxxxxxxx [mailto:si-list-bounce@xxxxxxxxxxxxx]

On Behalf Of Dmitriev-Zdorov, Vladimir

Sent: Saturday, March 07, 2009 10:02 AM

To: Dmitriev-Zdorov, Vladimir; si-list@xxxxxxxxxxxxx

Subject: [SI-LIST] Re: How to simulate worse case eye

 

Tim/Joel,

Perhaps, I should have given more details in my previous reply.

 

Yes, the paper of Brian Casper, and even some earlier works give us a

method of building an unconstrained worst case pattern; that is

relatively simple. I would also recommend reading this paper as an

excellent introduction into the topic.

 

However, this approach does not answer all practical needs, including

the following.

 

1.    Encoded worst case pattern. In many important cases the

unconstrained worst case solution does not have much value. If e.g. the

SERDES channel includes series capacitor(s), we know that the eye will

be closed by sufficiently long series of logical 'ones' or 'zeros'. The

longer is a series of identical bits, the more closed the eye becomes.

In this sense, there is no 'worst' unconstrained solution, unless the

pattern length is limited. Of course, in such channels only encoded

binary inputs are allowed (8b10b or some others), with their imparity

and running length constraints, for which the idea of 'worst case

pattern' makes a perfect sense. There exists a solution for such case in

HL.

2.    Some types of non-LTI behavior. For example, in many cases the

responses to rising and falling transitions are not symmetrical, that

means their sum R(t) + F(t) is not identical constant. There are several

sources of this phenomenon: (a) persistent time shift between R/F

transitions (DCD), (b) asymmetry of PU and PD I-V or timing

characteristics in a single ended channel, or (c) partial conversion of

near end common signal into far end differential signal, that may occur

even with identical differential buffers, if linear part of the channel

is not ideally symmetric (creates differential skew).

 

In the recent Mentor/Tek paper "New methods of measuring the performance

of equalized serial data links and correlation of performance measures

across the design flow..." from DesignCon2009 we considered worst case

solutions, including cases (1), (2) and combination of (1) and (2).

 

 

 

 

 

 

 

 

 

 

 

> 

> 

> 

> 

 

 

Joel,

 

I'm sure there will be no shortage of recommendations here, but here's

my contribution:

 

It's pretty easy to determine the worst case pattern for a single route,

assuming the system is linear-time-invariant.

 

1. Start by generating the pulse response of the system.

 

2. Then sample the response at UI intervals from the Peak or cursor

sample, or just eyeball the ISI at these intervals.

 

3. Based on the direction or polarity of the ISI terms, and their

relative distances from the cursor (in UI), you can determine what input

pattern can be used to maximize the combined contributions of the ISI

terms. Positive-going ISI terms eat away from the nominal zero level,

and negative-going ISI terms eat away from the nominal one level.

 

4. You can then move your cursor away from the peak of the pulse

response and repeat the process to determine patterns targeting points

across the width of the eye if desired.

 

 

If you haven't read it, check out Bryan Casper's paper describing the

use of Peak Distortion analysis to generate Worst Case Eyes. It doesn't

explicitly tell you how to generate the worst case pattern, but it may

inspire you.

 

B.K. Casper, et al, "An accurate and efficient analysis method for

multi-Gb/s chip-to-chip signaling schemes."

 

If you've got IEEE access:

http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber15043&isnumber!8

31 

 

 

Tim Hollis

DRAM Design

Micron Technology, Inc.

 

 

 

-----Original Message-----

From: si-list-bounce@xxxxxxxxxxxxx [mailto:si-list-bounce@xxxxxxxxxxxxx]

On Behalf Of Joel Brown

Sent: Friday, March 06, 2009 3:35 PM

To: SI-LIST@xxxxxxxxxxxxx

Subject: [SI-LIST] How to simulate worse case eye

 

I was watching a webinar by Mentor on Hyperlynx and how they can quickly

generate a prbs pattern that results in a worse case eye diagram. They

said

without this feature it could take days or even years of simulation to

do

this.

I do most of my simulation in hspice since most of my models are based

in

Hspice.

 

Is there a way to do what Mentor is claiming in Hspice by generating a

certain pattern?

 

I have been using the following code for a prbs sequence:

 

 

 

vin inr vcm LFSR(0.1 -0.1 1n 5ps 5ps 

 

+ 'data_rate' 1 [7,4,1] rout=0)

 

vinn innr vcm LFSR(-0.1 0.1 1n 5ps 5ps 

 

+ 'data_rate' 1 [7,4,1] rout=0)

 

 

 

Thanks - Joel

 

 

 

 

------------------------------------------------------------------

To unsubscribe from si-list:

si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field

 

or to administer your membership from a web page, go to:

//www.freelists.org/webpage/si-list

 

For help:

si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field

 

 

List technical documents are available at:

                http://www.si-list.net

 

List archives are viewable at:     

            //www.freelists.org/archives/si-list

or at our remote archives:

            http://groups.yahoo.com/group/si-list/messages

Old (prior to June 6, 2001) list archives are viewable at:

            http://www.qsl.net/wb6tpu

  

 

------------------------------------------------------------------

To unsubscribe from si-list:

si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field

 

or to administer your membership from a web page, go to:

//www.freelists.org/webpage/si-list

 

For help:

si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field

 

 

List technical documents are available at:

                http://www.si-list.net

 

List archives are viewable at:     

            //www.freelists.org/archives/si-list

or at our remote archives:

            http://groups.yahoo.com/group/si-list/messages

Old (prior to June 6, 2001) list archives are viewable at:

            http://www.qsl.net/wb6tpu

  


------------------------------------------------------------------
To unsubscribe from si-list:
si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field

or to administer your membership from a web page, go to:
//www.freelists.org/webpage/si-list

For help:
si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field


List technical documents are available at:
                http://www.si-list.net

List archives are viewable at:     
                //www.freelists.org/archives/si-list
or at our remote archives:
                http://groups.yahoo.com/group/si-list/messages
Old (prior to June 6, 2001) list archives are viewable at:
                http://www.qsl.net/wb6tpu
  

Other related posts: