Автоматизация системного проектирования
Автоматизация системного проектирования
16
СОДЕРЖАНИЕ
Введение
Задание 1.Автоматизация системного проектирования
1.1 Решить задачу о назначении (Венгерский метод)
1.2 Решить задачу линейного программирования, используя табличный симплексный метод
Задание 2. Имитационное моделирование. Сети Петри
2.1 Построить имитационную модель гибкого производственного модуля
Задание 3. Методы постановки задач и алгоритмы автоматизированного проектирования средств вычислительной техники
3.1 Выбрать схему электрическую принципиальную
3.2 Провести формализацию и, используя два алгоритма (последовательно-групповой и алгоритм Штейнберга), провести размещение микросхем на печатной плате
3.3 Проанализировать полученные результаты и сделать выводы об эффективности использованных алгоритмов
Литература
Введение
Современный уровень развития вычислительных средств характеризуется широким применением методов и алгоритмов автоматизированного проектирования. В этих условиях подготовка специалистов, способных определять задачи направленные на сокращение времени проектирования и внедрения электронной техники в режиме непрерывного наращивания темпов производства есть необходимый актуальной.
В курсе “Основы автоматизированного проектирования средств вычислительной техники” изучаются методы, алгоритмы и основные подходы к проектированию современных вычислительных средств. Дисциплина базируется на материале курсов «Высшая математика», «Программирование», «Численные методы» и др. Методы постановки и решения заданий автоматизации широко используют аппарат теории графов и математического программирования. Наибольшей сложностью при изучении данной дисциплины является многоплановость рассматриваемого материала, соединения абстрактных понятий и моделей с практической направленностью этих моделей для решения разнообразных задач проектирования.
Цель работы - изучение материала, которые направлены на закрепление и углубление теоретических знаний, формирование практических навыков методов и алгоритмов разработки вычислительных средств относительно заданий автоматизации проектирования.
Задание 1.
Автоматизация системного проектирования
1.1 Решить задачу о назначении (Венгерский метод)
ГПМ установки НЭ на ПП состоит из 4-х ед. автоматического технологического оборудования, каждая из которых может устанавливать на плату 4 типа НЭ с разной эффективностью.
1 АТО устанавливает 1 тип НЭ с эффективностью 3, 2 тип - с эффективностью 2, 3 тип - с эффективностью 6, 4 тип с эффективностью 7.
2 АТО устанавливает 1 тип НЭ с эффективностью 2, 2 тип - с эффективностью 3, 3 тип - с эффективностью 4, 4 тип с эффективностью 5.
3 АТО устанавливает 1 тип НЭ с эффективностью 1, 2 тип - с эффективностью 6, 3 тип - с эффективностью 2, 4 тип с эффективностью 5.
4 АТО устанавливает 1 тип НЭ с эффективностью 2, 2 тип - с эффективностью 4, 3 тип - с эффективностью 4, 4 тип с эффективностью 10.
Распределить типы НЭ по АТО по принципу «одно АТО - один тип» таким образом, чтобы суммарная эффективность была максимальна.
Решение:
Венгерский метод является одним из интереснейших и распространенных методов решения транспортных задач. Основная идея этого метода была впервые высказана венгерским математиком Е. Егервави (отсюда и название данного метода) намного раньше возникновения теории линейного программирования.
Составим матрицу задания:
Операции
Оборудование
|
1
|
2
|
3
|
4
|
|
1
|
3
|
2
|
6
|
7
|
|
2
|
2
|
3
|
4
|
5
|
|
3
|
1
|
6
|
2
|
5
|
|
4
|
2
|
4
|
4
|
10
|
|
|
Предварительный этап.
Находим максимальный элемент первого столбца - 3. Отнимаем из него все элементы этого столбца. Аналогично для получения второго, третьего и четвертого столбцов новой матрицы отнимаем все элементы этих столбцов от 6, 6 и 10 соответственно. Получим матрицу С'(C'~C).
0
|
4
|
0
|
3
|
|
1
|
3
|
2
|
5
|
|
2
|
0
|
4
|
5
|
|
1
|
2
|
2
|
0
|
|
|
Т.к. в каждом ряду С' кроме второго есть нуль, поэтому отнимаем лишь минимальный элемент второго ряда (1) от всех элементов этого ряда и получаем матрицу З0 ~ С' и на этом процесс приведения матрицы заканчивается.
(+) + +
0*
|
4
|
0
|
3 +
|
|
0
|
2
|
1
|
4
|
|
2
|
0*
|
4
|
5
|
|
1
|
2
|
2
|
0*
|
|
|
Далее ищем и отмечаем знаком '*' независимые нули в З0, начиная с первого ряда.
Первая итерация. Первый этап
Выделяем знаком «+» первый, второй и четвертый столбец матрицы Зо, которые содержат 0*.
Пересмотрим невыделенный третий столбец, находим в нем невыделенный нуль IЗ43=0, отмечаем его штрихом и выделяем знаком «+» первый ряд.
Ищем минимальный элемент в невыделенной части матрицы Зо (т.е. элементы, которые находятся в столбцах и рядах, не обозначенных знаком «+»).
Вторая итерация. Первый этап
Просматривая все невыделенные элементы, находим среди них невыделенный нуль IЗ12=0, отмечаем его знаком штрих и переходим ко второму этапу.
+ +
Второй этап. Начиная с элемента IЗ12=0, строим цепь двигаясь от него по столбцу. Находим нуль со звездочкой IЗ11=0*, далее двигаясь по первому ряду и находим 0 (IЗ13).
Таким образом, цепь построенная 0'21-0*11-0'13. Заменяем штрих на звездочку и сокращаем звездочки над парными элементами цепи, а так же все знаки выделения столбцов и рядов. После этой итерации количество независимых нулей (0*) стало равняться 4 (размерности матрицы З) и поэтому алгоритм заканчивает работу.
Искомые элементы назначения отвечают позициям независимых нулей матрицы Зз (т.е. )*0.
0,
|
4
|
0*
|
3
|
|
0*
|
2
|
1
|
4
|
|
2
|
0*
|
4
|
5
|
|
1
|
2
|
2
|
0*
|
|
|
Соответствующее значение целевой функции:
F = C12 + C23 + C31 + C44 = 2 + 6 + 6 + 10 = 24.
1.2 Решить задачу линейного программирования, используя
табличный симплексный метод
Предприятию необходимо выпустить 2 вида изделий (Р1; Р2). Есть 3 вида станков (Т1; Т2; Т3), каждый из которых может обрабатывать изделия всех видов.
Продолжительность обработки
на станке 1-го типа изделий 1-го типа 4 единицы
на станке 2-го типа изделий 1-го типа 1 единица
на станке 3-го типа изделий 1-го типа 1 единица
на станке 1-го типа изделий 2-го типа 0 единиц
на станке 2-го типа изделий 2-го типа 2 единицы
на станке 3-го типа изделий 2-го типа 4 единицы
Доход от реализации изделия первого типа составляет 6 единиц, второго типа - 6 единиц.
Запас мощности (рабочее время станка) 1-о типа - 20 единиц, 2-го типа 37 единиц, 3-го типа - 40 единиц.
Составить такой план загрузки станков, при котором себестоимость выпуска продукции будет минимальной.
Решение
Симплекс-метод был разработан и впервые применен для решения задач в 1947 г. американским математиком Дж. Данцигом. Симплекс метод принадлежит к числу аналитических методов решения основной задачи линейного программирования.
Составим линейные уравнения для решения задачи.
F (x) = 6х1 + 6 х2 >max - целевая функция.
где х1 - количество изделий Р1;
х2 - количество изделий Р2.
Уравнения ограничений :
4 х1 ? 20;
х1 + 2 х2 ? 37;
х1 + 4 х2 ? 40.
Найдем наибольшее значение линейной функции
F = 6 x1 + 6 x2
при следующих ограничениях
Нам необходимо найти начальное опорное ( абсолютно произвольное ) решение для исходной функции, которое бы удовлетворяло системе наложенных ограничений. Далее, применяя симплекс таблицы, мы будем получать решения, при которых значение функции будет, как минимум, не убывать. И так до тех пор, пока не достигнем оптимально решения, при котором функция достигает своего максимума. Если, конечно, рассматриваемая нами линейная функция обладаем максимальным значением при заданной системе ограничений. Перед применением симплекс таблиц, необходимо преобразовать систему линейных ограничений и рассматриваемую нами функцию к вполне определенному виду.
Свободные члены системы ограничений положительны. Выполнено одно из необходимых условий применения симплекс метода.
К левой части неравенства 1 системы ограничений прибавляем неотрицательную переменную x3 , тем самым мы преобразуем неравенство 1 в равенство.
К левой части неравенства 2 системы ограничений прибавляем неотрицательную переменную x4 , тем самым мы преобразуем неравенство 2 в равенство.
К левой части неравенства 3 системы ограничений прибавляем неотрицательную переменную x5 , тем самым мы преобразуем неравенство 3 в равенство.
Введенные нами переменные имеют вполне конкретный физический смысл, непосредственно связанный с условием нашей задачи.
4 x1 + x3 = 20
x1 + 2 x2 + x4 = 37
x1 + 4 x2 + x5 = 40
Система ограничений приведена к каноническому виду, т.е все условия системы представляют собой уравнения. Выполнено еще одно из необходимых условий применения симплекс метода.
Определимся с начальным опорным решением. Наличие единичного базиса в системе ограничений позволяет легко найти начальное опорное решение. Рассмотрим подробнее.
Переменная x3 входит в уравнение 1 с коэффициентом 1, а в остальные уравнения системы с коэффициентом ноль, т.е x3 - базисная переменная.
Переменная x4 входит в уравнение 2 с коэффициентом 1, а в остальные уравнения системы с коэффициентом ноль, т.е x4 - базисная переменная.
Переменная x5 входит в уравнение 3 с коэффициентом 1, а в остальные уравнения системы с коэффициентом ноль, т.е x5 - базисная переменная.
Переменные , которые не являются базисными называются свободными переменными. Приравняв свободные переменные нулю в получившийся системе ограничений мы получим начальное опорное решение.
X нач = ( 0 , 0 , 20 , 37 , 40 )
Вернемся к рассмотрению функции F.
F = 6 x1 + 6 x2
Линейная функция F не содержат базисных переменных.
Для составления начальной симплекс таблицы мы выполнили все условия.
В процессе дальнейших преобразований возможны два случая. Если в симплекс таблице, на каком то шаге, мы получим строку F состоящую из положительных элементов, это будет означать, что мы нашли оптимальное решение. В противном случае функция не ограничена.
При составлении исходной симплекс таблицы, коэффициенты при переменных функции F записываются с противоположными знаками, а свободный член со своим знаком.
За ведущий выберем столбец 1 , так как -6 наименьший элемент в F строке. Элемент F строки, принадлежащий столбцу свободных членов не рассматриваем.
За ведущую выберем строку 1, так как отношение свободного члена к соответствующему элементу выбранного столбца для 1 строки является наименьшим. Обратите внимание, что отношение мы вычисляем только для положительных элементов столбца 1.
базисные
переменные
|
x1
|
x2
|
x3
|
x4
|
x5
|
свободные
члены
|
отношение
|
|
x3
|
4
|
0
|
1
|
0
|
0
|
20
|
5
|
|
x4
|
1
|
2
|
0
|
1
|
0
|
37
|
37
|
|
x5
|
1
|
4
|
0
|
0
|
1
|
40
|
40
|
|
F
|
-6
|
-6
|
0
|
0
|
0
|
0
|
-
|
|
|
Разделим элементы строки 1 на 4.
базисные
переменные
|
x1
|
x2
|
x3
|
x4
|
x5
|
свободные
члены
|
отношение
|
|
x3
|
1
|
0
|
1/4
|
0
|
0
|
5
|
5
|
|
x4
|
1
|
2
|
0
|
1
|
0
|
37
|
37
|
|
x5
|
1
|
4
|
0
|
0
|
1
|
40
|
40
|
|
F
|
-6
|
-6
|
0
|
0
|
0
|
0
|
-
|
|
|
От элементов строки 2 отнимает соответствующие элементы строки 1 .
От элементов строки 3 отнимает соответствующие элементы строки 1 .
От элементов строки F отнимает соответствующие элементы строки 1, умноженные на -6.
За ведущий выберем столбец 2 , так как -6 наименьший элемент в F строке. Элемент F строки, принадлежащий столбцу свободных членов не рассматриваем.
За ведущую выберем строку 3, так как отношение свободного члена к соответствующему элементу выбранного столбца для 3 строки является наименьшим. Обратим внимание, что отношение мы вычисляем только для положительных элементов столбца 2.
базисные
переменные
|
x1
|
x2
|
x3
|
x4
|
x5
|
свободные
члены
|
отношение
|
|
x1
|
1
|
0
|
1/4
|
0
|
0
|
5
|
-
|
|
x4
|
0
|
2
|
-1/4
|
1
|
0
|
32
|
16
|
|
x5
|
0
|
4
|
-1/4
|
0
|
1
|
35
|
35/4
|
|
F
|
0
|
-6
|
3/2
|
0
|
0
|
30
|
-
|
|
|
Разделим элементы строки 3 на 4.
базисные
переменные
|
x1
|
x2
|
x3
|
x4
|
x5
|
свободные
члены
|
отношение
|
|
x1
|
1
|
0
|
1/4
|
0
|
0
|
5
|
-
|
|
x4
|
0
|
2
|
-1/4
|
1
|
0
|
32
|
16
|
|
x5
|
0
|
1
|
-1/16
|
0
|
1/4
|
35/4
|
35/4
|
|
F
|
0
|
-6
|
3/2
|
0
|
0
|
30
|
-
|
|
|
От элементов строки 2 отнимает соответствующие элементы строки 3, умноженные на 2.
От элементов строки F отнимает соответствующие элементы строки 3, умноженные на -6.
базисные
переменные
|
x1
|
x2
|
x3
|
x4
|
x5
|
свободные
члены
|
отношение
|
|
x1
|
1
|
0
|
1/4
|
0
|
0
|
5
|
-
|
|
x4
|
0
|
0
|
-1/8
|
1
|
-1/2
|
29/2
|
-
|
|
x2
|
0
|
1
|
-1/16
|
0
|
1/4
|
35/4
|
-
|
|
F
|
0
|
0
|
9/8
|
0
|
3/2
|
165/2
|
-
|
|
|
На основании F строки полученной симплекс таблицы, выпишем выражение функции
F = 165/2 -9/8 x3 -3/2 x5
Учитывая, что все x i ?0 по условию задачи, наибольшее значение функции равно свободному члену 165/2.
Другими словами, учитывая правило формирования симплекс таблицы, критерием получения оптимального решения является отсутствия отрицательных элементов в строке F ( свободный член может быть отрицательным). Что мы непосредственно и получили.
Теперь можем записать ответ.
Ответ :
X опт = ( 5 , 35/4 , 0 , 29/2 , 0 )
Значение функции : F = 165/2
Задание 2. Имитационное моделирование. Сети Петри
2.1 Построить имитационную модель гибкого производственного
модуля
Считаем, что каждый компонент R1, R2, Ст1, Ст2 загружены только одной деталью. Элементы модуля выполняют свои операции независимо друг от друга, R1 (R2) начинает свои транспортировки когда на одном из конвейеров есть деталь. Построить имитационную модель ГПМ.
Решение
Имитационные модели. Основными требованиями к имитационным моделям ГПС являются адекватность модели, максимальная приближенность алгоритмов к методологии объектного программирования и универсальность, как возможность представления всего множества дискретных состояний системы. Использование в имитационном моделировании сетей Петри, как наиболее универсального и часто встречающегося метода формализации имитационных моделей, в большинстве случаев, ограничено построением несложных циклических моделей для роботизированных комплексов и гибких производственных модулей (ГПМ) с обозримым количеством состояния системы. Попытки создания моделей для более сложных систем - гибких производственных участков и комплексов с различным составом многочисленного основного и вспомогательного оборудования, широким спектром номенклатуры деталей ограничивает область применения аппарата сетей Петри в виду большого количества дискретных состояний ГПС, сложности и множественности сетевых структур.
Примером системы позволяющей управлять ГПС может служить пакет моделирования FMSim. Он позволяет размещать в различных позициях планировки любое количество гибких производственных систем , транспортных систем, складов и строить модели расписаний для различных компоновок. При моделировании ГПС данным образом можно выделить следующие особенности:
1) за счет свойства масштабирования сети во времени появляется возможность анализа состояния всех объектов на любом разрезе сети;
2) возможность создания сетей любой сложности и размерности, как функции от времени и количества полюсов сети, представляющих собой ЕП;
3) возможность моделирования на уже созданной сети в пределах любых интервалов времени, с различных, интересующих проектанта событий;
4) возможность оценки расписаний работы ГПС;
5) максимальная приближенность логики синтеза сетей к логике построения программного обеспечения;
6) возможность использования модульной структуры программного обеспечения процесса моделирования.
Последовательность взаимодействия элементов:
1. Перемещение детали с конвейера Н1 роботом-манипулятором R1 и перенос на станок Ст1.
2. Перемещение детали от станка Ст1 до станка Ст2 роботом-манипулятором R2.
3. Перемещение детали от Ст2 на конвейер Н2 роботом-манипулятором R2.
4. Получение метки об окончании выполнении операций по перемещению детали.
5. Возобновление процесса перемещения деталей от конвейера Н1 к конвейеру Н2.
Строим имитационную модель необходимого прямого управления (Рис.1).
Рис.1. Имитационная модель необходимого прямого управления
Сеть Петри, которая обеспечивает необходимое прямое управление показана на рисунке. Понятно, что в месте р1 не может накопится более одной детали, при любых переходах системы. t0, t1, t2 - время переходов системы. Система безопасна, т.к. операции не выполняются параллельно. Только после выхода детали на конвейер - начинается обработка следующей детали. Хотя было бы рационально использовать обработку на станке Ст1 и параллельно с ней вести обработку другой детали на станке Ст2. При этом увеличилась бы производительность выпуска деталей. Тогда последовательность операций была бы такая:
1. Перемещение детали от конвейера H1 к станку Ст1 роботом R1.
2. Перемещение детали от станка Ст1 к станку Ст2 роботом R2.
3. Получение метки на перемещение следующей детали от конвейера H1 к станку Ст1 роботом R1.
4. Перемещение детали от станка Ст2 к конвейеру Н2 роботом R1.
5. Получение метки на перемещение роботом R2 детали от станка Ст1 к станку Ст2.
Но по условию задания система загружена одной деталью.
Задание 3. Методы постановки задач и алгоритмы автоматизированного проектирования средств вычислительной техники
3.1 Выбрать схему электрическую принципиальную
Выбираем схему
Рис.2. Принципиальная электрическая схема устройства
3.2 Провести формализацию и, используя два алгоритма (последовательно-групповой и алгоритм Штейнберга), провести размещение микросхем на печатной плате.
На этапе конструкторского проектирования решаются вопросы, связанные с компоновкой элементов логической схемы в модуле, модулей в ячейки, ячеек в панели и т.д. Эти задания в общем случае тесно связаны между собой, и их решение позволяет значительно сократить расходы и трудоемкость отмеченного этапа в системах автоматизированного проектирования. Обычно задания компоновки рассматриваются как процесс принятия решений в определенных или неопределенных условиях, в результате выполнения которого части логической схемы располагаются в конструктивных элементах і-го уровня, а эти элементы размещаются в конструктивных элементах (i+1)-го уровня и т.д., причем расположение выполняется с оптимизацией за избранным критерием.
Электрические схемы РЕА в общем случае представляют собой конструктивно законченные части высшего уровня, что состоят из элементов более низкого конструктивного уровня соответственно избранному критерию. Основным критерием объединения является критерий электромагнитотепловой совместимости элементов более низкого уровня.
Такими критериями могут быть:
- минимум типов конструктивно законченных частей;
- плотность компоновки, минимум соединений между устройствами;
- простота диагностики и др.
Основным этапом при решении конструкторских заданий служит переход от неформальной постановки к формализированному заданию. В целом этот этап представляет собой выделение списка кругов из принципиальной схемы ЭА.
Список кругов формируется в виде текстового файла с обязательным перечислением всех соединений следующего вида:
<Название элемента> <Номер контакта> <Название элемента> <Номер контакта>...
В итоге образуется специальный файл электрических соединений.
Составим формальный список кругов, выделив их из принципиальной схемы:
№
|
Элемент
|
Контакт
|
Элемент
|
Контакт
|
Элемент
|
Контакт
|
|
1.
|
Dd1
|
4
|
d3
|
3
|
|
|
|
2.
|
Dd1
|
6
|
Dd3
|
12
|
C
|
А
|
|
3.
|
Dd3
|
14
|
R
|
1
|
|
|
|
4.
|
d3
|
4
|
d3
|
5
|
|
|
|
5.
|
d3
|
6
|
D2
|
3
|
|
|
|
6.
|
D2
|
1
|
C
|
B
|
|
|
|
7.
|
D2
|
5
|
d9
|
7
|
R
|
2
|
|
|
Итерационные алгоритмы имеют структуру, аналогичную итерационным алгоритмам компоновки. У них для улучшения исходного размещения элементов на плате вводят итерационный процесс перестановки местами пар элементов.
В случае минимизации суммарной взвешенной длины соединений формула для расчета изменения значения целевой функции при перестановке местами элементов ri и rj, закрепленных в позициях tf и tg, имеет вид:
где p и h(p) - порядковый номер и позиция закрепления неподвижного элемента rp.
Если, то осуществляют перестановку ri и rj, что приводит к уменьшению целевой функции на, после чего делают поиск и перестановку следующего пара элементов и т.д.
Процесс заканчивается получением такого варианта размещения, для которого последующее улучшение за счет парных перестановок элементов невозможно.
Использование описанного направленного перебора сокращает число анализируемых вариантов размещения (в сравнении с полным перебором), но приводит к потере гарантии нахождения глобального экстремума целевой функции.
Алгоритмы данной группы характеризуются достаточно высоким быстродействием. Алгоритмы с групповыми перестановками элементов на практике используются редко через их сложность, которая часто не оправдывает степень улучшения результата.
Частичным случаем итерационного алгоритма является алгоритм Штейнберга или так называемый алгоритм парных перестановок.
Для решения заданий размещения все элементы считаются условно одногабаритными. Из всего множества элементов схемы выбирается подмножество, которое складывается из n-елементов которые не имеют общих электрических цепей. Дальше строится матрица стоимости, каждый элемент которой задает суммарную длину соединений элемента, при условиях установки его на каждую из обозначенных позиций. Для этого элементы переставляются по посадочным местам так, чтобы каждый элемент побывал на всех посадочных местах и сумма длин соединений заносится в соответствующую позицию матрицы стоимости. После анализа полученной матрицы стоимости элементы переставляются на посадочные места соответственно критерию минимальной суммарной длины соединений. Дальше, выбирается следующее подмножество n-независимых элементов и процедура повторяется. Итерации прекращаются в случае достижения минимальной суммарной длины связей или после завершения заданного количества итераций.
Последовательные алгоритмы основаны на предположении, что для получения оптимального размещения необходимо в соседних позициях располагать элементы, максимально связаны друг с другом. Сущность этих алгоритмов складывается в последовательном закреплении заданного набора конструктивных элементов на коммутационной плате относительно тех, что были установлены раньше. В качестве сначала закрепленных на плате элементов обычно выбирают разнимания, которые искусственно «раздвигают» к краям платы. При этом все контакты разниманий равномерно распределяются по секциям (столбцам и строкам координатной сетки). На каждом l шаге (l=1,2.,n) для установки на коммутационнуюx0 плату выбирают элемент из числа еще не размещенных, что имеет максимальную степень связности с ранее закрепленными элементами Rl-1. В большинстве используемых в это время алгоритмов оценку степени связности делают по одной из следующих формул:
где сіj - коэффициент взвешенной связности элементов i и j;
Jl-1 - множество индексов элементов, закрепленных на предыдущих l-1 шагах;
n - общее число размещенных элементов.
Если установочные размеры всех розташовуваних на плате элементов одинаковые, то избранный на дежурном шаге элемент x0 закрепляют в той позиции x0 из числа незанятых, для которой значение целевой функции x0 с учетом ранее размещенных элементов Rl-1 минимально.
В частности, если критерием оптимума является минимум суммарной взвешенной длины соединений, то
где dfj - расстояние между f-ой позицией установки элемента x0 и позицией размещенного раньше элемента rj;
Tl-1 - множество позиций, занятых элементами после (l-1)-го шага алгоритма.
Процесс размещения алгоритма заканчивается после выполнения n шагов алгоритма.
Алгоритмы, что используют последовательный процесс закрепления элементов в позициях, являются в это время самыми быстродействующими. Однако по качеству получаемого решения последовательные алгоритмы вступают итерационным. Поэтому их используют обычно для получения начального размещения элементов на плате.
Для размещения разногабаритных элементов наиболее эффективным является последовательно-групповой метод. Модель монтажного пространства представляется непрерывной плоскостью в координатах X,Y. Модель схемы - гиперграфом G(P,V), где P - множество выводов элементов; V - множество электрических цепей. Каждый элемент представляется прямоугольником, с указанием координат выводов элементов.
Для решения задания размещения элементов на плате по существующему файлу связей складывается матрица инциденций, что описывает число электрических соединений между всеми элементами схемы и строится граф всех связей. Дальше определяется минимальная размерность матрицы посадочных мест m x n, где m - число мест по горизонтали n - число мест по вертикали. Эта модель расширяется к размерам (2m-1) x (2n-1).
Первым в центр расширенной матрицы устанавливается элемент, который имеет наибольшее число влиятельных соединений, дальше устанавливается элемент, наиболее связан с максимально связанным элементом и эти элементы условно соединяются в одну группу. Потом устанавливается элемент, наиболее связан с этой группой и т.е., пока не будут определены посадочные места для всех элементов. При установке дежурного элемента минимизируется следующая функция:
Fi = Уk Уj (ЬjДxijk +вjДyijk) + Si
где: Si - неиспользованная площадь платы, связанная из разногабаритносттью элементов;
Ьj, вj =0, если и элемент не связан с j-тим;
Ьj=0, вj=4, если элемент связан с корпусом;
вj=0, если элемент связан со свободным выводом соединителя.
Во всех других случаях Ьj=1 вj=2, если і-тий элемент связан с j-тим
дxijkдyijk - разница соответственно между абсциссами и ординатами выводов устанавливаемого элемента с установленными,суммирование по k означает перебор по всем выводам устанавливаемого элемента, а суммирование по j - перебор по всем установленным элементам.
Далее при помощи системы ArtWork производим размещение элементов.
Общие сведения о системе ArtWork
Система позволяет сделать прорисовку контактных площадок, компонентов и трасс ортогонально-диагональной конфигурации для 2-слойных печатных плат (ПП), а именно получить послойные рабочие чертежи для их изготовления.
Программа Artwork состоит из модуля создания, корректировки и сохранения в файле изображений двухслойных плат EDIT.EXE и модуля вывода подготовленных изображений на принтер или плоттер DOT.EXE.
Программа EDIT.EXE
Диалог с программой ведется в двух режимах - командном и функциональном (с использованием функциональной клавиатуры и разных комбинаций клавиш). Переключение между режимами осуществляется клавишей <Enter>. Признаком командного режима имеется слово COMMAND > в нижней части екрана.
Командный режим.
В этом режиме используется 9 команд :
1) CLEAR - изображение платы на схеме размещения.
2) LOAD <имя файла> - загрузка изображения платы из внешнего файла, подготовленного раньше.
3) SAVE <имя файла> - сохранение изображения платы в файле.
4) MOUSE - подключение "мыши"
5) XLATE - соединение горизонтальной координаты Х левого края изображения на площади размещения с горизонтальной экранной координатой положения курсору и представление видимой в этом случае части изображения на экране.
6) CLEAVE <парам> - сдвиг изображения в границях площади размещения относительно позиции курсору на один дискрет (размер курсору или 1,25 мм) в направлении, отмеченном в параметре. Значение направления - один из четырех символов:
N(orth) - север
S(outh) - юг
W(est) - запад
E(ast) - восток
7) DIP <парам> <число конт> <размер> - расставляет контакты микросхем типа DIP (корпус с двурядным расположением выводов) относительно позиции курсору.
Значение параметра <парам> такие же,як и в команде CLEAVE.
При <парам> = N правый нижний контакт устанавливается на место курсору. Другие значения <парам> приводят к поворотам контактной маски относительно правого нижнего контакта, что отвечает положению курсору, в необходимом направлении
<число конт> - общее число контактов.
От значения параметра <размер> зависит расстояние между противоположными контактами микросхемы на площади размещения, что в дискретах равняется <размер> * 2 - 1.
Расстояние между соседними контактами - два дискрета.
8) SIP <парам> <количество конт> - размещение контактов микросхем типа SIP (корпус с однорядным расположением выводов) относительно позиции курсору.
Значение параметров и расположение контактной маски на площади размещения аналогично команде DIP.
Команду SIP можно использовать и для формирования рядов контактных площадок для однотипных элементов с двумя выводами (резисторов, конденсаторов и т.д.)
9) QUIT - выход в DOS.
Во время выполнения некоторых команд программа спрашивает:"DISCARD CURRENT WORKSPACE (Y/N)", то есть затирать ли рабочую область памяти, отведенную под площадь размещения. Это позволяет предотвратить потерю информации через невнимательность пользователя.
Функциональный режим.
Назначение некоторых клавиш и их комбинаций :
Клавиши F1-F8 используются после установки курсору в нужное место площади размещения.
F1 (или щегол левой кнопки мыши) - указание начала и конца соединения.
F2 (или щегол правой кнопки мыши) - уничтожение соединения.
F3 - установка контакта (создание переходного отверстия для ручной трассировки)
F4 - уничтожение контакта
F5 - увеличение толщины соединения
F6 - уменьшение
F7 - закрашивание площади под курсором
F8 - дублирование проведенного более раннее соединения
Alt + F1 - переключение видеорежима (color/mono)
Alt + F2 - изменение яркости фона в цветном режиме
Alt + F3 - изменение палитры в цветном режиме
Alt + F4 - переключение фона в цветном режиме
Alt + F5 - переключение палитры (3-х цветная/2-х цветная)
Alt + F6 - изменение цвета слоев
Alt + F7 - представление всей площади размещения на экране
Если NumLock не нажат :
<стрілки>- движение курсору в соответствующем направлении на одно дискрет
Home - перемещение курсору в левый нижний угол площади размещения
PgUp - переход на второй слой
PgDn - переход на первый слой
Если NumLock нажат :
<горизонт. стрелки> - движение курсору с шагом 10 дискрет
<вертик. стрелки> - движение курсору с шагом 5 дискрет.
Изображения печатных плат создаются на площади размещения, которая на экране представляется лишь частично. Размер видимой части площади размещения - это 1/20 часть всей площади размещения. Всю ее можно увидеть, нажавши Alt + F7 в функциональном режиме.
Была сделана проверка размещения элементов на плате . Для этого была составлена матрица связности которая отображает участие каждого элементу во все связках. Строка матрицы - это строка текстового файла, что описывает связь. Столбец - участие элемента в каждой связи.
На основании матрицы инциденций сделаем размещение элементов последовательно-групповым методом, что обеспечит наиболее высокую плотность размещения разногабаритных элементов в монтажном пространстве.
Условно считаем, что элементы, которые подлежат размещению (микросхемы) одногабаритные.
Количество микросхем на принципиальной схеме Z шт.= 9
Будем размещать их в матрице посадочных мест m x n >(или =) Z.
Для последовательно-группового метода расширяем ее к (2m-1) x (2n-1) = ....
Первый элемент, который имеет наибольшее число соединений - D3. Размещаем его в центре модели. Дальше размещаем элементы, наиболее связаны с ним.
При помощи последовательно - группового метода размещения было получено оптимальное размещение элементов:
Потом посредством программы EDIT был сложен файл размещения элементов на будущей плате. После автоматической трассировки был получен результат с 95% соединением элементов.
Не разведенными остались связки: (перечисление).
Посредством ручной трассировки этот недостаток был устранен.
3.3 Проанализировать полученные результаты и сделать выводы об эффективности использованных алгоритмов
В результате проведения данной работы были приобретены и закрепленные на практике навыки работы с программой ArtWork, выученные приемы и способы проектирования печатных плат посредством САПР. Размещение элементов на печатной плате было проведенный посредством последовательно-группового метода (и (или) метода Штейнберга); сначала был построен макет модели, потом модель была расширена с соответствующим размещением элементов. После запуска трассировку получили 95% успешного выполнения. Для более оптимального результата были переразмещены элементы ПП и после трассировки была выполнена минимизация связей вручную. Были использованы переходные отверстия . Их количество должно быть минимальным. В итоге получили 100%-е успешное выполнение трассировки, что отвечает требованиям задания.
Литература
1. Системы автоматизированного проектирования. В 9-ти кн.Учебное пособие для вузов. Под редакцией Норенкова И.П. М.: Высш. шк., 1986.
2. Норенков И.П. Введение в автоматизированное проектирование технических устройств и систем. Учебное пособие для вузов. - М.: Высш. шк., 1986.
3. П. Шеннен и др. Математика и САПР. т.1. М.: Мир, 1988.
4. Батищев Д.И. Методы оптимального проектирования. М.: Радио и связь, 1984.
5.Системы автоматизированного проектирования в радиоэлектронике. Справочник. М.: Радио и связь, 1986.
6. Погребной В.К. О декомпозиции графов на классы изоморфных подграфов. В кн.: Вопросы программирования и автоматизации проектирования. Изд. ТГУ, 1979, с. 82-96.
7. Петренко А.И. Основы автоматизации проектирования. К.: Техника, 1982. - 295 с.
8. Ильин В.Н.. Основы автоматизации схемотехнического проектирования. Г.: Энергия, 1979. - 392 с.
9. Демидович Б.П., Марон И.А. Основы вычислительной математики. Г.: Изд-во «Наука», 1966. - 664 с.
10.Разевиг В.Д. Система сквозного проектирования электронных устройств DesignLab 8.0.- М.: Изд-во «Солон»,1999. - 698 с.
11. Автоматизация схемотехнического проектирования на мини-эвм: Учебное пособие/ Под ред. Проф. Анисимова. Л. Изд-во ЛГУ, 1983. - 200 с.
12. Чуа Л.О., Пен-Мин Линь. Машинный анализ электронных схем: Алгоритмы и вычислительные методы. Пер с англ. Г.: Энергия, 1980. - 640 с.
13. Математическое и программное обеспечение САПР радиоэлектронной аппаратуры: Учебное пособие/ Огороднейчук И.Ф., Семенец В.В., Куник Э.Г. и др. К.: УМК ВО, 1988. - 104 с.
14. Копченова Н.В., Марон И.А. Вычислительная математика в примерах и задачах. Г.: Изд-во «Наука», 1972. - 365 с.
|