Пакет CADSTAR. Урок 17. Редактор печатных плат системы CADSTAR: трассировщик P.R.Editor XR. Управление атрибутами и их иерархия

№ 2’2008
PDF версия
На предыдущем занятии мы научились основным приемам ручной трассировки печатной платы, а также впервые столкнулись с таким понятием, как атрибуты объектов печатной платы. Сегодня мы рассмотрим тему атрибутов и их иерархии более подробно.

Юрий Потапов
Сергей Прокопенко

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

Для работы нам потребуется специальный пример Preditor1.pcb, который входит в комплект стандартной поставки программы CADSTAR.

  1. Находясь в редакторе плат системы CADSTAR, выполним команду меню FileOpen, в появившемся окне выберем папку Self Teach и в ней файл Preditor1.pcb, после чего нажмем кнопку «Открыть». Откроется окно редактора печатных плат с выбранным проектом.
  2. Выполним команду меню ViewView All или нажмем кнопку

    на панели инструментов.

  3. Выполним команду меню ToolsPREditor XR.
  4. В появившемся на экране диалоговом окне RIF Export Option нажмем кнопку OK.
  5. В появившемся на экране окне отчета нажмем кнопку Close и закроем его.

На экране откроется окно программы P.R.Editor XR, в котором будет отображаться выбранный нами проект печатной платы.

Редактирование атрибутов

Для определения последовательности своей работы программа P.R.Editor XR использует данные, содержащиеся в RIF-файле. В этом файле находится информация о проекте, а также набор атрибутов со значениями, полученными из правил, которые заданы в головной системе проектирования печатных плат CADSTAR. В CADSTAR некоторые из этих атрибутов используются на этапе разработки ввода схемы, другая часть атрибутов выводится в FIF-файл и используется на этапе размещения компонентов на плате. Третья часть атрибутов относится к трассировке цепей и выводится в RIF-файл. Все эти атрибуты представляют собой набор правил, управляющих работой программы P.R.Editor XR.

В настоящее время в программе P.R.Editor XR используется десять категорий атрибутов: Area (область), Board (плата), Component (компонент), Net (цепь), Net_Class (класс цепей), Pad_code (тип контактной площадки), Pin (вывод), Spacing (зазор), Teardrop (каплевидные площадки) и Template (шаблон заливки). Иерархия данных категорий атрибутов показана на рис. 1.

Иерархия классов атрибутов

Если атрибуту присваивается некоторое значение на уровне платы (Board), то это скажется на всем проекте, а вот атрибут, значение которого задано на уровне вывода (Pin), повлияет только на вывод, для которого он был задан. Любой атрибут, значение которого не задано на самом низком уровне, например, на уровне вывода, будет принимать (наследовать) значение, присваиваемое на следующем более высоком уровне, для которого это значение задано. В тех случаях, когда значение задается только на более высоком уровне, а на низком уровне отсутствует, именно это значение будет использоваться при работе трассировщика. Таким образом, значения атрибутов применяются снизу вверх в порядке старшинства.

Примечание. Атрибуты, установленные на уровне области (Area), влияют на трассировку объектов только тогда, когда объекты находятся внутри данной области.

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

Редактируемость атрибутов задается в общем файле правил проектирования (Rules). При загрузке проекта в программу P.R.Editor XR сначала считывается RIF-файл, а затем файл правил (Rules). Это означает, что настройки в файле правил имеют приоритет над параметрами, содержащимися в RIF-файле. Если редактируемость атрибута разрешена в файле RIF, но не указана в файле правил, будет использоваться состояние, заданное в файле RIF. Если атрибут не задан ни файлом RIF, ни файлом правил, программа P.R.Editor XR 5000 предполагает, что он не подлежит редактированию.

  1. Выполним команду меню ConfigureAttributes. На экране появится диалоговое окно Attributes (рис. 2), в котором осуществляется редактирование атрибутов. Обратите внимание, что данное окно является немодальным, что означает, что пользователь может оставлять его видимым в течение всего времени работы над проектом и вносить изменения по мере необходимости. Проделаем простое упражнение.
  2. Окно редактирования атрибутов
  3. Щелкнем левой кнопкой мыши на значении 12th атрибута Copper Connection Width, отображаемом в соответствующем столбце.
  4. Значение атрибута в столбце будет подсвечено, и оно же появится в текстовом поле Attribute Value в нижней части окна. Если редактирование указанного атрибута разрешено, то данное текстовое поле становится активным; если редактирование запрещено, то поле со значением атрибута отображается серым цветом.

  5. Введем в поле Attribute Value новое значение 11th и нажмем клавишу Enter.
  6. Новое значение отобразится в столбце Copper Connection Width.

  7. Нажмем кнопку Apply и передадим сделанные изменения в проект.
  8. Теперь соединение контактных площадок с областями заливки на внутренних слоях питания и заземления (а именно это определяется атрибутом Copper Connection Width) будет выполняться проводниками шириной 11 тысячных дюйма, а не 12, как ранее.

    Примечание. Все размерные атрибуты могут быть определены с помощью любого из перечисленных ниже суффиксов размерности:

  • um, микроны, мкм (10E-6 м);
  • mm, миллиметры, мм (10E-3 м);
  • cm, сантиметры (10E-2 м);
  • m, метры;
  • th, тысячные доли дюйма (Thousandths) (10E-3 in);
  • ml, тысячные доли дюйма (Mils) (10E-3 in);
  • in, дюймы;
  • ds, базовые единицы структуры данных (10E-8 м).

