Languages

CommunityCategory: XMODELModeling power-supply induced jitter (PSIJ) effects in clock buffer chains

XMODEL

Modeling power-supply induced jitter (PSIJ) effects in clock buffer chains

SA Support Team Staff 2021-03-02

I want to model the power-supply induced jitter (PSIJ) effects in clock buffer chains. Specifically, I'd like to model a clock buffer chain, of which delay varies with the power-supply noise according to the frequency transfer characteristics shown below. This figure is an excerpt from a paper: X. Wang and A. Martin, "On-die Supply-Induced Jitter Behavioral Modeling," IEEE Conference on Electrical Performance of Electronic Packaging and Systems, Oct. 2013. This noise frequency transfer function is rather unique, exhibiting notches at certain frequency points. The Wang and Martin paper presents a MATLAB/Simulink model -- can I do the same in XMODEL?

1 Answers
Best Answer
SA Support Team Staff 2021-03-02

Well, you can do better with XMODEL! The unique noise frequency transfer characteristic you mentioned is due to the fact that the delay through a clock buffer chain is determined by the integral of the power-supply voltage over the period the clock propagates through the buffer chain. This is nicely summarized in this paper: J. N. Tripathi, V. K. Sharma, and H. Shrimali, "A Review on Power Supply Induced Jitter", IEEE Transactions on Components, Packaging and Manufacturing Technology, March 2019. The so-called "alpha-factor model" describes the variation in the delay of a clock buffer chain (i.e. jitter) using the integration of the relative change in the supply voltage VDD over the propagation time period, t~t+td:

where the scale factor ɑ is defined as the ratio between the relative changes in the delay (td) and supply voltage (VDD):

This integration over a finite time period yields a sinc function in the frequency-domain transfer function, resulting in the notches placed at integer-multiples of the frequency equal to 1/(nominal delay).

As it turns out, the 'delay_to_clk' primitive of XMODEL models this exact same behavior. It delays an xbit-type input 'trig' to an xbit-type output 'out' where the delay amount is determined by the time-average of the input 'in' over the period the xbit signal is propagating through the primitive. Therefore, to model a clock buffer chain with PSIJ, all you have to do is to compute the DC value of the delay from the power-supply voltage and feed it to a 'delay_to_clk' primitive as input.

The package attached to this posting contains a simple example of a clock buffer chain model with the PSIJ effects. The 'sandbox.clkbuf:schematic' cell shown below first computes 'delay' from the supply voltage 'vdd' using an equation: delay=delay0+alpha*(vdd-vdd0), where 'delay0' is the nominal delay of the clock buffer chain at the nominal supply voltage of 'vdd0' and 'alpha' is the sensitivity of the delay with respect to the supply voltage change (please note that it does not have the same definition with the alpha-factor mentioned earlier). The calculated 'delay' is then fed to a 'delay_to_clk' primitive, which delays the input clock 'clk_in' to the output clock 'clk_out'.

Let's measure the PSIJ frequency transfer characteristics of this clock buffer chain model. The 'sandbox.tb_clkbuf:schematic' cell describes a testbench using a 'probe_ac' primitive to sweep the frequency of the sinusoidal change applied to the supply voltage 'vdd' and measure the resulting change in the delay between 'clk_in' and 'clk_out', which is measured by a 'clk_to_delay' primitive. The testbench view 'tb_tfac' sets up the simulation using the 'meas_ac' script. For more details on measuring the AC transfer characteristics using the 'probe_ac' primitive and 'meas_ac' script, please refer to this Q&A link.

Here is the AC transfer function plotted after the simulation. The simulation is run with the following parameter values for the 'clkbuf' model: 'delay0'=10ns, 'vdd0'=1.0, and 'alpha'=10ns/V. As expected, the DC gain between the supply voltage and delay is 10-8, which is equal to the 'alpha' value of 10ns/V. The AC transfer function follows the shape of a sinc function of which notches are placed at the integer-multiples of 100-MHz, which is equal to the value of 1/'delay0'.

Attachment: PSIJ_model_20210227.tar.gz

XMODEL

클록버퍼체인의 파워서플라이 유도지터 (PSIJ) 모델링하는 방법

