Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Pin swap, net swap
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Cadence
djhall
Для упращения разводки платы, а именно ПЛИС и памяти хочу заменить в PCB Editor'е некоторые равнозначные ножки у ПЛИС. Прописываю PinGroup, захожу в Place->Swap->Pins указываю нужные ножки, всё меняется как надо. Далее делаю Back Annotate в Capture и что же я вижу? В part поменялись местами ножки, а все цепи остались как прежде. Мне конечно же всего навсего нужно было перекинуть цепи с одной ножки на другую, но ни как не менять местами ножки. Вообще-то мне сложно представить зачем нужно менять местами ножки, ведь при замене данной part новой из библиотеки произайдёт ошибка, она ведь не изменилась. Да и вообще глупо как-то смотрится вместо последовательности ножек в part, например D0-D1-D2-D3-D4 чехарда в виде D2-D4-D1-D3-D0.
Подскажите как в PCB Editor'а перекинуть цепи с ножки на ножку и передать результат в Capture без изменения порядка ножек в part?
vitan
Это не глупо, это нормально и глубоко правильно. А замена цепей должна делаться в схеме. Ее можно сделать и в плате, но это из серии для опытных пользователей и Вам судя по вопросу не нужно.
SM
Это по всей видимости из-за лени программистов, писавших эту back annotation.... К сожалению, другие продукты, например ментор, ведут себя также тупо, вместо того, чтобы оторвать на схеме цепи от символа, и пририсовать их заново, они корежат нумерацию пинов. Такой авто-swap, корежащий символ, реально применим только для компонентов вроде резисторов, конденсаторов и их сборок, но никак не для микросхем (простой пример, у SDRAM памяти все данные эквивалентны, их можно свопить, но при этом важно, чтобы на символе оставалось соответствие нумерации линий данных по даташиту и их пинов по даташиту, поэтому свопить их средствами PCB не представляется возможным).

Выход один, делать swap руками в схеме самому, и забыть про back annotation. Неудобно, ракообразно, криво, долго и муторно, но зато на схеме все красиво и правильно. А что поделаешь?

Для ПЛИС может еще помочь применение специальных тулзов по назначению ног, если таковой имеется в среде.

Ну и последний вариант, уйти в пикад. Он умеет свопить пины корректно, переподключая цепи на схеме.
vitan
Цитата(SM @ Apr 30 2013, 21:07) *
важно, чтобы на символе оставалось соответствие нумерации линий данных по даташиту и их пинов по даташиту

Почему это важно?

Цитата(SM @ Apr 30 2013, 21:07) *
Ну и последний вариант, уйти в пикад. Он умеет свопить пины корректно, переподключая цепи на схеме.

ПесТня...
SM
Цитата(vitan @ Apr 30 2013, 21:14) *
Почему это важно?


Потому, что пин, допустим A9, корпуса микросхемы, соединен с внутренней шиной D0 этой микросхемы, а не D2 и не D9. И ЭТО свопу не подлежит, это определил разработчик ИМС. Я вправе лишь подключить на линию D0 этой микросхемы пятый, третий, нулевой и т.д. бит МОЕЙ ШИНЫ, а не изменить внутреннюю структуру ИМС, как то представляется этим кривосвопом. Да и когда потом придется работать с сигналами, их анализом и даташитами, этот кривосвоп еще таким боком вылезет, что мало не покажется. Зачастую смотришь по схеме на номер шины в символе ИМС (а не номер пина), и наизусть уже помнишь, на каком пине она, и где ее найти осциллом, а тут понимаешь такая засада, редактор себе позволил искорежить нумерацию.
Владимир
В коробке из под манке, соль.
Там где написано соль-- там крахмал.
Сахар ищи в банке в надписью манка.

Все просто и понятно sm.gif
vitan
Цитата(SM @ Apr 30 2013, 21:27) *
Потому, что пин, допустим A9, корпуса микросхемы, соединен с внутренней шиной D0 этой микросхемы, а не D2 и не D9. И ЭТО свопу не подлежит, это определил разработчик ИМС. Я вправе лишь подключить на линию D0 этой микросхемы пятый, третий, нулевой и т.д. бит МОЕЙ ШИНЫ, а не изменить внутреннюю структуру ИМС, как то представляется этим кривосвопом.

