Achieving Deterministic Latency in JESD204B Links

undefined
 
A
c
h
i
e
v
i
n
g
 
D
e
t
e
r
m
i
n
i
s
t
i
c
 
L
a
t
e
n
c
y
i
n
 
a
 
J
E
S
D
2
0
4
B
 
L
i
n
k
 
J
u
n
e
 
1
,
 
2
0
1
4
 
A
b
s
t
r
a
c
t
 
JESD204B links are the latest trend in data-converter digital interfaces.
These links take advantage of high speed serdes technology to offer
many compelling benefits including improved channel densities and
simplified board layouts. JESD204B expands upon existing JESD204
standards by including methods for achieving deterministic latency. This
presentation addresses one of the challenges of adopting the new
interface - understanding and designing the link latency.
 
The concepts and examples presented will enable a system designer to:
Understand the tradeoff between link latency and tolerance to link delay
variation
Guarantee deterministic latency across the JESD204B link
Use a formulaic and procedure-based approach to design the link latency
 
 
2
 
T
a
b
l
e
 
o
f
 
C
o
n
t
e
n
t
s
 
Defining latency in a JESD204B link
Deterministic latency intro
Guaranteeing deterministic latency
Steps to achieve deterministic latency
Verifying deterministic latency
Bonus!
 
L
a
t
e
n
c
y
 
i
n
 
a
 
J
E
S
D
2
0
4
B
 
L
i
n
k
 
 
W
h
a
t
 
i
s
 
L
a
t
e
n
c
y
?
 
Latency is defined as the total time (in seconds or clock cycles) it takes
a signal to travel from Point A to Point B
In a system:
Point A might be the input to the ADC
Point B might be the output of the DAC
In a JESD204B link:
Point A is the input to the JESD204B transmitter
Point B is the output of the JESD204B receiver’s elastic buffer
 
J
E
S
D
2
0
4
B
 
L
a
t
e
n
c
y
 
I
n
f
l
u
e
n
c
e
r
s
 
Device dependent
SYSREF propagation delay
JESD link layer
Serdes implementation
Board level
Channel (trace length, vias, connectors)
SYSREF propagation delay
Clock propagation delay
J
E
S
D
2
0
4
B
 
S
y
s
t
e
m
 
D
i
a
g
r
a
m
 
(
S
u
b
c
l
a
s
s
 
1
)
Data is sent over serdes lanes
Each device receives a “SYSREF” signal
to align LMFCs in each device
Each device receives a “device clock”
which is essentially the sample clock
The device clock captures the SYSREF
signal so setup and hold times must be met
 
L
a
t
e
n
c
y
 
i
n
 
a
 
J
E
S
D
2
0
4
B
 
L
i
n
k
 
L
a
t
e
n
c
y
 
D
e
f
i
n
i
t
i
o
n
s
 
L
i
n
k
 
D
e
l
a
y
 
 
d
e
l
a
y
 
f
r
o
m
 
w
h
e
n
 
t
h
e
 
s
a
m
p
l
e
d
 
p
a
r
a
l
l
e
l
 
d
a
t
a
 
i
s
 
i
n
p
u
t
 
t
o
 
t
h
e
s
e
r
i
a
l
i
z
e
r
 
a
t
 
t
h
e
 
t
r
a
n
s
m
i
t
t
e
r
 
(
A
D
C
/
F
G
P
A
)
 
u
n
t
i
l
 
t
h
e
 
s
a
m
e
 
d
a
t
a
 
i
s
 
p
r
e
s
e
n
t
e
d
 
a
t
t
h
e
 
i
n
p
u
t
 
t
o
 
t
h
e
 
e
l
a
s
t
i
c
 
b
u
f
f
e
r
 
i
n
 
t
h
e
 
r
e
c
e
i
v
e
r
 
(
F
P
G
A
/
D
A
C
)
 
L
a
t
e
n
c
y
 
D
e
f
i
n
i
t
i
o
n
s
 
L
i
n
k
 
L
a
t
e
n
c
y
 
 
t
h
e
 
l
a
t
e
n
c
y
 
f
r
o
m
 
w
h
e
n
 
t
h
e
 
s
a
m
p
l
e
d
 
p
a
r
a
l
l
e
l
 
d
a
t
a
 
i
s
 
i
n
p
u
t
 
