Перейти к содержанию
    

О геометрии и не только. :)

В продолжение темы, обсуждавшейся в этом топе: http://electronix.ru/forum/index.php?showt...7127&st=210

 

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

Пропускная способность максимальна, если все проводники проходят через отрезок перпендикулярно его направлению, и тем меньше, чем больше направление проводников отличается от направления, перпендикулярного отрезку. Так, если отрезок расположен под углом 45 градусов к сторонам прямоугольной платы, то при ортогональной трассировке через него может пройти в 1.41 раз меньше проводников, чем при трассировке под 45 градусов. Поэтому в расчете пропускной способности при фиксированных направлениях трассировки нужно использовать не длину отрезка, а длину его проекции на ближайшее к нему направление (умножить длину отрезка на косинус угла между направлением отрезка и ближайшим направлением из числа разрешенных).

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

Перпендикулярность проводников любому направлению отрезка можно обеспечить только при any-angle трассировке.

Еще проще: есть резистор, между контактами которого проходит ровно один проводник с необходимыми зазорами. Если используется ортогональная трассировка, то проводник можно проложить без нарушений только при вертикальной и горизонтальной ориентации резистора. Точно также если угол между осью резистора, проходящей через центры его контактов, и направлением сторон платы, не кратен 45 градусов, то и при трассировке под 45 градусов не удастся провести проводник между контактами.

 

 

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

Пусть между парой контактов проходит ровно два проводника. Трассировщик прокладывает трассы последовательно. Если первая трасса проложена на одинаковом расстоянии от контактов, то четыре проводника уже не провести.

На рисунке (разводка Спекктры) выделен проводник с двумя переходами и контакт микросхемы под ними. Видно, что переходы не нужны, если проводник провести под выделенным контактом, но для этого нужно опустить три проводника и переход (места достаточно).

 

post-27465-1364799815_thumb.jpg

 

Другой пример: избыточные переходы и полупетля в проводнике (разводка Спекктры) и исправленный вариант (на левой картинке пунктиром показано направление исправления) http://electronix.ru/forum/index.php?showtopic=97532

 

post-27465-1364799962_thumb.jpg................post-27465-1364799981_thumb.jpg

 

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

Третий момент – топологичность. Еще на этапе пробной трассировки (совмещенная однослойная топология) устраняются кратные пересечения проводников, поэтому невозможна, например, ситуация, показанная на рисунке (разводка Спекктры), где из-за двойного пересечения появились лишние 4 перехода.

 

post-27465-1364800143_thumb.jpg

 

Использование топологических моделей позволяет автоматически обнаруживать и устранять ”клинчи” проводников, которые другие трассировщики создают в большом количестве (на картинках фрагмент топологии от Альтиум (слева) и исправленный TopoRом (не автотрассировка).

 

post-27465-1364800196_thumb.jpg.........................post-27465-1364800247_thumb.jpg

 

Все, о чем я написала, относится и к интерактивной трассировке.

Изменено пользователем maple

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В третий раз закинул он невод...

Я третий раз вопрос задаю, подустал уже...

Объясните, почему в топоре нельзя ограничить разводку только в направлениях, кратных 45 градусам?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Объясните, почему в топоре нельзя ограничить разводку только в направлениях, кратных 45 градусам?

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

ViKo в соседней ветке писал: “Иногда лучше раздвинуть проводники, чем пропихивать их в угольное ушко”.

Правила проектирования задает конструктор, в том числе, минимальный зазор. Задача трассировщика – получить максимальный результат в рамках заданных ограничений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Каким именно специальным образом?

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

Для 45-градусной трассировки нужна другая методика? Или Вы пытаетесь сказать, что вычисления этой пропускной способности нужно будет вести в разные моменты времени (на разных этапах выполнения алгоритма), а сейчас это не реализовано (реализовано не так)? Или что-то еще?

 

Не вижу пока ответа на вопрос...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

post-27465-1364811366_thumb.jpg.........post-27465-1364811415_thumb.jpg

Внешний вид и триангуляция рабочего поля печатной платы.



Видно, что число ребер под произвольным углом превышает число вертикальных/горизонтальных и под 45 градусов. Сейчас мы считаем пропускную способность исходя из длины ребра. Если ориентироваться на трассировку с ограничением направлений, необходимо вносить коррективы.
Изменено пользователем maple

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

О так, записали в адвокаты. :) В том и дело, что ТопоР не знает, когда нужно раздвинуть, а все время пытается пропихнуть.

А еще можно было бы сделать разводчик с направлениями дорожек, кратными, например, 22.5°. И не кривые, и не сильно изломаные. Вот это был бы ТопоР-р-р-р! С предсказуемым поведением.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

триангуляция рабочего поля печатной платы

Обясните, пожалуйста, каким образом она получена? Откуда взялись все эти отрезки не под 45 градусов?

 

К примеру, возьмем горизонтальную линию посередине. От нее к бокам отходят много линий под углами. Как они были построены?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для 45-градусной трассировки нужна другая методика?

 

