Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: На схеме рисуем одно, а на плате хотим другое
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Altium Designer, DXP, Protel
torik
Здрасте...

Итак, на схеме имеем BGA корпус ПЛИС и подключенную к ней SDRAM. Во время рисования схемы, выводы соединяю, так сказать, заподряд. Начинаем разводить и, конечно, наблюдаем совершенно неудобные для разводки связи, с перехлестами.

Каким максимально удобным способом можно разорвать (так и не понял, как разорвать связи) связи, установить новые, такие чтобы разводка получилась в одном слое "шиной", затем сравнить со схемой и... откорректировать схему? Желательно не полностью вручную...
Владимир
AR0138 Whats New in Altium Designer 6.3
13 страница
torik
Где это взять? И может быть чего по-русски?
Vokchap
Как вариант можно на схеме делать соединения портов шинами и жгутами (для наглядности и простоты сваппирования меток). На плате все net у ПЛИС отключить до оптимизации (чтобы не мешали). Далее автоматом сваппируются выводы до параллельности трасс на плате и обновляются метки на схеме.
torik
У меня шинами и нарисовано, да.

Net-ы отключу (видимость их), а каким образом альтиум мне проведет трассу от памяти к ПЛИС (по классам цепей определит что ли?), как потом оптимизирует?

Может быть какая статейка как это так все сделается?
Владимир
Цитата(torik @ Sep 16 2008, 16:00) *
У меня шинами и нарисовано, да.

Net-ы отключу (видимость их), а каким образом альтиум мне проведет трассу от памяти к ПЛИС (по классам цепей определит что ли?), как потом оптимизирует?

Может быть какая статейка как это так все сделается?


c Год назад писал. Через SWAP.



Делается все. Только эквивалентность PIN надо прописать.
torik
Где писало-то?

Нашел вроде бы...

http://www.eurointech.ru/index.sema?a=pages&id=488
torik
Возник вопрос.
Имеем подключение SDRAM к, скажем, банкам 1 и 2 ПЛИСа. Делаем почти все пины обоих банков ПЛИСа эквивалентными, даем команду оптимизации, и он перетасует связи так, чтобы шина была параллельная...
Теперь вариант посложнее: между ПЛИС и SDRAM ставим резисторные сборки. Сначала будем свапировать связи от резисторов к ПЛИС, все по-старому. А вот когда просвапируем между резисторами и SDRAM, все вроде нормально, но имена цепей-то перемешаются... Ну скажем, цепь RAS от памяти, после резистора уже будет какая-нибудь CAS...

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

Ну и в догонку - изменив печать, изменения можно отразить на схему. А наоборот?
Владимир
Цитата
Теперь вариант посложнее: между ПЛИС и SDRAM ставим резисторные сборки. Сначала будем свапировать связи от резисторов к ПЛИС, все по-старому.

Как правило резисторные сборки хорошо сразу еще на схеме ложатся на память и свапировать только между ПЛИС и сборками нужно.
Всех случаев не предусмотришь.
Вариант-- резисторы убираем-- свапируем, добавляем резисторы и их уже свапируем если нужно.
Цитата
Вот и вопрос - нужно обязательно делать резисторную сборку "гейтами",

Если предполагается свапирование то да.

Цитата
Ну и в догонку - изменив печать, изменения можно отразить на схему. А наоборот?

Ничего не понял, какая печать, что на схеме smile.gif
torik
Насчет резисторных сборок - все ясно.

Про последнее - когда в разводчике ПП мы сделали это самое свапирование, то потом командой "update schematic" вносим сделанные изменения на схему. Так?

А вот можно ли в процессе разводки ПП сделать изменения на схеме, небольшие, и после этого обновить связи в разводчике?

Ну, скаем, плату почти развел и тут появилась необходимость добавить резистор. Дорисовываю его на схеме и... можно ли не испортив результаты разводки добавить в разводчик этот резистор?
Владимир
Цитата
когда в разводчике ПП мы сделали это самое свапирование, то потом командой "update schematic" вносим сделанные изменения на схему. Так?

Так
Цитата
вот можно ли в процессе разводки ПП сделать изменения на схеме, небольшие, и после этого обновить связи в разводчике?

Можно. в томж е меню еть и импорт
dxp
Цитата(torik @ Sep 26 2008, 14:36) *
А вот можно ли в процессе разводки ПП сделать изменения на схеме, небольшие, и после этого обновить связи в разводчике?

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