t
o
t
h
e
 
s
e
r
i
a
l
i
z
e
r
 
a
t
 
t
h
e
 
t
r
a
n
s
m
i
t
t
e
r
 
(
A
D
C
/
F
P
G
A
)
 
u
n
t
i
l
 
t
h
e
 
s
a
m
e
 
d
a
t
a
 
i
s
 
a
v
a
i
l
a
b
l
e
 
i
n
p
a
r
a
l
l
e
l
 
f
o
r
m
 
a
t
 
t
h
e
 
o
u
t
p
u
t
 
o
f
 
t
h
e
 
e
l
a
s
t
i
c
 
b
u
f
f
e
r
 
i
n
 
t
h
e
 
r
e
c
e
i
v
e
r
 
(
F
P
G
A
/
D
A
C
)
W
h
i
c
h
 
o
n
e
 
i
s
 
D
e
t
e
r
m
i
n
i
s
t
i
c
 
L
a
t
e
n
c
y
r
e
f
e
r
r
i
n
g
 
t
o
?
W
h
i
c
h
 
b
l
o
c
k
 
e
n
a
b
l
e
s
 
D
e
t
e
r
m
i
n
i
s
t
i
c
L
a
t
e
n
c
y
?
 
Why?
 
D
e
t
e
r
m
i
n
i
s
t
i
c
 
L
a
t
e
n
c
y
 
I
n
t
r
o
 
 
W
h
a
t
 
i
s
 
D
e
t
e
r
m
i
n
i
s
t
i
c
 
L
a
t
e
n
c
y
?
 
W
i
k
i
p
e
d
i
a
:
 
A
 
d
e
t
e
r
m
i
n
i
s
t
i
c
 
s
y
s
t
e
m
 
i
s
 
a
 
s
y
s
t
e
m
 
i
n
 
w
h
i
c
h
n
o
 
r
a
n
d
o
m
n
e
s
s
 
i
s
 
i
n
v
o
l
v
e
d
 
i
n
 
t
h
e
 
d
e
v
e
l
o
p
m
e
n
t
 
o
f
 
f
u
t
u
r
e
 
s
t
a
t
e
s
 
o
f
 
t
h
e
s
y
s
t
e
m
.
 
A
 
d
e
t
e
r
m
i
n
i
s
t
i
c
 
m
o
d
e
l
 
w
i
l
l
 
t
h
u
s
 
a
l
w
a
y
s
 
p
r
o
d
u
c
e
 
t
h
e
 
s
a
m
e
o
u
t
p
u
t
 
f
r
o
m
 
a
 
g
i
v
e
n
 
s
t
a
r
t
i
n
g
 
c
o
n
d
i
t
i
o
n
 
o
r
 
i
n
i
t
i
a
l
 
s
t
a
t
e
.
The most important aspect of deterministic latency is that the latency
should 
stay constant from system startup to startup.
Having “deterministic latency” does not necessarily mean the latency is
known
How do we achieve deterministic latency?
JESD204B defines two mechanisms for deterministic latency called
“subclasses”
J
E
S
D
2
0
4
B
 
S
u
b
c
l
a
s
s
e
s
 
W
h
i
c
h
 
S
y
s
t
e
m
s
 
M
a
y
 
N
e
e
d
 
D
e
t
e
r
m
i
n
i
s
t
i
c
L
a
t
e
n
c
y
?
 
Applications sensitive to latency
Digital pre-distortion (DPD) control loops
Automatic gain control loops (AGC)
Defensive counter measures
Any system that requires multi-device synchronization
Multi-antenna communications systems
Phased array radar
Magnetic Resonance Imaging (MRI)
 
H
o
w
 
D
o
e
s
 
J
E
S
D
2
0
4
B
 
A
c
h
i
e
v
e
D
e
t
e
r
m
i
n
i
s
t
i
c
 
L
a
t
e
n
c
y
?
 
Sequence of events for subclass 1:
1.
SYSREF is sent to all devices at the same point in time to align their local
multi-frame clocks
2.
All transmitters issue an /A/ or /R/ character at the same point in time based
on the LMFC clock edge.
- Channel and device variations will skew the lanes relative to each other
3.
As each RX receives the /A/ or /R/ character, it starts to buffer it’s data
4.
Once all RXs receive their /A/ or /R/ character and the “buffer release point”
has been reached (e.g. LMFC rising edge), all RXs release their data from
the buffer which is now time aligned
 
