Соединительные и перекрестные помехи MOS с использованием объектов RFCKT

В этом примере показано, как создать и моделировать схему дерева RC с помощью RF Toolbox™.

В «Asymptotic Waveform Evaluation for Timing Analysis» (IEEE Transactions on Computer-Aided Design, Vol., 9, No. 4, April 1990), Пиллаж и Рорер представили и моделировали схему дерева RRC, которая моделирует целостность сигнала и перекрестные помехи в схеме MMos Этот пример подтверждает их симуляции с использованием программного обеспечения RF Toolbox.

Их схема, воспроизведенная на следующем рисунке, состоит из 11 резисторов и 12 конденсаторов. В статье Пиллаж и Рорер:

  • Примените напряжение наклона входа

  • Вычисление переходных процессов

  • Постройте график выхода напряжений на двух разных конденсаторах, C7 и C12.

Фигура 1: Модель дерева RC соединения MOS с перекрестными помехами.

С помощью программного обеспечения RF Toolbox можно программно создать эту схему в MATLAB и выполнить симуляции целостности сигнала.

Этот пример показывает:

  1. Как использовать rfckt.seriesrlc, rfckt.shuntrlc, rfckt.series, и rfckt.cascade объект для программного построения схемы как двух различных сетей, в зависимости от требуемого выхода.

  2. Как использовать analyze функция для извлечения S-параметров для каждой 2-портовой сети в широкой частотной области значений.

  3. Как использовать s2tf функция со Zsource = 0 и Zload = Inf вычислить передаточную функцию напряжения от входа к каждому желаемому выходу.

  4. Как использовать rationalfit функция для создания рациональных функциональных приближений, которые захватывают идеальное поведение RC-схемы с очень высокой степенью точности.

  5. Как использовать timeresp функция для вычисления переходного процесса на форму входного напряжения.

Перерисовка схемы как отдельных 2-Port сетей

Чтобы дублировать оба выходных графика, RF Toolbox вычисляет выходное напряжение на C7 и C12. Для этого схема должна быть выражена как две отдельные 2-портовые сети, каждая с соответствующим конденсатором на выходе. Рисунок 2 показывает строение с 2 портами для вычисления напряжения на C7. Рисунок 3 показов строения для C12. Обе сети с 2 портами сохраняют исходную топологию цепей и имеют большую часть одной и той же структуры.

Фигура 2: Схема, нарисованная как 2-портовая сеть с выходом через C7.

Фигура 3: Схема, нарисованная как 2-портовая сеть с выходом через C12.

Использование базовых блоков RLC

Все базовые блоки формируются путем выбора соответствующих значений с rfckt.shuntrlc объект, показанный на фигуре 4 или на rfckt.seriesrlc объект, показанный на фигура. 2-портовые базовые блоки затем соединяются с помощью rfckt.cascade объект, как показано фигура 6 или rfckt.series объект, как показано на фигура.

Фигура 4. 2-портовая сеть, созданная с использованием rfckt.shuntrlc объект.

Фигура 5. Сеть с 2 портами, созданная с использованием rfckt.seriesrlc объект.

Фигура 6: Соедините 2-портовые сети с rfckt.cascade объект.

Фигура 7: Соедините 2-портовые сети с rfckt.series объект.

Общие части 2-Port сетей

Следующий код MATLAB создает фрагмент сети, общей между этими двумя вариантами.

R1 = rfckt.seriesrlc('R',10);
C1 = rfckt.shuntrlc('C',0.114e-12);
R9 = rfckt.shuntrlc('R',48);
C9 = rfckt.shuntrlc('C',0.007e-12);
R10 = rfckt.shuntrlc('R',24);
C10 = rfckt.shuntrlc('C',0.2e-12);
R10C10 = rfckt.series('Ckts',{R10,C10});
C9R10C10 = rfckt.cascade('Ckts',{C9,R10C10});
R9C9R10C10 = rfckt.series('Ckts',{R9,C9R10C10});
R2 = rfckt.seriesrlc('R',72);
C2 = rfckt.shuntrlc('C',1.238e-12);
R3 = rfckt.seriesrlc('R',34);
C3 = rfckt.shuntrlc('C',0.021e-12);
R4 = rfckt.seriesrlc('R',96);
C4 = rfckt.shuntrlc('C',0.028e-12);
R5 = rfckt.seriesrlc('R',72);
C5 = rfckt.shuntrlc('C',0.007e-12);
R6 = rfckt.seriesrlc('R',10);
C6 = rfckt.shuntrlc('C',1.048e-12);
R7 = rfckt.seriesrlc('R',120);
R8 = rfckt.shuntrlc('R',24);
C8 = rfckt.shuntrlc('C',0.2e-12);
R8C8 = rfckt.series('Ckts',{R8,C8});
sharedckt = rfckt.cascade('Ckts', ...
    {R1,C1,R9C9R10C10,R2,C2,R3,C3,R4,C4,R5,C5,R6,C6,R7,R8C8});

% Additional shared building blocks used in both 2-port networks.
C7 = rfckt.shuntrlc('C',0.47e-12);
R11C12 = rfckt.shuntrlc('R',1000,'C',1e-12);

Построение каждой 2-Port сети

Рисунок 2 показов, что построение сети с 2 портами с выходом портом через C7 требует создания C11 использование rfckt.shuntrlc объект, затем объединение C11 с R11 и C12 использование rfckt.series объект и, наконец, объединение C11R11C12 с остальной частью сети и C7 использование rfckt.cascade объект.

