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

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

А можно ссылочку на этот документ? В User Guide никаких графиков нет. :(

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


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

Думаете Вам ссылочка сильно поможет?:) Мне даже объяснение преподавателя в центре обучения кэйденс не особо помогло...

Первое объяснение: Allegro PCB Router Command Reference (spcmdref.pdf), page 1306, AutoRoute Console Commands: Route

Второе: Allegro PCB Router Tutuorial(sptut.pdf), page 92, figure 3-3 - Costs Change During a Series of Route Passes.

 

Смотреть желательно в оба документа одновременно, тогда будет понятно что происходит с cost-ами и как меняется характер трассировки от разного числа start pass.

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


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

То же самое попробовала в Expedition, результат близкий (hkp-файлы в приложении).

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

 

Повернул компонент в 180.

Запустил стандартный набор.

Получил 100%

Больше не экспериментировал за недостатком свободного времени.

 

Комментарии:

1. Exp не любит работать с такими компонентами повернутыми на угол не кратный 90 - проблема в алгоритме создания фанаутов (что вы и видите на своем варианте).

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

3. Можно поиграться еще с разными вариантами последователости алгоритмов для получение более хорошего результата.

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


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

Кстати спектра тоже не любить когда есть компоненты повернутые не на 90 градусов. Когда-то трассировал плату а на ней стоял процессор в корпусе TQFP повернутый на 45 градусов, так вот, мне так и не удалось заставить спектру растрасировать этот компонент. Закончилось тем что мне надоело играться со спектрой и я оттрасировал этот компонент вручную.

 

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


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

Думаете Вам ссылочка сильно поможет?:) Мне даже объяснение преподавателя в центре обучения кэйденс не особо помогло...

Первое объяснение: Allegro PCB Router Command Reference (spcmdref.pdf), page 1306, AutoRoute Console Commands: Route

Второе: Allegro PCB Router Tutuorial(sptut.pdf), page 92, figure 3-3 - Costs Change During a Series of Route Passes.

 

Смотреть желательно в оба документа одновременно, тогда будет понятно что происходит с cost-ами и как меняется характер трассировки от разного числа start pass.

Спасибо. Нашла, читаю.

 

Повернул компонент в 180.

Запустил стандартный набор.

Получил 100%

Больше не экспериментировал за недостатком свободного времени.

Спасибо.

Попробовала, но получилось немного не то, что я хотела, проводники залезли между контактами разъема и краем платы. Перенастроила область трассировки так, чтобы они туда не попадали. В этом случае стандартный набор дал 97,3% разводки. Добавила еще 3 прохода и добилась 100%. В связи с чем, кстати, вопрос.

Там есть значения, видимо, подобные значениям в Спекктре, Start и End. Что они значат и какова логика их задания? Пока что делала наугад.

 

Комментарии:

1. Exp не любит работать с такими компонентами повернутыми на угол не кратный 90 - проблема в алгоритме создания фанаутов (что вы и видите на своем варианте).

