architectural 112g pam4 adc-凯发k8网页登录
this example shows how to use a ieee 802.3ck specification transmitter and receiver architectural model using library blocks in the serdes toolbox™ library and custom blocks to model a 112g pam4 time-interleaved adc-based serdes. the performance impact of the timing mismatch between the time-interleaved adcs is explored as an example of a design trade-off study. the aspects of the model which are compatible with the ibis-ami 7.0 standard are used to create an ibis-ami model.
overview
there are many trade-offs to be explored when designing an adc-based serdes. some of these design trade-offs and resulting questions are summarized below:
adc exploration
what type of adc will be used in this design? flash, binary/multibit search, or sar (successive approximation register)?
what adc time-interleave factor should be used? what is the impact on system performance caused by mismatches of the timing, gain, voltage offset and/or bandwidth between parallel adcs and explore mismatch calibration algorithms?
what full-scale range should be used?
what resolution/quantization/number of bits is required?
should the quantization be uniform or non-uniform?
what is the performance impact of quantization noise?
digital equalization exploration
what number of ffe taps is required to achieve needed performance?
how many dfe taps can be implemented?
what dsp resolution is required?
what impact does frame size or parallelism of digital processing have on system latency. what demultiplexer width should be used?
clock recovery
what bandwidth of cdr is required? how should the loop filter be specified?
which mueller-muller cost function is best for the application?
analog front end
how many ctle stages are needed?
how does the ctle amplified noise impact system performance?
how to scale signals in order to take advantage of the linear range of the adc?
this example focuses on determining the impact of the time-interleaved timing mismatch between parallel adcs. the model can be the basis of exploring many other design trade-offs. the system snr (signal-to-noise ratio) is compared between cases with and without a 4% symbol time timing offset and shows that this impairment reduces the system performance by about 2.5 db.
rx model description
the receiver model is composed of an analog front-end (afe) with ctle and amplifier blocks. the time-interleaved adc is further parallelized by a demultiplexer before dsp processing by the ffe and dfe. the baud-rate cdr controls the vco which drives the adc. the system performance is quantified by a snr metric as well as an output waveform. this model is summarized in the following diagram where the time-interleave depth (or the number of adc's) is four and the demux size is 64.
open the simulink® model architecturaladcbasesserdes.slx
attached with this example.
the receiver analog front-end partially equalizes the waveform and is very similar to the . here the first block injects the input referred noise, followed by the mid-band zero ctle, main ctle, and noise filter ctle blocks as specified by channel operating margin (com) of ieee 802.3ck. the vga scales the signal to match the full scale range of the adc and the saturating amplifier block enforces a memoryless-nonlinearity.
adc subsystem
the adc subsystem is composed of custom adc, demux, rxffe, dfe, phase detector, loop filter, and vco system object™ blocks. additionally, the ibis-bridge and ibis-ami clock_times blocks facilitate the conversion of the model to an ibis-ami model.
a time-interleaved adc is utilized to reduce the maximum speed and latency requirements of a full-rate adc. the diagram below shows how four time-interleaved adcs can take turns sampling the data signal.
the sampled signals are demuxed or framed to reduce the signaling rate before processing with the dsp equalization. the diagram below illustrates how a demux width of 8 frames slows down and parallelizes the data. the model itself is parameterized to use a demux of 64 but 8 are shown below for illustration purposes only.
next a 21 tap ffe is applied to the parallelized signal and is then followed by the single tap dfe and data decision. the baud-rate phase detector utilizes a type a mueller-muller phase detector that aims to balance the isi of the first pre- and post-cursor samples as illustrated below:
the phase detector output is processed with the loop filter which in turn drives the voltage controlled oscillator (vco) or the heart-beat of the system. this vco drives the other blocks and closes the system loop.
snr calculation
for adc-based serdes the eye diagram is not as information rich as it is for analog serdes. instead signal-to-noise (snr) calculations and vertical eye slices are more useful insight into the system performance.
the dfe block calculates the snr as follows:
where is the signal strength and is the noise strength. if represents the discrete equalized sampled voltages, then for nrz the signal and noise strengths are defined as,
for pam4, the signal and noise are defined in terms of the middle and outer sampled symbol voltages.
the vertical eye slice shows the clustering of the four pam4 symbols.
ffe and dfe equalization adaptation
very similar to the process used in the example, the ffe and dfe tap adaptation is performed in ami init at time 0 with impulse-response based analysis in the initialize subsystem. these optimized tap values are then passed to the simulink equalization blocks and are utilized throughout the simulation.
impact of timing mismatch
if the phases of the several clocks that drive the time-interleaved adcs are not equally spaced from each other, then system performance degradation occurs. while much of this timing mismatch can be calibrated out, it is important to understand the performance impact of this impairment. the rxclock or the vco block has a parameter called the max timing mismatch (ui). this parameter injects a phase offset between the first and second clocks. while this is a simplistic model of actual system behavior, it is sufficient to illustrate the impact.
if you have not done so yet, open the simulink model architecturaladcbasesserdes.slx
attached with this example.
run the model and observe the baseline behavior. when the simulation completes, the simulation data inspector automatically loads up the logged signals.
double click on the rx clock/vco block and change the timing mismatch to be 0.04 and re-run the model. the resulting snr for the two runs can be compared as follows. this illustrates how a small 4% timing mismatch can reduce the system performance by about 2.5 db.
generate adc-based serdes ibis-ami model
the final part of this example takes the customized adc-based serdes simulink model and then generates an ibis-ami compliant model including model executables, ibis, and ami files.
the current ibis ami standard does not have native support for adc-based serdes. the current standard is written for slicer-based serdes, which contain a signal node wherein the equalized signal waveform is observed. in a slicer-based serdes this node exists inside the dfe, right before the decision sampler. a continuous analog waveform is observable at that node, which includes the effect of all the upstream equalizers (such as ctle) and the equalization due to dfe, as tap weighted and fed back prior decisions. such a summing node does not exist in an adc-based serdes, due to the adc in the system. in a real adc-based serdes system the adc proves a vertical slice though the eye at the sampling instant. to emulate a virtual node, the ibis-ami bridge block reassembles the discrete equalized samples according to the time interleave factor and the demux size. a single equalized sample is held constant for the entire ibis-ami waveform symbol time.
export ibis-ami models
open the export tab in the serdes ibis-ami manager dialog box.
verify that dual model is selected for both the tx and the rx ami model settings. this will create model executables that support both statistical (init) and time domain (getwave) analysis.
set the tx model bits to ignore value to 5 since there are three taps in the tx ffe.
set the rx model bits to ignore value to 20,000 to allow sufficient time for the rx dfe taps to settle during time domain simulations.
set models to export as both tx and rx so that all the files are selected to be generated (ibis file, ami files and dll files).
press the export button to generate models in the target directory.
explore further
the number of adcs and the demux width in the model is parameterized by the matlab workspace variables timeinterleavedepth
and demuxsize
. they are set in the model preloadfcn
callback and can be changed to other positive integers as part of further exploration. the system objects in the adc subsystem can be modified to explore many of the design tradeoff questions identified at the first of the example.
references
[1] s. kiran, s. cai, y. zhu, s. hoyos and s. palermo, "digital equalization with adc-based receivers: two important roles played by digital signal processingin designing analog-to-digital-converter-based wireline communication receivers," in ieee microwave magazine, vol. 20, no. 5, pp. 62-79, may 2019, doi: 10.1109/mmm.2019.2898025.