I
n
i
t
i
a
l
 
L
a
n
e
 
A
l
i
g
n
m
e
n
t
 
S
e
q
u
e
n
c
e
 
From step 2 on previous slide, each transmitter sends the /A/ or /R/ character at
the same point in time by using the initial lane alignment sequence
All transmitters transmit the ILA starting at an LMFC rising edge
The /A/ or /R/ characters are the trigger signal for deterministic latency
 
1. SYSREF is used
to align LMFCs
 
2. After SYNC is
received, all lanes
send ILAS on next
LMFC edge
 
3. Each lane starts
buffering it’s data
when it receives
the trigger (R or A
char)
 
4. All lanes are
released on the
next LMFC edge
and are now
aligned
Deterministic Latency Visual
x
 
G
u
a
r
a
n
t
e
e
i
n
g
 
D
e
t
e
r
m
i
n
i
s
t
i
c
L
a
t
e
n
c
y
 
H
o
w
 
D
o
 
W
e
 
G
u
a
r
a
n
t
e
e
 
D
e
t
e
r
m
i
n
i
s
t
i
c
L
a
t
e
n
c
y
?
There are two requirements needed to guarantee deterministic latency
from startup to startup:
1.
Guarantee the LMFCs in each device are aligned (or have constant
phase difference) every time the system starts
2.
Set release point to occur after the latest arriving lane by:
Having total link delay less than the LMFC period
Setting a buffer release point that occurs after all lanes have arrived
 
This is what the standard expects,
but it’s not always possible based on
hardware tradeoffs  (smaller buffers)!
 
1
.
 
A
l
i
g
n
i
n
g
 
t
h
e
 
L
M
F
C
s
 
i
n
 
E
a
c
h
 
D
e
v
i
c
e
 
The LMFCs need to be aligned in each device to create a known timing
reference point
All devices should receive SYSREF in unison every time the system starts
SYSREF must meet setup and hold times relative to device clocks
Technically the LMFCs can be misaligned, but the phase difference
needs to be the same every time the system starts
2
.
 
S
e
t
 
R
e
l
e
a
s
e
 
P
o
i
n
t
 
t
o
 
O
c
c
u
r
 
A
f
t
e
r
 
t
h
e
L
a
t
e
s
t
 
A
r
r
i
v
i
n
g
 
L
a
n
e
The standard says that the total link delay should be less than the
LMFC period, so the easy choice is to set the release point at the
LMFC edge
The LMFC period is decided by the linerate, F (octets per frame), and K (frames per
multi-frame)
LMFC period = 10 * F * K / Linerate
10 = number of bits per octet
For example, if F = 8, K = 16, and the linerate is 7372.8 Mbps, then the LMFC period
is 173.6 ns.
In the example, if the total link delay is less than 173.6 ns then the LMFC period
can be chosen as the release point
 
What happens if the total link delay is greater than 173.6 ns?
 
B
u
f
f
e
r
 
R
e
l
e
a
s
e
 
P
o
i
n
t
 
The elastic buffer release point can be shifted from the LMFC rising
edge by using the RBD parameter
RBD is defined as a shift in the elastic buffer release point from the
LMFC rising edge by “RBD” frame periods
So an RBD setting of 4 shifts the release point 4 frame cycles from the
LMFC rising edge
Frame period = 10 * F / Linerate
RBD must be between 1 and K.
RBD of K corresponds to the LMFC edge
RBD can be used for:
RBD is used to release the buffer earlier to achieve minimum latency
RBD is used to shift the release point away from the area of uncertainty
near the total link delay
 
24
W
h
a
t
 
H
a
p
p
e
n
s
 
w
i
t
h
 
I
n
c
o
r
r
e
c
t
 
R
e
l
e
a
s
e
P
o
i
n
t
?
Consider the following scenario:
The LMFC period is 50 ns
The delay for each lane is 100 ns +/- 10 ns (90 ns to 110 ns)
Assume the buffer release point is set to the 
LMFC clock rising edge
 
Why is there variation on
the data delay?
T
h
e
 
l
a
t
e
s
t
 
a
r
r
i
v
i
n
g
 
l
a
n
e
 
a
r
r
i
v
e
s
 
