Languages

CommunityCategory: XMODELOverview of the XMODEL’s statistical simulation
SA Support Team Staff asked 3 years ago

I'd like to learn more about the XMODEL's statistical simulation. What is it and how does it calculate the bit error probabilities of 10-12 with only 10,000 samples?

1 Answers
Best Answer
SA Support Team Staff answered 3 years ago

The XMODEL's statistical simulation capability is useful when estimating the extremely low bit-error rates (BERs) of high-speed I/O interfaces. You can find the description on this capability from Chapter 6 of our white paper titled, "Introducing XMODEL", which is included in the XMODEL installation: $XMODEL_HOME/doc/XMODEL_WhitePaper.pdf. You can also find the information on how to use this capability from Lecture #9 of our tutorial titled, "Modeling and Simulation of High-Speed I/O Interfaces in XMODEL". In this posting, I will focus mainly on the key ideas of the XMODEL's statistical simulation capability.

Monte-Carlo simulation is the most straightforward yet effective way to estimate various statistical characteristics of circuits and systems. Basically, it runs long enough simulation with the random samples representing the noise sources and estimates the statistics from the collected results. When you run an XMODEL simulation without the statistical simulation capability enabled, XMODEL is performing this Monte-Carlo simulation with the random samples generated by the noise sources. With the fast speed of XMODEL, you can quickly estimate various statistical characteristics, such as the jitter histogram and phase noise spectrum of a phase-locked loop (PLL), and the signal-to-noise ratio (SNR) and effective number of bits (ENOB) of an analog-to-digital converter (ADC).

However, it is extremely challenging for this Monte-Carlo simulation to estimate the probability of very rare event, such as the BER of high-speed interfaces, typically targeting at 10-9~10-18. For example, to confirm that a high-speed interface has a BER less than 10-9, one must try at least 109 bits and check if the number of bit errors is less than 1. Assuming that the simulation can process 1,000 bits per second, such a simulation would take 11.5 days!

To make this simulation more feasible, XMODEL computes and propagates the probability information of each signal when the statistical simulation capability is enabled. Please note that this probability information "augments" the statistics collected by the Monte-Carlo approach, rather than replacing them. In other words, it provides the benefit of estimating the probabilities of rare events with high confidence while still running Monte-Carlo simulations. This is the beauty of the XMODEL's statistical simulation.

The probability information that XMODEL computes is the conditional probability density function (CPDF) given the past samples. That is, the CPDF at one particular time represents only a partial information of the signal's statistics. Yet, the collection of CPDFs over a long period of time can describe the signal's full statistics, such as auto-correlation or power-spectral density. With the selected XMODEL primitives capable of computing the CPDF of the output signal from the CPDFs of the input signals, the CPDF information can propagate from the noise sources to the points where the final measurement is made.

For high-speed interfaces, the BER measurement is made at the receiver, which samples the incoming signal at the rising edge of a clock and compares the result against a reference level. In XMODEL, this operation is carried out by the 'compare' primitive, and it is this 'compare' primitive that serves the key role in estimating the BER using the above-said CPDF information. The figure below illustrates this process. The incoming signal may include additive random noise and the triggering clock may have random timing noise (i.e. jitter). In the XMODEL's statistical simulation, these noises are represented both by their Monte-Carlo samples and CPDFs, where the CPDF at each time point describe the probability distribution of the current sample conditional upon the past sample values. The 'compare' primitive first translates the CPDF of the timing noise to the voltage domain by scaling it with the slope of the input signal at the sampled position and then combines the result with the CPDF of the voltage noise. With the combined CPDF, the primitive can compute the conditional bit error probability of the current bit. Finally, the 'meas_ber' or 'probe_ber' primitive computes the average of this conditional bit error probability over time, which yields the estimation on the bit-error rate (BER).

When the statistical simulation capability is disabled, XMODEL processes only the samples, not the CDFs. The same situation occurs when the CPDF information from the noise sources cannot somehow reach the 'compare' primitive. In this case, the XMODEL's statistical simulation is reduced to a basic Monte-Carlo simulation, estimating the BER as the number of bit errors divided by the total number of bits received. It doesn't mean that the simulation result becomes incorrect; it just means that the longer simulation might be needed to achieve the desired level of confidence. In fact, not all XMODEL primitives can propagate this CPDF information. For instance, the models described with the circuit primitives cannot propagate the CPDF information.

On the other hand, it also implies that not all noise sources have to be modeled with CPDFs in order to perform this statistical simulation. It is possible to model some of the noise sources with Monte-Carlo samples, as long as one can still achieve the desired level of confidence in feasible time. This observation relaxes the burden of composing models or testbenches for the XMODEL's statistical simulation. In fact, we found it sufficient to model just the input-referred noise of the clocked comparator and the timing jitter of the clock triggering it to enable the estimation of the BERs as low as 10-9.