Я думала, это проблема только Спекктры. :(

 

Комментарии:

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

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

Решила попробовать, включила опять стандартный набор без фанаутов, но процент итоговой разводки получила точно такой же, 97,3%.

И еще непонятно. "Заточен под сложные высокоскоростные платы". Т.е. механизма для оптимальной разводки "несложных и невысокоскоростных" нет?

 

Кстати спектра тоже не любить когда есть компоненты повернутые не на 90 градусов. Когда-то трассировал плату а на ней стоял процессор в корпусе TQFP повернутый на 45 градусов, так вот, мне так и не удалось заставить спектру растрасировать этот компонент. Закончилось тем что мне надоело играться со спектрой и я оттрасировал этот компонент вручную.

Да, это я уже поняла.

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

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


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

механизма для оптимальной разводки "несложных и невысокоскоростных" нет

 

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

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


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

Естественно. Предполагается, что такие платы быстрей и качественней сделать вручную.

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

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

Тем более на них придется одновременно с трассировкой создавать плэйны питаний/земли, чего не делает ни один автотрассировщик.

Плэйны питаний/земли, по-моему, как раз надо создавать на сложных высокоскоростных платах.

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

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


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

Ну... что я могу сказать. Успехов Вам, с таким подходом к проектированию.

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


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

Попробовала, но получилось немного не то, что я хотела, проводники залезли между контактами разъема и краем платы. Перенастроила область трассировки так, чтобы они туда не попадали. В этом случае стандартный набор дал 97,3% разводки. Добавила еще 3 прохода и добилась 100%. В связи с чем, кстати, вопрос.

Там есть значения, видимо, подобные значениям в Спекктре, Start и End. Что они значат и какова логика их задания? Пока что делала наугад.

 

Если рассмотреть стандартную последовательность то все достаточно просто:

1. Fanout (1-3) - делаем фанауты с 1 по 3, т.е. в 1 на минимальном расстоянии от пинов, в 2 увеличиваем расстояние чтобы сделать для тех где не получилось на минимальном и т.д. Фактически задача преобразовать все SMD компоненты в сквозные, чтобы дальше трассировщику было проще к ним подключится.

2. No_Via (1-2) - трассировка вертикальных и горизонтальных связей, без создания новых via, но с возможностью использовать имеющиеся.

3. Route (1-4)- основной алгоритм, трассировка с учетом направления слоя, с добавлением via, перетрассировкой и т.п. Чем выше номер прохода, тем больше свободы по кол-ву via и отступления от направления слоя.

4. Via_min (1-1) - оптимизация кол-ва via

5. Route (5-5) - т.е. опять основной алгоритм но с весовыми коэффициентами дающими максимальную свободу по кол-ву переходов и отступлению от направления слоя

6. Via_min (2-2) - дополнительная оптимизация кол-ва via, т.е. цена via повышена, а длины трассы и направления ниже.

 

В любой момент можете остановить автотрассировку, внести свои изменения в топологию и продолжить дальше. Именно это основное отличие автотрассировки Exp от Спектры. Т.е. Exp в любой момент оставляет в топологии только трассы разведенные без нарушений, а Спектра наоборот сначала проводит все но с нарушениями, а затем пытается убрать эти нарушения.

 

Если все трассы развелись в ранних стадиях автотрассировки, то Route (и т.п) уже не будет ничего делать. Далее будут работать только алгоритмы улучшения\оптимизации типа Via_min, Smooth, Expand и т.п.

 

Также можете заметить, что если не развелось 100% с первого раза, то можно запустить еще несколько раз Route и Via_min для достижения искомого, т.к. они будут пытаться перетрассировать мешающиеся трассы. Насколько я знаю, в работе алгоритмов есть и некоторый элемент случайного выбора (результат может зависеть даже от текущей загруженности оперативки).

 

Я думала, это проблема только Спекктры. :(

 

Видел где-то в планах об улучшении работы с компонентами размещенными под произвольными углами.

 

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

Решила попробовать, включила опять стандартный набор без фанаутов, но процент итоговой разводки получила точно такой же, 97,3%.

И еще непонятно. "Заточен под сложные высокоскоростные платы". Т.е. механизма для оптимальной разводки "несложных и невысокоскоростных" нет?

 

В данном случае однозначного ответа нет. Но по опыту тестирования разных плат чаше всего получалось, что если сделаны 100% фанаутов, то и 100% получается конечная трассировка. Если нет, то может и не получится 100% (на одной и той же плате).

 

Собственно говоря менторовцы констатируют, что обычно никто не трассирует 100% автоматом. Обычно это конгломерат ручная-полуавтомат-автомат (в произвольной последовательности следования).

 

Насколько я вижу основные усилия сейчас производятся в сторону улучшения полуавтомата смотрите (один алгоритм укладывает трассы по примерному пути мышки, второй анализирует уже проложенные трассы в данной области и пытается повторить тоже самое, самообучается :rolleyes: ) Предупреждение: файл весит ~19Мб :laughing:

 

Заточенность под сложные высокоскоростные платы прежде всего подразумевает следующее:

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

С наводками на одном и том же слое автоматы могут бороться сами, т.е. здесь проблемы нет.

Соответственно, то что для трассировки высокоскоростных плат являет + для простых является - , т.к. в них мало слоев и строгое следование направлению слоя может сильно сужать возможности трассировки.

 

Для простых плат ментор предлагает другой продукт - PADS - задачи попроще и цена поменьше.

 

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

 

В Exp это выглядит так: сначала полностью трассируется вся цепь и цепи с ней связанные (например правилами выравнивания задержки\длины) - обычными алгоритмами. Затем спец. алгоритмы Tune_Delay\Crosstalk оптимизируют эти цепи под заданные правила задержек\длин\наводок.

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


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

Думаете Вам ссылочка сильно поможет?:) Мне даже объяснение преподавателя в центре обучения кэйденс не особо помогло...

Первое объяснение: Allegro PCB Router Command Reference (spcmdref.pdf), page 1306, AutoRoute Console Commands: Route

Второе: Allegro PCB Router Tutuorial(sptut.pdf), page 92, figure 3-3 - Costs Change During a Series of Route Passes.

 

Смотреть желательно в оба документа одновременно, тогда будет понятно что происходит с cost-ами и как меняется характер трассировки от разного числа start pass.

Очень хорошие документы, особенно первый, спасибо большое. :) Там все очень понятно расписано и приведены конкретные цифры.

Typical values are:

1 The autorouter uses the costing that is

applied in the initial routing of a design.

6 The autorouter uses the costing that is used

after the initial five route passes.

The cost of conflicts is relatively low at this

point in the cost table.