Для Вас действительно важно сохранять внутреннюю структуру ИМС с УГО? Напоминаю, что УГО - это всего лишь условное графическое обозначение.

Цитата(SM @ Apr 30 2013, 21:27) *
Да и когда потом придется работать с сигналами, их анализом и даташитами, этот кривосвоп еще таким боком вылезет, что мало не покажется.

Видимо, это единственная причина, по которой Вы этот механизм называете такими словами?

Цитата(SM @ Apr 30 2013, 21:27) *
Зачастую смотришь по схеме на номер шины в символе ИМС (а не номер пина), и наизусть уже помнишь, на каком пине она, и где ее найти осциллом, а тут понимаешь такая засада, редактор себе позволил искорежить нумерацию.

Вы же не будете спорить, что данная ситуация возникла только из-за особенностей Вашего личного восприятия и не имеет отношения к физике процессов в ИМС?

Итого, из-за того, что Вам субъективно не нравится своп пинов по описанным выше причинам, Вы его обзываете кривым, да еще и советуете ТС отправляться в пикад? sm.gif

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

SM
Цитата(vitan @ Apr 30 2013, 21:59) *
Для Вас действительно важно сохранять внутреннюю структуру ИМС с УГО? Напоминаю, что УГО - это всего лишь условное графическое обозначение.

Да, это важно, причем критически важно - это определяет корректность общей документации проекта и соответствие ее с документацией на отдельные компоненты.

Цитата(vitan @ Apr 30 2013, 21:59) *
Вы же не будете спорить, что данная ситуация возникла только из-за особенностей Вашего личного восприятия и не имеет отношения к физике процессов в ИМС?

Имеет отношение и к физике. Через JTAG и через отладочные средства ядра я допустим залезу к пину D0, будучи уверенным, прочитав даташит, что это двадцать пятый пин, а окажется, что он тридцать девятый. Вот Вам и вся физика.

Цитата(vitan @ Apr 30 2013, 21:59) *
Итого, из-за того, что Вам субъективно не нравится своп пинов по описанным выше причинам, Вы его обзываете кривым, да еще и советуете ТС отправляться в пикад? sm.gif

Повторю, он мне нравится, и он очень даже удобен, но для определенных действий, как то поменять пины на резисторной сборке. Но для работы с ИМС он категорически не применим, и причем объективно.

Цитата(vitan @ Apr 30 2013, 21:59) *
Своп пинов правилен по многим причинам. Например, что Вы скажете, если будет иерархическая схема, в которой на нескольких уровнях будут стоять одинаковым образом нарисованные блоки с одинаковым образом подходящими к ним цепями (в одном и том же порядке), и при разводке у Вас возникла потребность в одном из них поменять местами подключения? Будете цепи перерисовывать? В одном блоке перерисовали, а остальные вслед за первым поехали. Нравится?

Скажу что это бред. Такие блоки разводятся также сами по себе в определенный кусок топологии и размещаются на плате тоже готовыми блоками, и надобности свопить пин в отдельном блоке на одной и той же плате не бывает. И, даже больше, если в одном из блоков компонент подключен по-другому, то это уже не тот же блок, а другой, и он не имеет никакого права быть тем же, что оригинал.
vitan
Цитата(SM @ Apr 30 2013, 22:21) *
Да, это важно, причем критически важно - это определяет корректность общей документации проекта и соответствие ее с документацией на отдельные компоненты.

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

Цитата(SM @ Apr 30 2013, 22:21) *
Имеет отношение и к физике. Через JTAG и через отладочные средства ядра я допустим залезу к пину D0, будучи уверенным, прочитав даташит, что это двадцать пятый пин, а окажется, что он тридцать девятый. Вот Вам и вся физика.

На чем базируется уверенность, можно узнать? sm.gif

