Reanimator++
Oct 23 2009, 13:18
типичная процедура проектирования, предлагаемая большинством САПР предполагает разработку схемы, превращающуюся в список связей между лапами компонентов с дальнейшим соединением лап дорогами.
зачастую при использовании контроллеров и плис такой подход неудобен, поскольку при создании схемы никак не учитывается расположение выводов микросхемы. и сначала мы от балды присоединяем линии данных в схематике, а потом героически пытаемся развести получившуюся паутину.
нет ли возможности в современных САПР задавать что-то типа эквивалентности лапок микросхемы?
т.е. например берем ПЛИС и все I/O линии обзываем эквивалентными чтобы разводчик платы позволял соединить связь с той лапой, с которой удобно.
это, конечно, крайний случай, но, например, в проектах с МК есть связи которые должны прийти на определенную лапу (ацп например), а есть такие которым все-равно, лишь бы I/O (кнопка, светик и тп).
какие средства для подобных перестановок предлагают современные САПР?
Средство обычно называется Pin Swap. Имеется насколько помню во всех современных САПРах, только вначале нужно прописать нужные эквивалентности. Только перестановку делает не разводчик(кстати, кто имеется в виду - программа или человек?), а разработчик в процессе проектирования и не на схеме, а на плате, когда видно что и куда переставлять.
Есть и другие методы, но этот самый прямой.
Reanimator++
Oct 23 2009, 13:52
Спасибо за кейворд, нашел очень популярное объяснение..
http://www.altium.com/community/trainingce...2,0,0,01252-w09осталось только спросить, юзалось ли кем то что там показано и какие будут отзывы...
Цитата(Reanimator++ @ Oct 23 2009, 17:18)

типичная процедура проектирования, предлагаемая большинством САПР предполагает разработку схемы, превращающуюся в список связей между лапами компонентов с дальнейшим соединением лап дорогами.
зачастую при использовании контроллеров и плис такой подход неудобен, поскольку при создании схемы никак не учитывается расположение выводов микросхемы. и сначала мы от балды присоединяем линии данных в схематике, а потом героически пытаемся развести получившуюся паутину.
нет ли возможности в современных САПР задавать что-то типа эквивалентности лапок микросхемы?
т.е. например берем ПЛИС и все I/O линии обзываем эквивалентными чтобы разводчик платы позволял соединить связь с той лапой, с которой удобно.
это, конечно, крайний случай, но, например, в проектах с МК есть связи которые должны прийти на определенную лапу (ацп например), а есть такие которым все-равно, лишь бы I/O (кнопка, светик и тп).
какие средства для подобных перестановок предлагают современные САПР?
http://electronix.ru/forum/index.php?showt...=67345&st=0видео записанное при работе - оптимизация распределения выводов на двух ПЛИС размещенных на плате
Цитата
... при создании схемы никак не учитывается расположение выводов микросхемы. и сначала мы от балды присоединяем линии данных в схематике, а потом героически пытаемся развести получившуюся паутину.
Про ПЛИС не скажу - не работал с ними.
А вот насчет МК - могу высказать свое мнение совершенно определенно:
Разработчик схемы, в процессе работы, должен учитывать расположение выводов м/c, чтобы оптимизировать и облегчить последующую разводку платы. А выбирать выводы он должен так, чтобы оптимизировать и облегчить процесс последующего программирования. Если разработчик схемы этого не делает - это плохой разработчик...
Разводка должна точно соответствовать разработанной схеме. Если при разводке возникает желание как-то поменять коммутацию, то на это должно быть
получено разрешение разработчика, и ни как иначе. Всякая самодеятельность, в этом плане, разводчика плат - недопустима и должна наказываться.
Цитата(@Ark @ Oct 23 2009, 21:30)

Про ПЛИС не скажу - не работал с ними.
А вот насчет МК - могу высказать свое мнение совершенно определенно:
Разработчик схемы, в процессе работы, должен учитывать расположение выводов м/c, чтобы оптимизировать и облегчить последующую разводку платы. А выбирать выводы он должен так, чтобы оптимизировать и облегчить процесс последующего программирования. Если разработчик схемы этого не делает - это плохой разработчик...
Разводка должна точно соответствовать разработанной схеме. Если при разводке возникает желание как-то поменять коммутацию, то на это должно быть получено разрешение разработчика, и ни как иначе. Всякая самодеятельность, в этом плане, разводчика плат - недопустима и должна наказываться.
Имхо, логичнее такой вариант
Разработчик передает разводчику ТЗ, где в отдельном разделе описаны правила свопинга данных ПЛИС. А разводчик, забив эти правила в библиотеку, уже будет расставлять, как удобнее и красивее. Изначально хорошо расставить связи в схеме практически нереально - для этого нужно видеть плату целиком
IgorKossak
Oct 23 2009, 18:09
Я при разработке схемы в таких случаях составляю список цепей, подключенных к МК или ПЛИС, которые можно переставлять с целью удобства трассировки. Во многих случаях это более оправдано нежели удобство программирования, так как первое ведёт к уменьшению переходных, укорочению и спрямлению связей и, как следствие, к увеличению надёжности конструкции в целом. Уменьшение же удобств программирования ведёт к незначительному оверхеду, что зачастую менее критично.
Связи переставляются вручную разработчиком платы.
Делать же выводы эквивалентными чревато многими неприятностями при использовании автотрассировки, да и в другом проекте это может оказаться неуместным.
PCBExp
Oct 23 2009, 19:19
Не знаю как в других САПРах а в MG (если в схеме правильную заначку оставить

) можно потом очень легко подбирать глядя на LAYOUT куда какой резистор в шине удобней подключить чтобы морских узлов на плате не было. На картинке резисторы в шине подключены как раз по результатам трассировки
IgorKossak
Oct 23 2009, 19:54
С резисторами в сборках как раз нет проблем, они эквивалентны.
one_eight_seven
Oct 23 2009, 19:55
Жека, предложенный вами вариант был бы идеален, если бы разводчики (по российской номенклатуре - конструкторы) умели разводить. Мне кажется, каждый схемотехник встречался с вариантом, когда конструктор разводит плату просто "вредительски". При этом, все соединения гальванически присутствуют. Только вот они с мегавольтом или кПа знакомы, обычно, гораздо больше, чем с МегаГерцем.
PCBExp
Oct 23 2009, 20:06
Цитата(IgorKossak @ Oct 23 2009, 23:54)

