Межсоединение 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.