Цитата(SM @ Apr 30 2013, 22:21) *
Повторю, он мне нравится, и он очень даже удобен, но для определенных действий, как то поменять пины на резисторной сборке. Но для работы с ИМС он категорически не применим, и причем объективно.

Ай-яй-яй!!! Как Вы так опустили резисторную сборку? Ведь в ней физические процессы не менее важны, не так ли, ибо физика для всех едина? sm.gif

Цитата(SM @ Apr 30 2013, 22:21) *
Скажу что это бред. Такие блоки разводятся также сами по себе в определенный кусок топологии и размещаются на плате тоже готовыми блоками, и надобности свопить пин в отдельном блоке на одной и той же плате не бывает. И, даже больше, если в одном из блоков компонент подключен по-другому, то это уже не тот же блок, а другой, и он не имеет никакого права быть тем же, что оригинал.

Вы сами такие блоки рисовали когда-нибудь? Если рисовали, но не такие, то это же не значит, что никто не рисует, верно? Могу Вам только сказать, что такие блоки - это реальность, причем объективная...
Вы, возможно, не поняли. Речь не о разведенных блоках, а о блоках в схеме. Т.е. нарисованы только соединения в блоке (т.е. на схеме), но блоки не разведены.
SM
Цитата(vitan @ Apr 30 2013, 22:32) *
Что же случится, если в этом конкретно месте документация проекта будет несоответствовать оной на компоненты? Вам будет неудобно тыкать осциллографом? А мне удобно. И что из этого следует? Только то, что этот критерий субъективен и не важен.

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

Субъективно тут одно - вы можете допустить некорректную документацию в угоду своей лени поправить схему до корректного состояния, а другие не могут, или не хотят.

Цитата(vitan @ Apr 30 2013, 22:32) *
На чем базируется уверенность, можно узнать? sm.gif

На вышесказанном опыте разработки ИМС и техподдержки.

Цитата(vitan @ Apr 30 2013, 22:32) *
Ай-яй-яй!!! Как Вы так опустили резисторную сборку? Ведь в ней физические процессы не менее важны, не так ли, ибо физика для всех едина? sm.gif

Физика одна, а процессы то разные sm.gif Одно дело, когда надо за разные биты дергать, чтобы получить нужную картину сигналов, а другое дело, когда компонент пассивный и ничем дергать изнутри себя не может.

Весь смысл то в том, что у микросхем пины могут быть электрически взаимозаменимы, то есть как их подключить на схеме, не важно, а вот логически - не совсем, но почти - разных отладочный доступ, разный программный доступ, разная конфигурация (если это ПЛИС), и т.п. А в пассивке такого нет, там все просто.

Цитата(vitan @ Apr 30 2013, 22:32) *
Вы, возможно, не поняли. Речь не о разведенных блоках, а о блоках в схеме. Т.е. нарисованы только соединения в блоке (т.е. на схеме), но блоки не разведены.

Для таких блоков, если бы внимательно читали, я тоже написал - что в такие блоки, если в них идентичные цепи подключены к разным выводам микросхемы, не имеют права иметь одну и ту же схему. Иерархический символ - да, один, а схемы под ним увы, должны быть разные. Так как, опять же, к примеру, если будет применяться доступ по JTAG к отладке, или понадобится даже тыкать осциллом в пин, то документация и дескрипшены для сканирования для таких блоков должны быть тоже разные, соответствующие схемам и подключениям к конкретным пинам.
alexa1973
Программа не будет сама перерисовывать схему. В Cadence есть пакет, который называется FSP, FPGA System Planner. Там ставите свой ПЛИС с его переферией, автоматически делается оптимальное соединение и только потом генерируется схема. Свопы уже не нужны.
djhall
Согласен с SM на счёт лени программистов и документации - схема должна соответствовать и плате и даташитам. Иначе это не схема, а рисунок. Даже если в сложных случаях, таких как сложные иерархические схемы, такой swap и иммеет приемущества, то я всё равно не понимаю почему не облегчить жизнь разработчикам и не сделать простую замену цепей из pcb editor.

