PDC_BinaryPFD

PDC_BinaryPFD : A binary phase-frequency detector (PFD)

A binary phase-frequency detector (PFD) measures the phase or frequency difference of two input clocks clk_ref and clk_fb and produces the outputs up and dn indicating the polarity of the difference with binary levels. For example, when the input clocks have close enough frequencies, the PFD outputs indicate the polarity of their phase difference. On the other hand, when they have large enough frequency difference, the outputs indicate the polarity of the frequency error.

Unlike a linear PFD that produces pulses of which pulsewidths indicate the error, a binary PFD produces binary-valued outputs which indicate only the polarity of the error. In other words, whenever an input clock transition occurs, either up or dn signal is asserted with a fixed duration, indicating only the polarity of the phase or frequency error. In comparison with a binary phase-only detector (PD), for instance, a D-flipflop, this PFD is capable of detecting the frequency difference as well.

This binary PFD model consists of a linear PFD followed by a series of two RS-latches. The pairs of inverters and NAND gates between the two RS-latches synchronize the binary outputs to the clock clk_fb. The model is described using the gate primitives such as nand_xbit and inv_xbit to process accurate timings of digital pulses without being limited by the simulation timestep.

Input/Output Terminals

Name I/O Type Description
dn output xbit dn output
up output xbit up output
clk_fb input xbit feedback clock
clk_ref input xbit reference clock

Parameters

Name Type Default Description
delay_rst real 10e-12 reset propagation delay

List of Testbenches

tb_meas_tfdc_freq : A testbench for measuring the frequency error vs. net output polarity transfer characteristics of a phase-frequency detector (PFD)
tb_meas_tfdc_phase : A testbench for measuring the phase error vs. net output polarity transfer characteristics of a phase-frequency detector (PFD)

tb_meas_tfdc_freq : A testbench for measuring the frequency error vs. net output polarity transfer characteristics of a phase-frequency detector (PFD)

This testbench measures the frequency error vs. net output polarity transfer characteristics of a phase-frequency detector (PFD). The testbench utilizes a probe_dc primitive to sweep the frequency error between the two input clocks to the PFD and plot the resulting net output polarity.

Simulation Results

frequency error vs. net output polarity transfer characteristics

Figure. frequency error vs. net output polarity transfer characteristics.

tb_meas_tfdc_phase : A testbench for measuring the phase error vs. net output polarity transfer characteristics of a phase-frequency detector (PFD)

This testbench measures the phase error vs. net output polarity transfer characteristics of a phase-frequency detector (PFD). The testbench utilizes a probe_dc primitive to sweep the phase error between the two input clocks to the PFD and plot the polarity of net output polarity.

Simulation Results

phase error vs. net output polarity transfer characteristics

Figure. phase error vs. net output polarity transfer characteristics.