Да. Этапы такие.
  1. Добавляем резистор.
  2. Даем команду Annotate, резистор получит номер, следующий за старшим номером резистора, уже имеющегося на плате. Реаннотирование пока не делаем.
  3. Делаем апдейт платы - резистор появился там.
  4. Теперь в схеме можно сделать реаннотацию (т.е. сбросить позиционные и проаннотировать снова, чтобы порядок следования позиционных был правильным).
  5. Снова апдейт платы - номера резисторов на плате приводятся к порядку на схеме.
Сразу добавить резистор и переаннотировать схему нельзя - тогда при апдейте платы программа начнет материцца, что линки компонентов нарушены (уникальные ID и позиционные "съехали"). Поэтому надо делать последовательно. Так все работает хорошо, многократно этим пользовался и пользуюсь еще со времен первых версий протелов.
torik
Век разводи - век учись!
Vokchap
Цитата(dxp @ Sep 26 2008, 12:10) *
Сразу добавить резистор и переаннотировать схему нельзя - тогда при апдейте платы программа начнет материцца, что линки компонентов нарушены (уникальные ID и позиционные "съехали"). Поэтому надо делать последовательно.

На самом деле ID останутся старыми. Поскольку по ним синхронизируемся, то будет предложено только сменить Designator и переименовать список Net Name. smile.gif
torik
Попробовал все это дело - плата по результатам изменения схемы отлично обновляется (добавляются необходимые компоненты)

А вот когда сделал свапирование в разводчике и попытался сделать update schematic - вроде все произошло без ошибок, но схема не изменилась вовсе и не совпадает с разводкой... Что-то не так делаю?
dxp
Цитата(Vokchap @ Sep 26 2008, 17:38) *
На самом деле ID останутся старыми. Поскольку по ним синхронизируемся, то будет предложено только сменить Designator и переименовать список Net Name. smile.gif

ID-то остаются прежними, но если сделать не так, как описано, будут проблемы. Программа при апдейте проверяет соответствие ID и позиционных. Если количество компонентов осталось прежним, то она соображает, что надо переименовать позиционные. Но есть при апдейте компонентов в схеме оказалось больше, да еще и есть компонент, у которого позиционное и ID не совпадают с теми, какие на ПП, то выдается сообщение о нарушении Component Links и предлагается руками установить соответствия. Поэтому приходится делать в два этапа: сначала добавлять компонент на ПП, не нарушая порядок позиционных, затем менять позиционные, не нарушая равенство количеств компонентов в схеме и на ПП.

Технически ничего сложного для программы нет и в исходной ситуации - все можно сразу разрулить, но до недавнего времени описанный эффект имел место быть. Возможно, в последней версии это, наконец, пофиксили, специально не проверял, но очень сомнительно.
Владимир
Цитата(dxp @ Sep 26 2008, 15:18) *
ID-то остаются прежними, но если сделать не так, как описано, будут проблемы. Программа при апдейте проверяет соответствие ID и позиционных. Если количество компонентов осталось прежним, то она соображает, что надо переименовать позиционные. Но есть при апдейте компонентов в схеме оказалось больше, да еще и есть компонент, у которого позиционное и ID не совпадают с теми, какие на ПП, то выдается сообщение о нарушении Component Links и предлагается руками установить соответствия. Поэтому приходится делать в два этапа: сначала добавлять компонент на ПП, не нарушая порядок позиционных, затем менять позиционные, не нарушая равенство количеств компонентов в схеме и на ПП.

Технически ничего сложного для программы нет и в исходной ситуации - все можно сразу разрулить, но до недавнего времени описанный эффект имел место быть. Возможно, в последней версии это, наконец, пофиксили, специально не проверял, но очень сомнительно.


Эффект есть, но когда меняется пару элементов-- как правило без проблем.

Проблемы начинаются, когда добавляют целыми листами, и там обозначения совпадает.
Пару раз нарывался когда и при этом ID совпадало. Тут совсем сложнее.
Поэтому согласен, лучше пошагово. Меньше проблем потом рассасывать.
Vokchap
Цитата(dxp @ Sep 26 2008, 15:18) *
Но есть при апдейте компонентов в схеме оказалось больше, да еще и есть компонент, у которого позиционное и ID не совпадают с теми, какие на ПП, то выдается сообщение о нарушении Component Links и предлагается руками установить соответствия.

При внесении односторонних изменений естественно будет нарушение Component Links, однако сообщение об этом при апдейте и предложение поправить это руками будет только в том случае, если будут найдены новые ID и на схеме и на плате. Т.е. будет предложено сопоставить их и там и там. Т.к. в нашем случае новый компонент добавляется только на схему, то сопоставлять нечего (все ID кроме одного на схеме имеют пары на плате). Поэтому при апдейте кроме директив на обновление "Designator" и "Net Name" добавится еще "Add Component" (+ еще несколько, от настроек зависит). И все. Так было всегда.
Если у Вас были с этим проблемы, вероятно при аннотации схемы произошли изменения в очередности part ID многопартовых компонентов (на схеме у каждого парт свой уникальный ID, на плате - только один из них), или еще что-то глобальное. Если есть желание - сделайте маленький эксперимент. smile.gif

