Jump to content

    
Halo_Gen

Вопросы по Agilent ADS

Recommended Posts

1) Рисуем схему

7c64055e0e6c6592fc293eb977e2463e.jpeg

опять я со своей оптимизацией....

ну вот все сделано, оптимизировано. найдены оптимальные значения переменных - как их теперь применить на лейаут? если тупо его открывать после оптимизации, то там все значения переменных по-умолчанию, как применить на лейаут оптимальные значения? метод "руками" - работает, но как-то это не хорошо по нынешним временам....

Share this post


Link to post
Share on other sites
опять я со своей оптимизацией....

ну вот все сделано, оптимизировано. найдены оптимальные значения переменных - как их теперь применить на лейаут? если тупо его открывать после оптимизации, то там все значения переменных по-умолчанию, как применить на лейаут оптимальные значения? метод "руками" - работает, но как-то это не хорошо по нынешним временам....

 

 

На шаге 8 последовательности, приведенной в посте, генерировать/обновить Layout.

Модель д.б. emModel.

Share this post


Link to post
Share on other sites

Эээ, т.е. - это получается еще как бы один лейаут в дополнение к уже имеющемуся?.. А вот тот, который я уже оптимизирую нельзя?

 

И еще чисто теоретический вопрос... Когда мы генерим лейаут из параметризованный схематики, компоненты лейаута уже имеют прописанные внутри переменные (соотв. переменным схематики), но нигде в лейатуте эти переменные НЕ описаны, как оно строит тогда его? Откуда оно знает какое у них значение, ведь мы присваиваем значения переменным (да и просто создаем их) только после того как уже все сгенерено...

Share this post


Link to post
Share on other sites
Эээ, т.е. - это получается еще как бы один лейаут в дополнение к уже имеющемуся?.. А вот тот, который я уже оптимизирую нельзя?

 

Первый Layout имеет значение только для построения символа, и в нем все значеия по умолчанию.

Второй Layout появляется в рабочей папке как временный файл, именно он и оптимизируется. Чтобы получить его официально, надо нажать Generate/Update Layout.

 

И еще чисто теоретический вопрос... Когда мы генерим лейаут из параметризованный схематики, компоненты лейаута уже имеют прописанные внутри переменные (соотв. переменным схематики), но нигде в лейатуте эти переменные НЕ описаны, как оно строит тогда его? Откуда оно знает какое у них значение, ведь мы присваиваем значения переменным (да и просто создаем их) только после того как уже все сгенерено...

 

После генерации первого Layout формируется Символ. Сам Layout (1) имеет набор переменных со значениями, установленными по умолчанию. Эти признаки (переменные и значения) сохраняет и Символ. При первой вставке Символа в Параметризованную Схематику нужно в свойствах Символа включить отображение параметров (если не отображаются автоматом). На данном этапе значения параметров, соответственно и геометрия, одинаковы и для Layout (1) и для Layout (2)=emModel.

 

В этот момент "все сгенерено".

 

Теперь меняем значения в Параметризованной Схематике. Символ для собственного отображения, по-прежнему, берет значения по умолчанию (чтобы схема не прыгала), а для emModel=Layout (2) - из таблицы параметров Символа в Параметризованной Схематике.

Т.о., при оптимизации сам Символ не меняется, а изменение emModel=Layout (2) происходит в скрытом режиме, что, видимо, и смущает Вас.

 

 

Share this post


Link to post
Share on other sites

и все равно не получается....

Еще раз... У меня лейаут сгенерен из схематики, потом я из него создал символ(сделал емМодель, расписал все переменные, все как надо), который вставил в новую схематику с оптимизационным сетапом. Отоптимизировал. Ок, сделал генерировать/обновить Layout - получаю уже действительно НОВЫЙ лейаут , но он содержит внутри "под-лейаут" (он выглядит новым, оптимальные переменные применились), но, когда я жму push into hierarchy мне открывается все ТОТ ЖЕ дефолтный старый изначальный лейаут!

Бог с ним с символом, всегда, когда я делаю push into hierarchy - открыть лейаут, независимо, какие значения переменных у моего символа, открывается лейаут с одними и теми же значениями переменных...

 

даже руками переменные не совсем понятно как применять... меняю значение в файл - дизайн параметерс - параметры ячейки меняю там значение переменной. жму ОК. и ... ничего не меняется... только его влезть в элемент, который зависит от этой переменной, ниче не трогать там, нажать ок - он меняется. и так надо для каждого... мрак.. .:(

Share this post


Link to post
Share on other sites
и все равно не получается....

Еще раз... У меня лейаут сгенерен из схематики, потом я из него создал символ

 

Нет, неправильно, этот лейаут и есть символ (SW_BPF_MS). Для того, чтобы создать символ, Вы делаете некоторый набор операций: рисуете, задаете параметры, "(сделал емМодель, расписал все переменные, все как надо)". Выполнение операций разнесено во времени, но итог один - символ.

 

который вставил в новую схематику с оптимизационным сетапом.

 

В том примере - это cell1.

 

Допустим, Вы вставляете в схему резистор. На схеме он отображается в виде символа - зигзаг с выводами и номиналом по умолчанию 50 Ом. Ведь это Вас не смущает? Корректировка символа резистора запрещена.

В примере же, корректировка символа разрешена, а в остальном - все тоже самое.

 

Оптимизированная топология - это cell1.

А SW_BPF_MS - это символ. Поэтому, в cell1 выделив SW_BPF_MS, чтобы по пушу уйти вниз по иерархии, Вы попадете, даже через emModel, в символ.

 

Если хотите попадать в оптимизированную топологию, создайте Sch (cell2), состоящую из SW_BPF_MS и пинов. Размеры задайте типа W0=a. Затем создайте Sch (cell3) и из библиотеки вставьте в нее элемент "Cell2", все переменные (а=..., в=...), контроллеры, условия..., терминаторы. Теперь по пушу (layout) будете попадать в оптимизированную топологию (cell2), и только потом в божественный символ.

 

Правда, в этом случае, потеряется универсальность, видимо заложенная разработчиком программы - оперативный выбор объекта моделирования. В исходном варианте по "Выбор вида для симуляции" можно выбрать из нескольких вариантов FEM-ов, MOM-ом, + схема. Во втором варианте придется путешествовать через пуши, туда и обратно.

Может будет достаточно, если в дереве проекта, в папке cell1, просто открыть layout? А геометрию символа оставить постоянной.

 

Выбор за вами, однако.

Share this post


Link to post
Share on other sites

нет, все не так. :-)

