Межсоединение MOS и перекрестные помехи

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

В "Асимптотической Оценке Формы волны для Синхронизации Анализа" (Транзакции IEEE на Автоматизированном проектировании, Издании, 9, № 4, апрель 1990), Pillage и Rohrer представляют и моделируют схему дерева RC, которую соединяют целостность сигнала моделей и перекрестные помехи в низком - к среднечастотной МОП-схеме. Этот пример подтверждает их симуляции с помощью программного обеспечения RF Toolbox.

Их схема, воспроизведенная в следующей фигуре, состоит из 11 резисторов и 12 конденсаторов. В газете, Pillage и Rohrer:

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

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

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

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

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

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

  1. Как использовать circuit, resistor, и capacitor с add функционирует, чтобы программно создать схему.

  2. Как использовать clone, setports и sparameters, чтобы вычислить S-параметры для каждого желаемого вывода по широкому частотному диапазону.

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

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

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

Вставьте числа узла в принципиальную схему

Прежде, чем создать схему с помощью resistor и объектов capacitor, мы должны пронумеровать узлы схемы, показанной в фигуре 1.

Рисунок 2: схема чертится с числами узла

Программно создайте схему

Создайте circuit и используйте функцию add, чтобы заполнить схему с именованным resistor и объектами capacitor.

ckt = circuit('crosstalk');

add(ckt,[2 1],resistor(10,'R1'))
add(ckt,[2 0],capacitor(0.114e-12,'C1'))
add(ckt,[3 2],resistor(72,'R2'))
add(ckt,[3 0],capacitor(1.238e-12,'C2'))
add(ckt,[4 3],resistor(34,'R3'))
add(ckt,[4 0],capacitor(0.021e-12,'C3'))
add(ckt,[5 4],resistor(96,'R4'))
add(ckt,[5 0],capacitor(0.028e-12,'C4'))
add(ckt,[6 5],resistor(72,'R5'))
add(ckt,[6 0],capacitor(0.007e-12,'C5'))
add(ckt,[7 6],resistor(10,'R6'))
add(ckt,[7 0],capacitor(1.048e-12,'C6'))
add(ckt,[8 7],resistor(120,'R7'))
add(ckt,[8 0],capacitor(0.47e-12,'C7'))

add(ckt,[12 8],resistor(24,'R8'))
add(ckt,[12 0],capacitor(0.2e-12,'C8'))

add(ckt,[10 2],resistor(48,'R9'))
add(ckt,[10 0],capacitor(0.007e-12,'C9'))
add(ckt,[11 10],resistor(24,'R10'))
add(ckt,[11 0],capacitor(0.2e-12,'C10'))

add(ckt,[9 8],capacitor(0.1e-12,'C11'))
add(ckt,[9 0],resistor(1000,'R11'))
add(ckt,[9 0],capacitor(1e-12,'C12'))

Setup симуляции

Входной сигнал, используемый Pillage и Rohrer, является изменением напряжения от 0 до 5 вольт со временем нарастания одной наносекунды и длительностью десяти наносекунд. Следующий код MATLAB моделирует этот сигнал с 1 000 моментов времени с 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)';

Вычислите S-параметры для каждой сети с 2 портами

Чтобы вычислить ответ и через C7 и через конденсаторы C12, два отдельных вычисления S-параметра должны быть сделаны: во-первых, принятие конденсатора C7 представляет выходной порт, и во-вторых, принимая, что конденсатор C12 представляет выходной порт. Вычислить S-параметры для каждой настройки:

  1. Скопируйте исходную схему ckt с помощью функции clone.

  2. Задайте порты ввода и вывода сети с помощью функции setports.

  3. Вычислите S-параметры с помощью функции sparameters.

cktC7 = clone(ckt);
setports(cktC7,[1 0],[8 0])
S_C7 = sparameters(cktC7,freq);

cktC12 = clone(ckt);
setports(cktC12,[1 0],[9 0])
S_C12 = sparameters(cktC12,freq);

Моделируйте каждую сеть с 2 портами

Моделировать каждую сеть:

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

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

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

tfC7 = s2tf(S_C7,0,Inf,2);
fitC7 = rationalfit(freq,tfC7);
outputC7 = timeresp(fitC7,input,sampleTime);

tfC12 = s2tf(S_C12,0,Inf,2);
fitC12 = rationalfit(freq,tfC12);
outputC12 = timeresp(fitC12,input,sampleTime);

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

Выходные параметры совпадают с рисунками 23 и 24 газеты Pillage и Rohrer.

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
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')

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

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

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

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

Для примера того, как создать и моделировать эту схему дерева RC с помощью объектов RFCKT, перейдите в: Межсоединение MOS и Перекрестные помехи Используя Объекты RFCKT.