Цитата(Владимир @ Sep 26 2008, 16:16) *
Эффект есть, но когда меняется пару элементов-- как правило без проблем.

Проблемы начинаются, когда добавляют целыми листами, и там обозначения совпадает.
Пару раз нарывался когда и при этом ID совпадало. Тут совсем сложнее.
Поэтому согласен, лучше пошагово. Меньше проблем потом рассасывать.

А какая разница, сколько элементов - суть не меняется.
Совпадение обозначений у компонентов синхронизатору до балды - он сравнивает их ID. Обозначения только обновляет при необходимости.
Про случайное совпадение ID - вероятность события 1 / (26 ^ 8). Даже если произошло, думаю это должно отслеживаться. У меня такого нонсенса никогда небыло. smile.gif
Владимир
Цитата
вероятность события 1 / (26 ^ 8).

Ну не совсем так.
Известныя задача что людей разного пола примерно одинаково, и хотят примерно хаотично-- вероятность того что пройдет подряд по дороге сотня одного пола тогоже порядка. Однако если есть воинская часть, топри походе в баню каждую неделю эта вероятность летит к чертово бабушке.
Добавте к проекту чужой лист просто копированием файла и его ID сохранятся. А если ранее из этого листа уже схема модифицировалас. Элементы которые использовались на схеме будут иметь тот же ID.
Эти грабли проходил пару раз. Первый раз было больно smile.gif
Vokchap
Цитата(Владимир @ Sep 26 2008, 19:46) *
Добавте к проекту чужой лист просто копированием файла и его ID сохранятся.

Есть такое. Только ведь у автора простейший случай. Все будя ОК в любом случае.
Кстати, есть процедура принудительной смены ВСЕХ ID всего проекта (если есть конфузы при копировании листов с разных мест).

Цитата(Владимир @ Sep 26 2008, 19:46) *
... и хотят примерно хаотично

Да, если бы все одного пола захотели и ещё в одном месте ... biggrin.gif
Владимир
Цитата
Кстати, есть процедура принудительной смены ВСЕХ ID всего проекта (если есть конфузы при копировании листов с разных мест).

Да есть. Нут тут связь по ID полностью теряется. Эта операция хороша , когда еще нет топологии на PCBDOC/

А если идет модернизация-- упаси бог. Либу переразводить,либо долго востанавливать. Тоже наступали. В этом случае эта куча воняет smile.gif

Цитата
хаотично

