реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Closed TopicStart new topic
> xSignals. Доступ к членам класса из delphi скрипта.
Vasen
сообщение Mar 30 2015, 11:58
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 74
Регистрация: 30-03-06
Пользователь №: 15 624



Добрый день, уважаемые форумчане.

Возникла проблема, которую я не могу разрешить. Суть следующая.
Нарисовал скрипт, который решает задачи выравнивания дифференциальных пар как внутри пары, так и в группе с учетом задержек FPGA.

Утилита еще сыровата, но с полторы сотни дифф пар я справился быстро.
Дошел вопрос до выравнивания шин DDR3. Для выравнивания оных я использовал классы xSignal и правила для этих классов, но это без использования утилиты.
И встал вопрос как получить доступ к элементам класса xSignal из скрипта. В типе TObjectId нет поля соответствующего данному классу.
Go to the top of the page
 
+Quote Post
Владимир
сообщение Mar 30 2015, 12:28
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671



Поделитесь когда доделаете?
Вам сюда нужно писать
доступ дают по просьбе
Go to the top of the page
 
+Quote Post
Vasen
сообщение Mar 30 2015, 12:32
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 74
Регистрация: 30-03-06
Пользователь №: 15 624



Цитата(Владимир @ Mar 30 2015, 15:28) *
Поделитесь когда доделаете?
Вам сюда нужно писать
доступ дают по просьбе

Владимир, не вопрос, поделюсь. Почищу малеха код, кину на github и ссылку выложу здесь.
Худо, худо с документаций у Altium-а.
Go to the top of the page
 
+Quote Post
peshkoff
сообщение Mar 30 2015, 12:59
Сообщение #4


люблю бегать и орать
*****

Группа: Свой
Сообщений: 1 685
Регистрация: 28-04-07
Из: ЮБутово@Москва.ru
Пользователь №: 27 376



Цитата(Vasen @ Mar 30 2015, 14:58) *
..
Нарисовал скрипт, который решает задачи выравнивания дифференциальных пар как внутри пары, так и в группе с учетом задержек FPGA.
...


А какой алгоритм работы? И чем не устраивает скрипт, что на гуглопэйдже?
Go to the top of the page
 
+Quote Post
Владимир
сообщение Mar 30 2015, 13:14
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671



Цитата(peshkoff @ Mar 30 2015, 15:59) *
А какой алгоритм работы? И чем не устраивает скрипт, что на гуглопэйдже?

В том недостатков не меньше чем достоинств.
А алгоритм действительно интересен. Потому как
Цитата
скрипт, что на гуглопэйдже?
не прицепить к xSignal
Go to the top of the page
 
+Quote Post
peshkoff
сообщение Mar 30 2015, 13:30
Сообщение #6


люблю бегать и орать
*****

Группа: Свой
Сообщений: 1 685
Регистрация: 28-04-07
Из: ЮБутово@Москва.ru
Пользователь №: 27 376



Цитата(Владимир @ Mar 30 2015, 16:14) *
В том недостатков не меньше чем достоинств.
А алгоритм действительно интересен. Потому как не прицепить к xSignal


я так понял, что изначально скрипт работает без XSignals. Его алгоритм и интересен как раз. И почему автор не использовал его изначально.

А почему его не прикрутить? Тот скрипт добавляет отростки, равные длине проводника внутри микросхемы. Не все ли равно хСигнал это или нет..
Go to the top of the page
 
+Quote Post
Vasen
сообщение Mar 30 2015, 13:56
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 74
Регистрация: 30-03-06
Пользователь №: 15 624



Цитата(peshkoff @ Mar 30 2015, 15:59) *
А какой алгоритм работы? И чем не устраивает скрипт, что на гуглопэйдже?


Скрипт с гуглопейджа я рассматривал. Он ориентирован на выравнивание шин DDR, и у меня не получилось добиться вменяемой работы от него.
Задача по выравниванию внутри пары и группы является задачей разработчика как и прежде. Скрипт производит расчет длин с учетом всех нюансов и выводит в форму,
по которой ориентируется разработчик. Из-за некоторых нюансов альтиума получилось не все как планировалось, но на данный момент результатом доволен.
Если интересует более подробная работа скрипта, то постараюсь описать вечером в районе 00 по московскому.


Вот рабочее окно скрипта.
Go to the top of the page
 
+Quote Post
peshkoff
сообщение Mar 30 2015, 14:04
Сообщение #8


люблю бегать и орать
*****

Группа: Свой
Сообщений: 1 685
Регистрация: 28-04-07
Из: ЮБутово@Москва.ru
Пользователь №: 27 376



Почему он ориентирован на выравнивание DDR? че-то я не догоняю...
Он тупо добавляет отростки, что внутри микросхемы...

Я его использую и для FMC, все ОК
Go to the top of the page
 
+Quote Post
Vasen
сообщение Mar 30 2015, 14:10
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 74
Регистрация: 30-03-06
Пользователь №: 15 624



Коротко по интерфейсу.

D2D skew tolerance - погрешность выравнивания в между дифф парами группе;
P2N skew tolerance - погрешность выравнивания внутри пары между P и N цепями;
Delay - задержка распространения сигнала в материале, пс/мм;

Lic - длина (время) вносимая IC;
Lb - длина разведенная;
Leb - требуемая длина для обеспечения параметра D2D skew tolerance;
Lsum - суммарная длина;
D2D - результат обеспечения параметра D2D skew tolerance;
P2N - результат обеспечения параметра P2N skew tolerance.

