|
Pin swap, net swap |
|
|
|
Apr 30 2013, 17:07
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Это по всей видимости из-за лени программистов, писавших эту back annotation.... К сожалению, другие продукты, например ментор, ведут себя также тупо, вместо того, чтобы оторвать на схеме цепи от символа, и пририсовать их заново, они корежат нумерацию пинов. Такой авто-swap, корежащий символ, реально применим только для компонентов вроде резисторов, конденсаторов и их сборок, но никак не для микросхем (простой пример, у SDRAM памяти все данные эквивалентны, их можно свопить, но при этом важно, чтобы на символе оставалось соответствие нумерации линий данных по даташиту и их пинов по даташиту, поэтому свопить их средствами PCB не представляется возможным).
Выход один, делать swap руками в схеме самому, и забыть про back annotation. Неудобно, ракообразно, криво, долго и муторно, но зато на схеме все красиво и правильно. А что поделаешь?
Для ПЛИС может еще помочь применение специальных тулзов по назначению ног, если таковой имеется в среде.
Ну и последний вариант, уйти в пикад. Он умеет свопить пины корректно, переподключая цепи на схеме.
|
|
|
|
|
Apr 30 2013, 17:14
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(SM @ Apr 30 2013, 21:07)  важно, чтобы на символе оставалось соответствие нумерации линий данных по даташиту и их пинов по даташиту Почему это важно? Цитата(SM @ Apr 30 2013, 21:07)  Ну и последний вариант, уйти в пикад. Он умеет свопить пины корректно, переподключая цепи на схеме. ПесТня...
|
|
|
|
|
Apr 30 2013, 17:27
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(vitan @ Apr 30 2013, 21:14)  Почему это важно? Потому, что пин, допустим A9, корпуса микросхемы, соединен с внутренней шиной D0 этой микросхемы, а не D2 и не D9. И ЭТО свопу не подлежит, это определил разработчик ИМС. Я вправе лишь подключить на линию D0 этой микросхемы пятый, третий, нулевой и т.д. бит МОЕЙ ШИНЫ, а не изменить внутреннюю структуру ИМС, как то представляется этим кривосвопом. Да и когда потом придется работать с сигналами, их анализом и даташитами, этот кривосвоп еще таким боком вылезет, что мало не покажется. Зачастую смотришь по схеме на номер шины в символе ИМС (а не номер пина), и наизусть уже помнишь, на каком пине она, и где ее найти осциллом, а тут понимаешь такая засада, редактор себе позволил искорежить нумерацию.
|
|
|
|
|
Apr 30 2013, 17:59
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(SM @ Apr 30 2013, 21:27)  Потому, что пин, допустим A9, корпуса микросхемы, соединен с внутренней шиной D0 этой микросхемы, а не D2 и не D9. И ЭТО свопу не подлежит, это определил разработчик ИМС. Я вправе лишь подключить на линию D0 этой микросхемы пятый, третий, нулевой и т.д. бит МОЕЙ ШИНЫ, а не изменить внутреннюю структуру ИМС, как то представляется этим кривосвопом. Для Вас действительно важно сохранять внутреннюю структуру ИМС с УГО? Напоминаю, что УГО - это всего лишь условное графическое обозначение. Цитата(SM @ Apr 30 2013, 21:27)  Да и когда потом придется работать с сигналами, их анализом и даташитами, этот кривосвоп еще таким боком вылезет, что мало не покажется. Видимо, это единственная причина, по которой Вы этот механизм называете такими словами? Цитата(SM @ Apr 30 2013, 21:27)  Зачастую смотришь по схеме на номер шины в символе ИМС (а не номер пина), и наизусть уже помнишь, на каком пине она, и где ее найти осциллом, а тут понимаешь такая засада, редактор себе позволил искорежить нумерацию. Вы же не будете спорить, что данная ситуация возникла только из-за особенностей Вашего личного восприятия и не имеет отношения к физике процессов в ИМС? Итого, из-за того, что Вам субъективно не нравится своп пинов по описанным выше причинам, Вы его обзываете кривым, да еще и советуете ТС отправляться в пикад?  Своп пинов правилен по многим причинам. Например, что Вы скажете, если будет иерархическая схема, в которой на нескольких уровнях будут стоять одинаковым образом нарисованные блоки с одинаковым образом подходящими к ним цепями (в одном и том же порядке), и при разводке у Вас возникла потребность в одном из них поменять местами подключения? Будете цепи перерисовывать? В одном блоке перерисовали, а остальные вслед за первым поехали. Нравится?
|
|
|
|
|
Apr 30 2013, 18:21
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(vitan @ Apr 30 2013, 21:59)  Для Вас действительно важно сохранять внутреннюю структуру ИМС с УГО? Напоминаю, что УГО - это всего лишь условное графическое обозначение. Да, это важно, причем критически важно - это определяет корректность общей документации проекта и соответствие ее с документацией на отдельные компоненты. Цитата(vitan @ Apr 30 2013, 21:59)  Вы же не будете спорить, что данная ситуация возникла только из-за особенностей Вашего личного восприятия и не имеет отношения к физике процессов в ИМС? Имеет отношение и к физике. Через JTAG и через отладочные средства ядра я допустим залезу к пину D0, будучи уверенным, прочитав даташит, что это двадцать пятый пин, а окажется, что он тридцать девятый. Вот Вам и вся физика. Цитата(vitan @ Apr 30 2013, 21:59)  Итого, из-за того, что Вам субъективно не нравится своп пинов по описанным выше причинам, Вы его обзываете кривым, да еще и советуете ТС отправляться в пикад?  Повторю, он мне нравится, и он очень даже удобен, но для определенных действий, как то поменять пины на резисторной сборке. Но для работы с ИМС он категорически не применим, и причем объективно. Цитата(vitan @ Apr 30 2013, 21:59)  Своп пинов правилен по многим причинам. Например, что Вы скажете, если будет иерархическая схема, в которой на нескольких уровнях будут стоять одинаковым образом нарисованные блоки с одинаковым образом подходящими к ним цепями (в одном и том же порядке), и при разводке у Вас возникла потребность в одном из них поменять местами подключения? Будете цепи перерисовывать? В одном блоке перерисовали, а остальные вслед за первым поехали. Нравится? Скажу что это бред. Такие блоки разводятся также сами по себе в определенный кусок топологии и размещаются на плате тоже готовыми блоками, и надобности свопить пин в отдельном блоке на одной и той же плате не бывает. И, даже больше, если в одном из блоков компонент подключен по-другому, то это уже не тот же блок, а другой, и он не имеет никакого права быть тем же, что оригинал.
|
|
|
|
|
Apr 30 2013, 18:32
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(SM @ Apr 30 2013, 22:21)  Да, это важно, причем критически важно - это определяет корректность общей документации проекта и соответствие ее с документацией на отдельные компоненты. Что же случится, если в этом конкретно месте документация проекта будет несоответствовать оной на компоненты? Вам будет неудобно тыкать осциллографом? А мне удобно. И что из этого следует? Только то, что этот критерий субъективен и не важен. Цитата(SM @ Apr 30 2013, 22:21)  Имеет отношение и к физике. Через JTAG и через отладочные средства ядра я допустим залезу к пину D0, будучи уверенным, прочитав даташит, что это двадцать пятый пин, а окажется, что он тридцать девятый. Вот Вам и вся физика. На чем базируется уверенность, можно узнать?  Цитата(SM @ Apr 30 2013, 22:21)  Повторю, он мне нравится, и он очень даже удобен, но для определенных действий, как то поменять пины на резисторной сборке. Но для работы с ИМС он категорически не применим, и причем объективно. Ай-яй-яй!!! Как Вы так опустили резисторную сборку? Ведь в ней физические процессы не менее важны, не так ли, ибо физика для всех едина?  Цитата(SM @ Apr 30 2013, 22:21)  Скажу что это бред. Такие блоки разводятся также сами по себе в определенный кусок топологии и размещаются на плате тоже готовыми блоками, и надобности свопить пин в отдельном блоке на одной и той же плате не бывает. И, даже больше, если в одном из блоков компонент подключен по-другому, то это уже не тот же блок, а другой, и он не имеет никакого права быть тем же, что оригинал. Вы сами такие блоки рисовали когда-нибудь? Если рисовали, но не такие, то это же не значит, что никто не рисует, верно? Могу Вам только сказать, что такие блоки - это реальность, причем объективная... Вы, возможно, не поняли. Речь не о разведенных блоках, а о блоках в схеме. Т.е. нарисованы только соединения в блоке (т.е. на схеме), но блоки не разведены.
|
|
|
|
|
Apr 30 2013, 18:46
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(vitan @ Apr 30 2013, 22:32)  Что же случится, если в этом конкретно месте документация проекта будет несоответствовать оной на компоненты? Вам будет неудобно тыкать осциллографом? А мне удобно. И что из этого следует? Только то, что этот критерий субъективен и не важен. Лично Вам, то есть автору оной схемы, да, охотно верю, да и то, пока этот нюанс помнится, а через лет так пять уже будет много удивления и немного мата. А любому другому, который будет после вас разбираться в системе - однозначно запутает весь мозг. Почему в даташите на микруху пин назван так, и имеет такой номер, а тут не так, и имеет другой номер. И еще потом в техподдержку обратится с вопросом "а почему так, в даташите одно, а на схеме другое". Сам имею большой опыт техподдержки, и небольшой, но все же, разработки ИМС. Так что знаю от чем речь. Субъективно тут одно - вы можете допустить некорректную документацию в угоду своей лени поправить схему до корректного состояния, а другие не могут, или не хотят. Цитата(vitan @ Apr 30 2013, 22:32)  На чем базируется уверенность, можно узнать?  На вышесказанном опыте разработки ИМС и техподдержки. Цитата(vitan @ Apr 30 2013, 22:32)  Ай-яй-яй!!! Как Вы так опустили резисторную сборку? Ведь в ней физические процессы не менее важны, не так ли, ибо физика для всех едина?  Физика одна, а процессы то разные  Одно дело, когда надо за разные биты дергать, чтобы получить нужную картину сигналов, а другое дело, когда компонент пассивный и ничем дергать изнутри себя не может. Весь смысл то в том, что у микросхем пины могут быть электрически взаимозаменимы, то есть как их подключить на схеме, не важно, а вот логически - не совсем, но почти - разных отладочный доступ, разный программный доступ, разная конфигурация (если это ПЛИС), и т.п. А в пассивке такого нет, там все просто. Цитата(vitan @ Apr 30 2013, 22:32)  Вы, возможно, не поняли. Речь не о разведенных блоках, а о блоках в схеме. Т.е. нарисованы только соединения в блоке (т.е. на схеме), но блоки не разведены. Для таких блоков, если бы внимательно читали, я тоже написал - что в такие блоки, если в них идентичные цепи подключены к разным выводам микросхемы, не имеют права иметь одну и ту же схему. Иерархический символ - да, один, а схемы под ним увы, должны быть разные. Так как, опять же, к примеру, если будет применяться доступ по JTAG к отладке, или понадобится даже тыкать осциллом в пин, то документация и дескрипшены для сканирования для таких блоков должны быть тоже разные, соответствующие схемам и подключениям к конкретным пинам.
|
|
|
|
|
Apr 30 2013, 19:31
|
Частый гость
 