a
t
 
9
0
 
n
s
 
Buffer releases on
LMFC rising edge
5
0
 
n
s
 
T
o
t
a
l
 
l
a
t
e
n
c
y
 
i
s
 
1
0
0
 
n
s
D
a
t
a
 
d
e
l
a
y
 
i
s
 
9
0
 
n
s
T
h
e
 
l
a
t
e
s
t
 
a
r
r
i
v
i
n
g
 
l
a
n
e
 
a
r
r
i
v
e
s
 
a
t
 
1
1
0
 
n
s
 
T
o
t
a
l
 
l
a
t
e
n
c
y
 
i
s
 
1
5
0
 
n
s
5
0
 
n
s
D
a
t
a
 
d
e
l
a
y
 
i
s
 
1
1
0
 
n
s
 
B
u
f
f
e
r
 
r
e
l
e
a
s
e
s
 
o
n
 
n
e
x
t
L
M
F
C
 
r
i
s
i
n
g
 
e
d
g
e
 
I
n
c
o
r
r
e
c
t
 
R
e
l
e
a
s
e
 
P
o
i
n
t
 
In this example, the latency IS NOT deterministic because it is not
consistent from startup to startup
How do we avoid this scenario?
1.
Calculate the expected maximum lane delay
2.
Choose a release point that occurs after the maximum lane delay
U
s
i
n
g
 
R
B
D
 
t
o
 
s
h
i
f
t
 
t
h
e
 
r
e
l
e
a
s
e
 
p
o
i
n
t
 
Set RBD = K/2
 
T
o
t
a
l
 
l
a
t
e
n
c
y
 
i
s
 
1
2
5
 
n
s
 
f
o
r
 
a
l
l
 
c
a
s
e
s
5
0
 
n
s
D
a
t
a
 
d
e
l
a
y
 
i
s
 
1
1
0
 
n
s
 
Release Point occurs “RBD” frame
cycles after the LMFC boundary
 
R
B
D
 
A
c
h
i
e
v
i
n
g
 
D
e
t
e
r
m
i
n
i
s
t
i
c
 
L
a
t
e
n
c
y
 
 
3
-
S
t
e
p
 
P
r
o
c
e
s
s
 
f
o
r
 
D
e
t
e
r
m
i
n
i
s
t
i
c
 
L
a
t
e
n
c
y
 
Deterministic latency can be achieved using this three step process
 
1.
Determine Alignment of LMFCs
2.
Calculate expected link delay (accounting for variation)
3.
Choose release point that provides margin against error
 
S
t
e
p
 
1
:
 
D
e
t
e
r
m
i
n
e
 
A
l
i
g
n
m
e
n
t
 
o
f
 
L
M
F
C
s
 
Things to consider:
Propagation delay of SYSREF and device clocks across board
Purposefully added delays to SYSREF, such as analog delays or dynamic
digital delays (like in LMK04828)
Delays from SYSREF input pins to resetting of LMFC (internal to devices)
 
L
M
F
C
 
A
l
i
g
n
m
e
n
t
 
B
e
t
w
e
e
n
 
D
e
v
i
c
e
s
 
 
The “SYSREF pin to LMFC reset” timing may be different for each
device
Some datasheets will specify SYSREF to LMFC timing for various
modes (e.g. DAC38J84) and this delay needs to be added to the LMFC
delay.
 
D
A
C
3
8
J
8
4
 
S
Y
S
R
E
F
 
t
o
 
L
M
F
C
 
L
a
t
e
n
c
y
S
t
e
p
 
2
:
 
C
a
l
c
u
l
a
t
e
 
L
i
n
k
 
D
e
l
a
y
 
These delays will come from the datasheet
or need to be measured or calculated
 
LMFC alignment between TX and
RX has already been determined
 
Variations occur due to device
variances (specified in datasheet)
or due to PVT effects
 
Total Link Delay = t
TX_SER
 + t
LANE
 + t
RX_DESER
 +/- t
VARIANCE
 
S
t
e
p
 
3
:
 
C
h
o
o
s
e
 
B
u
f
f
e
r
 
R
e
l
e
a
s
e
 
P
o
i
n
t
 
Choose release point that
guarantees enough
margin around the
expected lane arrival
 
S
u
m
m
a
r
y
 
o
f
 