меня не интересовал символ изначально, мне изначально хотелось увидеть на лейауте результат оптимизации.

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

мои мытарства оказались с совершенно другой плоскости... я вообще не видел никакого оптимального лейаута, ниче не генерилось. пустое место. кроме того, когда я пытался менять переменные у символа - все время сыпались ошибки "momDesignKit.ael parameter 1 of listlen is the wrong type "string""... хотя все работало.

пока вроде вылечил полным пересозданием всего... этот проект был создан изначально в 2011, потом перенесен в 2012 и наконец в 2013, что-то где-то по пути поломалось....

Share this post


Link to post
Share on other sites

Здравствуйте, форумчане. Вопрос такой:

 

Нарисовал схему умножителя частоты, с системными моделями усилителей, а на выходе графика присутствуют только 1,3,5 и т.д гармоники (сразу после генератора P1_tone). Что я могу задавать не так ?(Метод гармонического баланса)

 

Ссылка на проект: http://yadi.sk/d/H2cNXOvUKE8wW

Share this post


Link to post
Share on other sites

Разобрался, все дело в модели усилителя: если хочешь ИМИ второго порядка увидеть,нужно задавать параметры TOI и SOI (IP2 and IP3), в других случаях модель работает по нечетным гармоникам (IP3, P1 dB)

Share this post


Link to post
Share on other sites

Помогите добрым словом об датафайлах...

Хочу сделать оптимизацию ДН антенной решетки. Саму ее (точнее комплексную ДН каждого отдельного излучателя) посчитал в хфсс на нескольких частотах. Из этих данных скомбинировал MDIF файл и скормил его АДС. Т.е. этот файл выглядит примерно вот так:

VAR freq(real) = 800e6
BEGIN Pattern
% Theta(real) Rad1(complex) Rad2(complex) Rad3(complex) Rad4(complex)
-180 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8    
-179 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8    
.....
END
VAR freq(real) = 900e6
BEGIN Pattern
% Theta(real) Rad1(complex) Rad2(complex) Rad3(complex) Rad4(complex)
-180 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8    
-179 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8    
.....
END
и т.д.

Сделал из него датасет, успешно скормил его DAC.

В адс у меня нарисован фазовращатель и я хочу его оптимизировать непосредственно с помощью этих ДН на нескольких частотах, т.е. я нагружаю его выходы на 50Ом, смотрю на коэффициенты передачи (S21, S31, S41, S51), суммирую произведения парциальных ДН на эти коэффициенты и получаю ДН всей решетки с учетом АФР фазовращателя. Как вот это все автоматизировать и отдать трудиться оптимизатору?

У меня мысль остановилась на DAC, как эти данные оттуда вынуть и сделать произведение с весами - не совсем понятно, т.к. все данные это массивы и чего надо делать хз... Плюс не совсем понятно как автоматически делать нормированную ДН и как следить, скажем, за положением максимума суммарной ДН.

 

В принципе у меня более-менее получилось это сделать в постпроцессинге, но тоже корявова-то и это годится только для ручного тюнинга.

Спасибо!

Share this post


Link to post
Share on other sites

Подскажите, пожалуйста, как настроить контроллер НВ для анализа двух частот очень мало отличающихся друг от друга?

Частоты, например, 1 ГГц и 1,0001 ГГц.

В качестве схемы - сумматор.

43908ffd943f7309c9be7b71cbb7dda1.png

По спектру суммарного сигнала вопросов нет, а вот форма выходного сигнала...?

Share this post


Link to post
Share on other sites
Подскажите, пожалуйста, как настроить контроллер НВ для анализа двух частот очень мало отличающихся друг от друга?

По спектру суммарного сигнала вопросов нет, а вот форма выходного сигнала...?

 

Если интересует форма выходного сигнала, то почему не заиспользовать Time domain controller?

 

Share this post


Link to post
Share on other sites
Если интересует форма выходного сигнала, то почему не заиспользовать Time domain controller?

 

НВ-контроллер дает возможность смотреть форму сигнала по определению, поэтому дата-дисплей должен отображать правильно.

 

Проблема решается увеличением разрешающей способности дата-дисплея (?):

37ed43bd697dc16afa60934abca5baa9.png b823ec07081a5642ed6b191b8747eb66.png a3273d6f7332585c6ade10c310df3a1b.png 9802b2e428d9753def181b5c2b965cb7.png

Share this post


Link to post
Share on other sites
А что система пишет?

 

Попробуйте:

остановить службу менеджера лицензий,

запустить killlmgrd.exe из c:\Agilent\EEsof_License_Tools\bin\,

удалить всю папку Zero G Registry,

Не к месту будет сказано? Уважаемый писец обьясни, что я делаю не так. ADS не становиться последний, надо ли прописывать вариейблс. Мерси боку :laughing:

Edited by saab

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.