Группа: Свой
Сообщений: 168
Регистрация: 29-04-06
Пользователь №: 16 608

|
Согласен с SM на счёт лени программистов и документации - схема должна соответствовать и плате и даташитам. Иначе это не схема, а рисунок. Даже если в сложных случаях, таких как сложные иерархические схемы, такой swap и иммеет приемущества, то я всё равно не понимаю почему не облегчить жизнь разработчикам и не сделать простую замену цепей из pcb editor. Цитата В Cadence есть пакет, который называется FSP, FPGA System Planner. Да пока его освоешь поседеешь. Да и не настолько у меня сложная плата чтобы замарачиваться на это - всего то и хотел пару цепей перебросить в pcb editor.
|
|
|
|
|
Apr 30 2013, 19:45
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(SM @ Apr 30 2013, 22:46)  Лично Вам, то есть автору оной схемы, да, охотно верю, да и то, пока этот нюанс помнится, а через лет так пять уже будет много удивления и немного мата. А любому другому, который будет после вас разбираться в системе - однозначно запутает весь мозг. Почему в даташите на микруху пин назван так, и имеет такой номер, а тут не так, и имеет другой номер. А что скажете, если, к примеру в означенной SDRAM у меня на УГО все пины данных будут называться просто D? Не D1, D2 .. Dn? Это тоже ересь? И тоже запутывает мозг? Как мало надо мозгу, чтобы запутаться...  Цитата(SM @ Apr 30 2013, 22:46)  Субъективно тут одно - вы можете допустить некорректную документацию в угоду своей лени поправить схему до корректного состояния, а другие не могут, или не хотят. Хотели сказать, объективно? Цитата(SM @ Apr 30 2013, 22:46)  На вышесказанном опыте разработки ИМС и техподдержки. А вот это, как раз чистый суъективизм. Ч.Т.Д. Цитата(SM @ Apr 30 2013, 22:46)  Весь смысл то в том, что у микросхем пины могут быть электрически взаимозаменимы, то есть как их подключить на схеме, не важно, а вот логически - не совсем, но почти - разных отладочный доступ, разный программный доступ, разная конфигурация (если это ПЛИС), и т.п. А в пассивке такого нет, там все просто. Вот эту мысль поподробнее, если можно... Как это, электрически взаимозаменимы, а вот логически - не совсем?  У Вас что, электрическая схема не вытекает из логики работы компонентов?  Цитата(SM @ Apr 30 2013, 22:46)  Для таких блоков, если бы внимательно читали, я тоже написал - что в такие блоки, если в них идентичные цепи подключены к разным выводам микросхемы, не имеют права иметь одну и ту же схему. Не имеют права... Их надо удалить, что ли?  Я читаю внимательно. Почитайте и Вы: это реальность. И эти блоки, не имеющие якобы права жить, реально живут, и, поверьте, ускоряют разработку очень существенно. И при этом они отлично отлаживаются на живом образце, никто маты не складывает. Цитата(SM @ Apr 30 2013, 22:46)  Так как, опять же, к примеру, если будет применяться доступ по JTAG к отладке, или понадобится даже тыкать осциллом в пин, то документация и дескрипшены для сканирования для таких блоков должны быть тоже разные, соответствующие схемам и подключениям к конкретным пинам. Я одного не могу понять, почему Вы, тыкая осциллом, отлаживая по JTAG и т.д. не хотите смотреть не на название пина, а на его номер, как это делают все нормальные люди? Цитата(djhall @ Apr 30 2013, 23:31)  Да и не настолько у меня сложная плата чтобы замарачиваться на это - всего то и хотел пару цепей перебросить в pcb editor. Попробуйте использовать команду Net logic. Переназначите цепи и попробуйте запустить беканнотейт. Аж интересно стало, авось пройдет...
|
|
|
|
|
Apr 30 2013, 20:27
|
Местный
  