Аналогично, рисунок 3 показов, что построение сети с 2 портами с выходом портом через C12 требует создания другой версии C11 (C11b) использование rfckt.seriesrlc объект и объединение всех деталей вместе с помощью rfckt.cascade объект.

Создайте шунтируемую схему RLC.

C11 = rfckt.shuntrlc('C',0.1e-12);
C11R11C12 = rfckt.series('Ckts',{C11,R11C12});
cktC7 = rfckt.cascade('Ckts',{sharedckt,C11R11C12,C7});

Создайте последовательную схему RLC.

C11b = rfckt.seriesrlc('C',0.1e-12);
cktC12 = rfckt.cascade('Ckts',{sharedckt,C7,C11b,R11C12});

Область Setup

Входной сигнал, используемый Пиллажем и Рорером, представляет собой усиление напряжения от 0 до 5 вольт со время нарастания одной наносекунды и длительностью десять наносекунд. Следующий код MATLAB моделирует этот сигнал с 1000 временными точками с sampleTime 0,01 наносекунд.

Следующий код MATLAB также использует logspace функция для генерации вектора с 101 логарифмически разнесенной частотой анализа между 1 Гц и 100 ГГц. Установка широкого набора частотных точек повышает точность симуляции.

sampleTime = 1e-11;
t = (0:1000)'*sampleTime;
input = [(0:100)'*(5/100); (101:1000)'*0+5];
freq = logspace(0,11,101)';

Симулируйте каждую 2-Port сеть

Чтобы симулировать каждую сеть:

  1. The analyze функция извлекает S-параметры в заданной частотной области значений.

  2. The s2tf функция, с option = 2, вычисляет коэффициент усиления от входного напряжения до выхода напряжения. Это позволяет произвольные входные и нагрузочные сопротивления, в этом случае Zsource = 0 и Zload = Inf. Получившиеся передаточные функции tfC7 и tfC12 являются частотно-зависимыми векторами данных, которые могут соответствовать рационально-функциональной аппроксимации.

  3. The rationalfit функция генерирует высокоточные рациональные функциональные приближения. Получившиеся приближения совпадают с точностью машины.

  4. The timeresp функция вычисляет аналитическое решение уравнений в пространстве состояний, заданное рациональной функциональной аппроксимацией. Эта методология достаточно быстрая, чтобы позволить продвинуть миллион бит через канал.

Моделируйте cktC7 цепь.

analyze(cktC7,freq);
sparamsC7 = cktC7.AnalyzedResult.S_Parameters;
tfC7 = s2tf(sparamsC7,50,0,Inf,2);
fitC7 = rationalfit(freq,tfC7);
outputC7 = timeresp(fitC7,input,sampleTime);

Моделируйте cktC12 цепь.

analyze(cktC12,freq);
sparamsC12 = cktC12.AnalyzedResult.S_Parameters;
tfC12 = s2tf(sparamsC12,50,0,Inf,2);
fitC12 = rationalfit(freq,tfC12);
outputC12 = timeresp(fitC12,input,sampleTime);

Постройте переходные процессы

Выходы совпадают с рисунками 23 и 24 документа «Граф и Рорер». Постройте график линейной характеристики цепи MOS низкой и средней частоты, соединенной с перекрестными помехами.

figure
plot(t,input,t,outputC7,'LineWidth',2)
axis([0 2.5e-9 0 5.5]);
title('Ramp Response of Low- to Mid-Frequency MOS Circuit Interconnect with Crosstalk');
xlabel('Time (sec)');
ylabel('Voltage (volts)');
legend('Vinput','V(C7)','Location','NorthWest');

Figure contains an axes. The axes with title Ramp Response of Low- to Mid-Frequency MOS Circuit Interconnect with Crosstalk contains 2 objects of type line. These objects represent Vinput, V(C7).

Постройте график перекрестных помех в схеме MOS с низкой или средней частотой, соединенной с входом клина.

figure
plot(t,input,t,outputC12,'LineWidth',2)
axis([0 5e-9 0 .5]);
title('Crosstalk in Low- to Mid-frequency MOS Circuit Interconnect with Ramp Input');
xlabel('Time (sec)');
ylabel('Voltage (volts)');
legend('Vinput','V(C12)','Location','NorthEast');

Figure contains an axes. The axes with title Crosstalk in Low- to Mid-frequency MOS Circuit Interconnect with Ramp Input contains 2 objects of type line. These objects represent Vinput, V(C12).

Проверьте рациональную подгонку вне области значений подгонки

Хотя в этом примере не показано, можно также использовать freqresp функция для проверки поведения rationalfit хорошо функционирует вне заданной частотной области значений. Подгонка вне заданной области иногда может вызвать удивительное поведение, особенно если не были предоставлены частотные данные около 0 Гц (DC).

Чтобы выполнить эту проверку для рационального функционального приближения в этом примере, раскомментируйте и запустите следующий код MATLAB.

% widerFreqs = logspace(0,12,1001);
% respC7 = freqresp(fitC7,widerFreqs);
% figure
% loglog(freqs,abs(tfC7),'+',widerFreqs,abs(respC7))
% respC12 = freqresp(fitC12,widerFreqs);
% figure
% loglog(freqs,abs(tfC12),'+',widerFreqs,abs(respC12))

Похожие темы