![](http://datasheet.mmic.net.cn/Exar-Corporation/XRT79L71IB-F_datasheet_100145/XRT79L71IB-F_176.png)
XRT79L71
PRELIMINARY
161
1-CHANNEL DS3/E3 CLEAR-CHANNEL FRAMERLIU COMBO - CC/HDLC ARCHITECTURE
REV. P2.0.0
power-up or reset, the FIFO_WRITE pointer will have revolved around the circular buffer and will incremented
its location back to its initial (e.g., 12 o'clock) position.
Figure 73 also indicates that the initial position of the FIFO_READ pointer is at the 6 o'clock position. Further,
Figure 73 indicates that during the very next Out_CLK period the FIFO_READ pointer will have moved (in a
clockwise direction) to the position labeled FIFO_READ pointer at Out_CLK period k + 1.
If the FIFO Depth is configured to be 16 bits, then in 16 Out_CLK cycles, after power-up or reset, the
FIFO_READ pointer will have revolved around the circular buffer and have incremented its position right back
to the 6 o'clock position) as is shown in Figure 73. Similarly, if the FIFO depth is configured to be 32 bits, then
in 32 Out_CLK cycles, after power-up or reset, the FIFO_READ pointer will have revolved around the circular
buffer and will have incremented its location back to its initial (e.g., 6 o'clock) position.
Recall that the Out_CLK (smoothed) output clock signal is derived from a PLL that has a very narrow
bandwidth.
Therefore, the Jitter Attenuator PLL will not be very responsive to instantaneous phase or
frequency deviations that occur within the In_CLK (jittery) input clock signal. As the Jitter Attenuator PLL
experiences large phase variations (via the In_CLK input pin) it will typically not pass along these large phase
changes and variations to the Out_CLK output signal. This phenomenon will result in some modulation in the
distance between the FIFO_WRITE and FIFO_READ pointers. If the modulation in the distance (between the
FIFO_WRITE and FIFO_READ pointers) is such that the distance between these two pointers approach 0 bits,
then bit-errors will occur. This modulation in the distance between the FIFO_WRITE and FIFO_READ pointers
and its effect on the integrity of the data is described in some detail below.
The FIFO Under-run Condition
If the jitter within the In_CLK input clock signal is such that, for a very short period of time, the instantaneous
frequency of In_CLK deviates, in the negative direction, (e.g., exhibits a lower frequency from that of the
Out_CLK output clock signal) then the following events will happen.
The Jitter Attenuator PLL will continue to generate the Out_CLK output clock signal at virtually a constant
rate (e.g., with very little change in frequency). As a consequence, the FIFO_READ pointer will continue to
increment and revolve about the circular buffer at largely a fixed rate.
Because the In_CLK input clock signal is, for a very short period, of a lower frequency, the FIFO_WRITE
pointer will now be incremented, around the circular buffer, at a lower rate than that of the FIFO_READ
pointer.
If the above-mentioned condition were to exist long enough, the FIFO_READ pointer will eventually revolve
around the circular buffer, and catch-up with the FIFO_WRITE pointer. If this happens, then a FIFO Under-run
condition will be said to have occurred. In a FIFO Under-run Condition, all new data that has been written into
the Jitter Attenuator FIFO has been read out and depleted. At this point, the Jitter Attenuator block is now
reading out data which has already been read out, at least once. This phenomenon will cause the XRT79L71
to transmit erroneous data to the remote terminal equipment.
The FIFO Overflow Condition
If the jitter within the In_CLK input clock signal is such that, for a very short period of time, the instantaneous
frequency of In_CLK deviates, in the positive direction, (e.g., exhibits a much higher frequency from that of the
Out_CLK output clock signal) then the following events will happen.
The Jitter Attenuator PLL will continue to generate the Out_CLK at virtually a constant rate (e.g., with very
little change in frequency). As a consequence, the FIFO_READ pointer will continue to increment and
revolve about the circular buffer at largely a fixed rate.
Because the In_CLK input clock signal is, for a very short period, of a higher frequency, the FIFO_WRITE
pointer will now be incremented, around the circular buffer, at a higher rate than that of the FIFO_READ
pointer.
If the above-mentioned condition were to exist long enough, the FIFO_WRITE pointer will eventually revolve
around the circular buffer, and catch-up with the FIFO_READ pointer. If this happens, then an Overflow
condition will be said to have occurred. In an Overflow condition, new data has been written into locations