SA Support Team Staff asked 3 years ago

XMODEL의 통계적 시뮬레이션(statistical simulation) 기능에 대해서 더 자세히 알고 싶습니다. 어떤 기법이길래 10,000개의 샘플만으로 10-12의 낮은 비트에러율을 계산할 수 있는 건가요?

1 Answers
Best Answer
SA Support Team Staff answered 3 years ago

The XMODEL's statistical simulation capability is useful when estimating the extremely low bit-error rates (BERs) of high-speed I/O interfaces. You can find the description on this capability from Chapter 6 of our white paper titled, "Introducing XMODEL", which is included in the XMODEL installation: $XMODEL_HOME/doc/XMODEL_WhitePaper.pdf. You can also find the information on how to use this capability from Lecture #9 of our tutorial titled, "Modeling and Simulation of High-Speed I/O Interfaces in XMODEL". In this posting, I will focus mainly on the key ideas of the XMODEL's statistical simulation capability.

Monte-Carlo simulation is the most straightforward yet effective way to estimate various statistical characteristics of circuits and systems. Basically, it runs long enough simulation with the random samples representing the noise sources and estimates the statistics from the collected results. When you run an XMODEL simulation without the statistical simulation capability enabled, XMODEL is performing this Monte-Carlo simulation with the random samples generated by the noise sources. With the fast speed of XMODEL, you can quickly estimate various statistical characteristics, such as the jitter histogram and phase noise spectrum of a phase-locked loop (PLL), and the signal-to-noise ratio (SNR) and effective number of bits (ENOB) of an analog-to-digital converter (ADC).

However, it is extremely challenging for this Monte-Carlo simulation to estimate the probability of very rare event, such as the BER of high-speed interfaces, typically targeting at 10-9~10-18. For example, to confirm that a high-speed interface has a BER less than 10-9, one must try at least 109 bits and check if the number of bit errors is less than 1. Assuming that the simulation can process 1,000 bits per second, such a simulation would take 11.5 days!

To make this simulation more feasible, XMODEL computes and propagates the probability information of each signal when the statistical simulation capability is enabled. Please note that this probability information "augments" the statistics collected by the Monte-Carlo approach, rather than replacing them. In other words, it provides the benefit of estimating the probabilities of rare events with high confidence while still running Monte-Carlo simulations. This is the beauty of the XMODEL's statistical simulation.

The probability information that XMODEL computes is the conditional probability density function (CPDF) given the past samples. That is, the CPDF at one particular time represents only a partial information of the signal's statistics. Yet, the collection of CPDFs over a long period of time can describe the signal's full statistics, such as auto-correlation or power-spectral density. With the selected XMODEL primitives capable of computing the CPDF of the output signal from the CPDFs of the input signals, the CPDF information can propagate from the noise sources to the points where the final measurement is made.

For high-speed interfaces, the BER measurement is made at the receiver, which samples the incoming signal at the rising edge of a clock and compares the result against a reference level. In XMODEL, this operation is carried out by the 'compare' primitive, and it is this 'compare' primitive that serves the key role in estimating the BER using the above-said CPDF information. The figure below illustrates this process. The incoming signal may include additive random noise and the triggering clock may have random timing noise (i.e. jitter). In the XMODEL's statistical simulation, these noises are represented both by their Monte-Carlo samples and CPDFs, where the CPDF at each time point describe the probability distribution of the current sample conditional upon the past sample values. The 'compare' primitive first translates the CPDF of the timing noise to the voltage domain by scaling it with the slope of the input signal at the sampled position and then combines the result with the CPDF of the voltage noise. With the combined CPDF, the primitive can compute the conditional bit error probability of the current bit. Finally, the 'meas_ber' or 'probe_ber' primitive computes the average of this conditional bit error probability over time, which yields the estimation on the bit-error rate (BER).

When the statistical simulation capability is disabled, XMODEL processes only the samples, not the CDFs. The same situation occurs when the CPDF information from the noise sources cannot somehow reach the 'compare' primitive. In this case, the XMODEL's statistical simulation is reduced to a basic Monte-Carlo simulation, estimating the BER as the number of bit errors divided by the total number of bits received. It doesn't mean that the simulation result becomes incorrect; it just means that the longer simulation might be needed to achieve the desired level of confidence. In fact, not all XMODEL primitives can propagate this CPDF information. For instance, the models described with the circuit primitives cannot propagate the CPDF information.

On the other hand, it also implies that not all noise sources have to be modeled with CPDFs in order to perform this statistical simulation. It is possible to model some of the noise sources with Monte-Carlo samples, as long as one can still achieve the desired level of confidence in feasible time. This observation relaxes the burden of composing models or testbenches for the XMODEL's statistical simulation. In fact, we found it sufficient to model just the input-referred noise of the clocked comparator and the timing jitter of the clock triggering it to enable the estimation of the BERs as low as 10-9.