C
a
l
c
u
l
a
t
i
o
n
 
We have done the following:
1.
Determined LMFC alignment between TX and RX
2.
Calculated total link delay
3.
Determined the appropriate buffer release point
 
1
 
2
 
3
T
o
t
a
l
 
L
i
n
k
 
L
a
t
e
n
c
y
The total link latency can be calculated using the following formula
“n” is the number of whole RX multi-frames traversed for the case
where the total link delay exceeds one LMFC cycle
Link Latency = (n * K + RBD) * T
FRAME
 + (t
RX_LMFC
 – t
TX_LMFC
)
 
1
 
2
 
n = 2
 
A
d
d
 
A
D
C
 
o
r
 
D
A
C
 
l
a
t
e
n
c
y
 
f
o
r
 
T
o
t
a
l
 
L
a
t
e
n
c
y
 
V
e
r
i
f
y
i
n
g
 
D
e
t
e
r
m
i
n
i
s
t
i
c
 
L
a
t
e
n
c
y
 
 
E
x
a
m
p
l
e
 
S
y
s
t
e
m
 
D
i
a
g
r
a
m
 
D
e
t
e
r
m
i
n
i
s
t
i
c
 
L
a
t
e
n
c
y
 
T
e
s
t
 
S
e
t
u
p
 
1.
Generate a pulse with FPGA
2.
Capture FPGA pulse
with ADC
3.
Output ADC’s MSB from
FPGA
4.
Observe relative timing on scope
5.
Power up the system many times to
confirm the relative timing stays constant
 
D
e
v
i
c
e
 
S
e
t
u
p
 
f
o
r
 
T
e
s
t
 
ADC = ADC16DX370 (16-bit, dual channel, 370 MSPS)
Device clock = 370 MHz (2.7 ns)
JESD204B Parameters
L = 4, M = 2, F = 1, S = 1, K = 32
Frame cycle = 10 * F / Linerate = 10 * 1 / 3700 Mbps = 2.7 ns
LMFC cycle = Frame cycle * K = 2.7 ns * 32 = 86.4 ns
FPGA
Device clock = 92.5 MHz (10.8 ns)
 
A
d
d
i
t
i
o
n
a
l
 
D
e
l
a
y
s
 
i
n
 
S
y
s
t
e
m
 
Account for non-device related delays in calculations
 
L
a
t
e
n
c
y
 
C
a
l
c
u
l
a
t
i
o
n
 
Per the previous slides, the latency is calculated as
For this experiment the following parameters apply
All units in Frame clock cycles
t
RX_LMFC
 = 28, t
TX_LMFC
 = 3.5, n = 2, K = 32, RBD=28
Link Latency = 116.5 frame clock cycles
The following also extend the latency
ADC16DX370 core latency = +12.5
DEVCLK routing skew and MSB output routing delay = +1.4
SYSREF/DEVCLK sampling skew = +1.5
Additional receiver processing delays
+3 rx_tdata release delay (for earliest sample in the 4-sample set output each period of 92.5MHz clock.
This delay may instead be +4)
+4 latching MSBs before output (at Fs/4 rate)
T
o
t
a
l
 
C
a
l
c
u
l
a
t
e
d
 
L
a
t
e
n
c
y
 
=
 
1
1
6
.
5
 
+
 
1
2
.
5
 
+
 
1
.
4
 
+
 
1
.
5
 
+
 
7
 
=
 
1
3
8
.
9
 
c
y
c
l
e
s
 
Link Latency = (n * K + RBD) * T
FRAME
 + (t
RX_LMFC
 – t
TX_LMFC
)
 
R
e
s
u
l
t
 
Calculated latency for
this setup is 138.9 frame cycles
Measured latency is
379.6 ns / 2.7 ns = 140.4 cycles
Note: Would have been better to
use a short pulse as test signal to
avoid confusion over correct output
pulse
Latency=379.6ns
 
B
o
n
u
s
!
 
W
h
a
t
s
 
t
h
e
 
e
a
s
i
e
s
t
 
w
a
y
 
t
o
 
a
c
h
i
e
v
e
d
e
t
e
r
m
i
n
i
s
t
i
c
 
l
a
t
e
n
c
y
?
1.
Setup a test similar to the one shown to observe relative delays
2.
Vary RBD until a 1 LMFC period latency jump is observed
3.
Choose release point by taking the last RBD value before the latency
jump was observed and add the expected latency variation to that
value (plus extra margin)
 