Группа: Свой
Сообщений: 476
Регистрация: 15-12-04
Из: СПб
Пользователь №: 1 481

|
Мда, как все сложно-то... Предполагаю, что проблему перекидки выводов можно решить несколько другим способом. Например, перед тем, как передавать изменения из платы в схему, в схемном редакторе, удалить все подключения цепей к I/O выводам ПЛИСа. Затем перекинуть изменения из платы в схему (только не наоборот, не попутайте!), связи подключатся как надо, выводы не переставятся, компонент останется в исходном виде, схема будет соответствовать плате. При этом, для корректной работы необходимо правильно создать компонент, чтобы свапились только назначаемые пользователем выводы. Тот же подход можно применить и для других элементов, например, буферов. А заранее предусмотреть как лягут трасы, при отрисовке схемы не всегда возможно.
|
|
|
|
|
May 1 2013, 05:28
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 22-04-08
Пользователь №: 37 002

|
Согласен с SM. Вроде правильные вещи говорит. Vitan вы серьезно считаете так как пишете или вы издеваетесь? Есть такое афоризм Г.Лихтенберга: "Можно, и не обладая глубоким умом, писать так, что другим потребуется много ума, чтобы понять написанное". такой эффект видимо и будет в случае использования этого корявого свапа.  а это то что будет с автором
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|