Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмы конструирования.doc
Скачиваний:
358
Добавлен:
16.04.2013
Размер:
9.26 Mб
Скачать

Задача "перераспределения" выводов модуля

Указанная задача возникает перед началом трассировки и решается с целью дополнительного сокращения длины соединений "внутри" модуля (на МКП) и уменьшения числа возможных пересечений печатных проводников.

Для модуля такое перераспределение осуществляется внутри групп эквивалентных выводов (если таковые имеются в модуле), которые соответствуют логически эквивалентным входам функциональных элементов ячейки.

Различаются четыре вида эквивалентности ячеек:

  1. Инвариантность входов функциональных элементов

Рис. Входы 1 и 2 эквивалентны.

  1. Инвариантность групп входов ячейки

На Рис. Входы (1 2) эквивалентны входам (3 4). (Например, для логических ИМС 2И-НЕ)

  1. Инвариантность секций внутри модуля (Например, для ИМС – эквивалентность логических вентилей).

  2. Инвариантность ячеек схемы (Для ИМС – одинаковые ИМС).

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

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

Отметим, что эквивалентность ИМС учитывается на этапе размещения модулей на МКП. Методы решения задачи является аналогичными для всех видов инвариантности.

Исходными данными при решении задачи являются:

- множество эквивалентных секций в схеме ячейки,

- множество контактов одной секции, имеющие эквиваленты в другой аналогичной секции заданной ячейки,

- "матрица эквивалентности" секций в ячейке ||Cij||NxM, где Cij – номер j- того контакта i- той секции из группы эквивалентных секций,

- N – число секций, входящих в группу одной эквивалентности.

Пример.

В начальном варианте "внутренняя" трассировка соединений дает четыре потенциальных пересечения трасс.

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

Для этой цели поменяем местами секции D 1.1 и D 1.2.

Результат "перестановки" секций показан на Рис.

Все пересечения ликвидированы.

Подсчет изменения суммарной длины связей в итерационных алгоритмах

Эта процедура является общей для всех итерационных алгоритмов.

Исходные данные:

Задана модель 1 и матрица расстояний между посадочными местами, т.е.

R = ||rij|| и D = ||dij||

Требуется: подсчитать изменение числа связей при перестановке местами двух модулей.

Решение:

Если rij – число связей между модулями, dij – расстояние между ними на МКП, то суммарная длина связей между xi и xj равна Lij = rij * dij.

Суммарная длина связей между xi и другими модулями схемы равна

Li = rij*dij

Суммарная длина связей в схеме равна

L = rij*dij

Суммарная длина связей двух указанных модулей со всеми остальными равна

Lij = Li + Lj rij*dij = ris*dis + rjs * djsrij*dij =

= {( ris*dis + rjs * djs)} – rij * dij (1)

При перестановке модулей местами суммарная длина связей модулей запишется в виде:

Lji= {( rjs*dis + ris * djs)} – rij * dij (2)

т.к. расстояния между позициями модулей остаются прежними.

Вычитая (1) из (2) можно вычислить изменение суммарной длины связей при обмене двух модулей местами установки.

Lij = Lji – Lij = (rjs – ris) * (djs – dis)

Об эффективности алгоритмов размещения

Критериями оценки эффективности алгоритмов является точность решения задачи (оценивается по результатам трассировки или, перед трассировкой) - по минимуму суммарной длины связей). Этот критерий можно использовать только для задач определенного класса.

Имеющиеся статистические данные показывают, что:

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

- итерационные алгоритмы более эффективны. Причем более предпочтительными являются алгоритмы парных и групповых перестановок.