Цитата
В Cadence есть пакет, который называется FSP, FPGA System Planner.

Да пока его освоешь поседеешь. Да и не настолько у меня сложная плата чтобы замарачиваться на это - всего то и хотел пару цепей перебросить в pcb editor.
vitan
Цитата(SM @ Apr 30 2013, 22:46) *
Лично Вам, то есть автору оной схемы, да, охотно верю, да и то, пока этот нюанс помнится, а через лет так пять уже будет много удивления и немного мата. А любому другому, который будет после вас разбираться в системе - однозначно запутает весь мозг. Почему в даташите на микруху пин назван так, и имеет такой номер, а тут не так, и имеет другой номер.

А что скажете, если, к примеру в означенной SDRAM у меня на УГО все пины данных будут называться просто D? Не D1, D2 .. Dn? Это тоже ересь? И тоже запутывает мозг? Как мало надо мозгу, чтобы запутаться... sm.gif

Цитата(SM @ Apr 30 2013, 22:46) *
Субъективно тут одно - вы можете допустить некорректную документацию в угоду своей лени поправить схему до корректного состояния, а другие не могут, или не хотят.

Хотели сказать, объективно?

Цитата(SM @ Apr 30 2013, 22:46) *
На вышесказанном опыте разработки ИМС и техподдержки.

А вот это, как раз чистый суъективизм. Ч.Т.Д.


Цитата(SM @ Apr 30 2013, 22:46) *
Весь смысл то в том, что у микросхем пины могут быть электрически взаимозаменимы, то есть как их подключить на схеме, не важно, а вот логически - не совсем, но почти - разных отладочный доступ, разный программный доступ, разная конфигурация (если это ПЛИС), и т.п. А в пассивке такого нет, там все просто.

Вот эту мысль поподробнее, если можно... Как это, электрически взаимозаменимы, а вот логически - не совсем? sm.gif У Вас что, электрическая схема не вытекает из логики работы компонентов? sm.gif

Цитата(SM @ Apr 30 2013, 22:46) *
Для таких блоков, если бы внимательно читали, я тоже написал - что в такие блоки, если в них идентичные цепи подключены к разным выводам микросхемы, не имеют права иметь одну и ту же схему.

Не имеют права... Их надо удалить, что ли? sm.gif Я читаю внимательно. Почитайте и Вы: это реальность. И эти блоки, не имеющие якобы права жить, реально живут, и, поверьте, ускоряют разработку очень существенно. И при этом они отлично отлаживаются на живом образце, никто маты не складывает.

Цитата(SM @ Apr 30 2013, 22:46) *
Так как, опять же, к примеру, если будет применяться доступ по JTAG к отладке, или понадобится даже тыкать осциллом в пин, то документация и дескрипшены для сканирования для таких блоков должны быть тоже разные, соответствующие схемам и подключениям к конкретным пинам.

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


Цитата(djhall @ Apr 30 2013, 23:31) *
Да и не настолько у меня сложная плата чтобы замарачиваться на это - всего то и хотел пару цепей перебросить в pcb editor.

Попробуйте использовать команду Net logic. Переназначите цепи и попробуйте запустить беканнотейт. Аж интересно стало, авось пройдет... sm.gif
Jul
Мда, как все сложно-то...
Предполагаю, что проблему перекидки выводов можно решить несколько другим способом.
Например, перед тем, как передавать изменения из платы в схему,
в схемном редакторе, удалить все подключения цепей к I/O выводам ПЛИСа.
Затем перекинуть изменения из платы в схему (только не наоборот, не попутайте!),
связи подключатся как надо, выводы не переставятся, компонент останется в исходном виде, схема будет соответствовать плате.
При этом, для корректной работы необходимо правильно создать компонент, чтобы свапились только назначаемые пользователем выводы.
Тот же подход можно применить и для других элементов, например, буферов.
А заранее предусмотреть как лягут трасы, при отрисовке схемы не всегда возможно.
Opolo84
Согласен с SM. Вроде правильные вещи говорит. Vitan вы серьезно считаете так как пишете или вы издеваетесь?
Есть такое афоризм Г.Лихтенберга: "Можно, и не обладая глубоким умом, писать так, что другим потребуется много ума, чтобы понять написанное". такой эффект видимо и будет в случае использования этого корявого свапа. maniac.gif а это то что будет с автором sm.gif
vitan
Цитата(Opolo84 @ May 1 2013, 09:28) *
Согласен с SM. Вроде правильные вещи говорит. Vitan вы серьезно считаете так как пишете или вы издеваетесь?
Есть такое афоризм Г.Лихтенберга: "Можно, и не обладая глубоким умом, писать так, что другим потребуется много ума, чтобы понять написанное". такой эффект видимо и будет в случае использования этого корявого свапа. maniac.gif а это то что будет с автором sm.gif

