Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Автоматизация.doc
Скачиваний:
1
Добавлен:
18.08.2019
Размер:
592.9 Кб
Скачать

28

Лабораторная работа №1

КОМПОНОВКА ТИПОВЫХ КОНСТРУКТИВНЫХ ЕДИНИЦ ЭВА

1. ЦЕЛЬ РАБОТЫ.

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

2. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

2.1. Введение

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

Возможны два варианта практической постановки задачи компоновки [1] .

  1. компоновка схем конструктивно унифицированными блоками, состав которых формируется непосредственно в процессе компоновки;

  2. компоновка схем функционально типизированными блоками из за-­ данного набора.

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

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

При решении задачи компоновки обычно попользуются следующие критерии оптимизации:

  1. минимальное число межблочных связей;

  2. минимальное количество блоков;

  3. минимальное число типов используемых блоков;

  4. возможно более полное использование блока, т.е. минимум не используемых в блоке элементов и т.д.

В качестве основных ограничений в задаче компоновки обычно выступают:

  1. максимальное число элементов в блоке;

  2. максимальное число внешних выводов;

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

Следует отметить, что принципиально для большинства постановок задач компоновки разработаны точные методы решения [1,2], однако для задач практической размерности точные алгоритмы не реализуются на ЭВМ. Поэтому в настоящее время наибольшее распространение, получи­ли приближенные алгоритмы, среди которых можно выделить следующие:

- последовательные,

- итерационные,

- использующие силовые функции.

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

2.2. Постановка задачи

Рассмотрим математическую постановку задача разбиения схемы устройства на блоки c известным числом эле­ментов S и количеством внешних выводов Р:

(1)

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

Выберем в качестве модели схемы гиперграф Н=(Е,V), в котором множество вершин соответствует множеству элементов устройства, а множество ребер множеству электрических цепей. Внешний разъем схемы, будем считать фиктивным элементом е0.

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

Гиперграф удобно представить в виде матрицы инцидентности:

Введем в рассмотрение матрицу решений, определяющую состав сформированных блоков:

На элементы матрицы накладываются следующие ограничения:

(2)

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

Получим формулу для определения количества межблочных связей.

Вначале получим формулу для числа внешних выводов блока Вj.

Каждая цепь в блоке Вj может или не потребовать вывода, или потребовать один вывод.

Цепь Vk не потребует вывода из блока Вj если либо все элементы, инцидентные ей, расположены в блоке Вj, либо ни один из элементов цепи Vk не расположен в блоке Вj. Цепь Vk потребует один вывод из блока Вj если среди элементов, инцидентных ей, хотя бы один расположен в блоке Вj и хотя бы один элемент - вне блока Вj. I

Учитывая (2), можно записать ограничение (I) на число внешних выводов блока Вj:

(3)

где

Для числа межблочных связей справедливо выражение:

. (4)

Выражение (4) получено с учетом того, что число межблочных связей, даваемых цепью Vk, на единицу меньше количества блоков, в кото­рые распределены элементы этой цепи.

Таким образом, необходимо найти такую матрицу решений , ко­торая минимизировала бы целевую функцию (4) при ограничениях (2), (3). Это задача нелинейного целочисленного программирования с булевыми переменными. Как уже указывалось, точные методы решения мой задачи (метод динамического программирования, метод ветвей и границ и др.) практически применимы лишь для задач небольшой размерности (n =15-20).

Ниже приведен один из распространенных приближенных алгоритмов решения задачи компоновки [l ].

2.3. Последовательный алгоритм компоновки

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

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

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

Рассмотрим подробнее формирование блока Вj. Будем считать, что блоки B1,B2,…,Bj-1 уже сформированы. Пусть Ij - мно­жество элементов, не распределенных в эти предшествующие блоки, т.е.

.

I. При выборе базового элемента для всех элементов вычисляется оценка L1 (х):

где V(x) - множество цепей, инцидентных элементу х, Е(Vк) множество элементов, инцидентных цепи Vк.

В блок распределяется элемент с максимальной оценкой L1(x).

Если таких элементов несколько, то выбирается элемент с меньшим номером.

2. На t-шаге формирования блока Вj имеется - множество элементов, распределенных к этому шагу в блок Вj. При определении очередного элемента для всех нераспределенных элементов вычисляется оценка L2 (х):

,

, (6)

где - множество цепей, инцидентных воем элементам блока Вj к шагу t , включая элемент х.

3. Для всех элементов X , для которых выполняется условие

L2 (х) Р (7)

вычисляется оценка L3(х):

, (8)

В блок включается элемент с максимальной оценкой L3(x). Еcли таких элементов несколько, то среди них выбирается элемент о минимальной оценкой L2 (x); если и таких элементов несколько, то выбирается элемент с минимальным номером.