Эх... Ну конечно! Это даже я способен понять. Вы предлагаете перейти в другую метрику. У старика Евклида расстояние между точками считается как корень((x1-x2)^2+(y1-y2)^2), а вы предлагаете всё расчеты переделать исходя из того, что расстояние - это max(|x1-x2|,|y1-y2|). Это хорошо известное в математике метрическое пространство (http://mathemlib.ru/books/item/f00/s00/z0000017/st012.shtml, пример 1, пункт 2), но для такого расстояния почти любой алгоритм вычислительной геометрии потребует внесения серьезных корректив.

Изменено пользователем Кostya

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обясните, пожалуйста, каким образом она получена? Откуда взялись все эти отрезки не под 45 градусов?

Триангуляция - разбиение рабочей области на треугольники, вершинами которых являются точки элементов топологии печатной платы (контактов, областей запрета, областей металлизации, контура платы).

 

К примеру, возьмем горизонтальную линию посередине. От нее к бокам отходят много линий под углами. Как они были построены?

Горизонтальная линия посередине получилась соединением соседних контактов, имеющих одинаковую координату по оси y. Много линий под углами: протяженные примитивы (в данном случае сторона печатной платы) моделируются точками с некоторым шагом. Показаны линии к этим точкам.

 

Самый простой способ, посмотреть в Википедии про триангуляцию Делоне: http://ru.wikipedia.org/wiki/%D0%A2%D1%80%...%BE%D0%BD%D0%B5

А подробнее, в книжке. ___________________.pdf

Или здесь, попроще: http://rain.ifmo.ru/cat/view.php/theory/ma...008/article.pdf

 

Изменено пользователем maple

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вы предлагаете всё расчеты переделать исходя из того, что расстояние - это max(|x1-x2|,|y1-y2|)

Вы уже второй раз мне приписываете, то, чего я не говорил. :)

Я пока ничего не предлагаю, я спрашиваю.

 

Много линий под углами: протяженные примитивы (в данном случае сторона печатной платы) моделируются точками с некоторым шагом. Показаны линии к этим точкам.

Да, это я немного не туда уточняющий вопрос направил.

 

Итак, в топоре невозможно органичить трассировку 45 градусами из-за того, что вначале есть этап триангуляции, в результате которого невозможно получить только лишь 45-градусные отрезки?

 

Господи, почему это надо так долго выпытывать? :rolleyes:

 

А что, нельзя этот этап заменить на построение другой модели, с только лишь 45-градусными отрезками? Это не так сложно, вроде бы, нет? А потом уже запускать прокладывание проводников и прочее.

 

Только не говорите, что это априори "ухудшает разводку".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что, нельзя этот этап заменить на построение другой модели, с только лишь 45-градусными отрезками? Это не так сложно, вроде бы, нет? А потом уже запускать прокладывание проводников и прочее.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы уже второй раз мне приписываете, то, чего я не говорил. :)

Я пока ничего не предлагаю, я спрашиваю.

 

Ну да, Вы это спрашиваете, - однако так настойчиво спрашиваете и так упорно не понимаете ответа "можно, но сложно", что мне захотелось объяснить конкретно, почему это действительно сложно.

 

Примитивная геометрическая задача - нарисовать окружность радиуса 9d. Не правда ли? С точки зрения "геометрии проводников" она - граница области, в которой может проходить ПЯТЫЙ по счету (от центра круга) проводник, если ширина проводника равна d и минимум зазоров между проводниками тоже равен d. Это понятно? Точнее, так: понятно ли, почему это именно окружность?

 

А теперь допустим, что мы разрешаем проводить проводники только под углами, кратными 45. Можете ли вы сходу нарисовать ту же самую границу области, вне которой должен лежать пятый по счёту проводник? Я могу, поскольку меня этому в вузе учили, но вообще-то это не самая простая задача. А для алгоритмизации и программирования - совсем непростая.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Почему равнобедренный?

UPD. Что-то сглюкануло.

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

 

Примитивная геометрическая задача - нарисовать окружность радиуса 9d. Не правда ли? С точки зрения "геометрии проводников" она - граница области, в которой может проходить ПЯТЫЙ по счету (от центра круга) проводник, если ширина проводника равна d и минимум зазоров между проводниками тоже равен d. Это понятно? Точнее, так: понятно ли, почему это именно окружность?

Ессно. :)

 

А теперь допустим, что мы разрешаем проводить проводники только под углами, кратными 45. Можете ли вы сходу нарисовать ту же самую границу области, вне которой должен лежать пятый по счёту проводник? Я могу, поскольку меня этому в вузе учили, но вообще-то это не самая простая задача. А для алгоритмизации и программирования - совсем непростая.

А я не могу. С ходу не могу. Но от меня это и не требуется, не так ли?

Еще раз: я просто хочу выяснить. Я уже писал, что нормально отношусь к топору, хотя и некоторое сектанство наблюдается.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему равнобедренный?

Потому что углы 45 и 90.

 

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

Не совсем так. Для обычных САПР (например Спекктры) идеальный сценарий - ортогональная разводка и сглаживание под 45 градусов.

Попробуйте установить в Спекктре преимущественную разводку под 45 - получите результат значительно хуже, чем ортогональный. Почему? Потому что модель монтажного пространства - ортогональная сетка, хоть и не регулярная. (Кстати, во всех рекламках Cadence "лукавит", говоря, что Specctra - бессеточный трассировщик) :).

А то, что они "как-то работают" - это правда, но работают как-то не очень. :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Потому что углы 45 и 90.

Да, пардон, я поправил свой пост выше. Посмотрите там еще раз, плз.

 

Почему? Потому что модель монтажного пространства - ортогональная сетка, хоть и не регулярная.

Хорошо, зайдем с другой стороны. Что мешает в топоре сделать такую же модель? Ведь это же еще проще, достаточно убрать наклонные отрезки и достроить необходимые 90-градусные. Ну, фактически, включить режим спектры?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...