11 The autorouter uses the costing that is used

after the initial 10 route passes.

The cost of conflicts is moderate at this point

in the cost table.

16 The autorouter uses the costing that is used

after the initial 15 route passes.

The cost of conflicts is relatively high at this

point in the cost table.

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

 

Если рассмотреть стандартную последовательность то все достаточно просто:

...

Спасибо большое. Очень подробный ответ, много полезной информации.

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


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

Заточенность под сложные высокоскоростные платы прежде всего подразумевает следующее:

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

С наводками на одном и том же слое автоматы могут бороться сами, т.е. здесь проблемы нет.

Соответственно, то что для трассировки высокоскоростных плат являет + для простых является - , т.к. в них мало слоев и строгое следование направлению слоя может сильно сужать возможности трассировки.

 

А в чем принципиальная разница? Мне кажется, что поиск параллельных сегментов ничем не должен отличаться (кроме, конечно, времени, поскольку нужно искать на нескольких слоях).

И почему “отодвигая от одной цепи, вы неизбежно придвините к другой”, работает только в многослойном варианте?

 

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


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

А в чем принципиальная разница? Мне кажется, что поиск параллельных сегментов ничем не должен отличаться (кроме, конечно, времени, поскольку нужно искать на нескольких слоях).

И почему “отодвигая от одной цепи, вы неизбежно придвините к другой”, работает только в многослойном варианте?

 

1. Ну если подумать. то ясно видна разница в измерении и главное изменении зазоров. Нарисуйте сечение платы в котором разместите три трассы, например одна слева №1 и две справа друг под дружкой (т.е. на разных слоях, №2 на том же, №3 на слой ниже). Для трасс на одном слое (т.е. 1-2) зазор=катет равностороннего прямоугольника, для 1-3 это гипотенуза. Если сдвинуть 1 влево, то изменение расстояния 1-2 точно = изменению местоположения 1, а вот для 1-3 нет. Например начальный зазор 1-2 и 2-3 равен 1мм, значит 1-3=корень из 2. Изменим 1-2 на 1мм, т.е. 1-2=2мм, теперь 1-3=корень из 5.

2. Exp. при тюнинговании добавляет между отодвинутыми отрезками трасс спец. элемент, который не дает им сблизится при дальнейшей модификации (видео). Для случая разных слоев надо будет уже изобретать какой-то 3D элемент :rolleyes:

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


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

Повернул компонент в 180.

Запустил стандартный набор.

Получил 100%

Больше не экспериментировал за недостатком свободного времени.

 

Комментарии:

1. Exp не любит работать с такими компонентами повернутыми на угол не кратный 90 - проблема в алгоритме создания фанаутов (что вы и видите на своем варианте).

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

3. Можно поиграться еще с разными вариантами последователости алгоритмов для получение более хорошего результата.

 

очень конечно интересно, но для полноты картины не хватает то же самое в "заточенном под простые платы" PADS, в смысле ему чихать на компоненты, повернутые под 45 градусов, или возможен такой же затык?

 

кстати, и для expedition результат не совсем показателен - судя по скриншоту, диаметр площадок via практически почти равен диаметру отверстия, что реальных платах не должно быть. Диаметр КП via должен превышать диаметр сверловки "для несложных плат" хотя бы на 0,25мм. То есть сверловка - 0.25, диаметр КП - 0.5.

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


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

очень конечно интересно, но для полноты картины не хватает то же самое в "заточенном под простые платы" PADS, в смысле ему чихать на компоненты, повернутые под 45 градусов, или возможен такой же затык?

 

кстати, и для expedition результат не совсем показателен - судя по скриншоту, диаметр площадок via практически почти равен диаметру отверстия, что реальных платах не должно быть. Диаметр КП via должен превышать диаметр сверловки "для несложных плат" хотя бы на 0,25мм. То есть сверловка - 0.25, диаметр КП - 0.5.

 

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

 

Размер КП 0.45мм, отверстие 0.3 - так задал сам автор.

Не надо смешивать две сложности: технологическую и разводки. Хотя они и взаимосвязаны - повышение технологической сложности может уменьшать сложность трассировки и наоборот.

Я разделяю платы на сложные и нет, по нескольким критериям:

1) большое кол-во цепей

2) наличие областей с большим кол-вом пинов (большие BGA) - где не всегда видно как оптимально вывести трассы на свободное пространство

3) множество правил разводки цепей, которые нужно сформулировать и выдержать.

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

 

 

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


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

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

В Exp проблемы с повернутыми компонентами, поэтому он не развел 29 цепей. В PADS нет проблем с повернутыми компонентами, поэтому он не развел 7 цепей.

А как бы совместить отсутствие проблем с повернутыми компонентами с хорошими алгоритмами перетрассировки? :)

 

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


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

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

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

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

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

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

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

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

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

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