Разработка и исследование подсистемы учебно-исследовательской САПР РЭА
РЕЦЕНЗИЯ
на дипломную работу на тему:
"Разработка и исследование подсистемы
учебно-исследовательской САПР РЭА"
Горбач Дмитрия Александровича,
студента тр.Р-53, специальности "Радиотехника"
Дальневосточного Технологического института.
Представленная на рецензию дипломная работа содержит по-
яснительную записку в объеме 102 страницы печатного текста,
включая 37 илл., 7 таблиц, 14 библ. и 6 листов графического
материала формата А3.
В настоящее время в промышленности широкое распростране-
ние получили различные системы автоматизированного проектиро-
вания (САПР). В частности, для проектирования печатных плат
(ПП) широко используется система P-CAD, разработанная фирмой
Personal CAD System.
При подготовке специалистов радиотехнических специаль-
ностей целесообразно организовать учебную исследовательскую
работу студентов на системах автоматизированного проектирова-
ния промышленного уровня.
В связи с этим, представленная на рецензию дипломная ра-
бота является актуальной.
В работе приводится обзор современных алгоритмов, исполь-
зуемых на различных этапах радиотехнических САПР - при расчете
конструктивного объема РЭА, компоновке печатных плат и их
трассировке. На примере разработки двух блоков, отличающихся
составом элементной базы, произведены исследования возмож-
ностей программ пакета P-CAD. Приведена методика компоновки в
автоматическом и интерактивном режимах программы PC-PLACE, оп-
ределена последовательность действий оператора, позволяющая
достичь максимального использования ресурсов печатной платы.
Дан сравнительный анализ алгоритмов трассировки программы
PC-ROUTE. Расчет экономической эффективности САПР с применени-
ем данного пакета убедительно показывает снижение трудоемкости
работы проектировщиков более чем в два раза.
Дипломником самостоятельно разработана программа, содер-
жащая описания большого количества РЭК, позволяющая рассчитать
конструктивный объем проектируемых изделий и размеры печатной
платы, что не позволяет сделать система P-CAD.
Пояснительная записка содержит большое количество рисун-
ков, выполненных средствами компьютерной графики, в частности
в пакетах P-CAD, Picture Maker, Paint Brush и др.
Графический материал представлен плакатами, исполненными
на плоттере под управлением программы PC-PLOT. Подготовлен ряд
демонстрационных слайдов, поясняющих ход экспериментов и наг-
лядно отображающих результаты исследований.
Результаты работы - методика исследований и данные экспе-
риментов - могут быть использованы при организации курса лабо-
раторных работ на основе пакета P-CAD, а так же будут полезны
разработчикам РЭА, использующим эту систему.
Дипломная работа заслуживает оценки "Отлично", а диплом-
ник Горбач Д.А. присвоения квалификации радиоинженера.
Начальник отдела САПР
АО Приморгражданпроект И.В.Третьяков
.
Дальневосточный технологический институт
Кафедра радиоэлектроники и компьютерной техники
"УТВЕРЖДАЮ"
Зав.кафедрой
____________________
"___"__________ 1993г.
З А Д А Н И Е
на дипломное проектирование
студенту Горбач Дмитрию Александровичу
1. Тема работы: Разработка и исследование подсистемы
учебно-исследовательской САПР РЭА.
Утверждена приказом по институту No 191/1 от 22.03.93.
2. Срок сдачи работы 01.06.93
3. Техническое задание к работе
3.1. Цель: исследование и разработка подсистем и
звеньев учебно-исследовательской САПР РЭА.
3.2. Решаемые задачи: обзор алгоритмов и методов
конструирования печатных плат; pазpаботка пpогpаммы pасчета
констpуктивного объема РЭА; исследование алгоритмов, использу-
емых в системе автоматизированного проектирования на основе
пакета P-CAD; технико-экономическое обоснование внедpения
pассматpиваемой САПР в пpомышленное пpоизводство.
4. Работа представляется пояснительной запиской и гpафи-
ческим матеpиалом.
5. Содержание пояснительной записки: введение; обзоp ал-
гоpитмов, используемых в САПР РЭА (pасчет констpуктивного объ-
ема, модель печатной платы, алгоpитмы компоновки и тpассиpовки
печатных плат); исследование методов пpоектиpования и алгоpит-
мов, используемых в САПР РЭА на основе пакета P-CAD; экономи-
ческое обоснование внедpения pассматpиваемой САПР в пpомышлен-
ное пpоизводство; пpиложения (пpогpамма pасчета констpуктивно-
го объема РЭА, стpуктуpы баз данных пpогpаммы).
6. Перечень гpафического матеpиала (плакаты формата А3):
1) Пример I. Блок видеомагнитофона. Схема электрическая прин-
ципиальная;
2) Пример I. Компоновочный эскиз печатной платы.
3) Пример I. Трассировка в слое COMP.
4) Пример I. Трассировка в слое SOLDER.
5) Диаграмма - сравнение эффективности алгоритмов трассировки.
6) Диаграмма - снижение трудоемкости при внедрении САПР.
7. Консультант по экономическому разделу работы
_______________________________________ Бешенцева О.В.
Дата выдачи задания 10.03.93.
Руководитель дипломного проектирования
_______________________________________ Колесник Н.Я.
.
АННОТАЦИЯ
Горбач Д.А.
Разработка и исследование подсистемы
учебно-исследовательской САПР РЭА.
Дипломная работа. ДВТИ, 1993, 102 с., 37 илл.,
7 табл., 14 библ., 6 пл.
Цель дипломной работы - исследование и разработка
подсистем и звеньев учебно-исследовательской САПР РЭА на осно-
ве пакета P-CAD, в частности программ компоновки и трассировки
печатных плат, как наиболее трудоемкого и нуждающегося в авто-
матизации этапа проектирования радиоэлектронной аппаратуры.
В работе приводится обзор современных алгоритмов, исполь-
зуемых на различных этапах радиотехнических САПР - при расчете
конструктивного объема РЭА, компоновке печатных плат и их
трассировке. С целью облегчить расчет конструктивного объема
проектируемых изделий была разработана программа RTN (IBM PC,
Clipper), содержащая описание более 2000 компонентов отечест-
венной элементной базы. На примере разработки двух разнотипных
блоков произведен ряд экспериментов с целью исследовать воз-
можности программ пакета P-CAD. Приведена методика компоновки
в автоматическом и интерактивном режимах программы PC-PLACE,
определена последовательность действий оператора, позволяющая
достичь максимального использования ресурсов печатной платы.
Дан сравнительный анализ алгоритмов трассировки программы
PC-ROUTE. Расчет экономической эффективности САПР с применени-
ем данного пакета убедительно показывает снижение трудоемкости
работы проектировщиков более чем в два раза. При внедрении по-
добной системы на промышленном предприятии срок окупаемости
составит 2-3 месяца.
Результаты работы - методика исследований и данные экспе-
риментов - могут быть использованы при организации курса лабо-
раторных работ на основе пакета P-CAD, а так же будут полезны
разработчикам РЭА, использующим эту систему.
.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 4
1. АНАЛИЗ АЛГОРИТМОВ САПР ПЕЧАТНЫХ ПЛАТ 6
1.1. Модель печатной платы для электрических соединений 6
1.2. Алгоритмы компоновки печатных плат 11
1.3. Алгоритмы проектирования печатного монтажа 19
1.4. Способы соединения контактов 39
2. ИССЛЕДОВАНИЕ АЛГОРИТМОВ, ИСПОЛЬЗУЕМЫХ В СИСТЕМЕ P-CAD 41
2.1. Постановка задачи 41
2.2. Пример I. Блок видеомагнитофона. 41
2.3. Пример II. Имитатор целей РЛС. 65
3. ТЕХНИКО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ПРИМЕНЕНИЯ САПР P-CAD 81
ЗАКЛЮЧЕНИЕ 90
СПИСОК ЛИТЕРАТУРЫ 92
Приложение I. Программа RTV. 93
.
ВВЕДЕНИЕ
С увеличением степени интеграции современной радиоэлект-
ронной аппаратуры (РЭА) существенно возрастает и трудоемкость
ее проектирования. Это связано с ростом размерности задач, ре-
шаемых в процессе разработки. Эффективным средством решения
этой проблемы является применение компьютерной техники на всех
этапах создания РЭА. В последнее время методы автоматизирован-
ного проектирования, как и радиоэлектроника в целом, находятся
на этапе стремительного совершенствования. Поскольку высокоэф-
фективные компьютеры перестали быть редкостью, методы машинно-
го проектирования постепенно превращаются в инструмент, поль-
зоваться которым может практически каждый.
Инженер по радиоэлектронике и автоматике в условиях тех-
нической оснащенности интеллектуальной деятельности должен
свободно владеть средствами математического и программного мо-
делирования и решения задач проектирования и эксплуатации ап-
паратуры с помощью ЭВМ. При этом, направленное обучение специ-
алистов по использованию компьютерной техники и программного
обеспечения АРМ инженера, является весьма актуальным и
обусловлено широким внедрением в инженерную практику персо-
нальных ЭВМ.
В настоящее время в промышленности широкое распростране-
ние получили различные системы автоматизированного проектиро-
вания (САПР). В частности, для проектирования печатных плат
(ПП), гибридных интегральных схем (ГИС), микросборок (МБС) и
других подобных конструктивов широко используется система
P-CAD, разработанная фирмой Personal CAD System. По оценке
специалистов система P-CAD является несомненным лидером среди
других систем аналогичного назначения, функционирующих на
персональных компьютерах класса IBM PC.
Cистема P-CAD (Personal Computer Aided Design) предназна-
чена для автоматизированного проектирования печатных плат.
Данный пакет включает в себя средства, позволяющие пользовате-
лю создавать описания радиоэлектронных компонентов (РЭК),
электрических принципиальных схем, задавать форму печатной
платы, расставлять РЭК на плате как вручную, так и автомати-
чески, а также производить трассировку печатной платы. Резуль-
таты могут быть выданы на принтер, плоттер, фотошаблон.
- 5 -
$$$
При подготовке специалистов радиотехнических специаль-
ностей целесообразно в курсах по конструированию РЭА (или ана-
логичных курсах) организовать учебную исследовательскую работу
студентов на системах автоматизированного проектирования про-
мышленного уровня, преследуя при этом следующие цели:
- сформировать достаточно полное представление об основ-
ных элементах, структуре и принципах функционирования промыш-
ленных систем автоматизированного проектирования;
- способствовать получению своеобразного "фундамента" для
упрощения в дальнейшем освоения других промышленных систем ав-
томатизированного проектирования.
Необходимость организации такой работы пользователей со
средствами САПР РЭА в диалоговом режиме ставит задачу разра-
ботки учебных систем диалогового проектирования, ориентирован-
ных на дисплейные классы. Рассмотренная система на основе паке-
та P-CAD предназначена для конструирования разнообразных уст-
ройств РЭА и изучения методов и алгоритмов автоматизированного
проектирования.
Целью данной дипломной работы является исследование раз-
личных алгоритмов и методов, используемых пакетом P-CAD для
решения задач размещения радиоэлектронных элементов и трасси-
ровки печатных плат. Эти задачи составляют основу подсистемы
учебно-исследовательской САПР, связанной с вопросами компонов-
ки и топологии, как наиболее трудоемкого и нуждающегося в ав-
томатизации этапа проектирования радиоэлектронной аппаратуры.
.
- 6 -
$$$
1. АНАЛИЗ АЛГОРИТМОВ САПР ПЕЧАТНЫХ ПЛАТ
1.1. Модель печатной платы для электрических соединений
Использование формальных методов проектирования топологии
проводников на монтажных платах требует решения вопросов о
компьютерном представлении модели поверхностей слоев платы.
Необходимым условием корректности модели монтажного
пространства является требование адекватности отображения в
ней всех факторов, определяющих ресурсы и ограничения прообра-
за при проектировании печатного монтажа. К числу основных па-
раметров модели следует отнести: число слоев и размеры каждого
слоя платы, координаты и геометрию контактов, допустимые формы
печатных проводников и минимальные зазоры между ними, зоны
запрета на трассировку.
Наибольшее распространение в практике трассировки получи-
ла ортогональная модель поля платы. Рассмотрим правила постро-
ения такой модели.
Пусть на каждый слой платы, имеющей контакты, проводники
и зоны запрета, наложена некоторая регулярная сетка, образо-
ванная множествами вертикальных и горизонтальных прямых и
состоящая из ячеек размером (dx x dy) каждая.
Каждой ячейке соответствует некоторый признак, значение
которого идентифицирует одну из следующих ситуаций:
- ячейка содержит участок проводника, зоны запрета или контак-
та, то есть ячейка занята и через нее недопустима прокладка
проводника;
- ячейка не содержит перечисленных выше компонент.
Размеры dx и dy выбираются из условия: dx >= Hmin,
dy >= Hmin, где Hmin - минимальное расстояние между осями двух
параллельных сигнальных проводников.
Введенную сетку, покрывающую монтажное пространство слоя
платы, будем называть дискретной сеткой.
Описанная дискретная модель достаточно просто формируется
и представляется в компьютерной памяти с помощью двумерного
числового массива-матрицы, каждый компонент которого взаим-
но-однозначно соответствует одной ячейке сетки. Соответствую-
щий ячейке нулевой код означает, что она свободна для проклад-
ки печатного проводника, ненулевой код устанавливает запрет на
- 7 -
$$$
прокладку.
Платы с двумя и более слоями монтажа программно представ-
ляются в виде трехмерного массива-матрицы M( x, y, z), где
значения индекса z соответствуют номерам слоев платы.
Недостатком матричного отображения монтажного прост-
ранства плат является большой объем компьютерной памяти, тре-
буемый для представления этой модели. Однако до настоящего
времени она остается наиболее популярной.
Рассмотрим вопрос о размещении матрицы в компьютерной па-
мяти и систему адресации ее элементов. Актуальность данного
вопроса связана с повышением быстродействия алгоритмов трасси-
ровки, использующих матричную модель. Для большинства совре-
менных компьютеров характерна векторная структура представле-
ния многомерных массивов (в частности, трехмерных M( x, y, z).
Положение элемента матрицы M( x, y, z) относительно начального
адреса вектора V определяется выражением
kj = (zj - 1) * Xo * Yo + Xo * (yj - 1) + xj (1.1)
где kj - индекс вектора V; Xo, Yo - максимальные значения ин-
дексов x и y для матрицы M.
Представленная схема адресации элементов матрицы в векто-
ре V имеет один существенный недостаток. Действительно, при
распространении волнового фронта (см.п.1.3.6) на каждой итера-
ции обработки очередного элемента выполняется анализ состояния
матрицы в соответствии с рис. 1.2.
В данном случае рассмотрение осуществляется на одном из
слоев, например Zj = 1. Если положить индексы текущего дискре-
та в M( x, y, z), Xj и Yj, то в векторе V этот дискрет займет
положение kj в соответствии с (1.1). Тогда дискреты 1, 2, 3, 4
(рис. 1.2) будут занимать места в векторе V в соответствии со
следующими выражениями:
1. kj = kj + Xo
2. kj = kj + 1
3. kj = kj - Xo
4. kj = kj - 1
.
- 8 -
$$$
Zj = 1 Zj = 2
┌───┬───┬───┐ ┌───┬───┬───┐
3 │ G │ H │ I │ 3 │ P │ R │ S │
├───┼───┼───┤ ├───┼───┼───┤
2 │ D │ E │ F │ 2 │ M │ N │ O │
├───┼───┼───┤ ├───┼───┼───┤
1 │ A │ B │ C │ 1 │ J │ K │ L │
└───┴───┴───┘ └───┴───┴───┘
Yj / 1 2 3 Yj / 1 2 3 ]
Xj Xj
а) б)
V
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─ ─┬───┬───┐
│ A │ B │ C │ D │ E │ F │ G │ H │ I │ J │ K │ ... │ R │ S │
└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴─ ─┴───┴───┘
1 2 3 4 5 6 7 8 9 10 11 17 18
Kj
в)
Рис. 1.1. Иллюстрация расположения элементов матрицы в
векторной структуре: а, б - условное представление элементов
матрицы M( x, y, z) (Xo = Yo = 3); в - расположение элементов
матрицы M( x, y, z) в векторной структуре.
┌───┐
│ 1 │
│ │
┌──────┼───┼──────┐
│ 4 <─ │ O │ ─> 2 │
└──────┼───┼──────┘
│ │
│ 3 │
└───┘
Рис. 1.2. Схема анализа соседних элементов.
.
- 9 -
$$$
Очевидно, что такое расположение элементов вектора явля-
ется неудачным, так как требует для анализа этих четырех эле-
ментов четыре команды обращения к памяти. Практика трассировки
показывает, что операции выборки и анализа дискретов при расп-
ространении волнового фронта полностью определяют быстро-
действие алгоритма. Поэтому актуальной задачей является поиск
новых вариантов упаковки элементов массивов в векторы, позво-
ляющих сократить количество обращений к последним.
Одним из решений этой задачи является диагональное
представление рабочего поля платы в компьютерной памяти [1],
где упаковка массива производится по следующей формуле:
kj = [(xj + yj)*Yo + yj + (zj - 1)*Xo*Yo] mod( Zo Xo Yo) (1.2)
где
T, при T < q
T mod(q) = {
(T - q), при T >= q
В 1.2 предполагается, что индексы трехмерной матрицы
M( x, y, z) лежат в следующих диапазонах:
x E [ 0, Xo - 1]
y E [ 0, Yo - 1]
z E [ 0, Zo - 1].
На рис. 1.3 представлена иллюстрация упаковки элементов
матрицы M( x, y, z) в вектор V.
Анализ (1.2) и иллюстрация показывают, что данная упаков-
ка выгодно отличается от предыдущей тем, что элементы, сосед-
ние с каждым текущим (рис.1.2) при распространении волнового
фронта, располагаются в векторной структуре попарно с соседни-
ми. Такое расположение элементов позволяет сократить число об-
ращений к памяти вдвое за счет одновременной выборки пары
соседних элементов. Сопутствующий положительный эффект
представленной упаковки элементов является и то, что программе
поиска пути волновым методом нет необходимости "помнить", на
каком слое находится данный текущий элемент. Переход с любого
- 10 -
$$$
Zj = 1 Zj = 2
┌───┬───┬───┐ ┌───┬───┬───┐
3 │ G │ H │ I │ 3 │ P │ R │ S │
├───┼───┼───┤ ├───┼───┼───┤
2 │ D │ E │ F │ 2 │ M │ N │ O │
├───┼───┼───┤ ├───┼───┼───┤
1 │ A │ B │ C │ 1 │ J │ K │ L │
└───┴───┴───┘ └───┴───┴───┘
Yj / 1 2 3 Yj / 1 2 3 ]
Xj Xj
а) б)
V
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─ ─┬───┬───┐
│ A │ R │ B │ D │ S │ C │ E │ G │ J │ F │ H │ ... │ N │ P │
└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴─ ─┴───┴───┘
1 2 3 4 5 6 7 8 9 10 11 17 18
Kj
в)
Рис. 1.3. Иллюстрация расположения элементов матрицы в
векторной структуре при диагональном представлении рабочего
поля.
из двух слоев на другой выполняется всегда корректно при уве-
личении zj на единицу.
И, наконец, диагональное представление модели рабочего
поля позволяет осуществлять эффективный контроль за процессом
распространения волнового фронта, не позволяя значению индекса
элемента выходить за границы размера массива.
.
- 11 -
$$$
1.2. Алгоритмы компоновки печатных плат
1.2.1. Общие вопросы практики компоновки
Компоновка РЭА - размещение в пространстве или на
плоскости ЭЛ, имеющих электрические соединения в соответствии
с принципиальной схемой, и обеспечение допустимого минимума
паразитных взаимодействий, которые не нарушают значения
расчетных выходных параметров РЭА.
Энергетическое несовершенство РЭА по преобразованию энер-
гии источников питания в энергию выходного сигнала (чаще всего
КПД = 10e-3...10e-10) - причина больших тепловыделений, для
отвода которых требуется развитие поверхности конструкций и
высокая эффективность теплоносителя.
Емкостные и индуктивные ЭЛ РЭА требуют для нормальной ра-
боты определенного пространства, в котором при их работе воз-
никают электрические и магнитные поля. Их локализация требует
увеличения объема конструкции РЭА либо использования специаль-
ных экранов.
Сложные условия эксплуатации, энергетическое несовер-
шенство РЭА, необходимость учета при компоновке "объемов"
электрических и магнитных полей - причина усложнения проблем
компоновки ЭЛ РЭА, которая может быть определяющим фактором
при выборе того или иного компоновочного решения РЭА. Поэтому
компоновочными моделями ЭЛ РЭА в целом являются не геометри-
чески адекватные им модели, а модели, геометрически обобщающие
всю совокупность их свойств. Такая модель называется обобщен-
ной геометрической моделью (ОГМ).
Сложность расчета объема и формы ОГМ [2] - причина
использования в практике компоновочных работ упрощенных компо-
новочных моделей в виде установочных объемов Vуст или площади
Sуст ЭЛ. Vуст (Sуст) - прямоугольный параллелепипед (прямоу-
гольник), описанный вокруг ЭЛ с учетом его максимальных уста-
новочных размеров, требований по монтажу и регулировке и до-
полнительных объемов или пространства, обеспечивающих его нор-
мальную работу при данном тепловыделении, электрических и маг-
нитных взаимодействиях.
Размеры ОГМ (Vуст и Sуст) - функция геометрии ЭЛ и его
режима работы. При малых коэффициентах нагрузки (Кн) по мощ-
- 12 -
$$$
ности (0.1...0.3) можно использовать упрощенные соотношения
для вычислений Vуст и Sуст по нормированным установочным раз-
мерам (рис.1.4):
Vуст = 1.5 * Amax * Bmax * Hmax
Sуст = 1.3 * Amax * Bmax
При значениях Кн > 0.3...0.5 вычисление Vуст и Sуст зат-
рудняется, так как необходимо вычисление объемной или плоской
ОГМ со сложными образующими (рис.1.5), что требует знания на-
чальных и граничных условий.
1.2.2. Аналитическая компоновка
В основе аналитической компоновки лежат выражения
Vs = Kv * SUM( Vустi) = ( 1/Kvзап) * SUM( Vустi)
Ss = Ks * SUM( Sустi) = ( 1/Ksисп) * SUM( Sустi)
где Vs (Ss) - суммарный объем (площадь) РЭА;
Kv (Ks) - коэффициенты увеличения объема (площади), за-
висящие от назначения и условий эксплуатации и
равные 5..1 (3..1);
Vустi (Sустi) - установочный объем (площадь) i-го элемента
Kvзап - коэффициент заполнения РЭА по объему (0.2...0.1)
Ksисп - коэффициент использования площади платы, шасси и
т.п. (0.33...1).
Объемная масса РЭА обычно лежит в пределах
0.4...1.6 г/см^3.
Расчет конструктивного объема РЭА по вышеизложенному ме-
тоду реализован в программе RTV, являющейся авторской разра-
боткой (Приложение I). Программа производит расчет объемов из-
делия и площади печатной платы, а так же сообщает рекомендуе-
мые размеры платы. База данных программы насчитывает свыше
2000 компонентов отечественной элементной базы, проста и удоб-
на в использовании. Результаты расчетов могут использоваться
.
- 13 -
$$$
на различных этапах проектирования РЭА, в частности служить в
качестве исходной информации для компоновки печатных плат.
1.2.3. Задачи компоновки печатных плат РЭА
Цель компоновки заключается в создании наилучших условий
для последующего синтеза топологии электрических соединений
при выполнении конструкторских и технологических ограничений.
На решение задачи компоновки большое влияние оказывают типы
проектируемых блоков. В зависимости от типа блока (цифровой,
аналоговый или цифроаналоговый) решаются различные задачи и
определяется тот или иной метод их решения.
Элемент блока является одновременно геометрическим объек-
том Ti( Xi, Qi), где Xi, Qi - параметры установки элемента, и
элементом схемы соединений. Задача компоновки состоит в опти-
мизации оценки качества Ф( X1, Q1, Г1,..., Xn, Qn, Гn), при
условиях непересечения геометрических объектов, соответствую-
щих любой паре элементов и расположения каждого элемента в по-
ле платы.
Эта задача является многопараметрической задачей оптими-
зации. Аналитический вид зависимости оптимизируемого критерия
от параметров компоновки неизвестен, в связи с этим решение
задачи в общей постановке невозможно. Задача компоновки разби-
вается на ряд частных задач, которые согласуются со спецификой
проектирования субблоков РЭА.
В процессе размещения минимизируются суммарная длина сое-
динений и максимальное число соединений в сечении канала. Об-
щая стратегия состоит в получении начального размещения и в
последующем его улучшении с помощью ряда итерационных алгорит-
мов, применяемых в различных порядках.
1.2.4. Допущения, упрощающие задачу
Анализ практических задач, возникающих при проектировании
конкретных устройств РЭА, позволил выделить следующие ограни-
чения, упрощающие постановку задач упаковки: пространство про-
ектирования двумерное; угол поворота системы координат элемен-
- 14 -
$$$
та относительно системы координат платы может принимать значе-
ния: 0', 90', 180' или 270'; координаты расположения элементов
на поле платы при упаковке могут принимать только конечное
множество значений; все типы элементов, как геометрические
объекты, имеют вид прямоугольников.
1.2.5. Последовательный алгоритм упаковки элементов на
плате с заданной сеткой посадочных мест
Пусть во множество A входят элементы k видов T1, T2, ...,
Ti, ..., Tk. Некоторые элементы могут быть фиксированы на поле
платы. Тогда упаковка производится в следующей последователь-
ности:
Шаг 1. Вычеркивание занятых посадочных мест из заданной
сетки, в том числе учитываются фиксированные элементы;
Шаг 2. Выбор вида элемента. Из множества элементов A вы-
бирается один вида Ti. Критерии выбора могут быть различными.
Например: выбор по наибольшим габаритам, по наибольшему коли-
честву контактов, по наибольшему количеству элементов в виде;
Шаг 3. Производится последовательно-одиночная упаковка
элементов выбранного вида в заданное множество посадочных
мест. Занятые посадочные места отмечаются;
Шаг 4. Контроль упакованных элементов на наложение с сет-
кой посадочных мест неупакованных элементов.
Шаг 5. Проверка на возможность дальнейшей упаковки. Про-
веряется возможность в свободные посадочные места упаковать
оставшиеся элементы. Если возможно, переходим к следующему ша-
гу, иначе меняется последовательность упаковки.
Шаг 6. Поиск незанятых посадочных мест, оставшихся после
упаковки данного вида элементов. Координаты этих посадочных
мест запоминаются для дальнейшего использования программами
расстановки.
Шаг 7. Проверка на завершение. Все виды элементов упако-
ваны? Если нет, переходим ко второму шагу, иначе упаковка за-
вершена.
Рассмотренный алгоритм прост в реализации, не требует
большого объема компьютерной памяти, время счета линейно за-
.
- 15 -
$$$
висит от количества видов элементов и практически не зависит
от количества элементов в каждом виде.
1.2.6. Упаковка элементов на плате без задания сетки
посадочных мест
В данном случае возникает необходимость в автоматическом
построении сетки посадочных мест. Пространство проектирования
покрывается сеткой квадратов t1 x t2 и поле проектирования To
представляется в виде упорядоченных пар ( t1, t2) индексов по-
павших в него квадратов - позиций. В каждую позицию поля про-
ектирования может быть установлен полюс элемента Ti( Xi, Qi),
где Xi=( t1i, t2i), Qi={ 0, 90', 180', 270').
Задачу упаковки можно свести к линейной (одномерной). Это
даст возможность использовать при решении методы целочисленно-
го программирования, упростит и ускорит получение результата.
1.2.7. Упаковка элементов методом раскроя
Для решения задачи упаковки без задания сетки посадочных
мест можно использовать алгоритмы задачи раскроя прямоугольно-
го листа на прямоугольные заготовки, суть которого состоит в
следующем: задан плоский лист размером X на Y и m прямоуголь-
ных площадок размером xi на yi, i = 1...m. Требуется найти на-
именьшее неотрицательное решение функционального уравнения:
f(x,y)=MAX{ max( f(i,y)+f(x-i,y)), max( f(x,i)+f(x,y-i))} (1.3)
i=0..x i=0..j
обеспечивающее условия
f( x, 0) = f(0,y) = 0, f(xi,yi) >= Ci, (1.4)
где Ci - стоимость i-й детали.
.
- 16 -
$$$
Функция f(x,y), являющаяся наименьшим решением уравнений
(1.3)-(1.4), кусочно-постоянна, не убывает по x и y и допуска-
ет представление
f(x,y) = max ( fj ),
j:xj<=x,yj<=y
где { xj, yj, fj} - некоторый набор троек чисел.
Идея метода состоит в последовательном итерировании реше-
ния (1.3) путем пересчета набора троек по следующим правилам.
Пусть задан некоторый набор троек (xj, yj, fj), j = 1..R.
Примем, что xj<=X, yj<=Y для любых j1,j2 положим
x'(j1,j2) = xj1 + xj2,
y"(j1,j2) = yj1 + yj2,
x"(j1,j2) = MAX{ xj1, xj2 },
y'(j1,j2) = MAX{ yj1, yj2 }.
Назовем записью набор из натуральных чисел n, k и списка
n троек (xj,yj,cj), расположенных так, что если i=1..k и
j=i..n, то либо xi<x, либо xi=xj и yi<yj. Первые k троек назо-
вем началом списка. Это стабильная часть списка, которая будет
изменяться только за счет увеличения. Когда весь список будет
состоять из n троек, процесс заканчивается.
Алгоритм упаковки:
Шаг 1. Начальное формирование записи с пустым началом. В
список включаются все имеющиеся элементы. Если какие-либо эле-
менты разрешается переворачивать, то в список, кроме тройки
(xi,yi,ci), включается и тройка (xi,yi,ci)k=0. Переход к шагу
4.
Шаг 2. Пополнение начала. Из n-k троек, не входящих в на-
чало, выбирается тройка с наименьшим x, а если их несколько,
то та, у которой наименьшая y. Эта тройка ставится на k+1-е
место, k присваивается значение k+1.
Шаг 3. Пополнение списка. Для всех i=0..k формируются
тройки: (x'(i,k), y"(i,k),fi+fk) и (x"(i,k), y"(i,k),fi+fk).
Те из них, которые удовлетворяют ограничениям, включаются в
список с изменением n.
- 17 -
$$$
Шаг 4. Редукция списка. Осуществляется процесс попарного
сравнения троек. Если найдутся такие i и j, что xi<=x, yi<=yj
и fj<=fi, то j-я тройка исключается из списка. Очевидно, что
ни одна из троек начала не будет исключена. Если после этого
исключения окажется, что n=k, процесс завершается и f(X,Y) =
max(fj), иначе переход на шаг 2.
Изложенный метод прост в реализации и не требует большого
объема памяти.
Из алгоритмов компоновки монтажных плат следует также
упомянуть алгоритм совместного решения задачи упаковки и
расстановки без задания сеток посадочных мест, описанный в
[1]. Работа его осуществляется в три этапа: упорядочение эле-
ментов, упаковка элементов, оптимизация размещения, полученно-
го при упаковке.
Большинство существующих промышленных систем САПР помимо
применения описанных алгоритмов до начала трассировки осущест-
вляют дополнительную оптимизацию полученных вариантов размеще-
ния - производят распределение элементов по сторонам платы,
назначение цепей на контрольные гнезда и выводы соединителей,
переназначение эквивалентных контактов деталей. Все эти
действия позволяют улучшить исходную компоновку элементов и
облегчить проведение последующего этапа разработки РЭА -
трассировки печатной платы.
1.3. Алгоритмы проектирования печатного монтажа
1.3.1. Задача трассировки межсоединений монтажных плат
Одним из основных этапов технического проектирования РЭА
является процесс прокладки межконтактных электрических соеди-
нений на поле монтажных плат в соответствии с заданными
конструкторско-технологическими ограничениями на их форму и
размеры. Этот процесс получил название трассировки электри-
ческих (печатных) проводников. Задача трассировки формулиру-
ется так: на заданном множестве слоев монтажной платы необхо-
димо определить формы всех электрических соединений, обеспечи-
вающих функционирование проектируемого электронного уст-
- 18 -
$$$
ройства. Наиболее распространенным критерием качества трасси-
ровки (а также и предшествующих фаз этапа технического проек-
тирования) является процент (или доля) разведенных цепей по
отношению к их общему числу. В ряде случаев при техническом
проектировании многослойных печатных плат (МПП) качество
трассировки оценивается числом слоев, требуемых для реализации
всех заданных электрических соединений.
При проектировании печатного монтажа могут использоваться
и другие критерии качества, такие как ограничение длин элект-
рических соединений для части или всех цепей, обеспечение тре-
буемых характеристик быстродействия проектируемого устройства.
В ряде случаев для обеспечения помехоустойчивости минимизиру-
ются длины параллельных участков близко расположенных печатных
проводников, принадлежащих разным цепям. Последние два крите-
рия в настоящее время становятся все более актуальными и су-
щественным образом усложняют процесс синтеза печатных провод-
ников с точки зрения удовлетворения основного критерия качест-
ва трассировки.
Результаты автоматической трассировки должны оставлять
возможность для трассировки в интерактивном режиме нереализо-
ванных соединений. Поэтому на рабочем поле трассировки должны
сохраняться ресурсы для дотрассировки.
Для максимизации числа автоматически построенных трасс
необходимо предотвращать блокировку выводов элементов, к кото-
рым еще не подведены соединения. Экспериментально установлено,
что вероятность блокировки уменьшается при использовании преи-
мущественных направлений трасс в слоях (в одном слое прово-
дятся, в основном, горизонтальные отрезки, в другом - верти-
кальные) и построении трасс в порядке увеличения сложности.
В настоящее время существует и функционирует широкий на-
бор систем, обеспечивающих автоматизированное проектирование
монтажных плат. Однако до сих пор этап трассировки является
"узким" местом в системах технического проектирования. Несмот-
ря на большую номенклатуру современных алгоритмов размещения и
трассировки, проблема получения проектов с требуемым качеством
остается нерешенной. Это объясняется следующими факторами.
1. Этапы размещения и трассировки в силу их трудоемкости
в программных реализациях разделяются на последовательно вы-
полняемые шаги.
- 19 -
$$$
2. Методы решения задач размещения и трассировки базиру-
ются на эвристических предпосылках и, следовательно, не гаран-
тируют полной трассируемости соединений на заданном конструк-
тиве.
3. Подавляющее большинство современных методов трассиров-
ки печатных проводников относится к классу алгоритмов последо-
вательного типа, не обеспечивающих выполнения формального ана-
лиза метрико-топологических зависимостей в расположении про-
водников и контактов на поле платы с целью поиска оптимальной
укладки электрических соединений.
4. Практически во всех эксплуатируемых системах техни-
ческого проектирования отсутствуют эффективные программные
средства доразводки печатного монтажа в автоматическом режиме.
Перечисленные особенности нередко приводят к тому, что
проект, получаемый в автоматическом режиме, требует внесения
доработок конструктором со всеми вытекающими из этого не-
достатками.
1.3.2. Входная информация для решения задачи трассировки
Исходные данные для трассировки определяются при состав-
лении исходного задания на проектирование и дополняются после
выполнения операций компоновки и назначения (см.п.1.2). В ито-
ге входная информация для трассировки представляется двумя
компонентами: списком трассируемых контактов и моделью
представления поля печатной платы.
Решение задачи трассировки соединений предполагает пред-
варительное выполнение следующих основных этапов:
1. Определение списка всех проводников, которые должны быть
проложены между парами различных контактов.
2. Распределение проводников по слоям.
3. Определение последовательности трассировки проводников в
каждом слое (назначение парных соединений в каналы при ка-
нальной трассировке).
4. Собственно трассировка проводников.
.
- 20 -
$$$
1.3.3. Алгоритм Прима
На первом этапе необходимо решить, в какой последователь-
ности следует соединять контакты одной цепи (т.е. установить
Перечень Проводников одной цепи для каждой пары контактов),
чтобы суммарная длина всех соединений цепи была минимальна.
Эта задача сводится к задаче построения Минимального Связываю-
щего Дерева. На рис.1.6а приведен пример такого дерева для се-
ми контактов.
Наибольшее распространение для решения этой задачи на
компьютерах получил алгоритм Прима [3]. На первом шаге алго-
ритма для произвольного контакта из n находится ближайшая вер-
шина и соединяется ребром. На остальных n-2 шагах из множества
неподсоединенных контактов выбирается тот, который находится
ближе всего к группе уже связанных контактов и соединяется
кратчайшим ребром. На рис.1.6б показаны фрагменты дерева ( x1,
x2, x3, x4, x5) после четвертого шага алгоритма, ближайший
контакт x6 и кратчайшее ребро ( x5, x6), имеющее минимальную
длину среди всех возможных ребер, показанных пунктиром. В ре-
зультате перечень для трассировки цепи на рис.1.6а будет
[(x1,x2) (x2,x3) (x2,x4) (x4,x5) (x5,x6) (x6,x7)].
Алгоритм Прима применяется для определения числа пересе-
чений проводников и оценки качества решения задачи размещения.
Для печатного монтажа лучшие результаты будут получены,
если искать минимальное дерево в координатной сетке; такое де-
рево называется Минимальным Ортогональным Деревом (рис.1.6в).
Особенность задачи заключается в том, что при построении дере-
ва допускается введение дополнительных вершин x1' и x2', а та-
кое дерево называется Деревом Штейнера. Для решения задачи в
данной постановке применяется ортогональная метрика и разрабо-
таны алгоритмы, аналогичные алгоритму Прима.
1.3.4. Распределение проводников по слоям
Распределение может быть выполнено двумя способами:
.
- 21 -
$$$
1. Последовательно проводят соединения до заполнения оче-
редного слоя, после чего переходят к заполнению следующего
слоя (при таком подходе получается большое число слоев и не-
равномерное их заполнение).
2. Подсчитывают возможное число пересечений проводников,
совмещенных в одном слое, а затем проводят распределение по
слоям.
Подсчет возможного числа пересечений проводников можно
осуществить для двух различных представлений соединения двух
контактов на плоскости:
1. Соединения представляются в виде прямолинейных отрез-
ков и их пересечения определяются по уравнениям прямых линий
(рис.1.7а).
2. Соединения представляются в ортогональном пространстве
и их пересечения определяются по уравнениям прямых, параллель-
ных осям координат (рис.1.7б) или по факту перекрытия мини-
мальных прямоугольников, построенных для соответствующих кон-
тактов (x1,x2) и (x3,x4) на рис.1.7в.
Обе оценки дают завышенное число возможных пересечений и
имеют примерно одинаковую эффективность.
1.3.5. Определение порядка трассировки проводников
Определение порядка трассировки проводников в каждом слое
связано с тем, что успех трассировки очередного проводника су-
щественно зависит от конфигурации уже проведенных трасс. Так
как задача не формализуется теоретическими методами, для ее
решения разработаны различные эвристические алгоритмы.
Наибольшее распространение получили методы, основанные на
оценке длины проводников. Здесь возможны два подхода:
1. Соединение проводников в порядке возрастания длины от-
дельных проводников (в качестве оценки длины принимается крат-
чайшее расстояние между соединяемыми контактами). Этот метод
основан на том соображении, что короткие проводники вносят
меньше конфликтных ситуаций.
2. Соединение проводников в порядке убывания длины про-
водников, так как длинные проводники труднее трассировать.
.
- 22 -
$$$
С точки зрения минимальной суммарной длины соединений оба
подхода дают примерно одинаковые результаты. Другие методы
упорядочения связаны с учетом степени влияния проводников друг
на друга по площади перекрытия минимальных прямоугольников
(см. рис. 1.7в), с учетом числа контактов, попадающих в мини-
мальный прямоугольник, или с другими критериями.
Для эффективного использования ресурсов многослойной пе-
чатной платы решается задача распределения строящихся провод-
ников между слоями. Своевременное выявление конфликтов между
цепями и их устранение путем разнесения соответствующих печат-
ных проводников на различные слои позволяет существенно по-
высить качество трассировки.
1.3.6. Волновой алгоритм трассировки соединений и его
модификации
Среди множества алгоритмов трассировки электрических сое-
динений наиболее распространенным является волновой алгоритм
(алгоритм Ли). Он обладает высокой степенью общности, прост в
реализации и имеет широкий спектр применимости для трассировки
двухслойных, многослойных печатных плат, БИС и т.д. Основан на
"просмотре" возможных вариантов решений и выборе из них одно-
го, удовлетворяющего требованиям поставленной задачи.
Решение задачи с использованием волнового алгоритма пред-
полагает два этапа: на первом осуществляется поиск возможных
решений - распространение волны, на втором выбирается решение,
удовлетворяющее условиям поставленной задачи - построение об-
ратного следа.
Модель поля платы для трассировки представляется совокуп-
ностью дискретов (см.п.1.1). Все множество дискретов модели D
разделяются на два подмножества D' и D". Подмножество D' объ-
единяет в себе те дискреты модели, которые допустимо исполь-
зовать для прокладки через них печатных проводников. Подмно-
жество D" состоит из дискретов, через которые недопустима
прокладка трасс. Каждому дискрету из D присвоены два числа:
весовой коэффициент Pj, определяющий особенности расположения
j-го дискрета на модели поля; волновое число Aj, характеризую-
- 23 -
$$$
щее факт участия данного дискрета в процессе распространения
числовой волны.
Два дискрета с координатами (Xi,Yi) и (Xj,Yj) будем назы-
вать соседними, если для них выполняется условие:
│Xi - Xj│ + │Yi - Yj│ = 1.
Всем дискретам D" присвоим значения P, равные некоторому
большому числу. Тогда схема волнового алгоритма на дискретной
модели поля может быть представлена следующим образом.
Шаг 1. Разметка всех дискретов из D' кодом A=0. Обнуление
ячеек массивов фронтов X и Y.
Шаг 2. Окраска точки "истока" волны (Xo,Yo).
Шаг 3. Далее Ao := Po; K := 1; X(1) := Xo; Y(1) := Yo.
Шаг 4. Xj := X(1); Yj := Y(1); Если X(1) = Y(1) = 0, то
перейти к п.6.
Шаг 5. Последовательно выбрать все дискреты с координата-
ми (Xi,Yi), удовлетворяющими следующему уравнению:
│Xi - Xj│ + │Yi - Yj│ = 1.
Если характеристические числа удовлетворяют одновременно
двум условиям: Pi <> OO и Ai < Pj + Pi, то K := K + 1; X(K) :=
Xi; Y(K) := yi, Ai = Pj + Pi; продолжение операций шага 5
(если Pi = OO или Ai >= Pj + Pi). После просмотра и соот-
ветствующей обработки дискретов на шаге 5 выполнить сдвиг со-
держимого массивов X и Y на одну ячейку влево. Перейти к чет-
вертому шагу.
Шаг 6. Окончание процесса.
Пример работы представленной схемы волнового алгоритма
приведен на рис.1.8.
1.3.7. Канальные методы трассировки
Канальные методы трассировки определяют одно из самосто-
ятельных направлений решения задач топологического синтеза.
Эти методы имеют определенные преимущества перед другими, но
им присущи также и недостатки. Наибольшее распространение ка-
- 24 -
$$$
нальные методы получили при проектировании больших интеграль-
ных схем. Однако это не исключает их использование в практике
трассировки монтажных плат.
Основной единицей модели поля при канальной трассировке
является канал, представляющий множество свободных для трасси-
ровки вертикальных и горизонтальных каналов-магистралей,
расположенных между рядами запрещенных для трассировки зон.
Соединения между соседними каналами осуществляются через так
называемые проходные блоки или через внешнюю область монтажа.
Процесс канальной трассировки обычно разделяют на
несколько этапов [ 4, 5].
Создание канала.
На этом шаге элементы уже размещены, и интервалы между
ними достаточны для проведения любых проводников питания и за-
земления, которые должны находиться в этих интервалах, и со-
держат некоторое пространство для проводников других цепей.
Нам не нужно особенно заботиться о ширине интервалов, посколь-
ку, если нам не удастся найти разводку сетей в выделенном
пространстве, мы сделаем очередную попытку с лучшим пониманием
того, какой величины должен быть каждый интервал в действи-
тельности.
Мы должны разделить все пустое пространств вокруг элемен-
тов на каналы, которые определим как условные прямоугольники
пустого пространства. Основная цель здесь состоит в том, чтобы
выполнить разделение как можно проще; "простота" формально оп-
ределена тем условием, чтобы общая длина ребер, разделяющих
прямоугольники каналов, была минимальна. Как обычно, задачу
минимизации нельзя решить точно для больших задач, поэтому мы
должны прибегнуть к эвристическому методу. Вот простой пример
такого эвристического метода:
1. Продолжим все границы элементов до пересечения других гра-
ниц элементов или границ схемы (рис.1.9).
2. Рассмотрим каждый отрезок продолженных линий, начиная с са-
мого большого. Удаляем отрезки, если мы можем сделать это
без нарушения прямоугольности каналов. Иначе говоря, мы не
.
- 25 -
$$$
можем удалить отрезок границы, если это удаление создает
область, имеющую форму буквы L или T (рис.1.10).
3. Если необходимо, добавляем каналы вокруг границ схемы.
Глобальная трассировка
Следующей задачей является глобальная трассировка цепей,
иначе говоря, выбор для каждой цепи дерева каналов, которые
она должна занять. Здесь возможно использование алгоритмы на-
хождения кратчайшего пути. Наши пути будут проходить по точкам
середин границ каналов, начинаясь и заканчиваясь на выводах
одной и той же цепи.
Упорядочивание пересечений между каналами
На данном этапе происходит выбор точек, в которых провод-
ники пересекают стены между каналами, отдавая приоритет выбору
положения проводников внутри каналов.
Трассировка соединений в каналах
Выбрав позиции для всех точек пересечения стены, мы можем
проложить трассы проводников внутри каждого канала отдельно,
зная, что то, что мы делаем в одном канале, не повлияет на
другой. Более того, больше не нужно разделять точки на грани-
цах канала на точки выводов элементов и точки пересечений сте-
ны. Конечно, поскольку ширина каналов первоначально выбиралась
условно, нет гарантии, что можно выполнить требуемую трасси-
ровку данного канала даже самым умным и исчерпывающим алгорит-
мом. В этом нет ничего ужасного, поскольку, когда даже один
канал не может быть обработан, последует увеличение каналов и
почти весь процесс разводки начинается сначала.
Наиболее известным методом канальной трассировки является
метод Стволов и Ветвей [6]. Как показано на рис.1.11. имеет
место одно ограничение, состоящее в том, что каждой группе
соединительных проводников соответствует одна горизонтальная
- 26 -
$$$
трасса (Ствол), и поэтому определив, какую горизонтальную до-
рожку следует использовать в данном случае, задачу трассировки
вертикальных проводников (Ветвей) можно решить автоматически.
Известны случаи, когда канальная трассировка с использо-
ванием только метода стволов и ветвей оказывается невозможной.
Так, например, как показано на рис.1.12а, маршруты двух из
трех проводников могут быть легко проложены, а маршрут треть-
его - нет. Это соответствует появлению замкнутой петли на гра-
фе, характеризующем ограничения, связанные с ориентацией вет-
вей (рис.1.12б). Таким образом, если появляется замкнутая пет-
ля, то наложение проводников необходимо предотвратить, исполь-
зуя для части проводников две и более трассы (рис.1.12в). На
этом обстоятельстве основаны методы трассировки типа "Доглег",
позволяющие не только предупреждать появление замкнутых пе-
тель, но и производить трассировку каналов с уменьшенным коли-
чеством дорожек (рис.1.13).
Трассировка в областях пересечения (рис.1.14) произво-
дится на самом последнем этапе проектирования топологии, и,
если она оказывается невозможной, топологию приходится проек-
тировать заново, что связано со значительными затратами. Вре-
мя, затрачиваемое на решение данной задачи, довольно велико, и
для ее решения необходимо использовать алгоритмы, обеспечиваю-
щие 100%-ную трассируемость. В частности, в этом случае нахо-
дят применение алгоритмы с распределением по сетке или специ-
альные алгоритмы, в которых учитывается специфика задачи.
1.3.8. Лучевые алгоритмы трассировки
Недостатки волнового алгоритма, проявляющиеся в его низ-
ком быстродействии и значительном объеме компьютерной памяти,
требуемом для представления модели поля печатной платы, дали
стимул для разработки ряда новых алгоритмов трассировки, в
частности лучевых.
Рассмотрим работу лучевого алгоритма на конкретном приме-
ре (рис.1.15), где требуется определить форму электрического
соединения между точками A и B.
Из точек (дискретов) трассируемой пары генерируются лучи
Л11, Л12 и Т11, Т12 (Л- и Т-типа) до встречи запретов или луча
- 27 -
$$$
того же типа (для контакта А генерируются лучи Л-типа, для В -
Т-типа). Если обнаружен факт пересечения лучей Л- и Т-типа, то
считается, что соединяющий путь найден. В противном случае
процесс генерации лучей обоих типов продолжается. Для этого
через ранее построенные лучи строятся перпендикулярные по пра-
вилам, описанным выше. Множества лучей Л- и Т-типа расширя-
ется: {Л11, Л12, Л21, Л22, Л23, Л24} и {Т11, Т12, Т21, Т22} и
т.д. Построение луча Т22 приводит к пересечению лучей Л- и
Т-типа.
Представленный алгоритм имеет высокое быстродействие,
приблизительно на два порядка выше, чем у волнового, при
трассировке электрических связей, "потенциально" имеющих ма-
лое число поворотов (1 или 2). При поиске более сложных соеди-
нений по быстродействию этот алгоритм приближается к волново-
му.
В целях повышения быстродействия лучевого алгоритма и в
случае многоповоротных соединений допустим метод сокращенного
"просмотра" вариантов. Генерация лучей от некоторого Лi выпол-
няется не из каждой точки Лj, а с некоторым шагом dЛ, значение
которого в программе трассировки устанавливает пользователь.
Учитывая особенности временных характеристик волнового и
лучевого алгоритмов трассировки, некоторые авторы организуют
двухэтапный процесс трассировки. На первом этапе список
трассируемых цепей обрабатывается средствами лучевого алгорит-
ма, а на втором - оставшиеся неразведенными цепи трассируются
средствами волнового алгоритма, что повышает процент разведен-
ных связей.
Наибольшее распространение лучевые методы получили при
трассировке дискретных печатных плат с регулярным расположени-
ем магистралей.
1.3.9. Прочие методы трассировки
Из методов трассировки, появившихся сравнительно недавно,
можно отметить отечественный метод периферийной трассировки
[1] и проектирование методом рекапитуляции. Основу первого
составляет принцип, согласно которому проводники каждой
трассируемой цепи должны создавать "минимум помех" для трасси-
- 28 -
$$$
ровки последующих цепей. Этому принципу удовлетворяет располо-
жение синтезируемых проводников по периферии модели поля
трассировки.
Проектирование печатного монтажа методом рекапитуляции
рассматривает трассировку проводников как итерационный про-
цесс, развитие которого сопровождается изменениями в состоянии
модели поля.
1.4. Способы соединения контактов
В общем случае рисунок межсоединений определяется деревом
Штейнера, имеющим несколько точек ветвления (рис.1.16а). В
быстродействующих ИС с целью уменьшения задержки на распрост-
ранение сигналов по проводникам и снижения уровня отражений
желательно применять или непосредственное соединение выхода
предшествующего логического вентиля с входами следующих
(рис.1.16б), или же располагать входы последующих каскадов на
одной шине (рис.1.16в).
.
- 41 -
2. ИССЛЕДОВАНИЕ АЛГОРИТМОВ, ИСПОЛЬЗУЕМЫХ В СИСТЕМЕ P-CAD
2.1. Постановка задачи
Целью данной дипломной работы является исследование раз-
личных алгоритмов и методов, используемых пакетом P-CAD для
решения задач размещения радиоэлектронных элементов и трасси-
ровки печатных плат. Эти задачи составляют основу подсистемы
учебно-исследовательской САПР, связанной с вопросами компонов-
ки и топологии, как наиболее трудоемкого и нуждающегося в ав-
томатизации этапа проектирования радиоэлектронной аппаратуры.
Для того, чтобы узнать возможности алгоритмов, реализо-
ванных в программах P-CAD, произведем разработку нескольких
разнотипных блоков РЭА. Поскольку методика конструирования в
значительной мере зависит от элементной базы, используемой в
проекте (интегральные схемы в стандартных корпусах, дискретные
элементы или равновесное содержание тех и других), для иссле-
дований выбираем две схемы. Элементная база первой (рис.2.1)
содержит примерно равное количество дисретных элементов и мик-
росхем. Такое соотношение весьма характерно для современной
радио-электронной аппаратуры III поколения средней степени ин-
теграции, где все сильнее делается акцент на использование
микросхем. Вторая схема (рис.2.2), напротив, содержит в основ-
ном цифровые интегральные схемы. Процесс разработки такой пе-
чатной платы может служить примером методики конструирования
изделий с регулярной структурой.
2.2. Пример I. Блок видеомагнитофона
2.2.1. Расчет конструктивного объема
Чтобы определить размеры монтажной платы проектируемого
изделия, произведем расчет конструктивного объема. Расчет вы-
полняется с помощью программы RTV. Результаты работы программы
приведены в табл.2.1.
.
- 44 -
Таблица 2.1.
Список используемых элементов
┌────────────────────────┬────────────┬──────────────┐
│ Наименование элементов │ Количество │ Размеры, мм │
├────────────────────────┼────────────┼──────────────┤
│ MЛТ_0125 │ 19 │ 6x2.2x2.2 │
│ KM-5 │ 4 │ 8x 8x 3 │
│ K50-6 │ 1 │ 18x 10x 10 │
│ KT315 │ 1 │ 7.2x 3x 8 │
│ K155ЛА3 │ 1 │19.5x7.5x 5 │
│ K155ЛН1 │ 1 │19.5x7.5x 5 │
│ K155ЛП5 │ 1 │19.5x7.5x 5 │
│ К155ТМ2 │ 1 │19.5x7.5x 5 │
│ К155АГ3 │ 1 │21.5x7.5x 5 │
│ КР556РТ4 │ 1 │21.5x7.5x 5 │
│ PK-172-TB-1 │ 2 │ 13x3.5x 10 │
│ КПК-1 │ 2 │ 16x 11x 9 │
│ Разъемы │ 13 │ 5x 2x 2 │
└────────────────────────┴────────────┴──────────────┘
Суммарная площадь элементов 1806 мм^2
Коэффициент заполнения 0.4
Площадь платы 45150 мм^2
Размеры сторон 60 x 75 мм
2.2.2. Упаковка конструктивов на плату
Данный этап работы выполняет программа PC-PACK. Исходными
данными для нее являются список цепей электрической схемы
(NLT-файл), библиотека компонентов (LIB-файл) и файл, содержа-
щий контур печатной платы (PCB-файл). По окончанию работы
программы создается PKG-файл, содержащий описание платы и ком-
понентов, подготовленных для размещения. Собственно размещение
выполняется программой PC-PLACE, специально предназначенной
для этой операции, но может проводится и в редакторе PC-CARDS.
По окончании работы программы PC-PACK в данном примере
был создан PKG-файл (рис. 2.3). Видно, что программа считает
оптимальным размещение деталей на плате размером 205 х 225 мм,
- 46 -
что не согласуется с поставленными нами условиями и примерно в
три раза больше размеров, рекомендованных программой RTV. Поэ-
тому дальнейшие этапы разработки изделия мы будем проводить на
плате размером 60 х 75 мм, полученным при расчете конструктив-
ного объема.
2.2.3. Размещение компонентов
Размещение компонентов на плате в пакете P-CAD произво-
дится программой PC-PLACE, которая обеспечивает как интерак-
тивный, так и автоматический режимы работы. Как правило, авто-
матическое размещение является только первым этапом компонов-
ки. Очень редко расклад элементов, выполненный машиной явля-
ется удовлетворительным как со стороны соблюдения конструк-
торско-технологических требований, так и со стороны обеспече-
ния возможности 100% последующей трассировки.
2.2.3.1. Автоматическое размещение
Исходные данные
───────────────
Печатная плата 60 х 75 мм
Сетка привязки конструктивов 100 х 100 DBU
Сетка привязки трасс 50 х 50 DBU
Очередность размещения конструктивов DIP16
DIP14
MLT_0125
C-PF
CVAR
KT315
K50-6
ZQ
Так как элементы PIN (внешние разъемы) имеют жестко за-
данное положение на плате, они предварительно размещены и
зафиксированы и в автоматическом размещении не участвуют.
(Примечание: 200 DBU = 5 мм)
.
- 47 -
Статистика автоматического размещения
─────────────────────────────────────
По окончанию работы программы автоматического размещения
создается PLR-файл, содержащий отчет о выполненных действиях и
результате.
Время работы 00:00:17
Общая длинна связей (mils) 134511
Общее число компонентов 54
Число интегральных схем 5
Число интегральных схем (эквивалентных элементов) 10.38
Число дискретных компонентов 49
Число соединителей 0
Плотность элементов на плате 0.69
(в квадратных дюймах на эквивалентную схему)
Неразмещенных компонентов 10
(MLT_0125 7)
(C-PF 3)
Гистограмма автоматического размещения
──────────────────────────────────────
Программа построения гистограммы анализирует число соеди-
нений и незадействованных контактов, пересекающих каждую линию
ресурсов, получает отношение этого числа к суммарному числу
возможных каналов трассировки и выводит результат в виде гра-
фика (рис. 2.4). Цвет гистограммы выражает степень использова-
ния канала:
зеленый - 0-35%;
желтый - 35-50%:
красный - более чем на 50%.
Фактор выигрыша показывает относительное улучшение состо-
яния гистограммы за счет каждого изменения размещения. В нача-
ле работы фактор выигрыша обнуляется.
.
- 49 -
Созданный программой отчет о гистограмме предсказываемой
плотности трасс по автоматическому размещению:
Вертикальная сетка гистограммы (ось X)
Выделено 128 каналов трассировки. Использование
Максимальное 40 ( 31 %)
Среднее 0 ( 0 %)
Минимальное 0 ( 0 %)
Итого 5 ( 3 %)
Вертикальная сетка гистограммы (ось Y)
Выделено 218 каналов трассировки. Использование
Максимальное 40 ( 18 %)
Среднее 0 ( 0 %)
Минимальное 0 ( 0 %)
Итого 11 ( 5 %)
Фактор выигрыша 0
2.2.3.2. Ручное размещение
Компоновка элементов, не размещенных программой
───────────────────────────────────────────────
Размещение в интерактивном режиме позволяет разместить
элементы, которые не смогла обработать программа автомати-
ческой компоновки, а также улучшить условия для последующей
трассировки, минимизируя плотность трасс в выделенных каналах.
О качестве осуществляемых перестановок можно судить по гистог-
рамме и фактору выигрыша.
.
- 50 -
Вертикальная сетка гистограммы (ось X)
Выделено 128 каналов трассировки. Использование
Максимальное 39 ( 30 %)
Среднее 0 ( 0 %)
Минимальное 0 ( 0 %)
Итого 5 ( 3 %)
Вертикальная сетка гистограммы (ось Y)
Выделено 218 каналов трассировки. Использование
Максимальное 39 ( 17 %)
Среднее 0 ( 0 %)
Минимальное 0 ( 0 %)
Итого 10 ( 4 %)
Фактор выигрыша 3
Перестановка логических элементов
─────────────────────────────────
Программа PC-PLACE имеет возможность осуществить автома-
тическую перестановку компонентов логических элементов, улуч-
шающую размещение. На данном этапе осуществим перестановку ло-
гических элементов для уменьшения суммарной длины связей.
Логические элементы компонентов поддаются перестановке,
если они эквивалентны и не используют различное питание.
Система автоматически выполняет итерационные парные переста-
новки логических элементов с целью улучшения текущего варианта
размещения. Процесс заканчивается по достижению локального оп-
тимума или по команде пользователя.
Проход 1. Общая длина связей 216519 mils
Обмен R14 на R18
Обмен DD2.1 на DD2.6
Обмен R5 на R6
Обмен R14 на R17
- 51 -
Обмен R4 на R7
Обмен R20 на R5
Обмен DD4.1 на DD4.4
Обмен R20 на R11
Обмен R3 на R16
Обмен DD4.2 на DD4.3
Обмен DD1.2 на DD1.3
Проход 2. Общая длина связей 211305 mils
Обмен DD2.6 на DD2.5
Обмен R6 на R18
Проход 3. Общая длина связей 208137 mils
Обмен DD2.5 на DD2.4
Обмен R7 на R18
Проход 5. Общая длина связей 206106 mils
Обмен не произведен
Общая длина связей 206106 mils
Время работы 00:00:08
Отчет по гистограмме после перестановке логических элементов:
Вертикальная сетка гистограммы (ось X)
Выделено 128 каналов трассировки. Использование
Максимальное 38 ( 29 %)
Среднее 0 ( 0 %)
Минимальное 0 ( 0 %)
Итого 4 ( 3 %)
Вертикальная сетка гистограммы (ось Y)
Выделено 218 каналов трассировки. Использование
.
- 52 -
Максимальное 36 ( 16 %)
Среднее 0 ( 0 %)
Минимальное 0 ( 0 %)
Итого 9 ( 4 %)
Фактор выигрыша 5
Очевидно, что данная операция способствовала улучшению
первоначального размещения - уменьшилась общая длина связей и
плотность трасс в каналах.
Перестановка компонентов
────────────────────────
Для дальнейшей оптимизации размещения программа PC-PLACE
предоставляет возможность осуществить автоматическую переста-
новку однотипных компонентов для уменьшения суммарной длины
связей.
Процесс заканчивается по достижению локального оптимума
или по команде пользователя.
Проход 1. Общая длина связей 109141 mils
Обмен R12 на R15
Обмен R5 на R9
Обмен R15 на R6
Обмен R13 на R10
Обмен R7 на R3
Обмен R11 на R4
Обмен R9 на R8
Обмен R2 на R8
Обмен C1 на C6
Обмен C4 на C3
Обмен R14 на R16
Обмен R18 на R17
Обмен DD4 на DD5
Обмен R4 на R8
Обмен C5 на C8
- 53 -
Проход 2. Общая длина связей 97583 mils
Обмен R15 на R2
Обмен R5 на R20
Обмен R20 на R13
Обмен R18 на R17
Обмен R2 на R7
Обмен C1 на C8
Обмен DD2 на DD4
Проход 3. Общая длина связей 94207 mils
Обмен R15 на R3
Обмен R3 на R7
Обмен R2 на R14
Обмен R18 на R16
Обмен R16 на R17
Обмен R11 на R9
Проход 4. Общая длина связей 93093 mils
Обмен не произведен
Общая длина связей 93093 mils
Время работы 00:00:08
Отчет по гистограмме после перестановке компонентов:
Вертикальная сетка гистограммы (ось X)
Выделено 128 каналов трассировки. Использование
Максимальное 34 ( 26 %)
Среднее 0 ( 0 %)
Минимальное 0 ( 0 %)
Итого 4 ( 3 %)
Вертикальная сетка гистограммы (ось Y)
Выделено 218 каналов трассировки. Использование
.
- 54 -
Максимальное 28 ( 12 %)
Среднее 0 ( 0 %)
Минимальное 0 ( 0 %)
Итого 8 ( 3 %)
Фактор выигрыша 10
Данная операция оказала наибольшее влияние на общую длину
связей и плотность трасс. Можно предположить, что имеется воз-
можность производить дальнейшую оптимизацию данного размеще-
ния. Способна ли программа PC-PLACE достичь лучших результа-
тов, работая в автоматическом режиме? Чтобы проверить это, об-
ратимся к повторной оптимизации размещения логических элемен-
тов.
Повторная перестановка логических элементов
───────────────────────────────────────────
Проход 1. Общая длина связей 198750 mils
Обмен DD1.4 на DD1.3
Обмен DD2.3 на DD2.1
Обмен DD1-D на DD1.2
Обмен R20 на R10
Обмен R11 на R20
Обмен R7 на R3
Обмен R15 на R5
Обмен DD4.4 на DD4.1
Обмен DD4.3 на DD4.2
Обмен DD5.2 на DD5.1
Проход 2. Общая длина связей 196477 mils
Обмен R10 на R4
Обмен DD2.1 на DD2.4
.
- 55 -
Проход 3. Общая длина связей 196295 mils
Обмен не произведен
Общая длина связей 196295 mils
Время работы 00:00:15
Отчет по гистограмме после перестановке компонентов:
Вертикальная сетка гистограммы (ось X)
Выделено 128 каналов трассировки. Использование
Максимальное 35 ( 27 %)
Среднее 0 ( 0 %)
Минимальное 0 ( 0 %)
Итого 4 ( 3 %)
Вертикальная сетка гистограммы (ось Y)
Выделено 218 каналов трассировки. Использование
Максимальное 29 ( 13 %)
Среднее 0 ( 0 %)
Минимальное 0 ( 0 %)
Итого 8 ( 3 %)
Фактор выигрыша 9
В результате произведенного обмена длина связей безуслов-
но уменьшилась, но гистограмма показывает увеличение плотности
трасс в каналах. Здесь возникает проблема - каким результатом
воспользоваться для дальнейшей работы. Критерием выбора может
служить фактор, который необходимо обеспечить прежде всего -
уменьшение суммарной длины связей может улучшить частотные ха-
рактеристики изделия, особенно при проектировании высоко-
частотной и сверхвысокочастотной аппаратуры, но увеличение
плотности трасс может затруднить дальнейшую трассировку печат-
ной платы, что особенно нежелательно при малых размерах
последней. Так как степень заполненности платы в данной разра-
ботке высока, а к конфигурации трасс специальных требований не
- 56 -
предъявляется, целесообразно выбрать вариант с минимальной
плотностью трасс. Поэтому результаты последней перестановки не
используем.
Ручная оптимизация размещения
─────────────────────────────
Дальнейшего улучшения размещения компонентов можно
достичь поворотом некоторых компонентов на 180` и оптимизацией
назначения контактов внешних выводов. Данная операция позволя-
ет увеличить значение фактора выигрыша до 15.
Вертикальная сетка гистограммы (ось X)
Выделено 128 каналов трассировки. Использование
Максимальное 30 ( 23 %)
Среднее 0 ( 0 %)
Минимальное 0 ( 0 %)
Итого 4 ( 3 %)
Вертикальная сетка гистограммы (ось Y)
Выделено 218 каналов трассировки. Использование
Максимальное 28 ( 12 %)
Среднее 0 ( 0 %)
Минимальное 0 ( 0 %)
Итого 8 ( 3 %)
Фактор выигрыша 15
Дальнейшие попытки улучшить размещение не дают сколь-
ко-нибудь заметного выигрыша, поэтому данное размещение
(рис.2.5) можно считать окончательным и использовать для даль-
нейшей работы.
.
- 58 -
2.2.4. Исследование методов соединения проводников
Программа PC-ROUTE, осуществляющая автоматическую трасси-
ровку платы, подготовленной в редакторе PC-PLACE, помимо обыч-
ной настройки программ такого типа позволяет выбрать один из
четырех методов присоединения проводников:
1. DAISY - соединение пар контактов;
2. MIN-SPAN - соединение пар контактов без Т;
3. STEINER - построение Т-образных соединений пар контак-
тов по методу Штейнера;
4. STEINER-MINVIA - построение Т-образных соединений пар
контактов с минимизацией числа переходных отверстий.
Выбор того или иного метода для трассировки зависит от
технологических особенностей изготовления печатной платы и/или
необходимости обеспечить временные и электрические характе-
ристики проектируемого изделия. Так, DAISY, при котором произ-
водится непосредственное соединение выхода предшествующего ло-
гического вентиля с входами следующих, целесообразно использо-
вать при конструировании быстродействующих ИС с целью уменьше-
ния задержки на распространение сигналов по проводникам и сни-
жения уровня отражений. Если же применение данного метода зна-
чительно снижает процент автоматической разводки платы, но
требования к временным параметрам остаются высокими, можно ре-
комендовать использование соединения MIN-SPAN, при котором
входы последующих каскадов располагаются на одной шине.
Способ STEINET с построением Т-образных соединений счита-
ется наиболее эффективным и его обычно рекомендуется использо-
вать, если позволяет конструкция. На рис.1.16 показаны все три
метода.
Проведем исследование методов, предлагаемых P-CADом. В
качестве критериев оценки можно выбрать
- процент разведенных связей,
- длину проложенных проводников,
- количество переходных отверстий,
- время работы.
В исследуемой схеме 46 цепей, 109 связей и 166 контактов.
.
- 59 -
Работа проводилась на компьютере IBM-PC 386DX 40MHz. Результа-
ты четырех трассировок приведены на рис.2.6., в табл.2.2. и
табл.2.3.
Таблица 2.2.
Сравнение эффективности методов построения соединений
┌────────────────────┬───────┬────────┬───────┬──────────────┐
│ Метод │ DAISY │MIN-SPAN│STEINER│STEINER-MINVIA│
├────────────────────┼───────┼────────┼───────┼──────────────┤
│Процент разводки │ 100│ 100│ 100│ 100 │
│Длина проводников │ 107746│ 107025│ 100975│ 101575 │
│Переходных отверстий│ 23│ 16│ 22│ 25 │
│Время работы (мм.сс)│ 01.25│ 01.28│ 01.38│ 01.45 │
└────────────────────┴───────┴────────┴───────┴──────────────┘
Таблица 2.3.
Распределение времени при трассировке
┌──────────────────────┬─────┬────────┬───────┬──────────────┐
│ Процесс │DAISY│MIN-SPAN│STEINER│STEINER-MINVIA│
├──────────────────────┼─────┼────────┼───────┼──────────────┤
│Упорядочение │ 1 │ 1 │ 1 │ 1 │
│Трассировка │ 25 │ 19 │ 21 │ 31 │
│Оптимизация. Проход 1.│ 23 │ 19 │ 22 │ 25 │
│Минимизация переходов│ 5 │ 4 │ 5 │ 5 │
│Оптимизация. Проход 2.│ 32 │ 28 │ 27 │ 32 │
│Спрямление углов │ 2 │ 2 │ 2 │ 2 │
└──────────────────────┴─────┴────────┴───────┴──────────────┘
Безусловно, полученные результаты в некоторой степени за-
висят от конкретной схемы и качества компоновки печатной пла-
ты. Но, используя данные этого эксперимента, все же можно сде-
лать некоторые общие выводы:
- построение трасс по методу Штейнера является наиболее
продолжительным. Это можно объяснить затратами времени на
расчет точек присоединения "ветвей" к "дереву" трассы;
- в литературе данный метод рекомендуется как наиболее
выгодный для повышения числа разведенных связей и уменьшения
их суммарной длины. В данном примере любой алгоритм обеспечи-
вает 100% разведение цепей, но метод Штейнера, действительно,
- 65 -
обеспечивает минимальную суммарную длину проводников. DAISY,
как и предполагается, выдает максимальное число проводников,
что объясняется самим принципом соединения контактов (только
две связи на один контакт);
- количество переходных отверстий минимально при исполь-
зовании MIN-SPAN. В данном примере это особенно важно, так как
данная плата технологически проще в изготовлении.
Сравнивая результаты трассировок, статистические данные
(рис.2.7 - 2.9) и геометрические контуры трасс, для изготовле-
ния платы данного устройства следует выбрать второй вариант
(MIN-SPAN), как наиболее технологичный (рис.2.10 - 2.11).
2.3. Пример II.
2.3.1. Размеры печатной платы
В данном примере разработка изделия производилась по за-
казу и размеры печатной платы были определены заказчиком исхо-
дя из габаритных размеров проектируемой конструкции. Расчет
габаритного объема производился основным разработчиком изде-
лия. Таким образом наша задача упрощается. Мы должны произ-
вести разработку печатной платы размером 60х90 мм. Электри-
ческая принципиальная схема блока приведена на рис.2.2.
2.3.2. Упаковка конструктивов на плату
По окончании работы программы PC-PACK в данном примере
был создан PKG-файл (рис. 2.12). Видно, что программа размеща-
ет детали на площадке размером 100х110 мм, что, как и в первом
примере, не согласуется с поставленными нами условиями. Можно
сделать вывод, что при начальном расположении элементов прог-
рамма выбирает минимальный коэффициент заполнения. Данный вы-
бор никак не может служить рекомендацией для определения раз-
меров печатной платы, так как такой расклад элементов является
крайне неэкономичным. Для проведения дальнейших этапов разра-
ботки используем заданные заказчиком размеры печатной платы
60х90 мм.
- 68 -
2.3.3. Размещение компонентов
2.3.3.1. Автоматическое размещение
Исходные данные
───────────────
Печатная плата 60 х 90 мм
Сетка привязки конструктивов 100 х 100 DBU
Сетка привязки трасс 50 х 50 DBU
Так как элементы PIN (внешние разъемы) имеют жестко за-
данное положение на плате, они предварительно размещены и
зафиксированы и в автоматическом размещении не участвуют.
Статистика автоматического размещения
─────────────────────────────────────
По окончанию работы программы автоматического размещения
создается PLR-файл, содержащий отчет о выполненных действиях и
результате.
Время работы 00:00:16
Общая длинна связей (mils) 188746
Общее число компонентов 53
Число интегральных схем 18
Число интегральных схем (эквивалентных элементов) 19.88
Число дискретных компонентов 35
Число соединителей 0
Плотность элементов на плате 0.43
(в квадратных дюймах на эквивалентную схему)
Неразмещенных компонентов 4
(K155ИЕ5 4)
.
- 70 -
Гистограмма автоматического размещения
──────────────────────────────────────
Созданный программой отчет о гистограмме предсказываемой
плотности трасс по автоматическому размещению:
Вертикальная сетка гистограммы (ось X)
Выделено 88 каналов трассировки. Использование
Максимальное 81 ( 92 %)
Среднее 0 ( 0 %)
Минимальное 50 ( 56 %)
Итого 45 ( 51 %)
Вертикальная сетка гистограммы (ось Y)
Выделено 80 каналов трассировки. Использование
Максимальное 57 ( 71 %)
Среднее 0 ( 0 %)
Минимальное 46 ( 57 %)
Итого 36 ( 45 %)
Фактор выигрыша 0
2.3.3.2. Ручное размещение
Компоновка элементов, не размещенных программой
───────────────────────────────────────────────
Размещение в интерактивном режиме позволяет разместить
элементы, которые не смогла обработать программа автомати-
ческой компоновки, и улучшить условия для последующей трасси-
ровки, используя операции перестановки компонентов и логи-
ческих элементов, минимизируя плотность трасс в выделенных ка-
налах. О качестве осуществляемых перестановок можно судить по
гистограмме и фактору выигрыша.
.
- 71 -
Перестановка логических элементов
─────────────────────────────────
Длина связей = 167990 mils
Проход 1 . Длина связей = 167990 mils
Проход 2 . Длина связей = 151410 mils
Проход 3 . Длина связей = 146788 mils
Проход 4 . Длина связей = 140787 mils
Проход 5 . Длина связей = 139182 mils
Проход 6 . Длина связей = 139015 mils
Длина связей = 138931 mils
Время работы: 00:00:16
Перестановка компонентов
────────────────────────
Длина связей = 146160 mils
Проход 1 . Длина связей = 146160 mils
Проход 2 . Длина связей = 138860 mils
Проход 3 . Длина связей = 134839 mils
Проход 4 . Длина связей = 129759 mils
Проход 5 . Длина связей = 127235 mils
Проход 6 . Длина связей = 123560 mils
Проход 7 . Длина связей = 123252 mils
Длина связей = 123252 mils
Время работы: 00:00:18
Мы получили сокращение общей длины связей, но учитывая
высокую плотность компоновки печатной платы, необходимо макси-
мально облегчить последующую трассировку. Повторим перестанов-
ки, используя в качестве исходных достигнутые результаты.
Перестановка компонентов
────────────────────────
Длина связей = 123166 mils
Проход 1 . Длина связей = 123166 mils
Проход 2 . Длина связей = 119388 mils
Проход 3 . Длина связей = 118848 mils
- 72 -
Проход 4 . Длина связей = 118476 mils
Проход 5 . Длина связей = 118026 mils
Проход 6 . Длина связей = 117792 mils
Проход 7 . Длина связей = 117590 mils
Длина связей = 117538 mils
Время работы: 00:00:26
Перестановка логических элементов
─────────────────────────────────
Длина связей = 157613 mils
Проход 1 . Длина связей = 157613 mils
Проход 2 . Длина связей = 143600 mils
Проход 3 . Длина связей = 142331 mils
Проход 4 . Длина связей = 141548 mils
Длина связей = 141548 mils
Время работы: 00:00:14
Перестановка компонентов
────────────────────────
Длина связей = 130695 mils
Проход 1 . Длина связей = 130695 mils
Проход 2 . Длина связей = 126391 mils
Проход 3 . Длина связей = 119905 mils
Проход 4 . Длина связей = 118569 mils
Проход 5 . Длина связей = 118225 mils
Проход 6 . Длина связей = 117975 mils
Длина связей = 117975 mils
Время работы: 00:00:23
Перестановка логических элементов
─────────────────────────────────
Длина связей = 157089 mils
Проход 1 . Длина связей = 157089 mils
Проход 2 . Длина связей = 142944 mils
Проход 3 . Длина связей = 142651 mils
Проход 4 . Длина связей = 141868 mils
- 73 -
Длина связей = 141868 mils
Время работы: 00:00:14
Ручная оптимизация размещения
─────────────────────────────
Дальнейшего улучшения размещения компонентов можно
достичь поворотом некоторых компонентов на 180` и оптимизацией
назначения контактов внешних выводов. Данная операция позволя-
ет увеличить значение фактора выигрыша до 9.
Вертикальная сетка гистограммы (ось X)
Выделено 72 каналов трассировки. Использование
Максимальное 63 ( 87 %)
Среднее 18 ( 25 %)
Минимальное 48 ( 66 %)
Итого 42 ( 58 %)
Вертикальная сетка гистограммы (ось Y)
Выделено 44 каналов трассировки. Использование
Максимальное 38 ( 86 %)
Среднее 0 ( 0 %)
Минимальное 30 ( 68 %)
Итого 25 ( 56 %)
Фактор выигрыша 9
Дальнейшие попытки улучшить размещение не дают сколь-
ко-нибудь заметного выигрыша, поэтому данное размещение
(рис.2.13) можно считать окончательным и использовать для
дальнейшей работы.
2.3.4. Трассировка соединений
Произведем трассировку различными методами, предлагаемыми
программой PC-ROUTE. Основными критериями оценки качества
трассировки будем считать:
- 75 -
- процент разведенных связей,
- количество переходных отверстий,
- общую длину проводников.
В исследуемой схеме 62 цепи, 170 связей и 318 контактов.
Статистические данные результатов трассировок приведены в
табл.2.3, табл.2.4. и на рис.2.14, рис.2.15.
Таблица 2.3.
Сравнение эффективности методов построения соединений
┌────────────────────┬───────┬────────┬───────┬──────────────┐
│ Метод │ DAISY │MIN-SPAN│STEINER│STEINER-MINVIA│
├────────────────────┼───────┼────────┼───────┼──────────────┤
│Процент разводки │ 99.4│ 100│ 100│ 100 │
│Длина проводников │ 150975│ 150222│ 139999│ 145439 │
│Переходных отверстий│ 78│ 77│ 64│ 59 │
│Время работы (мм.сс)│ 03.48│ 02.41│ 03.15│ 03.18 │
└────────────────────┴───────┴────────┴───────┴──────────────┘
Таблица 2.4.
Распределение времени при трассировке
┌──────────────────────┬─────┬────────┬───────┬──────────────┐
│ Процесс │DAISY│MIN-SPAN│STEINER│STEINER-MINVIA│
├──────────────────────┼─────┼────────┼───────┼──────────────┤
│Упорядочение │ 1 │ 1 │ 2 │ 2 │
│Трассировка │ 120 │ 66 │ 150 │ 88 │
│Оптимизация. Проход 1.│ 65 │ 57 │ 70 │ 73 │
│Минимизация переходов│ 10 │ 10 │ 9 │ 9 │
│Оптимизация. Проход 2.│ 9 │ 10 │ 9 │ 9 │
│Спрямление углов │ 3 │ 3 │ 3 │ 3 │
└──────────────────────┴─────┴────────┴───────┴──────────────┘
Метод DEISY не обеспечил 100% трассировки соединений, по-
этому из дальнейшего рассмотрения его исключаем.
Проведенная по методу MIN-SPAN трассировка строит трассы,
располагая входы последующих каскадов на одной шине. Это весь-
ма часто используемый в цифровой технике метод трассировки, но
в данном случае он обеспечивает наихудшие результаты - макси-
мальную длину трасс и максимальное число переходных отверстий.
- 79 -
Методы использующие построение дерева Штейнера - STEINER
и STEINER-MINSPAN дают лучшие результаты. Здесь практика пол-
ностью совпадает с теорией, согласно которой введение дополни-
тельных точек соединения облегчает построение трасс (см. п.
1.3.3). STEINER-MINSPAN обеспечивает минимизацию числа пере-
ходных отверстий, но при его использовании суммарная длина
соединений увеличивается. Мы должны определиться - какой из
двух факторов предпочесть. Меньшая длина трасс третьего вари-
анта трассировки может улучшить частотные характеристики изде-
лия и его помехозащищенность, но печатная плата с большим ко-
личеством переходных отверстий сложнее в изготовлении. В дан-
ном проекте следует предпочесть трассировку методом
STEINER-MINVIA, так как мы производим разработку проекта на
плате весьма малого размера, и большое число переходных от-
верстий может сильно затруднить ее изготовление.
Исследуем зависимость эффективности трассировки от поряд-
ка предварительной сортировки цепей (см.п. 1.3.5). Результаты
сравнения приведены в табл.2.5. и рис.2.16.
Таблица 2.5.
Сравнение трассировок при разной сортировке
┌────────────────────┬──────────────────┬────────────────────┐
│ Сортировка цепей │ Короткие-Длинные │ Длинные-Короткие │
├────────────────────┼──────────────────┼────────────────────┤
│Процент разводки │ 100 │ 100 │
│Длина проводников │ 145439 │ 139772 │
│Переходных отверстий│ 59 │ 40 │
│Время работы (мм.сс)│ 03:18 │ 02:30 │
└────────────────────┴──────────────────┴────────────────────┘
Видно, что предварительная сортировка цепей в порядке
убывания длины позволяет получить заметный выигрыш в качестве
разводки. Количество переходных отверстий уменьшилось на де-
вятнадцать, стали короче трассы, сократилось время работы
программы. Данный вариант можно считать наилучшим и использо-
вать для изготовления платы.
.
- 80 -
Проведенные исследования показали, что при проектировании
печатных плат немаловажное значение имеет состав элементной
базы проекта. При разработке изделия в первом примере, содер-
жащего примерно равное количество дискретных элементов и кор-
пусных микросхем, размеры печатной платы выбирались исходя из
результатов расчета конструктивного объема (коэффициент запол-
нения 0.4). Размеры платы во втором примере (элементная база,
в основном, представлена микросхемами) были заданы заказчиком,
Плотность размещения компонентов в обоих примерах примерно
одинакова, но операции оптимизации размещения, предоставляемые
P-CADом, позволяют добиться лучшего результата во втором при-
мере. Так, если в примере I при попытке произвести повторные
перестановки компонентов и логических элементов плотность свя-
зей не уменьшается, т. е. после первого обращения к этим опе-
рациям достигается оптимальное состояние, то в примере II, со-
держащем относительно большее количество логических вентилей,
именно повторное использование перестановок в различных соче-
таниях позволяет достичь лучшего результата. Можно сделать вы-
вод, что P-CAD больше приспособлен для компоновки корпусных
схем. Применение одних автоматических операций здесь позволяет
достичь вполне удовлетворительных результатов. Но размещение
дискретных компонентов лучше всего производить в интерактивном
режиме, используя в качестве исходных данных автоматический
расклад элементов.
.
- 81 -
3. РАСЧЕТ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ САПР ПЕЧАТНЫХ ПЛАТ
НА ОСНОВЕ ПАКЕТА P-CAD
Понятие "автоматизированная система" охватывает все типы
систем, в которых функционирование системы осуществляется в
результате согласованного взаимодействия человека-специалиста
в заданной области - и соответствующего комплекса средств ав-
томатизации его труда на базе компьютера. Для всех систем дан-
ного класса характерно включение человека в состав системы при
научно обоснованном распределении функций между ним и комп-
лексом средств автоматизации (КСА). Такое распределение пред-
полагает выполнение человеком более свойственных ему функций
эвристического характера, основанных на опыте, интуиции, не-
формальном творческом отношении к выполняемому процессу, и
включение в КСА формализованных, алгоритмически представимых
функций, основанных на использовании известных методов и зна-
ний.
Оценка эффективности автоматизированных систем необходима
не столько для фиксации соотношения произведенных затрат и по-
лученных результатов, сколько для определения форм и методов
эффективного создания системы, а затем ее эффективного функци-
онирования. Знание механизма формирования эффективности авто-
матизированных систем необходимо не только экономистам,
рассчитывающим экономические показатели, характеризующие
систему, но и разработчикам автоматизированных систем, а также
специалистам, работающим в них и обслуживающих их, с тем чтобы
закладывать в систему и практически использовать методы и ре-
шения, повышающие ее эффективность.
Понятие эффективности автоматизированной системы шире по-
нятия ее экономической эффективности, поскольку в него входят
также понятия научно-технического уровня и качества системы,
некоторые составляющие социальной эффективности, которые не-
достаточно точно фиксируются в величине экономической эффек-
тивности.
Основными факторами, определяющими экономическую эффек-
тивность САПР, являются:
- улучшение качества проектирования, складывающееся из
улучшения качества инженерных решений и качества технической
- 82 -
документации (экономия за счет снижения и ликвидации брака в
технической документации, уменьшения затрат на доработку и
дублирование технической документации);
- уменьшение срока проектирования новой техники, что оп-
ределяется сокращением цикла "исследование - производство" и
сказывается на увеличении срока морального износа нового изде-
лия, эффекта приоритетной новизны изделия, обеспечивающего его
конкурентоспособность, экономии за счет сокращения потребности
в оборотных средствах в результате ускорения их оборачивае-
мости;
- снижение затрат на производство, происходящее от эконо-
мии капитальных затрат на выполнение исследований и проектиро-
вания за счет замены дорогостоящих натуральных испытаний, фи-
зического моделирования, специализированных стендов математи-
ческим и имитационным моделированием;
- экономический эффект от сокращения численности работни-
ков, занятых на стадии исследования и проектирования.
Область функционирования САПР P-CAD - проектирование уп-
равляющих программ для фотокоординатографа, станков с ЧПУ и
плоттера. Внедрение САПР позволит: сократить сроки разработки
и изготовления печатных плат; уменьшить конструкторские ошибки
при проектировании фотошаблонов; повысить производительность
труда проектировщиков фотошаблонов; уменьшить трудоемкость и
стоимость проектирования.
Исходные данные для расчета приведены в табл.1.1.
Таблица 1.1. Исходные данные
┌───────────────────┬─────────┬─────────┬────────────────────┐
│ Наименование │Условные │ Единица │ Значение показателя│
│ показателей │обозначе-│измерения├──────────┬─────────┤
│ │ ния │ │ без САПР │ с САПР │
├───────────────────┼─────────┼─────────┼──────────┼─────────┤
│1. Количество пе-│ Nп, Nап │ шт/год│ 280 │ 280 │
│чатных плат, проек-│ │ │ │ │
│тируемых за год │ │ │ │ │
│2. Трудоемкость │ tп, tап │ чел-ч/шт│ 165 │ 64 │
│проектирования од-│ dtп = │ │ 101 │ │
│ной печатной платы │ │ │ │ │
└───────────────────┴─────────┴─────────┴──────────┴─────────┘
.
- 83 -
Продолжение табл.1.1.
┌───────────────────┬─────────┬─────────┬────────────────────┐
│ Наименование │Условные │ Единица │ Значение показателя│
│ показателей │обозначе-│измерения├──────────┬─────────┤
│ │ ния │ │ без САПР │ с САПР │
├───────────────────┼─────────┼─────────┼──────────┼─────────┤
│3. Количество фото-│ Nф, Nаф │ шт/год│ 600 │ 600 │
│шаблонов, проекти-│ │ │ │ │
│руемых за год │ │ │ │ │
│4. Трудоемкость │ tф, tаф │ чел-ч/шт│ 66 │ 41 │
│проектирования од-│ dtф = │ │ 25 │ │
│ного фотошаблона │ │ │ │ │
│5. Количество кор-│ Nк, Nак │ шт/год│ 140 │ 140 │
│ректируемых плат за│ │ │ │ │
│год │ │ │ │ │
│6. Трудоемкость │ tк, tак │чел-ч/год│ 100 │ 40 │
│схемных корректиро-│ dtк = │ │ 60 │ │
│вок по одной плате │ │ │ │ │
│7. Удельная стои-│ Cтп │руб/чел-ч│ 500 │ 500 │
│мость трудозатрат│ │ │ │ │
│одного конструктора│ │ │ │ │
│плат │ │ │ │ │
│8. Удельная стои-│ Cтф │руб/чел-ч│ 550 │ 550 │
│мость трудозатрат│ │ │ │ │
│проектирования ФШ │ │ │ │ │
│9. Отчисления в │ K1 │ % │ 28 │ 28 │
│пенсионный фонд │ │ │ │ │
│10. Отчисления на │ К2 │ % │ 5.4 │ 5.4 │
│соц. страхование │ │ │ │ │
│11. Отчисления на │ K3 │ % │ 3.6 │ 3.6 │
│обязательное мед. │ │ │ │ │
│страхование │ │ │ │ │
│12. Отчисления в │ К4 │ % │ 2 │ 2 │
│фонд занятости │ │ │ │ │
│13. Предпроизводст-│ Kп │ тыс.руб.│ │ 1000 │
│венные затраты на│ │ │ │ │
│создание САПР, при-│ │ │ │ │
│веденные к расчет-│ │ │ │ │
│ному году │ │ │ │ │
└───────────────────┴─────────┴─────────┴──────────┴─────────┘
.
- 84 -
Продолжение табл.1.1.
┌───────────────────┬─────────┬─────────┬────────────────────┐
│ Наименование │Условные │ Единица │ Значение показателя│
│ показателей │обозначе-│измерения├──────────┬─────────┤
│ │ ния │ │ без САПР │ с САПР │
├───────────────────┼─────────┼─────────┼──────────┼─────────┤
│14. Капитальные │ Kк │ тыс.руб.│ │ 3000 │
│затраты на КТС, │ │ │ │ │
│используемый в │ │ │ │ │
│САПР, приведенные к│ │ │ │ │
│расчетному году │ │ │ │ │
│15. Стоимость 1 ч│ Cми │ руб/ч │ │ 200 │
│работы оборудования│ │ │ │ │
│КТС │ │ │ │ │
│16. Действительный │ Fд │ ч │ │ 2400 │
│годовой фонд време-│ │ │ │ │
│ни работы оборудо-│ │ │ │ │
│вания КТС │ │ │ │ │
│17. Коэффициент │ Tсапр │ % │ │ 90 │
│загрузки оборудова-│ │ │ │ │
│ния решением задач│ │ │ │ │
│САПР │ │ │ │ │
│18. Период функцио-│ T │ лет │ │ 5 │
│нирования САПР с│ │ │ │ │
│одинаковым годовым│ │ │ │ │
│результатом до об-│ │ │ │ │
│новления системы │ │ │ │ │
└───────────────────┴─────────┴─────────┴──────────┴─────────┘
1. Расчет затрат на создание и функционирование САПР на
основе пакета P-CAD.
1.1. Расчет единовременных затрат на создание и ввод в
действие САПР:
K = Kп + Tсапр * Kк
K = 1000 + 0.9 * 3000 = 3700 тыс.руб.
(исходные данные затрат приведены к расчетному году).
.
- 85 -
1.2. Расчет текущих затрат на функционирование САПР:
а) годовые текущие затраты на функционирование САПР:
Иг = Tсапр * Сми * Fд / 1000
Иг = 0.9 * 200 * 2.4 = 432 тыс.руб/г
б) суммарные текущие затраты на функционирование САПР за
5 лет с приведением к расчетному году (первому году функциони-
рования системы):
Так как Ио = И1 = И2 =И3 = И3 = И4 = Иг, то
И = Иг*а0 + Иг*а1 + Иг*а2 + Иг*а3 + Иг*а4
И = 432 * (1 + 0.9091 + 0.8264 + 0.7513 + 0.6831) =
= 1801.4 тыс.руб.
(значения ai взяты из табл.1.2).
Таблица 1.2.
Значение коэффициентов приведения к расчетному году ai.
┌────────┬─────────┐
│ i │ ai │
├────────┼─────────┤
│ 0 │ 1 │
│ 1 │ 0.9091 │
│ 2 │ 0.8264 │
│ 3 │ 0.7513 │
│ 4 │ 0.6831 │
└────────┴─────────┘
1.3. Расчет суммарных затрат на создание и пятилетнее
функционирование САПР:
З = К + И
З = 3700 + 1801.4 = 5501.4 тыс.руб.
(здесь значения К и И приведены к расчетному году).
2. Стоимостная оценка результатов функционирования САПР
(расчет экономии от САПР).
.
- 86 -
2.1. Расчет сокращения времени проектирования требуемого
количества печатных плат и фотошаблонов:
dTп = T * (dtп * Nп + dtк * Nк)
dTф = T * dtф * Nф
dTп = (101 * 280 + 60 * 140 ) * 5 = 183400 часов
dTф = 25 * 600 * 5 = 75000 часов
2.2. Расчет годовой экономии по заработной плате, получа-
емой от снижения трудозатрат при проектировании печатных плат,
фотошаблонов и внесении схемных корректировок в условиях САПР:
Pз = SUM( Nаi * dti * Ci) * [1 + SUM(Ki)] / 1000
или
Pз = [1+(K1+K2+K3+K4)] * [Nап*dtп*Cтп +
+ Nаф*dtф*Cтф +
+ Nак*dtк*Cтп]/ 1000,
Pз = 1.39 / 1000 *
*(280*101*500 + 600*25* 550 + 140*60* 500) =
= 36960.1 тыс.руб/год
2.3. Условно-годовая экономия
Pг = Pз - Иг
Рг = 36960.1 - 432 = 36528.1 тыс.руб/год
2.4. Расчет экономии, получаемой от снижения трудозатрат
на проектирование печатных плат и фотошаблонов за период функ-
ционирования САПР:
P = Pг * (ao + a1 + a2 + a3 + a4)
Р = 36528.1 * 4.1699 = 152318.5 тыс.руб.
.
- 87 -
Экономия в результате уменьшения числа конструкторских
ошибок и брака в документации учтена в снижении трудозатрат на
проектирование.
Здесь не рассчитывается экономия, получаемая при изготов-
лении печатных плат за счет проектирования в САПР, из-за
отсутствия исходных данных. На практике такая экономия может
быть получена в результате оптимизации схемных решений на пе-
чатной плате и решения многовариантной задачи выбора оптималь-
ной технологии изготовления печатной платы. Получение экономии
в процессе изготовления печатных плат должно являться основной
целью автоматизации проектирования.
Кроме того, важной составляющей стоимостной оценки ре-
зультата функционирования САПР является оценка конкурен-
тоспособности проектируемого изделия и прибыли, получаемой за
счет его опережающего выпуска. Это также является предметом
специального исследования и в данном расчете не учитывается
из-за отсутствия исходных данных.
2.5. Оценка годового экономического эффекта, получаемого
при функционирование САПР:
Эг = Рг - К / Т
Эг = 36528.1 - 3700 / 5 = 35788.1 тыс.руб/год
2.6. Оценка экономического эффекта, получаемого за пятилет-
нее функционирование САПР:
Э = Р - К
Э = 152318.5 - 3700 = 148618.5 тыс.руб.
2.7. Оценка народнохозяйственной эффективности САПР:
Еа = Рг / К
Еа = 36528.1 3700 = 9.9 1/год
.
- 88 -
2.8. Оценка периода возврата единовременных затрат:
Твз = 1 / Еа
Твз = 1 / 9.9 = 0.1 года
Единовременные затраты возвращаются за период Tвз < 1 или
1/Ea = 1/37475.82 = 0.1 года. Это без учета дополнительных ре-
зультатов, получаемых в САПР, т. е. при учете только снижения
трудозатрат на проектирование.
.
- 89 -
Применение САПР P-CAD:
снижение трудоемкости.
без САПР
с САПР
Т
р
у
д
о
е
м
к
о
с
т
ь
чел-ч/шт
1. Снижение трудоемкости проектирования одной печатной платы
2. Снижение трудоемкости проектирования одного фотошаблона
3. Снижение трудоемкости схемных корректировок по одной плате
Рис.3.1. Применение САПР P-CAD: снижение трудоемкости.
.
- 90 -
ЗАКЛЮЧЕНИЕ
Инженер по радиоэлектронике и автоматике в условиях тех-
нической оснащенности интеллектуальной деятельности должен
свободно владеть средствами математического и программного мо-
делирования и решения задач проектирования и эксплуатации ап-
паратуры с помощью ЭВМ. При этом направленное обучение специа-
листов по использованию компьютерной техники и программного
обеспечения АРМ инженера является весьма актуальным и обуслов-
лено широким внедрением в инженерную практику персональных
компьютеров.
Приведенный в первой части данной дипломной работы обзор
математических моделей печатных плат, используемых в САПР, ал-
горитмов компоновки и трассировки позволяет получить достаточ-
но полное представление о современном состоянии этой области
автоматизированного проектирования, существующих проблемах и
методах их решения.
В разделе, посвященном расчету конструктивного объема
РЭА, сообщаются необходимые теоретические сведения для прове-
дения работ на этом этапе разработки изделия. Разработанная
программа RTV (IBM, Clipper) значительно облегчит вычисления.
Ее база данных содержит описание более 2000 компонентов оте-
чественной элементной базы. В течении двух лет версии програм-
мы успешно использовались на лабораторных работах по курсу
"Конструирование РЭА" и получили высокую оценку пользователей.
В главе "Исследование алгоритмов, используемых в системе
P-CAD" на примере разработки двух разнотипных блоков РЭА при-
водится методика компоновки в автоматическом и интерактивном
режимах программы PC-PLACE, определена последовательность
действий оператора, позволяющая достичь максимального исполь-
зования ресурсов печатной платы. Дан сравнительный анализ ал-
горитмов трассировки программы PC-ROUTE и рекомендации по
использованию различных методов трассировки в зависимости от
элементной базы проекта.
Опыт проведенных разработок в пакете P-CAD был обобщен и
использован в методическом пособии "Элементы прикладной машин-
ной графики в системе P-CAD", посвященном первому этапу авто-
- 91 -
матизированного проектирования - созданию описания элементной
базы проекта и описанию электрических принципиальных схем, как
базовому при разработке проекта.
Расчет экономической эффективности САПР с применением па-
кета P-CAD, приведенный в данной работе, убедительно показыва-
ет снижение трудоемкости работы проектировщиков более чем в
два раза. При внедрении подобной системы на промышленном
предприятии срок окупаемости составит 2-3 месяца.
Проведенные исследования позволили глубже понять основные
принципы системы и изучить особенности работы используемых в
программах алгоритмов. Полученные данные могут использоваться
для повышения качества производимых разработок и формирования
детального представление об основных элементах, структуре и
принципах функционирования промышленных систем автоматизиро-
ванного проектирования. Результаты работы - методика исследо-
ваний и данные экспериментов - могут быть использованы при ор-
ганизации курса лабораторных работ на основе пакета P-CAD, а
так же будут полезны разработчикам РЭА, использующим эту
систему.
Несомненно, развитие промышленного производства в даль-
нейшем будет идти по пути все большей автоматизации как
конструирования, так и производства. Но не следует упускать из
виду, что в настоящее время методы машинного проектирования
еще не вышли на уровень полной автоматизации. Какими бы эффек-
тивными не были программы машинного проектирования, они
по-прежнему остаются только инструментом, дополняющим возмож-
ности разработчика. На данном этапе полная автоматизация про-
ектирования невозможна.
.
- 92 -
ЛИТЕРАТУРА
1. Автоматизированное конструирование монтажных плат РЭА:
Справ. специалиста/ А.Т.Абрамов, В.Б.Артемов, В.П.Богданов и
др.; Под ред. Л.П.Рябова.- М.:Радио и связь, 1986.
2. Справочник конструктора РЭА: Общие принципы конструи-
рования/ Под ред. Р.Г.Варламова. - М.:Сов.радио, 1980.
3. Системы автоматизированного проектирования электронной
и вычислительной аппаратуры/Норенков И.П., Маничев В.Б.-
М.:Высш.школа, 1983.
4. Ульман Дж. Вычислительные аспекты СБИС: Пер.с
англ./Под ред. П.П.Пархоменко.- М.:Радио и связь, 1990.
5. Автоматизированное проектирование СБИС на базовых
кристаллах/ А.И.Петренко, В.Н.Лошаков, А.Я.Тетельбаум, Б.Л.
Шрамченко.- М.:Радио и связь, 1988.
6. Проектирование СБИС: Пер. с япон./Ватанабэ М., Асада
К., Кани К., Оцуки Т.- М.:Мир, 1988.
7. Placement and routing. User's Manuals. Personal CAD
Systems Inc. 1987.
8. Беклешов В.К., Морозова Г.А. САПР в машиностроении:
организационно-экономические проблемы. - Л.: Машиностроение,
1989.
9. Комплексная оценка эффективности мероприятий, направ-
ленных на ускорение научно-технического прогресса: методи-
ческие рекомендации и комментарии по их применению.- М., 1989
10. Автоматизированное проектирование микросхем для вто-
ричных источников питания/ Анисимов В.И., Дмитриевич Г.Д., Ка-
питонов М.В. и др.- Л.:ЛЭТИ, 1986.
11. Компоновка и конструкции микроэлектронной аппаратуры/
П.И.Овсищер, И.И.Лившиц, А.К.Орчинский и др.- М.:Радио и
связь, 1982.
12. Графические средства проектирования РЭА/ Д.И.Тома-
шевский, Г.Г.Масютин, А.А.Явич, В.В.Преснухин.- М.:Сов.радио,
1980.
13. Селютин В.А. Автоматизированное проектирование топо-
логии БИС. - М.:Радио и связь, 1983.
14. Морозов К.К., Одиноков В.Г., Курейчик В.М. Автомати-
зированное проектирование конструкций радиоэлектронной аппара-
туры.- М.:Радио и связь, 1983.
.
- 93 -
Приложение I. Программа RTV.
* Clipper Summer'87.
* -------------------------------------------------------------- *
* Программа RTV - расчет установочного объема РЭА *
* г.Владивосток, ДВТИ, кафедра РКТ, Горбач Д.А. *
* март, ноябрь 1992 г., май 1993 г. *
* -------------------------------------------------------------- *
*
* Параметры элементов в базе данных:
*
* L
* _______
* D / /│ Цилиндрические детали:
* ┌──────┐ │ В базе D=0 как признак цилиндра.
* │ │ │ Тогда площадь элемента считается
* │ │ │
* H │ │ │ Selem = L x L
* │ │/ Velem = H x Selem
* └──────┘
* │ │
* L
* _______________________________ Плоские детали (DIP и др)
* D / /│ Площадь элемента:
* ┌─────────────────────────────┐ │
* H │ ┌ ┌ ┌ ┌ ┌ ┌ │/ Selem = L x D
* └──│────│─────│────│───│───│──┘ Velem = H x Selem
*
*
wsetmove(.F.)
set key 28 to my_help
set key -9 to menu
set scoreboard off
set cursor off
set wrap on
public baza, Kol, N_ALL, N_ELEMENT[20]
public Selem, Velem, Vreal, Vusta, Mass, GlavMenu, WM, WE, WB, TXT
public KoeV, KoeM, VGA
public sideX, sideY, sideZ
public nfile, ok, vk, box1
declare Pole_base[15], Titl[15], T[1]
ok =.T.
vk = chr(13)+chr(10)
TXT = ""
VGA =.F.
Selem = 0
Velem = 0
Vreal = 0
Vusta = 0
Mass = 0
KoeV = 0.50
KoeM = 1.25
sideX = 0
sideY = 0
sideZ = 0
nfile = "rtv.doc "
GlavMenu = 3
T[1] = "baza0->element"
box1 = "┼┴╟═╚╦╔┤ "
box2 = "╩┴х═х╦╠┤ "
DO GetScreen
DO SetScreen
set color to "w*/n"
clearwin(0,0,24,79, "w*/n"," ")
set color to "n */w ,w+ /n"
WM=wopen( 0,0,0,79)
- 94 -
wselect( 0)
@ 0, 0 say space(80)
@24, 0 say space(80)
@24, 2 say "F1-Help │"
@24,67 say "│ F10-Menu"
keyboard chr(27)
do menu
if file("RTV_1.DBF") # ok .or. ;
file("RTV_1.DBT") # ok .or. ;
file("RTV_2.DBF") # ok .or. ;
file("RTV_3.DBF") # ok
window( 10,13,14,66, "w+/r")
@ 2,4 say "Не найдены системные файлы - работа невозможна"
inkey(0)
wclose()
l_gmode(3)
quit
endif
window(7,21,17,58, "w+*/b ,w+ /n")
do copyright
select 1
use RTV_1 alias baza0
do menu_new
PUBLIC N[n_all]
afill( N,0)
select 2
use RTV_2 alias Korpus
if file("RTV_2.NTX") # ok
index on DIP to RTV_2
endif
set index to RTV_2
select 3
use RTV_3 alias Standart
if file("RTV_3.NTX") # ok
index on GOST to RTV_3
endif
set index to RTV_3
wclose()
WB=window( 2, 16, 21, 76, "w+*/b ,w+ /n")
set color to "n/w"
@ 0,59,19,60 box box1
set color to "n */w ,w+ /n"
@ 0,59 say "╩х"
@ 19,59 say "╠х"
@ 4,51 say " PgUp "
@ 7,51 say " PgDn "
@10,51 say " Tab "
set color to "n */b"
@ 4,57 say "▄"
@ 5,52 say "▀▀▀▀▀▀"
@ 7,57 say "▄"
@ 8,52 say "▀▀▀▀▀▀"
@10,57 say "▄"
@11,52 say "▀▀▀▀▀▀"
WE=window( 2, 1, 15, 12, "w+*/b ,w+ /n")
select 1
go top
* --------------------------------------------------------- *
* Собственно программа *
* --------------------------------------------------------- *
dbedit( 1,2,12,9, T, "edit", 0, "Элемент","─")
quit
- 95 -
* --------------------------------------------------------- *
* Процедуры, функции *
* --------------------------------------------------------- *
function edit
parameters m, f
if lastkey()=9 .or. lastkey()=13 && Ret, Tab
do Var_base
endif
return( 1)
* --------------------------------------------------------- *
procedure Var_base
private i, rec, X, Y, tmp, scr, len, N_inp
N_inp = 0
scr = wselect()
tmp = ""
X = 0
Y = 0
wselect( WB)
set color to "n */w"
@ 1,59 say "┤═"
set color to "w+*/b ,w+ /n"
@ 3,1,16,48 box box1
select 1
rec = recno()
afill(Pole_base,"")
baza= baza0->base
@ 1,3 say baza0->NAME
Y=Mlcount(POLE,8)
for i=1 to Y
Pole_base[i]=Memoline(baza0->POLE, 8,i)
@ 3+i,2 say MemoLine(baza0->Glav,15,i)
next i
if rec > 1
for i=1 to rec-1
X=X+N_ELEMENT[i]
next i
endif
select 4
use &baza alias bazaRT
len=lastrec()
set key 9 to exit_code
do while ok
set color to "w+*/b ,w+ /n"
clear gets
for i=1 to Y
if Pole_base[i]="N"
N_inp=N[recno()+X]
@ 3+i,18 get N_inp picture " 9999"
else
tmp=Pole_base[i]
@ 3+i,18 say &tmp
endif
next i
set cursor on
read
set cursor off
N[X+recno()]=N_inp
key=lastkey()
do case
case key=13 .or. key=3 && PgDn, Enter
do print_code
skip +1
if eof()
skip -1
endif
case key=18 && PgUp
do print_code
- 96 -
skip -1
case key=27 && Esc
do print_code
exit
endcase
set color to "n */w"
@ 1+17*recno()/len,59 say "┤═"
enddo
set key 9 to
select 1
goto rec
wselect(scr)
return
* --------------------------------------------------------- *
procedure exit_code
keyboard chr(27)
return
* --------------------------------------------------------- *
procedure print_code
set color to "n/w"
@ 1+17*recno()/len,59 say "┤═"
return
* --------------------------------------------------------- *
Procedure menu
set cursor off
set key -9
private scr
scr=wselect()
do while ok
wselect( WM)
@ 0, 1 prompt " Ё "
@ 0, 5 prompt " Файл "
@ 0,12 prompt " Данные "
@ 0,21 prompt " Расчет "
@ 0,30 prompt " Объем "
@ 0,38 prompt " Отчет "
@ 0,46 prompt " Выход "
menu to GlavMenu
do case
case GlavMenu=1
window(6,21,16,58,"w+/b", box1)
do copyright
inkey(0)
wclose()
case GlavMenu=2
do menu_file
case GlavMenu=0 .or. GlavMenu=3
GlavMenu=3
clear gets
exit
case GlavMenu=4
do menu_exec
case GlavMenu=5
do menu_graf
case GlavMenu=6
do menu_text
case GlavMenu=7
do menu_quit
endcase
enddo
wselect( scr)
set key -9 to menu
return
* --------------------------------------------------------- *
.
- 97 -
function window
parameters y1, x1, y2, x2, color
private W
W=wopen( y1, x1, y2+1, x2+2)
colorwin( 1, 2, y2-y1+1, x2-x1+2)
set color to &color
@ 0, 0, y2-y1, x2-x1 box box1
return( W)
* --------------------------------------------------------- *
procedure menu_file
private i
i=1
window( 1,5,8,16,"n */w ,w+ /n", box1)
@ 2,1 prompt " Load "
@ 3,1 prompt " Save "
@ 4,1 prompt " Save as.."
@ 5,1 prompt " New "
menu to i
do case
case i=4
afill(N,0)
TXT = ""
endcase
wclose()
return
* --------------------------------------------------------- *
function get_name_file
parameters y,x, nfile
window(y,x,y+2,x+21,"n/w, w+/n", box1)
clear gets
@ 1,2 say "File:" get nfile picture "@K XXXXXXXXXXXX"
set cursor on
read
set cursor off
wclose()
return nfile
* --------------------------------------------------------- *
procedure menu_new
select 1
go top
KOL=0
N_ALL=0
Afill( N_ELEMENT,0)
do while .not. eof()
baza = baza0->base
select 4
if file(baza+".DBF")
use &baza
KOL=KOL+1
N_ELEMENT[Kol]=lastrec()
N_ALL=N_ALL+N_ELEMENT[Kol]
else
select 1
delete
endif
select 1
skip
enddo
pack
return
* --------------------------------------------------------- *
.
- 98 -
procedure menu_exec
private i
i=1
window(1,21,5,43,"n */w ,w+ /n", box1)
@ 1,1 prompt " Счет по среднему "
@ 2,1 prompt " Счет по максимуму "
@ 3,1 prompt " Счет по минимуму "
menu to i
wclose()
if i#0
do exec with i
endif
return
* --------------------------------------------------------- *
procedure exec
parameters i
private X, OLD_select, OLD_recno1, OLD_recno4, tmp
private D, L, H, M, Sij, XDip, XGost
Selem = 0
Velem = 0
Vreal = 0
Vusta = 0
X = 0
D = 0
L = 0
H = 0
M = 0
rec = 0
Mass = 0
TXT = ""
XDip = ""
XGost = ""
sideZ = 0
OLD_recno4=recno()
OLD_select=select()
select 1
OLD_recno1=recno()
go top
window(2,16,21,65,"w+*/bg", box1)
set color to "n */bg,w+*/n"
@ 2,4 say "Объем Элементов .......... 0 мм^3"
@ 3,4 say "Объем Реальный ........... 0 мм^3"
@ 4,4 say "Объем Установочный ....... 0 мм^3"
@ 6,4 say "Масса Общая .............. 0 гр."
@ 7,4 say "Масса Реальная ........... 0 гр."
@ 9,4 say "Сторона X ................ 0 мм"
@10,4 say "Сторона Y ................ 0 мм"
@11,4 say "Сторона Z ................ 0 мм"
@13,4 say "Коэффициент заполнения ... (0.2 _ 1)" get koeV picture "99.99"
@14,4 say "Коэффициент массы ........ (1.2 _ 3)" get koeM picture "99.99"
wopen(19,20,19,62)
@0,0 say "█"+replicate("▒",41)
do while .not. eof()
baza = baza0->base
tmp = norm_or_min()
rec = recno()
if rec > 1
X=X+N_ELEMENT[rec-1]
endif
select 4
use &baza
for j=X+1 to X+N_ELEMENT[rec]
if N[j]#0
goto j-X
do case
- 99 -
case tmp=1 .and. i=1
D=(D_min+D_max)/2
L=(L_min+L_max)/2
H=(H_min+H_max)/2
case tmp=1 .and. i=2
D=D_max
L=L_max
H=H_max
case tmp=1 .and. i=3
D=D_min
L=L_min
H=H_min
case tmp=2
XDip = DIP
select 2
*// go top
seek XDip
if found()
select 4
D=Korpus->D
L=Korpus->L
H=Korpus->H
M=Korpus->M
else
select 4
D=0
L=0
H=0
M=0
endif
endcase
if H=0
Sij=N[j]*D*D
else
Sij=N[j]*D*H
endif
Selem=Selem+Sij
Velem=Velem+Sij*L
sideZ=max(L,sideZ)
Mass=Mass+M
XGost=Gost
select 3
go top
seek XGost
select 4
TXT=TXT+baza0->element+" │ "+left(Tip+space(15),15)+;
+" │ "+Standart->Gost+" │ "+;
+str(N[j],6)+" шт. │ "+str(Sij*L,10)+" мм^3"+;
+vk
endif
next j
select 1
@0,0 say replicate("█",rec*42/Kol)
skip
enddo
wclose() && окно под индикатором выполнения
select 1
goto OLD_recno1
baza=baza0->base
select 4
use &baza
select( OLD_select)
goto OLD_recno4
*//wclose()
* --------------------------------------------------------- *
* *
* Вывод отчета по вычислениям *
* *
* --------------------------------------------------------- *
@17,14 say "▄ ▄ ▄"
@18, 5 say "▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀"
.
- 100 -
do while ok
Vreal=Selem*sideZ
Vusta=Vreal/KoeV
if sideZ != 0
sideX=sqrt(Vusta/sideZ)
else
sideX=0
endif
sideY=sideX
set color to "n */bg,n /w"
@ 2,30 say str(Velem,10)
@ 3,30 say str(Vreal,10)
@ 4,30 say str(Vusta,10)
@ 6,30 say str(Mass,10)
@ 7,30 say str(Mass*KoeM,10)
@ 9,30 say str(sideX,10)
@10,30 say str(sideY,10)
@11,30 say str(sideZ,10)
clear gets
@13,41 get KoeV picture "99.99" range 0.2,1
@14,41 get KoeM picture "99.99" range 1.2,3
j=1
set color to "n/w, n */w"
@ 17, 4 prompt " NewKoe "
@ 17,20 prompt " View "
@ 17,36 prompt " Cancel "
menu to j
do case
case j=0 .or. j=3
exit
case j=1
set cursor on
set color to "n/w,w+/n"
read
set cursor off
case j=2
DO menu_graf
endcase
enddo
TXT= space(24)+"Расчет Установочного Объема РЭА"+vk +vk+;
+replicate("─",76) +vk+;
+TXT+;
+replicate("─",76) +vk+;
+"Объем Элементов .........."+str(Velem,10) +" мм^3"+vk+;
+"Объем Реальный ..........."+str(Vreal,10) +" мм^3"+vk+;
+"Объем Установочный ......."+str(Vusta,10) +" мм^3"+vk+;
+"Масса Общая .............."+str(Mass,10) +" гр." +vk+;
+"Масса Реальная ..........."+str(Mass*KoeM,10)+" гр." +vk+;
+" Коэффициент заполнения .. "+str(KoeV,4,2) +vk+;
+" Коэффициент массы ....... "+str(KoeM,4,2) +vk+;
+vk+;
+"Размеры сторон:" +vk+;
+"X = "+str( sideX,10)+" мм" +vk+;
+"Y = "+str( sideY,10)+" мм" +vk+;
+"Z = "+str( sideZ,10)+" мм" +vk
wclose()
return
* --------------------------------------------------------- *
function norm_or_min
private i, p, x
p=0
for i=1 to Mlcount(POLE,10)
x=Memoline(POLE,10,i)
do case
case at("MIN",x)#0
p=1
- 101 -
case at("DIP",x)#0
p=2
endcase
next i
return( p)
* --------------------------------------------------------- *
procedure menu_text
private i
i=1
window(1,27,4,44,"n */w, w+/n", box1)
do while ok
@ 1,1 prompt " Отчет на экран "
@ 2,1 prompt " Отчет в файл "
menu to i
do case
case i=0
exit
case i=1
wopen(1,0,23,79)
set color to "w */n"
wbox(box1)
set color to "w+ */n"
memoedit( TXT, 0,1,22,77,.F.,"",240)
wclose()
case i=2
nfile=get_name_file(6,32,nfile)
if lastkey()=13
memowrit( nfile, TXT)
endif
exit
endcase
enddo
wclose()
return
* --------------------------------------------------------- *
procedure menu_graf
private x[4], y[4], MAX
wopen(0,0,24,79)
L_gmode( 16)
L_line( 260, 200, 260, 639, 1) && --- 9 - B+
L_line( 260, 200, 320, 0, 1) && /
L_line( 260, 200, 0, 200, 1) && |
L_stroke( "X", 1, 265, 620, 15, 12, 9)
L_stroke( "Y", 1, 320, 10, 15, 12, 9)
L_stroke( "Z", 1, 0, 210, 15, 12, 9)
MAX=max( sideX, max( sideY, sideZ))
if MAX#0
x[1]=200
y[1]=260
x[2]=200+400*sideX/MAX
y[2]=260-220*sideZ/MAX
x[3]=200-300*sideY/MAX/2
y[3]=260+ 90*sideY/MAX/2
x[4]=200-300*sideY/MAX/2+400*sideX/MAX
y[4]=260+ 90*sideY/MAX/2-210*sideZ/MAX
l_box ( y[1],x[1],y[2],x[2],10)
l_box ( y[3],x[3],y[4],x[4],10)
l_line( y[4],x[4],y[2],x[2],10)
l_line( y[3],x[3],y[1],x[1],10)
l_line( y[3],x[4],y[1],x[2],10)
l_line( y[4],x[3],y[2],x[1],10)
endif
.
- 102 -
inkey(0)
release x,y,max
do SetScreen
wclose()
return
* --------------------------------------------------------- *
procedure menu_quit
private menu
window(1,32,4,52,"n */w ,w+/n")
@ 1,1 prompt " Продолжать работу "
@ 2,1 prompt " Закончить работу "
menu to menu
wclose()
if menu=2
set color to "w/n"
L_gmode(3)
quit
endif
return
* --------------------------------------------------------- *
procedure my_help
set key 28 to
window(3,5,19,73,"w+/bg",box1)
set color to "n/bg"
memoedit( memoread("rtv.hlp"), 1,2,15,65,.F.,"",240)
wclose()
set key 28 to my_help
return
* --------------------------------------------------------- *
procedure copyright
@ 1, 3 say "Расчет Установочного Объема РЭА"
@ 3,13 say "Версия 2.0"
@ 5,10 say "Владивосток . ДВТИ"
@ 6, 7 say "Кафедра радиоэлектроники"
@ 7, 8 say "и компьютерной техники"
@ 9,13 say "Горбач Д.А."
return
* --------------------------------------------------------- *
Procedure GetScreen
Private VI, ADAPTER
VI = " "
ADAPTER = 0
ret = pcxVI(vi)
ADAPTER = asc( substr(VI,1,1))
if ret#0 .or. ADAPTER<3
? "Адаптер не поддерживается. Сброс программы."
quit
endif
if ADAPTER == 5
VGA = ok
endif
return
* -------------------------------------------------------------- *
Procedure SetScreen
pcxSM(0) && Set Text Mode
if VGA
_SetFnt16() && VGA Font
else
_SetFnt14() && EGA Font
endif
noblink()
return