4. Если ни для одного из элементов условие (7) не выполняется, то дополнение блока Вj прекращается и начинается формирование следующего блока (п.1).

5. Алгоритм заканчивает работу, когда все элементы распределены в блоки.

При практической реализации алгоритма вместо формул (6) для определения числа выводов из блока удобно попользовать формулы для приращения числа выводов из блока Вj при добавлении в него элемента х.

, (9)

где - количество выводов из блока Вj до добавления элемента х.

,

Рассмотрим работу алгоритма на примере. Пусть необходимо разбить схему, приведенную на рис.I, на таловые блоки с числом элемен­тов S3 и числом выводов из блока Р6, минимизируя количество межблочных связей.

Перед началом компоновки множество нескомпонованных элементов I1 содержит все элементы схемы. Для выбора базового элемента вычислим оценку L1 по формуле (5) для всех элементов множества I1. Результаты вычислений удобно свести в графу 2 таблицы.

В качестве базового элемента блока B1 выбираем элемент е7 с максимальной оценкой L1. Число выводов из блока - 5. Для осталь­ных элементов вычисляем оценку L2 по формуле (9); результаты сведем в графу 3 таблицы. Всего один элемент е8 может бить включен в блок B1 без нарушения контактного ограничения, поэтому оценка L3 здесь не считается. Таким образом, . Количество выводов из блока - 4.

Результаты вычисления всех оценок приведены в таблице.

L1

L2

L2

L3

L1

L2

L3

L2

L3

1

2

3

4

5

6

7

8

9

10

е1

4

5+3

4+3

-

4

-

-

-

-

е2

3

5+3

4+3

-

3

4+1

2

4+1

2*

е3

3

5+3

4+2

1

3

4+3

-

4+3

-

е4

4

5+2

4+2

2

3

4+0

3*

-

-

е5

3

5+2

4+0

2*

-

-

-

-

-

е6

2

5+2

4+2

0

2

4+1

1

4+1

1

е7

5

-

-

-

-

-

-

-

-

е8

4

5-1*

-

-

-

-

-

-

-

е9

2

5+3

4+2

1

2

4+2

1

4+2

1

Для выбора очередного элемента блока B1 вычислим оценки L2 для нескомпонованных элементов (графа 4 таблицы).

Для элементов е3, е4, е5, е6, е9 вычисляем оценки L3 (графа 5 таблицы). При одинаковых максимальных оценках L3 элемент е5, дает меньшее число выводов из блока, чем е4, поэтому состав блока B17, е8, е5). Число выводов - 4.

Формирование второго блока проведем аналогично первого (графы 6-10 таблицы).

Оставшиеся элементы е3, е6, е9 распределим в блок В3 с числом выводов 6.

В приведенной таблице знаком "*" помечены оценки, включаемых на текущем шаге в блок элементов, а знаком подчеркивания выделены оценки элементов, удовлетворяющие контактным ограничениям.

Количество межблочных связей - 10.

3. ПОРЯДОК ВЫПОЛНЕНИЙ РАБОТЫ

3.1. Расчетная часть

3.1.I.Провести разбиение заданной схемы "вручную" с помощью рассмотренного алгоритма.

  1. Представить графически результаты ручного разбиения схемы; определить число выводов из блоков и число межблочных связей.

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

3.2. Экспериментальная часть

  1. Подготовить ЭВМ к работе,

  2. Вызвав программу компоновки, в режиме диалога ввести запрашиваемые ЭВМ исходные данные.

  3. Получить распечатку машинного решения.

3.2.4. Сопоставить результаты разбиения "вручную" с результата­ми, полученными на ЭВМ.

  1. СОДЕРЖАНИЕ ОТЧЕТА ПО РАБОТЕ

  1. Исходное задание на компоновку.

  1. Результаты, полученные в пп. 3.1.1 - 3.1.2 расчетной части3.1.

  1. Результаты машинного решения, представленные графически.

  2. Анализ полученных результатов.

  3. Выводы по работе.

  1. КОНТРОЛЬНЫЕ ВОПРОСЫ

I. Какие модели электрических схем используются при решении задачи компоновки?

2. Назовите возможные варианты постановки задачи компоновки и используемые в ней критерии оптимизации.

  1. Как выбирается базовый элемент блока в последовательном алгоритме компоновки?

  2. Получите выражение для оценки L2 (х).

  3. Получите выражение для оценки L3 (х.)

Библиографический описок

I. Селютин В.А. Машинное конструирование электронных устройств. М.: Сов. радио, 1977, 381 с.

2; Морозов К.К., Одиноков В.Г., Курейчик В.М. Автоматизированное проектирование конструкций радиоэлектронной аппаратуры. М.: Радио и связь, 1983.278 с.