Что считаю, то и пишу. Правильными эти вещи кажутся только на первый взгляд. Пока что никто внятно не смог объяснить, что такого страшного случится, если на УГО пин будет называться D5, а на плате пойдет на D4. Загибы мозга у отдельных "читателей схемы" я в качестве аргумента не принимаю, т.к. это проблемы самих "читателей".
Для особо ортодоксальных и с загибающимися при первом же случае мозгами "читателей" могу порекомендовать прикладывать к схеме даташиты на компоненты (что вообще полезно), а также pin swap report из соответствующей аллегровской менюшки.

А афоризмов я Вам могу и сам накидать, хоть чужих, хоть своих... И поверьте, со мной ничего такого maniac.gif не случалось ни разу, сколько проектов уже сделано с таким свопом, скорее, наоборот...


Цитата(Jul @ May 1 2013, 00:27) *
Предполагаю, что проблему перекидки выводов можно решить несколько другим способом.
Например, перед тем, как передавать изменения из платы в схему,
в схемном редакторе, удалить все подключения цепей к I/O выводам ПЛИСа.

Ну да, это фактически то же, что я в предыдущем посте и написал про net logic. Но я думаю, что с удалением хороший редактор схем и сам справится. Конкретно про оркад, правда, не скажу, давно в нем не работаю.
Владимир
Цитата(vitan @ May 1 2013, 12:53) *
Пока что никто внятно не смог объяснить, что такого страшного случится, если на УГО пин будет называться D5, а на плате пойдет на D4.

Страшного ничего нет. так как еще существует Pin Map,( у PCAD алтиум он есть, я думаю и в других пакетах тоже), где будет написано, что D5 уго Связан с D4 Посадочного места.
Вопрос боком потом стоит. Pin Map на схеме не указан, уезжающий за 1000 километров, там и пакета может не быть, только твердая копия, и начинаешь разбираться. Матюков будет не меряно. Еще хуже, когда ехать не надо, но объяснить это "китайцу" который русского не знает. Тут матюками не обойдется.
В целом можно все.
Но лечится рублем.
Alex11
При свопе не изменяется соответствие между именем пина и номером. Изменяется положение пина на картинке. Так что против физики здесь никто не прет. Другое дело, что последовательность шины на микросхеме будет не подряд. Но в этом случае все равно что-то будет не подряд: либо последовательность пинов, либо последовательность проводов. И не ясно, что лучше.
SM
Цитата(Alex11 @ May 1 2013, 15:14) *
При свопе не изменяется соответствие между именем пина и номером.


Так так бы сразу и сказали. Тогда никаких вопросов нет (если это не своп между разными выделенными (отделенными линиями по ГОСТ) группами пинов)
Ant_m
Цитата(djhall @ Apr 30 2013, 20:14) *
Вообще-то мне сложно представить зачем нужно менять местами ножки, ведь при замене данной part новой из библиотеки произайдёт ошибка, она ведь не изменилась.


Не будет ошибки, если делать правильно, а именно: переставить part в схеме, а затем сделать import logic из платы.
В документации по этому поводу все очень хорошо и понятно разжевано.
andrey74
Правьте схему сами, и будет счастье!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.