[
Цитата
одного пола захотели и ещё в одном месте

smile.gif smile.gif smile.gif не наш случай. Спидо-грипус бродит по просторам smile.gif
Vokchap
Цитата(Владимир @ Sep 26 2008, 20:11) *
Да есть. Нут тут связь по ID полностью теряется. Эта операция хороша , когда еще нет топологии на PCBDOC/

А если идет модернизация-- упаси бог. Либу переразводить,либо долго востанавливать. Тоже наступали. В этом случае эта куча воняет smile.gif

Не воняет. Если глобально сброшены все ID, то остается связь по дезигнаторам (при условии, что вновь прикреплённые (либо скопированные) листы к проекту имеют сброшенные в "?" дезигнаторы). Поэтому в Component Links одной кнопочкой синхронизуем по ним все ID на schdoc & pcbdoc.
Владимир
Цитата(Vokchap @ Sep 27 2008, 15:44) *
Не воняет. Если глобально сброшены все ID, то остается связь по дезигнаторам (при условии, что вновь прикреплённые (либо скопированные) листы к проекту имеют сброшенные в "?" дезигнаторы). Поэтому в Component Links одной кнопочкой синхронизуем по ним все ID на schdoc & pcbdoc.




Вот, вот. Опять при условии. А как правило это понимаешь это условия после оных безответсвенных действий.
Поэтому без условий. А точнее одно: неукоснительно соблюдать порядок действий, указанный DXP.
И проблем и вопросов, как их разрешить, не будет.
Vokchap
Цитата(Владимир @ Sep 27 2008, 17:03) *
Опять при условии.

Не опять, а снова. Это условие не необходимое, а достаточное. Его можно комбинировать с совпадениями по футпринту и комменту. Вероятность совпадения трёх признаков у двух компонентов - ничтожная.

Цитата(Владимир @ Sep 27 2008, 17:03) *
А точнее одно: неукоснительно соблюдать порядок действий, указанный DXP.

Я не против. smile.gif
Только ведь если в проект попали компоненты с одинаковыми ID (по твоему сценарию), то и рецепт от DXP не поможет. Работать придется ручками (если designator и остальное также продублировались). А если не попали - то в чём проблема двухэтапную процедуру заменить одноэтапной?

Цитата(Владимир @ Sep 27 2008, 17:03) *
И проблем и вопросов, как их разрешить, не будет.

Так без проблем скучно жить будет. А вопрос их решения - это дело техники для профессионала. smile.gif
Владимир
Развели однако флейм
Ладно подытожу.
1/ Вероятность хороша, но она как статистика--- когда не надо-- гадость лезет, хотя по теории вероятности не должна.
2/ Нужен порядок, дисциплина и аккуратность во всех действиях
3. Когда гадость возникает и она с успехом разрешается--- скука из жизни улетает. Когда долго не решается-- хандра наступает.

Призываю на этом завершить флейм.
Vokchap
Думаю вопрос раскрыли достаточно.
torik
Уважаемые знатоки! Это углубление в теорию явилось весьма познавательным для меня, вы, можно сказать, раскрыли передо мной новые горизонты науки... НО!
Выскажитесь, пожалуйста, по поводу последней означенной мной проблемы (передача изменений из pcb в sch).

У меня уже глюки...
Уважаемые знатоки, выскажитесь, пожалуйста по обозначенной проблеме:


Попробовал все это дело - плата по результатам изменения схемы отлично обновляется (добавляются необходимые компоненты)

А вот когда сделал свапирование в разводчике и попытался сделать update schematic - вроде все произошло без ошибок, но схема не изменилась вовсе и не совпадает с разводкой... Что-то не так делаю?

Еще скажу, когда повторно пытаюсь дать команду на update schematic, пишет, что отличий нет... Что-то я ту не понимаю...
Владимир
Вы бы скрины приложили, и ли полностью проблемный проект,
А так гадать. Ну нет у меня таких проблем.
torik
Пардон, это я ошибся - все поменялось на схеме. Но, т.к. компонент не гейтами сделан, альтиум просто перекинул номера выводов на схеме. Не сразу я и заметил...
Владимир
Цитата
альтиум просто перекинул номера выводов на схеме

Да. Это он может.
Vokchap
Цитата(Владимир @ Sep 29 2008, 15:11) *
Да. Это он может.

Он так умеет (лень проверять)? ИМХО это неправильно выводы перетасовывать, они ведь могут быть объединены в банки на УГО. Логичнее ведь Net Label (Harness Entry) сваппировать.
Владимир
Цитата
Логичнее ведь Net Label (Harness Entry) сваппировать.

Согласен. Но оно делает так как делает. Однаждв долго искал PIN, а он оказался но другом листе sad.gif
Vokchap
Цитата(Владимир @ Sep 30 2008, 15:52) *
Но оно делает так как делает.

Оно это кто (что)? Если АД, то у юзера есть масса вариантов.
Если torik, то хозяин-барин ... smile.gif
torik
Я не "оно", простите. Речь идет об АД. А что, знаете, как заставить его свапировать именно нетлабелы, а не пины?
Владимир
Цитата(torik @ Oct 1 2008, 12:41) *
Я не "оно", простите. Речь идет об АД. А что, знаете, как заставить его свапировать именно нетлабелы, а не пины?


По определению свапируются пины и гейты. С нетлабелами напряг sad.gif
Так как нажно менять иногда не только их но и сами линии. Кто этому научит программу?


Сори. "ОНО" это програмное обеспечение алтиума. Я естественно это имел ввиду
Vokchap
Цитата(torik @ Oct 1 2008, 12:41) *
А что, знаете, как заставить его свапировать именно нетлабелы, а не пины?

Цитата(Владимир @ Oct 1 2008, 13:05) *
По определению свапируются пины и гейты. С нетлабелами напряг sad.gif
Так как нажно менять иногда не только их но и сами линии. Кто этому научит программу?

Зачем-же IO в FPGA подключать линиями, разве если только настальгия замучила. Для этого есть метки, шины и жгуты. Если коннекты установлены с помощью Net Label, они и сваппируются. В чём проблема-то? Думаю Harness Entry тоже без проблем (реально еще не пробовал).
Владимир
Цитата
Зачем-же IO в FPGA подключать линиями

Это да. там и схемыто нет одни отрезки с нетлабел.
А если простая лагика. и жгутов нет. десяток линий на схеме лучше в реале показать. Тут и вообще нетлабел может отсутствовать. sad.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.