Постановка задачи и критерии компоновки

Компоновка - задача определения состава конструктива каждого элемента.

Две подзадачи компоновки:
1. Покрытие - переход от логических схем к принципиальным (использующим схемно-унифицированные модули - микросхемы)
2. Разбиение - разрезание схемы на куски (конструктивная унификация)

Критерии в задаче покрытия: (меньше - лучше)
1. Суммарная стоимость микросхем
2. Общее число микросхем
3. Число типов используемых микросхем
4. Количество связей между микросхемами
5. Количество неиспользуемых элементов микросхемы

Ограничения в задаче покрытия:
1. Обеспечение теплового режима
2. Обеспечение помехозащищенности
3. Простота диагностики и эксплуатации

Постановка задачи покрытия:
Имеется:
1. Набор элементов E = {e1,..., en}. t(ei) - тип элемента, один из {t1,..., tl}
2. Набор микросхем M = {M1,..., Mh}
3. Количественный состав схемы по типам K = {K1,..., Kl}. Ki - количество элементов i-го типа, то есть Σ(1, l) Ki = n
4. Матрица состава микросхем по элементам А = ||art||hxl - элемент аij показывает, сколько в i-й микросхеме элементов j-го типа
5. Цена микросхемы C1,..., Ch
Цена решения С = Σ(1, h) СiXi, где Xi - количество используемых микросхем i-го типа.
Необходимо набрать нужное количество элементов:

Σ(1, h) aitXi ≥ Kt для всех (типов) t = 1,..., l (1)
6. Yst = 1, если элементом s можно реализовать элемент t, и 0 - в противном случае
Тогда (1) запишется в виде Σ(1, h) aitXi - Σ(1, l) Yti + Σ(1, l) Yit ≥ Kt для t = 1,..., l (2)

Критерии в задаче разбиения:
1. Минимизация числа межблочных соединений.

2. Минимизация числа образующих блоков.
3. Задержки распространения сигналов.
4. Электромагнитная и тепловая совместимость элементов.

Ограничения в задаче разбиения:
1. Число элементов в блоке.
2. Количество внешних выводов.
3. Суммарная площадь, занимаемая элементами и соединениями.


5. Компоновка схем в схемно-унифицированные типовые конструкции.

Алгоритм покрытия (приближенный)
Пусть Yts = 0. Помимо минимизации стоимости (I), также минимизируем связи между микросхемами (II). Рассмотрим минимизацию стоимости (I). Общая идея - жадный алгоритм, стараемся использовать самые дешевые микросхемы.
1. Микросхемы упорядочиваются по стоимости: Сi ≤ Ci+1
2. r = 1
3. Определение локального минимального числа микросхем:
а) Srt = ⌊Kt/art⌋ (art ≠ 0, Kt ≠ 0) для всех t = 1,..., l
б) Sr = min {Srt} по всем t
4. Находим вектор непокрытых элементов: Кr = Kr-1 - SrAr (это векторная операция, а верхний индекс здесь отражает состояние вектора K на r-ом шаге)
5. r = r+1
6. Если есть непокрытые элементы (Kr > 0), то:
а) если r < h (еще есть типы микросхем), то переходим к пункту 3
б) если r = h, переходим к пункту 2 (второй и последующие проход)
7. Xr = сумма Sr по всем проходам

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

  t1 t2 t3 t4
M1 2 1 0 0
M2 0 1 1 0
M3 1 0 0 1

 Пример Þ Дано:  1. Схема из 11 элементов (e1,..., e11). Из них 5 - типа t1, 4 - типа t2, по одному - t3 и t4 => K0 = (5, 4, 1, 1)
2. Три типа микросхем: например, микросхема типа M1 содержит 1 эл-т типа t2 и 2 эл-та типа t1 и т. д. Матрица А имеет вид ®
Выполнение алгоритма: 1. Пусть микросхемы уже отсортированы по стоимости: М1< М2< М3
2. r = 1

Тип микросхемы Число микросхем t1 t2 t3 t4 Всего
M1 3 6 3 0 0 9
M2 1 0 1 1 0 2
M3 1 1 0 0 1 2
Всего 5 7 (5) 4 (4) 1 (1) 1 (1) 13 (11)

 3. S11=⌊5/2⌋=2, S12=⌊4/1⌋=4. a13=a14=0, поэтому S13 и S14 не считаются. S1=min(S11, S12)=2.
4. K1=K0 - S1A1=(5, 4, 1, 1) - 2 * (2, 1, 0, 0)=(1, 2, 1, 1)
5. r = 2 ® 3. S22=⌊2/1⌋=2, S23=⌊1/1⌋=1 => S2=1
4. K2 = K1 - (0, 1, 1, 0) = (1, 2, 1, 1) - (0, 1, 1, 0) = (1, 1, 0, 1)
5. r = 3 ® 3. S31=1, S34=1 => S3=1
4. K3 = K2 - (1, 0, 0, 1) = (0, 1, 0, 0)
2. r = 1 (начинается второй проход)
3. S12 = 1 => S1' = 1
4. К4 = К3 - (2, 1, 0, 0) = (-2, 0, 0, 0)
7. X1=S1+S1'=2+1=3, X2=S2=1, X3=S3=1

 

Этап II: минимизация связей между микросхемами. В микросхему помещается элемент, который имеет max число связей с уже размещенными в данной микросхеме элементами и min число связей с остальными эл-тами.
E1 = {e3, e6, e2, e5, e10, e9, e8, e1, e7} // это то, что можно положить в микросхему типа M1
M11 = {e5, e2, e3} // так как алгоритм приближенный, то элементы мы выбираем "на глаз". В данном случае элементы e5, e2 и e3 имеют нужные типы, связаны между собой и имеют лишь одну связь с остальными элементами.
M12 = {e8, e9, e10} ® E1 = {e1, e6, e7} ® M13 = {e1, e7} ® M21 = {e4, e6} ® M31 = {e11}


























































Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: