Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

eye diagram measurement

Status
Not open for further replies.

shanmei

Advanced Member level 1
Joined
Jul 26, 2006
Messages
430
Helped
8
Reputation
16
Reaction score
8
Trophy points
1,298
Location
USA
Activity points
4,496
Hi,

I got the waveform, and I can fold it to a eye-diagram, but how can I automatically measure the height and width by using some script or software?

I observe the waveform by using custom waveview. Thanks.
 

eye diagrams assume you have a PLL synchronized clock with no jitter at twice the data frequency, so you see both polarities. Then the clock on ch 2 can be used to define the time scale reference to accumulate samples of different data patterns.

When I used to do this, circa mid 80's on RLL 1,2 and RLL 2,4 I used many methods and many different patterns of data for determining BER from the eye pattern and window margin and also for defect mapping on HDD's.

One method if you already have a discriminator , clock recovery and decoder, is to inject random jitter and find the error threshold in 1 message block at error free in X consecutive messages. then 10X consecutive messages and extrapolate.

This used 2 delay lines and a 3 way data selector for shifting data early, normal and late in a pseudo random algorithm.

Another method used the clock PLL and offset the clock early, late so the discriminator would start to read errors and find the error free threshold for X bits and 100X bits and extrapolate . This gives the noise limited slope of BER.

Naturally filters may cause ISI and you need to minimize this with raised cosine filters or whatever suits your channel.
We also used pattern dependant pre-compensated bit shift to offset the channel characteristics.

I used worst case patterns for ISI bit shift like 011011011 which worked for MFM or RLL,1,2 in Hex the pattern was 6DB, other RLL codes had different worst case patterns, so I could determine ISI budget. Then compared with pseudo-random data and best case data.

Then comparator for "slicer" asymmetry error Inused a symmetrical pattern like using 01010101 to determine the % of a bit in asymmetry.

THere were also Timing Margin Analyzers which made Histograms that indicated not just the spread of the window but the number of bits shifted by bin size and sorted +\- to look for other sources of bit shift error that were not random.

But I realize you just want to measure analog eye size, which is much easier method using a storage scope or perhaps a DSO with average mode. With analog you can have an overlay with digital you can extra using a 2x data clock for sync.

But this ultimately gives less information in the result compared to Histograms or actual bit error on a data stream or window margin at different data sizes to compute the slope of BER with forced margin reduction and then BER results in a quick test.

Consider one of these alternative methods.
 
Last edited:
Thanks.

If I have the eye diagram, is there any code that I can automatically measure the eye height?

I mean in cadence environment.
 
Last edited:

EyeDiagram function allows measurements of width and height of eye. Check all options of it
 
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top