SA Support Team Staff 2021-03-02

클록버퍼 체인의 파워서플라이 유도지터(power-supply induced jitter; PSIJ) 효과를 모델링하고자 합니다. 좀더 자세히 말하면, 클록버퍼 체인의 지연시간이 파워서플라이의 노이즈에 따라 아래 보이는 주파수 전달특성으로 변화하도록 모델링하고 싶습니다. 아래의 그래프는 X. Wang and A. Martin, "On-die Supply-Induced Jitter Behavioral Modeling," IEEE Conference on Electrical Performance of Electronic Packaging and Systems, Oct. 2013 논문에서 발췌한 것입니다. 이 노이즈 전달함수는 특이하게도 몇몇 주파수 지점에서 노치를 보이고 있습니다. 그 Wang and Martin 논문에서는 MATLAB/Simulink 모델을 설명하고 있는데요, XMODEL에서도 같은 모델을 만들 수 있나요?

1 Answers
Best Answer
SA Support Team Staff 2021-03-02

Well, you can do better with XMODEL! The unique noise frequency transfer characteristic you mentioned is due to the fact that the delay through a clock buffer chain is determined by the integral of the power-supply voltage over the period the clock propagates through the buffer chain. This is nicely summarized in this paper: J. N. Tripathi, V. K. Sharma, and H. Shrimali, "A Review on Power Supply Induced Jitter", IEEE Transactions on Components, Packaging and Manufacturing Technology, March 2019. The so-called "alpha-factor model" describes the variation in the delay of a clock buffer chain (i.e. jitter) using the integration of the relative change in the supply voltage VDD over the propagation time period, t~t+td:

where the scale factor ɑ is defined as the ratio between the relative changes in the delay (td) and supply voltage (VDD):

This integration over a finite time period yields a sinc function in the frequency-domain transfer function, resulting in the notches placed at integer-multiples of the frequency equal to 1/(nominal delay).

As it turns out, the 'delay_to_clk' primitive of XMODEL models this exact same behavior. It delays an xbit-type input 'trig' to an xbit-type output 'out' where the delay amount is determined by the time-average of the input 'in' over the period the xbit signal is propagating through the primitive. Therefore, to model a clock buffer chain with PSIJ, all you have to do is to compute the DC value of the delay from the power-supply voltage and feed it to a 'delay_to_clk' primitive as input.

The package attached to this posting contains a simple example of a clock buffer chain model with the PSIJ effects. The 'sandbox.clkbuf:schematic' cell shown below first computes 'delay' from the supply voltage 'vdd' using an equation: delay=delay0+alpha*(vdd-vdd0), where 'delay0' is the nominal delay of the clock buffer chain at the nominal supply voltage of 'vdd0' and 'alpha' is the sensitivity of the delay with respect to the supply voltage change (please note that it does not have the same definition with the alpha-factor mentioned earlier). The calculated 'delay' is then fed to a 'delay_to_clk' primitive, which delays the input clock 'clk_in' to the output clock 'clk_out'.

Let's measure the PSIJ frequency transfer characteristics of this clock buffer chain model. The 'sandbox.tb_clkbuf:schematic' cell describes a testbench using a 'probe_ac' primitive to sweep the frequency of the sinusoidal change applied to the supply voltage 'vdd' and measure the resulting change in the delay between 'clk_in' and 'clk_out', which is measured by a 'clk_to_delay' primitive. The testbench view 'tb_tfac' sets up the simulation using the 'meas_ac' script. For more details on measuring the AC transfer characteristics using the 'probe_ac' primitive and 'meas_ac' script, please refer to this Q&A link.

Here is the AC transfer function plotted after the simulation. The simulation is run with the following parameter values for the 'clkbuf' model: 'delay0'=10ns, 'vdd0'=1.0, and 'alpha'=10ns/V. As expected, the DC gain between the supply voltage and delay is 10-8, which is equal to the 'alpha' value of 10ns/V. The AC transfer function follows the shape of a sinc function of which notches are placed at the integer-multiples of 100-MHz, which is equal to the value of 1/'delay0'.

Attachment: PSIJ_model_20210227.tar.gz