Для некоторых атрибутов значения не могут быть заданы произвольно, а выбираются из предварительно заданного набора с помощью выпадающего списка.

  • Щелкнем левой кнопкой мыши на выпадающем списке в третьем столбце и выберем имя атрибута ppp_relief_type.
  • Заголовок столбца изменится на Relief Type, а в столбце отобразится текущее установленное значение Cross.

  • Щелкнем левой кнопкой мыши на значении Cross.
  • Теперь поле Attribute Value будет представлять собой не текстовое поле, а выпадающий список.

  • Выберем в выпадающем списке Attribute Value значение Cut.
  • Новое значение атрибута отобразится в соответствующем столбце.

  • Нажмем кнопку Apply и передадим сделанные изменения в проект.
  • Теперь тип соединения контактной площадки с областью металлизации будет задан как Cutout. Подробное описание отличий типов термобарьеров Cross и Cutout приведено в файле справки, который можно вызвать нажатием кнопки Help, расположенной в окне Attributes.

    Чтобы удалить значение того или иного атрибута, необходимо щелчком левой кнопки мыши выделить его и нажать кнопку Clear. Если в первом столбце выбрать классы атрибутов Net Class или Spacing Class, а не одно из значений их атрибутов, то последующее нажатие кнопки Delete удалит эти класс цепи или класс зазоров из проекта. И хотя при нажатии кнопки Apply система сгенерирует запрос на подтверждение удаления, пользоваться данной функцией следует крайне осторожно. Проделаем упражнение.

  • Щелкнем левой кнопкой мыши на выпадающем списке в первом столбце и выберем категорию атрибутов Net_Class Level.
  • Заголовок первого столбца изменится на Net_Class Name (имена классов цепей), но сам столбец останется пустым, так как у нас в проекте нет ни одного выделенного объекта.

  • Включим опцию All of Type, расположенную в окне Attributes.
  • Теперь в первом столбце будут отображаться все заданные в проекте классы цепей.

  • С помощью мыши выделим любой из представленных здесь классов, например, bus.
  • Обратите внимание, что стала активной кнопка Delete.

  • Нажмем кнопку Delete.
  • Выбранный ранее класс цепей bus будет удален из списка Net_Class Name.

  • Нажмем кнопку Apply.
  • Система выдаст запрос на подтверждение удаления класса цепей (рис. 3).

    Запрос на подтверждение удаления класса цепей
  • Нажмем кнопку Cancel.
  • Система отметит удаление класса цепей bus и очистит окно Attributes.

    В общем случае пользователь должен запомнить следующее: все изменения, вносимые нами в окне Attributes, не применяются к проекту до тех пор, пока не будет нажата кнопка Apply. Если данная кнопка не активна, то это говорит о том, что в окне Attributes пока не сделано никаких изменений. Если кнопка активна, то изменения настроек атрибутов были сделаны, но к проекту они пока не применены. Таким образом, в ходе одной сессии есть возможность внести сразу несколько изменений в настройки атрибутов, а в проект их перенести можно всего одним нажатием кнопки Apply. Для отмены всех внесенных изменений следует нажать кнопку Cancel.

    Настройка отображения атрибутов

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

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

    Список всех атрибутов может быть довольно длинным, но есть возможность группировать атрибуты для упрощения навигации. Группа атрибутов выбирается в выпадающем списке Attribute Group, по умолчанию в котором выбрана группа All. Еще в этом списке доступны следующие стандартные группы атрибутов:

    • Spacing — все атрибуты, определяющие зазоры между объектами.
    • Same Net — атрибуты, определяющие зазоры между объектами одной цепи.
    • High Speed — специальные атрибуты, предназначенные для работы с высокоскоростными сигналами и использующиеся только в версии P.R.Editor XR HS.
    • Differential Pairs — атрибуты, задающие зазоры только для дифференциальных пар и использующиеся только в версии P.R.Editor XR HS.
    • Other — атрибуты цепей, которые не вписываются в любую из вышеуказанных групп.
    • <New> — данная строка служит для вызова диалогового окна создания пользовательских групп атрибутов.
    1. В выпадающем списке, расположенном в верхней части первого столбца, выберем категорию атрибутов Board Level.
    2. В четырех других столбцах появятся настроенные ранее атрибуты, как показано на рис. 2.

    3. В выпадающем списке Attribute Group выберем группу Spacing.
    4. Теперь в окне во втором столбце будет отображаться только один атрибут уровня всей платы Space Drl-Drlint, задающий минимально допустимое расстояние между отверстиями сверления.

    5. Выключим опцию Hide Spacing (скрывать зазоры), расположенную в нижней части окна Attributes.
    6. Теперь все ранее пустые столбцы заполнились атрибутами. Если щелкнуть левой кнопкой мыши на выпадающем списке над любым из столбцов с атрибутами, то можно увидеть, что теперь список доступных для редактирования параметров зазоров гораздо шире. Попробуем создать собственную группу атрибутов.

    7. В выпадающем списке Attribute Group выберем строку <New>.
    8. В появившемся на экране диалоговом окне User Attribute Group (рис. 4) с помощью мыши при нажатой клавише CTRL в списке справа выберем пять параметров, относящихся к зазорам между переходными отверстиями и другими объектами.
    9. Создание новой группы атрибутов
    10. В поле Group Name введем имя новой группы Spacing_Via и нажмем кнопку Apply.
    11. Нажмем кнопку Cancel и закроем окно User Attribute Group.
    12. Теперь, если мы в окне Attributes раскроем список Attribute Group, то обнаружим в нем новую группу Spacing_Via.

    13. С помощью мыши выберем эту группу.
    14. Набор отображаемых в окне параметров изменится согласно сделанным настройкам. Обратите внимание, что в окне User Attribute Group есть кнопки Load и Save, позволяющие сохранять и загружать определения групп во внешние файлы с расширением *.ugp.

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

    15. Не закрывая окна Attributes, выполним команду меню ViewFrame или нажмем кнопку

      на панели инструментов.

    16. С помощью мыши зададим окно охвата таким образом, чтобы на экране оптимально отображалась микросхема U11, расположенная в левом нижнем углу платы.
    17. Щелчком левой кнопкой мыши выделим вывод 10 микросхемы U11 (рис. 5).
    18. Просмотр атрибутов вывода 10 микросхемы U11
    19. В выпадающем списке, расположенном в верхней части первого столбца, выберем категорию атрибутов Pin Level.
    20. Содержимое окна Attributes изменится. В первом столбце будет отображаться единственный выделенный вывод U11-10, а в остальных столбцах — его атрибуты. Если мы щелкнем левой кнопкой мыши на выпадающем списке над любым из столбцов с атрибутами, то мы не обнаружим в нем интересующий нас атрибут pin_neck_width. Это кажется весьма странным, так как функция заужения проводника работала абсолютно правильно.

      Данный факт объясняется весьма просто. В начале данного занятия мы упоминали, что при загрузке проекта трассировщик сначала считывает RIF-файл, а затем файл правил (Rules). Чтобы какой-либо из атрибутов был доступен для редактирования, он прежде всего должен быть задан, а также должен быть включен признак его редактируемости. Проверим, как обстоят дела с интересующим нас атрибутом.

    21. С помощью простого текстового редактора откроем RIF-файл Preditor1.rif, созданный программой CADSTAR в папке …Self TeachPreditor1pcbrouter.
    22. В головной части этого файла будут находиться текстовые блоки с описанием уже известных нам категорий атрибутов с признаком редактируемости. В частности, блок атрибутов из категории Pin Level будет иметь вид:

      Заголовок блока начинается со строки ATTR, далее следует название категории атрибутов PIN, и ниже перечислены атрибуты, которые будут отображаться в окне Attributes, причем те, что имеют признак N, будут нередактируемыми, а те, что имеют признак E, — редактируемыми. Видим, что интересующий нас атрибут pin_neck_width в этом блоке отсутствует. Однако если мы воспользуемся функцией поиска в тексте, то обнаружим, что атрибут pin_neck_width задан для выводов многих компонентов. Для интересующего нас вывода 10 микросхемы U11 он задан равным 8 тысячным дюйма:

      Посмотрим, какие настройки для данного атрибута содержатся в файле правил проектирования Rules.

    23. С помощью Проводника Windows откроем папку …ProgramsResourcespred.
    24. Здесь видно, что файл Rules вообще отсутствует и, естественно, не загружается. Таким образом, интересующий нас атрибут pin_neck_width описан только в RIF-файле, причем его отображение не задано, а файл правил, который мог бы изменить эти настройки, вовсе отсутствует. К счастью, в состав пакета входит заготовка файла правил Rules.all со всеми включенными на редактирование атрибутами, которая хранится в этой же папке.

    25. С помощью простого текстового редактора откроем файл Rules.all, расположенный в папке …ProgramsResourcespred.
    26. Данный файл представляет собой список всех возможных атрибутов, сгруппированных в блоки согласно категориям. Теперь, если мы воспользуемся функцией поиска в тексте, то обнаружим, что атрибут pin_neck_width здесь присутствует и имеет признак E, то есть его редактирование разрешено.

    27. С помощью текстового редактора сохраним открытый файл под новым именем Rules (без расширения) в папке …ProgramsResourcespred.
    28. Теперь нам остается загрузить файл правил в программу P.R.Editor XR. Для этого достаточно закрыть и заново открыть наш проект, не возвращаясь в систему CADSTAR.

    29. Выполним команду меню FileClose и в появившемся окне Save нажмем кнопку Discard.
    30. Выполним команду FileRecent DesignsPreditor1.rif и в появившемся диалоговом окне Restore выберем опцию Load Original Design File (загрузить исходный файл проекта), после чего нажмем кнопку Load.
    31. В открывшемся проекте изменим масштаб, чтобы видеть микросхему U11, и с помощью мыши выделим ее вывод 10.

    32. Выполним команду меню ConfigureAttributes.
    33. В появившемся окне в первом столбце, согласно выделению, будет автоматически выбрана категория Pin Level, и показан только один вывод U11-10.

    34. Щелкнем левой кнопкой мыши на выпадающем списке во втором столбце и выберем имя атрибута pin_neck_width, который теперь здесь присутствует.
    35. Если мы щелкнем левой кнопкой мыши на значении данного параметра 8th, то увидим, что атрибут является редактируемым — согласно настройкам в файле Rules. В качестве самостоятельного упражнения мы рекомендуем изменить это значение, например, на 10th и убедиться, что именно оно будет использоваться при ручной трассировке.

      Посмотрим, какие значения атрибута pin_neck_width заданы для выводов других компонентов.

    36. Включим опцию All Of Type (все объекты данного типа).
    37. В первом столбце будет показан полный список объектов уровня Pin Level. Если воспользоваться линейкой прокрутки в правой части окна, то, просмотрев весь список, мы увидим, что у многих выводов атрибут pin_neck_width просто не задан, а у которых задан, равен 8th.

    38. Щелкнем левой кнопкой мыши на выпадающем списке в пятом столбце и выберем имя атрибута ppp_pad_relief (Pad Relief Angle), задающего угол наклона проводников термобарьера.
    39. Однако пятый столбец останется пустым, что говорит о том, что на уровне выводов (Pin Level) данный атрибут задан не был.

    40. Включим опцию All Levels (все уровни).
    41. Теперь в пятом столбце для всех выводов будет отображаться значение 45. Это означает, что проводники термобарьеров будут прорисованы под углом 45°. Синий значок перед численным значением говорит нам о том, что атрибут задан на уровне платы (Board Level). Значения атрибута pin_neck_width (Necked Width) во втором столбце имеют желтый значок (рис. 6), а значит, заданы на уровне цепей или выводов (Net/Pin).

      Просмотр атрибутов выводов, заданных на разных уровнях
    42. Щелкнем левой кнопкой мыши на выпадающем списке в третьем столбце и выберем имя атрибута ppp_con_width (Copper Connection Width), задающего ширину проводников термобарьера.
    43. В третьем столбце появятся значения 12th с синим значком (рис. 7), что означает, что атрибуты заданы на уровне платы.

      Просмотр атрибутов с учетом уровня приоритета
    44. Щелкнем левой кнопкой мыши на значении 12th атрибута Copper Connection Width в строке, соответствующей выводу U11-10.
    45. В ставшее активным в поле Attribute Value введем новое значение 7th и нажмем клавишу Enter.
    46. В третьем столбце появится новое значение, а желтый значок будет говорить нам, что значение задано на уровне выводов и имеет более высокий приоритет, чем настройки для всей платы.

    Редактирование атрибутов с расширенными значениями

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

    1. Щелкнем левой кнопкой мыши на выпадающем списке в четвертом столбце и выберем имя атрибута pin_exit_dirs (Exit Directions), задающего направление выхода проводников из контактной площадки (рис. 8).
    2. Задание направления выхода проводников из контактной площадки
    3. С помощью линейки прокрутки в правой части окна найдем в списке выводы микросхемы U4.
    4. Все они имеют одно и то же значение атрибута Exit Directions — ALL.

    5. Щелкнем левой кнопкой мыши на значении этого атрибута в строке, соответствующей выводу U4-1.
    6. На экране появится окно Exit Directions, в котором задаются направления выхода проводников из контактной площадки. Сейчас включены все четыре возможных направления, о чем свидетельствуют соответствующие галочки.

    7. Выключим галочки в направлениях N (север) и E (восток) и нажмем кнопку OK.
    8. В окне Attributes в поле Attribute Value появится новое значение WS, что соответствует направлениям запад или юг.

    9. Нажмем кнопку Apply.
    10. Теперь, если мы попробуем трассировать плату, то из контактной площадки вывода 1 микросхемы U4 проводники будут выходить только влево или вниз.

      Обратите внимание, что в окне Exit Directions есть кнопки In, Out и In/Out, которые в комбинации с нажатием кнопки Package направляют выводы внутрь, наружу или внутрь/наружу соответственно. Опция All Pins позволяет применить все сделанные настройки ко всем выделенным выводам. Изучение работы данных кнопок мы предлагаем в качестве самостоятельного упражнения. Следует лишь помнить, что при работе с диалоговым окном Exit Directions необходимо тщательно учитывать текущую ориентацию компонента. Все направления выхода из выводов считаются N (cевер), S (юг), E (восток) или W (запад) по отношению к исходной ориентации компонента.

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

    11. В выпадающем списке, расположенном в верхней части первого столбца, выберем категорию атрибутов Spacing Level.
    12. Пока окно Attributes остается пустым, так как не выбрано ни одного объекта на плате.

    13. Включим опцию All Of Type (все объекты данного типа).
    14. В первом столбце появятся несколько записей, определенных на данном уровне, но ни одного атрибута в окне Attributes показано не будет, так как включена опция Hide Spacing.

    15. Выключим опцию Hide Spacing, чем включим отображение всех атрибутов, связанных с зазорами между проводниками.
    16. Щелкнем левой кнопкой мыши на выпадающем списке во втором столбце и выберем имя атрибута space_any_any (Spacing Any-Any), задающего зазоры между любыми электрическими объектами на плате.
    17. Во втором столбце появятся значения с зеленым значком, что означает, что атрибуты заданы на уровне Spacing.

    18. Щелкнем левой кнопкой мыши на значении 50th атрибута Spacing Any-Any в строке 110V<>110V, задающей зазоры между цепями класса 110V.
    19. На экране появится окно Attribute Dimension со списком имеющихся в проекте слоев Layer, в котором задано лишь одно значение зазоров 50th в строке <default> (по умолчанию).

    20. С помощью мыши выберем в списке слой Component.
    21. В текстовое поле Value в нижней части окна введем значение 60th и нажмем клавишу Enter.
    22. Новое значение зазора появится в столбце Value напротив указанного слоя.

    23. Аналогичным образом введем значения 100th для слоев VDD и GND, а также 60th для слоя Solder.
    24. Содержимое окна Attribute Dimension после этого будет выглядеть, как показано на рис. 9.

      Задание разных зазоров между цепями для разных слоев
    25. Нажмем кнопку OK и сохраним сделанные изменения.
    26. Теперь в окне Attributes значение атрибута Spacing Any-Any в строке 110V<>110V будет описываться длинной строкой, как показано на рис. 10.

      Значение атрибута, имеющего разные настройки для разных слоев
    27. Нажмем кнопку Apply и перенесем сделанные изменения в проект.
    28. Для закрепления изученного материала мы рекомендуем проделать самостоятельное упражнение и задать разные значения оптимальной ширины (Optimal Width) для цепи HOLD_ACK для разных слоев. Для этого потребуется:

    • Найти данную цепь в списке на уровне Net Level.
    • Проверить редактируемость атрибута net_opt_width (Optimal Width).
    • Если редактируемость выключена, включить ее в файле правил Rules.
    • Заново загрузить файл правил.
    • Задать нужные значения ширины и сохранить их.

    В завершение данного занятия нам остается только выйти из трассировщика P.R.Editor XR без сохранения текущих результатов.

  • Выполним команду меню FileExit.
  • В появившемся окне Save нажмем кнопку Discard.
  • На следующем занятии мы приступим к изучению приемов и настроек автоматической трассировки.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *