BLK_SingleToDiff

BLK_SingleToDiff : A singled-ended-to-differential converter

A single-ended-to-differential converter converts a single-ended input in into a pair of differential outputs out_pos and out_neg, of which differential-mode and common-mode components are equal to the inputs in and in_ref, respectively.

In other words, the outputs out_pos and out_neg are determined according to the following equations:

    V(out_pos) = 0.5*V(in) + V(in_ref)
    V(out_neg) = -0.5*V(in) + V(in_ref)

This single-ended-to-differential converter model is described with circuit primitives (vcvs) instead of function primitives (e.g. add) so that it can be enclosed within a feedback loop.

Input/Output Terminals

Name I/O Type Description
out_neg output xreal differential output (neg)
out_pos output xreal differential output (pos)
in input xreal single-ended input
in_ref input xreal reference input

List of Testbenches

tb_check : A testbench for checking the basic operation of a single-ended-to-differential converter

tb_check : A testbench for checking the basic operation of a single-ended-to-differential converter

This testbench checks the basic functionality of a single-ended-to-differential converter, by feeding a single-ended sinusoidal signal to its input in and a DC reference signal to its input in_ref and observing whether the converter produces a differential pair of output signals out_pos and out_neg bearing the differential-mode component equal to in and common-mode component equal to in_ref.

`include "xmodel.h"

module tb_check ();

    xreal in, in_ref;
    xreal out_pos, out_neg;

    sin_gen #(.freq(100e6), .amp(1.0), .offset(0.0)) IDM (.out(in));
    dc_gen #(.value(0.5)) ICM (.out(in_ref));
    BLK_SingleToDiff DUT (.*);

    // waveform recording
    initial begin
        $xmodel_dumpfile();
        $xmodel_dumpvars();
    end

endmodule

Simulation Results

input and output waveforms

Figure. input and output waveforms.