Release
Point
 
Release
Point
 
Release
Point
 
Release
Point
 
Release
Point
 
Release
Point
Total Latency
 
Optimal Release Point
undefined
 
E
n
d
!
 
 
49
Slide Note
Embed
Share

JESD204B links utilize high-speed serdes technology to provide benefits like improved densities and simplified layouts. This presentation discusses understanding and designing link latency, offering insights into achieving deterministic latency and managing link delay variations.

  • JESD204B links
  • Latency management
  • Serdes technology
  • Deterministic latency
  • System design

Uploaded on Feb 15, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Achieving Deterministic Latency in a JESD204B Link June 1, 2014

  2. Abstract JESD204B links are the latest trend in data-converter digital interfaces. These links take advantage of high speed serdes technology to offer many compelling benefits including improved channel densities and simplified board layouts. JESD204B expands upon existing JESD204 standards by including methods for achieving deterministic latency. This presentation addresses one of the challenges of adopting the new interface - understanding and designing the link latency. The concepts and examples presented will enable a system designer to: Understand the tradeoff between link latency and tolerance to link delay variation Guarantee deterministic latency across the JESD204B link Use a formulaic and procedure-based approach to design the link latency 2

  3. Table of Contents Defining latency in a JESD204B link Deterministic latency intro Guaranteeing deterministic latency Steps to achieve deterministic latency Verifying deterministic latency Bonus!

  4. Latency in a JESD204B Link

  5. What is Latency? Latency is defined as the total time (in seconds or clock cycles) it takes a signal to travel from Point A to Point B In a system: Point A might be the input to the ADC Point B might be the output of the DAC In a JESD204B link: Point A is the input to the JESD204B transmitter Point B is the output of the JESD204B receiver s elastic buffer

  6. JESD204B Latency Influencers Device dependent SYSREF propagation delay JESD link layer Serdes implementation Board level Channel (trace length, vias, connectors) SYSREF propagation delay Clock propagation delay

  7. JESD204B System Diagram (Subclass 1) Data is sent over serdes lanes Each device receives a SYSREF signal to align LMFCs in each device Each device receives a device clock which is essentially the sample clock The device clock captures the SYSREF signal so setup and hold times must be met

  8. Latency in a JESD204B Link

  9. Latency Definitions Link Delay delay from when the sampled parallel data is input to the serializer at the transmitter (ADC/FGPA) until the same data is presented at the input to the elastic buffer in the receiver (FPGA/DAC)

  10. Latency Definitions Link Latency the latency from when the sampled parallel data is input to the serializer at the transmitter (ADC/FPGA) until the same data is available in parallel form at the output of the elastic buffer in the receiver (FPGA/DAC)

  11. Which one is Deterministic Latency referring to?

  12. Which block enables Deterministic Latency? Why?

  13. Deterministic Latency Intro

  14. What is Deterministic Latency? Wikipedia: A deterministic system is a system in which no randomness is involved in the development of future states of the system. A deterministic model will thus always produce the same output from a given starting condition or initial state. The most important aspect of deterministic latency is that the latency should stay constant from system startup to startup. Having deterministic latency does not necessarily mean the latency is known How do we achieve deterministic latency? JESD204B defines two mechanisms for deterministic latency called subclasses

  15. JESD204B Subclasses Subclass Subclass 0 Mechanism for Deterministic Latency No support for deterministic latency (backward compatible with JESD204A). SYSREF signal is used to align LMFCs within all TX and RX devices. SYNC signal is used to align LMFCs, eliminating the need for SYSREF . LMFC is aligned based on when the SYNC signal is received from each data converter device. Complex timing means that this will only work below 500 MSPS. Subclass 1 Subclass 2

  16. Which Systems May Need Deterministic Latency? Applications sensitive to latency Digital pre-distortion (DPD) control loops Automatic gain control loops (AGC) Defensive counter measures Any system that requires multi-device synchronization Multi-antenna communications systems Phased array radar Magnetic Resonance Imaging (MRI)

  17. How Does JESD204B Achieve Deterministic Latency? Sequence of events for subclass 1: 1. SYSREF is sent to all devices at the same point in time to align their local multi-frame clocks 2. All transmitters issue an /A/ or /R/ character at the same point in time based on the LMFC clock edge. - Channel and device variations will skew the lanes relative to each other 3. As each RX receives the /A/ or /R/ character, it starts to buffer it s data 4. Once all RXs receive their /A/ or /R/ character and the buffer release point has been reached (e.g. LMFC rising edge), all RXs release their data from the buffer which is now time aligned

  18. Initial Lane Alignment Sequence From step 2 on previous slide, each transmitter sends the /A/ or /R/ character at the same point in time by using the initial lane alignment sequence All transmitters transmit the ILA starting at an LMFC rising edge The /A/ or /R/ characters are the trigger signal for deterministic latency

  19. Deterministic Latency Visual 1. SYSREF is used to align LMFCs received, all lanes send ILAS on next LMFC edge when it receives the trigger (R or A char) 4. All lanes are released on the next LMFC edge 2. After SYNC is 3. Each lane starts buffering it s data and are now aligned x

  20. Guaranteeing Deterministic Latency

  21. How Do We Guarantee Deterministic Latency? There are two requirements needed to guarantee deterministic latency from startup to startup: 1. Guarantee the LMFCs in each device are aligned (or have constant phase difference) every time the system starts 2. Set release point to occur after the latest arriving lane by: Having total link delay less than the LMFC period Setting a buffer release point that occurs after all lanes have arrived This is what the standard expects, but it s not always possible based on hardware tradeoffs (smaller buffers)!

  22. 1. Aligning the LMFCs in Each Device The LMFCs need to be aligned in each device to create a known timing reference point All devices should receive SYSREF in unison every time the system starts SYSREF must meet setup and hold times relative to device clocks Technically the LMFCs can be misaligned, but the phase difference needs to be the same every time the system starts

  23. 2. Set Release Point to Occur After the Latest Arriving Lane The standard says that the total link delay should be less than the LMFC period, so the easy choice is to set the release point at the LMFC edge The LMFC period is decided by the linerate, F (octets per frame), and K (frames per multi-frame) LMFC period = 10 * F * K / Linerate 10 = number of bits per octet For example, if F = 8, K = 16, and the linerate is 7372.8 Mbps, then the LMFC period is 173.6 ns. In the example, if the total link delay is less than 173.6 ns then the LMFC period can be chosen as the release point What happens if the total link delay is greater than 173.6 ns?

  24. Buffer Release Point The elastic buffer release point can be shifted from the LMFC rising edge by using the RBD parameter RBD is defined as a shift in the elastic buffer release point from the LMFC rising edge by RBD frame periods So an RBD setting of 4 shifts the release point 4 frame cycles from the LMFC rising edge Frame period = 10 * F / Linerate RBD must be between 1 and K. RBD of K corresponds to the LMFC edge RBD can be used for: RBD is used to release the buffer earlier to achieve minimum latency RBD is used to shift the release point away from the area of uncertainty near the total link delay 24

  25. What Happens with Incorrect Release Point? Why is there variation on the data delay? Consider the following scenario: The LMFC period is 50 ns The delay for each lane is 100 ns +/- 10 ns (90 ns to 110 ns) Assume the buffer release point is set to the LMFC clock rising edge

  26. The latest arriving lane arrives at 90 ns Buffer releases on LMFC rising edge 50 ns Data delay is 90 ns Total latency is 100 ns

  27. The latest arriving lane arrives at 110 ns Buffer releases on next LMFC rising edge 50 ns Data delay is 110 ns Total latency is 150 ns

  28. Incorrect Release Point In this example, the latency IS NOT deterministic because it is not consistent from startup to startup How do we avoid this scenario? 1. Calculate the expected maximum lane delay 2. Choose a release point that occurs after the maximum lane delay

  29. Using RBD to shift the release point Release Point occurs RBD frame cycles after the LMFC boundary Set RBD = K/2 50 ns RBD Data delay is 110 ns Total latency is 125 ns for all cases

  30. Achieving Deterministic Latency

  31. 3-Step Process for Deterministic Latency Deterministic latency can be achieved using this three step process 1.Determine Alignment of LMFCs 2.Calculate expected link delay (accounting for variation) 3.Choose release point that provides margin against error

  32. Step 1: Determine Alignment of LMFCs Things to consider: Propagation delay of SYSREF and device clocks across board Purposefully added delays to SYSREF, such as analog delays or dynamic digital delays (like in LMK04828) Delays from SYSREF input pins to resetting of LMFC (internal to devices)

  33. LMFC Alignment Between Devices The SYSREF pin to LMFC reset timing may be different for each device Some datasheets will specify SYSREF to LMFC timing for various modes (e.g. DAC38J84) and this delay needs to be added to the LMFC delay.

  34. DAC38J84 SYSREF to LMFC Latency

  35. Step 2: Calculate Link Delay Variations occur due to device variances (specified in datasheet) or due to PVT effects These delays will come from the datasheet or need to be measured or calculated Total Link Delay = tTX_SER + tLANE + tRX_DESER +/- tVARIANCE LMFC alignment between TX and RX has already been determined

  36. Step 3: Choose Buffer Release Point Choose release point that guarantees enough margin around the expected lane arrival

  37. Summary of Calculation We have done the following: 1. Determined LMFC alignment between TX and RX 2. Calculated total link delay 3. Determined the appropriate buffer release point 2 3 1

  38. Total Link Latency The total link latency can be calculated using the following formula n is the number of whole RX multi-frames traversed for the case where the total link delay exceeds one LMFC cycle Link Latency = (n * K + RBD) * TFRAME + (tRX_LMFC tTX_LMFC) n = 2 1 2

  39. Add ADC or DAC latency for Total Latency

  40. Verifying Deterministic Latency

  41. Example System Diagram

  42. Deterministic Latency Test Setup 1. Generate a pulse with FPGA 2. Capture FPGA pulse with ADC 3. Output ADC s MSB from FPGA 4. Observe relative timing on scope 5. Power up the system many times to confirm the relative timing stays constant

  43. Device Setup for Test ADC = ADC16DX370 (16-bit, dual channel, 370 MSPS) Device clock = 370 MHz (2.7 ns) JESD204B Parameters L = 4, M = 2, F = 1, S = 1, K = 32 Frame cycle = 10 * F / Linerate = 10 * 1 / 3700 Mbps = 2.7 ns LMFC cycle = Frame cycle * K = 2.7 ns * 32 = 86.4 ns FPGA Device clock = 92.5 MHz (10.8 ns)

  44. Additional Delays in System Account for non-device related delays in calculations O-Scope 12in. Coax 1.6ns Ch.A Input Pulse Splitter 12in. Coax 1.6ns 3in. Rogers4350 0.5ns 18in. Coax 2.3ns ADC FPGA Ch.B 2in. Rogers4350 0.3ns Total Added Latency (due to routing) = (1.6+0.5+2.3)- (1.6)+(1.3-0.3) = 3.8ns LMK 8in. Rogers4350 1.3ns

  45. Latency Calculation Per the previous slides, the latency is calculated as Link Latency = (n * K + RBD) * TFRAME + (tRX_LMFC tTX_LMFC) For this experiment the following parameters apply All units in Frame clock cycles tRX_LMFC = 28, tTX_LMFC = 3.5, n = 2, K = 32, RBD=28 Link Latency = 116.5 frame clock cycles The following also extend the latency ADC16DX370 core latency = +12.5 DEVCLK routing skew and MSB output routing delay = +1.4 SYSREF/DEVCLK sampling skew = +1.5 Additional receiver processing delays +3 rx_tdata release delay (for earliest sample in the 4-sample set output each period of 92.5MHz clock. This delay may instead be +4) +4 latching MSBs before output (at Fs/4 rate) Total Calculated Latency = 116.5 + 12.5 + 1.4 + 1.5 + 7 = 138.9 cycles

  46. Result Calculated latency for this setup is 138.9 frame cycles Latency=379.6ns Measured latency is 379.6 ns / 2.7 ns = 140.4 cycles Note: Would have been better to use a short pulse as test signal to avoid confusion over correct output pulse

  47. Bonus!

  48. Whats the easiest way to achieve deterministic latency? 1. Setup a test similar to the one shown to observe relative delays 2. Vary RBD until a 1 LMFC period latency jump is observed 3. Choose release point by taking the last RBD value before the latency jump was observed and add the expected latency variation to that value (plus extra margin) Release Release Release Release Release Release Point Point Point Point Point Point Total Latency Optimal Release Point

  49. End! 49

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#