С резисторами в сборках как раз нет проблем, они эквивалентны.
Да и с FPGA не проблема - даже там где резисторы воткнуть не получилось...
Reanimator++
Oct 23 2009, 20:39
похоже я завел троллинг... )
посмотрите альтиумовскую киношку по ссылке выше, там всего 15 минут, но решение - суть оверкилл моего вопроса.
спорить насчет нужности нет смысла. учитывать удобство трассировки можно до поры до времени (пока число лап у корпусов не больше сотни), а когда встанет вопрос о бга на тыщу ножек то тут без автоматики далеко не уедешь.
Цитата
Мне кажется, каждый схемотехник встречался с вариантом, когда конструктор разводит плату просто "вредительски".
По моему, настоящими вредителями, как раз, являются "конструкторы", которые почему-то считают, что имеют полное право перекидывать коммутацию так, как им удобнее разводить. Когда "выводы эквивалентны" с их точки зрения! И часто даже не ставят в известность разработчика, а не то, чтобы спросить разрешения... Когда это вдруг обнаруживается на уже готовых изделиях, такого "конструктора" хочется расстрелять из рогатки...
Alex Ko
Oct 24 2009, 07:03
Цитата(@Ark @ Oct 24 2009, 00:52)

По моему, настоящими вредителями, как раз, являются "конструкторы", которые почему-то считают, что имеют полное право перекидывать коммутацию так, как им удобнее разводить. Когда "выводы эквивалентны" с их точки зрения! И часто даже не ставят в известность разработчика, а не то, чтобы спросить разрешения... Когда это вдруг обнаруживается на уже готовых изделиях, такого "конструктора" хочется расстрелять из рогатки...
Я - как раз такой вредитель, врежу в Альтиум Дизайнере, имею опыт успешного сотрудничества с рядом разработчиков. В идеале разработчик, вводя схему, может скорректировать таблицу сваппинга пинов и гейтов библиотечного компонента (или изготовленного мной, или самостоятельно, или из Алтиумовской библиотеки) так, как считает нужным, с учётом непереставляемых пинов, возможности обмена между портами и т.п. Но, как правило, заказчик не считает нужным заморачиваться и влезать в такие дебри, и ограничивается указанием, например, цветом на схеме неперемещаемых пинов и словесными комментариями. На плате подвожу проводники к удобным пинам из сваппируемых, далее в автоматическом режиме (к сожалению, изредка не срабатывает, приходится вручную -глюки-с! Но с ростом номера версии всё реже..) оптимизирую разводку и экспортирую изменения в схему, которую проверяет заказчик. Результат такого вреда устраивает всех - заказчику не надо мучаться с согласованием схемного решения и разводки, а мне - с перекрёстными связями.
PCBExp
Oct 24 2009, 07:34
А в моей практике был обратный случай. FPGA дизайнер, в "препоследний" момент, вдруг выяснил что Квартус не может скомпилить проект потому как не трассируется альтера - толи тока не хватает то ли еще чего (пусть меня поправят профессионалы в этом деле) и сказал: "вот эти выходы только на эти выводы..." О таком тоже помнить надо...
Цитата
Я - как раз такой вредитель, врежу в Альтиум Дизайнере, имею опыт успешного сотрудничества с рядом разработчиков...
К сожалению, не развожу платы. Не владею... Приходится обращаться к "профессионалам"... Но все больше осознаю, что, наверное, проще и правильнее самому овладеть этим ремеслом (или искусством?), чем пытаться объяснять этим "профессионалам", почему недопустимо заниматься самодеятельностью...
Владимир
Oct 24 2009, 20:00
1. Надо ли иметь инструмент "Свапирования"--- обязательно надо.
2. Должен ли эти заниматься "тополог"--- должен, так как инструмент у него
3. Может ли он делать самостоятельно-- и да и нет. Для простых---типа резисторов, логики однозначно. для Fgpa и контролеров то же да, но после согласования с схемотехником, программистом и т.п.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.