Цитата(peshkoff @ Mar 30 2015, 17:04) *
Почему он ориентирован на выравнивание DDR? че-то я не догоняю...
Он тупо добавляет отростки, что внутри микросхемы...

Я его использую и для FMC, все ОК


Мы об одном и том же скрипте говорим - LengthTuningHelper_v1.0.

Если да, то Сам автор об этом говорит. В конечном итоге получилось на данный момент, то что получилось.
Go to the top of the page
 
+Quote Post
Владимир
сообщение Mar 30 2015, 14:11
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671



Да он достаточно вменяем и позволяет выравнивать и так и сяк
Недостак - наличие вне платы отрезков линий.
Это требует или правил или игнорирование не разведенных, не такой ширины и так далее

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

Если Ваш скрипт работает по иному принципу-- это было бы интересно
Go to the top of the page
 
+Quote Post
peshkoff
сообщение Mar 30 2015, 14:21
Сообщение #11


люблю бегать и орать
*****

Группа: Свой
Сообщений: 1 685
Регистрация: 28-04-07
Из: ЮБутово@Москва.ru
Пользователь №: 27 376



Цитата(Vasen @ Mar 30 2015, 17:10) *
Коротко по интерфейсу.

D2D skew tolerance - погрешность выравнивания в между дифф парами группе;
P2N skew tolerance - погрешность выравнивания внутри пары между P и N цепями;
Delay - задержка распространения сигнала в материале, пс/мм;

Lic - длина (время) вносимая IC;
Lb - длина разведенная;
Leb - требуемая длина для обеспечения параметра D2D skew tolerance;
Lsum - суммарная длина;
D2D - результат обеспечения параметра D2D skew tolerance;
P2N - результат обеспечения параметра P2N skew tolerance.



Мы об одном и том же скрипте говорим - LengthTuningHelper_v1.0.

Если да, то Сам автор об этом говорит. В конечном итоге получилось на данный момент, то что получилось.


Да, именно об этом.
Он пишет, что изначально задумывался для DDR3, но в коде ничего такого нет, да, собственно и быть не может.
ASCii файл не несет в себе данных ддр3 это или нет...

сейчас единственная засада, .pkg файлы получаются в пикосекундах, нельзя прямиком подсунуть.
Я тогда екселем конвертирую.

в общем, подожду тогда описание, пока не понятно
Go to the top of the page
 
+Quote Post
Владимир
сообщение Mar 30 2015, 14:24
Сообщение #12


Гуру
******

Группа: Модераторы
Сообщений: 11 653
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 671



Цитата(peshkoff @ Mar 30 2015, 17:21) *
сейчас единственная засада, .pkg файлы получаются в пикосекундах, нельзя прямиком подсунуть.
Я тогда екселем конвертирую.

у меня болтался допиленный вариант скрипта - там прямиком подпихивается
Go to the top of the page
 
+Quote Post
peshkoff
сообщение Mar 30 2015, 14:27
Сообщение #13


люблю бегать и орать
*****

Группа: Свой
Сообщений: 1 685
Регистрация: 28-04-07
Из: ЮБутово@Москва.ru
Пользователь №: 27 376



Цитата(Владимир @ Mar 30 2015, 17:24) *
у меня болтался допиленный вариант скрипта - там прямиком подпихивается


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

Может объединить их как нибудь?

а как он пикосекунды переводит в мм? По среднему? там же мин и макс.
Go to the top of the page
 
+Quote Post
Vasen
сообщение Mar 30 2015, 14:39
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 74
Регистрация: 30-03-06
Пользователь №: 15 624



Цитата(peshkoff @ Mar 30 2015, 17:21) *
Да, именно об этом.
Он пишет, что изначально задумывался для DDR3, но в коде ничего такого нет, да, собственно и быть не может.
ASCii файл не несет в себе данных ддр3 это или нет...

сейчас единственная засада, .pkg файлы получаются в пикосекундах, нельзя прямиком подсунуть.
Я тогда екселем конвертирую.

в общем, подожду тогда описание, пока не понятно


Все правильно. Но мне тогда идея создания треков не понравилась. И каким образом после задавать правила контролирующие процесс разводки.
Как не тужил мозг, так и не придумал как этот скрипт правильно прикрутить.

Алгоритм работы такой.
Оператор запускает скрипт и выбирает класс дифф пар. Если необходимо учитывать задержку FPGA, то выбирает микросхему и загружает файл.
Забив необходимые значения в поля skew tolerance, выполняет трассировку пар. Скрипт производит вычисления и обновляет данные в окне.
Все введенные оператором данные, а также последний выбранный класс сохраняются в папке с проектом, те после перезапуска скрипта можно возобновить работу.
При работе скрипта не создается никаких PcbObject-ов. По сути данный скрипт дополняет/заменяет окно PCB.
Go to the top of the page
 
+Quote Post
peshkoff
сообщение Mar 30 2015, 14:43
Сообщение #15


люблю бегать и орать
*****

Группа: Свой
Сообщений: 1 685
Регистрация: 28-04-07
Из: ЮБутово@Москва.ru
Пользователь №: 27 376



а. т.е. это типа аналог панели PCB, где показана длина цепей. Вы, по сути, подменяете это окно своим, где реальная длина.
а данные автоматически меняются? или нужно рефреш?
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Closed TopicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 01:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01484 секунд с 7
ELECTRONIX ©2004-2016