Проект PCAD.Ru
Главная / Форум / Объявления / Книги / Производство / Проектирование / Обратная связь

Поиск ошибок по зазорам

Оглавление форума | Открыть новую тему | Регистрация | Личные данные | Поиск | RSS

Brdm Просмотров темы: 3441       30.07.2012 09:56 [Ответить]
Сразу не обратил внимание. После выполнения утилиты DRC... (pcad2002)
появились сообщения типа
DRC Errors:
-----------


CLEARANCE VIOLATIONS:

Error 1 -- Clearance Violation between:
* Via at (122.050, 85.850) mm [Top layer]
* Line at (121.600, 86.350):(120.250, 86.350) mm [Top layer]
* Calculated Clearance: 0.173mm.
* Rule: NetClass{A1}.ViaToLineClearance=0.2
Error 2 -- Clearance Violation between:
* Via at (122.050, 85.850) mm [Top layer]
* Line at (121.600, 86.350):(121.950, 86.700) mm [Top layer]
* Calculated Clearance: 0.173mm.
* Rule: NetClass{A1}.ViaToLineClearance=0.2
Error 3 -- Clearance Violation between:
* Via at (104.200,105.110) mm [Top layer]
* Via at (104.200,106.100) mm [Top layer]
* Calculated Clearance: 0.190mm.
* Rule: NetClass{A1}.ViaToViaClearance=0.2

Хотя на самой плате это никак (типа синих кружков) не отображается, но всеравно это беспокоит. Подскажите пожалуйвста как теперь найти эти ошибки в зазорах на самой плате по сообщениям типа
Error 3 -- Clearance Violation between:
* Via at (104.200,105.110) mm [Top layer]
* Via at (104.200,106.100) mm [Top layer]

Спасибо.


как теперь найти эти ошибки в зазорах  Ded  [30.07.12 10:30]
Обычно все ошибки отображаются в виде перечеркнутых колец  Brdm  [30.07.12 10:37]
Индикация ошибки  Uree  [30.07.12 11:04]
Заработало  Brdm  [30.07.12 18:02]
По теме  Александр М  [01.08.12 10:38]
Вписать в DO-файл  Uree  [01.08.12 11:10]
После трассировки?  Александр М  [01.08.12 12:42]
В хелпе написано,  Uree  [01.08.12 12:54]
Спасибо  Александр М  [01.08.12 13:33]
Классы  Brdm  [01.08.12 16:15]
Легко...  Б.Г.  [30.07.12 10:36]

как теперь найти эти ошибки в зазорах  Ded 30.07.2012 10:30  [Вверх] [Ответить]
У вас же в сообщении стоят координаты Via. И в чём проблема.

Легко...  Б.Г. 30.07.2012 10:36  [Вверх] [Ответить]
Utils->Find Errors

Обычно все ошибки отображаются в виде перечеркнутых колец  Brdm 30.07.2012 10:37  [Вверх] [Ответить]
Понял. Спасибо. По координатам можно найти.
Обычно все ошибки отображаются в виде перечеркнутых синих колец. А у меня этого нет. Это меня смущает. Считать ошибку без кольца ошибкой или нет. исправлять ее или нет.

Индикация ошибки  Uree 30.07.2012 11:04  [Вверх] [Ответить]
не влияет на ее наличие. У Вас похоже отключено отображение ошибок DRC. Зайдите в опции и проверьте, что там стоит. Потому как состояние Hide для ошибок DRC предусмотрено и скорее всего включено.

Заработало  Brdm 30.07.2012 18:02  [Вверх] [Ответить]
Заработало. Большое спасибо. Действительно было выключено Annotete Errors

По теме  Александр М 01.08.2012 10:38  [Вверх] [Ответить]
Доброе время суток!
В отчете показывается нарушение правил, которые были заданы в Design Rules и которые были переданы в Спектру для разводки. Как настроить, чтобы таких нарушений правил не было, чтобы если задал зазор 0,8 mm, чтобы меньше зазоров не было?

Вписать в DO-файл  Uree 01.08.2012 11:10  [Вверх] [Ответить]
команды "filter" и "delete conflicts". Должны выполнятся после собственно трассировки.
Еще момент - у ПКАДа всех правил не хватает, чтобы описать и 10% спектровских правил. Если что-то не прописано прямо(в дизайне или в DO-файле), то Спекктра принимает значение по умолчанию, а это 0.305мм(для дизайна из ПКАДа).

После трассировки?  Александр М 01.08.2012 12:42  [Вверх] [Ответить]
Спасибо, а как эти команды могут работать после трассировки? Будут раздвигаться дорожки, переходные, или удаляться конфликтные дорожки? Смысл в том, чтобы в процессе разводки строго соблюдались правила, а если есть критические, не корректируемые конфликты, те цепи чтобы не разводились.

В хелпе написано,  Uree 01.08.2012 12:54  [Вверх] [Ответить]
но могу и процитировать:
Filter - The filter command removes final routing conflicts by executing route passes that increase the conflict cost and minimize the number of unconnected wires.

Delete conflicts - Removes all routed wires that intersect other routed wires or violate clearance rules are deleted. Starting with the wires that cause the most intersections and clearance violations, the autorouter removes each wire and re-evaluates the violation list.
Options are:
-segment - Allows the autorouter to eliminate conflicts by removing single segments and creating a guide from one segment to another. (The delete conflicts command is not recommended when there are a large number of conflicts. Instead, use the filter command to remove conflicts)
- include fast - Removes wires that include violations of high-speed rules, such as length or delay rules.

Что ж Вы так хелп игнорите, там куча полезной информации для понимания логики работы Спекктры.
А что Вы понимаете под "...работать после трассировки" ? Трассировкой в Спекктре можно считать ВСЕ, что в ней происходит. В том числе и эти команды. Потому как сама по себе трассировка делается там одной командой - route. А от того как Вы сумеете накомбинировать с этой командой зависит итоговый результат работы Спекктры.
Есть неплохой DO-файл, писаный когда-то кем-то, хорошо понимающим Спекктру. Можете с ним попробовать сделать трассировку:

## Sample Dofile with system variables and looping constructs.
## Lines beginning with '#' are comments.
##############################################################
#### Router Tax/Cost
tax cross 1.2
tax squeeze .5
#
cost off_center 50; tax off_center 3
cost side_exit 2; tax side_exit 1
###
##############################################################
#### Initial Route phase
route 7
if (complete_wire < 100)
then (clean 2)
####
##############################################################
#### Route phase 1
setexpr count (3)
while (count >0 && complete_wire < 100)
(
setexpr comp_rate (complete_wire)
route 5 11
if (complete_wire < 100 && complete_wire > comp_rate)
then (setexpr count (count - 1))
else (setexpr count (0))
)
####
##############################################################
#### Route phase 2
if (complete_wire < 100)
then (clean 2)
setexpr count2 (5)
while (count2 >0 && complete_wire < 100)
(
setexpr comp_rate2 (complete_wire)
route 5 16
if (complete_wire > comp_rate2)
then (setexpr count2 (count2 - 1))
else (
filter 5
limit cross 1
route 10 16
setexpr count2 (0)
)
)
####
##############################################################
#### Route phase 3
if (complete_wire < 100)
then (clean 2)
setexpr count3 (10)
while (count3 >0 && complete_wire < 100)
(
setexpr comp_rate3 (complete_wire)
route 5 16
if (complete_wire > comp_rate3)
then (setexpr count3 (count3 - 1))
else (
filter 5
limit cross 0
route 10 16
setexpr count3 (0)
)
)
#
#### Final Cleanup
clean 5
filter 5
spread
miter
del conflicts
####

Спасибо  Александр М 01.08.2012 13:33  [Вверх] [Ответить]
Спасибо, посмотрю help тоже.

Классы  Brdm 01.08.2012 16:15  [Вверх] [Ответить]
Eще при проектировании схемы необходимо определить все необходимые атрибуты через классы Option/NetClasess...
Все атрибуты будут перенесены в Спектру и в конечном итоге на .pcb