Файл: Ландау И.Я. Применение ЦВМ для проектирования ЦВМ.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 27.06.2024

Просмотров: 91

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

79


Тип

Номер

Номер

Название

Cl

Элемента

элемента

контакта

цепи

 

 

Номер

Номер

Номер

 

 

элемента

элемента

элемента

 

Рис. 3-3. Фор.чаты списков Cl

п С2.

 

 

р -т- признак начала описания группы элементов ранга п, компонуемых в эле­ мент ранга л+1; далее идут номера этих элементов.

Пусть описание связей и указания по компоновке за­ даны списком связей С1 и списком компоновки С2 в формате, показанном на рис. 3-3. Для выбора очередно­ го элемента в группу необходимо знать количество свя­ зей его с уже отобранными элементами. Делать это по С1 неудобно, так как надо прослеживать все подходя­ щие к элементу цепи. Для этого можно построить по С1

матрицу связности

7'=||f,-j||, где t i j — число

связей

меж­

ду элементами

 

и

а;-

нз множества

А. Однако такая

матрица

займет

много

места

в памяти

(размерность ее

Pi

т

Номер

гп

 

Pi

Номер

m

Pi

Pi

Номер

 

m

элемента

 

цепи

 

элемента

Номер

Номер

 

 

т

Номер

 

Номер

к

 

 

цепи

контакта

 

элемента

элемента

 

 

 

 

 

 

 

Номер

Номер

 

 

т

Номер

 

Номер

к

 

 

цепи

контакта

 

элемента

элемента

 

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

 

 

 

 

Номер

Номер

 

 

т

Номер

 

Номер

k

 

цепи

контакта

 

элемента

элемента

 

 

 

 

 

 

P i

т

Номер

m

 

Pi

Номер

 

m

Pi

Pi

Номер

 

in

элемента

 

цепи

 

элемента

Номер

Номер

 

 

т

Номер

 

Номер

к

 

 

цепи

контакта

 

элемента

элемента

 

 

 

 

 

 

 

 

СЗ

 

 

 

С4

 

 

 

 

С5

 

 

Рис. 3-4. Форматы списков СЗ—С5.

 

 

 

 

 

 

 

Р\ — признак

начала группы;

р2— признак

компоновки; к — число связей

дан­

ного элемента с элементом, указанным в заголовке группы; т

— длина

группы

(число строк списка); Т — тип элемента.

80


равна N-N, где N — число элементов ранга

п),

причем

она будет иметь много нулевых элементов,

так

как не

все элементы из А связаны между собой. Поэтому лучше использовать специальный список связанных элементов. Для его построения С1 преобразуется в два списка: СЗ и С4. СЗ получается из С1 упорядочиванием по возраста­ нию номера элемента, а С4— упорядочиванием по воз­ растанию кода названия цепи (рис. 3-4). Для сокраще­ ния требуемого объема памяти при формировании этих списков из С1 исключается ненужная информация (тип и номер элемента для СЗ и номера контакта и цепи для

С4) и вводятся

специальные строки заголовка группы

с одинаковым номером элемента (номером цепи).

Затем

по СЗ строится

список связанных элементов С5

(рис.

3-4):

 

 

1. Из группы очередного элемента щ из СЗ выделяем

номер первой цепи п.

 

 

2. Из С4 выделяем элементы а'1,

,..., аг\

входящие

в цепь i\.

 

 

3. Выполняем этапы 1, 2 для всех

цепей

rit г%, ...

..., rh, входящих в группу элемента щ. В результате это­ го получаем подмножество Л* всех элементов множества Л, связанных с щ.

4. Определяем количество вхождений каждого эле­ мента в Лг и получаем список С5.

После построения С5 начинаем компоновку. Компо­ новка элемента'Lft ранга /г+1 начинается с первого элемента k-ii строки С2. При включении очередного

элемента а* в L>t

все

связанные с ним

элементы {аДг

из С5 включаются

в

список кандидатов

на компонов­

ку (СК).

Формат строки СК аналогичен формату С5, но в СК

нет заголовков и делений на группы. При включении

в СК очередной строки (ау-, АД из С5 элемент aj

сравни-

- вается с уже вошедшими в СК и элементами.

Если а;-

в СК и Lu нет, он заносится в СК. Если в СК уже есть

элемент а,, то к его числу связей vj добавляется

число

связей k j \ \ j = v j + kj.

Таким образом, Vj равно

числу

связей элемента aj со всеми элементами из L*.

 

После занесения в Lu всех элементов А-й

строки С2

определяются v — количество занятых мест

в Lu

и / —

количество внешних связей, вошедших в L^ элементов.

Если v > V

или f > F

(V — максимальное число посадоч­

ных мест,

a F — число выводов элемента ранга

п +1) ,

6—504

81


выполнить указания

по

компоновке невозможно.

Если

Р\<К

и /< Ё , заполнение

Lk продолжается до

тех

пор,

пока

не

окажется

 

v = V

или

f=F .

 

 

При этом кандидатом для занесения в Lk выбирается

элемент

из СК.

at,

имеющий

минимальную

связность

рi ~ ? i

Vi, где

=

 

"h

 

 

число связей элемен-

2 п1— общее

та щ со

 

 

 

/=1

 

А.

Элемент щ заносится

всеми элементами из

в Lh, если Z +pi^E . В противном случае компоновка Lh заканчивается (в Lh могут оставаться свободные места) и начинается компоновка Lk+1. При занесении в Lk оче­

редного элемента он вычеркивается из СК, а в его строке в С5 делается отметка о компоновке (признак рг). При выборе кандидата в СК по р%проверяется, не вошел ли он уже в какой-либо из Li. ■

Если очередная строка С2

пуста (т. е. нет указаний’

о компоновке очередного Li),

то компоновка Д начина­

ется с первого свободного элемента С5.

Эта программа пригодна для компоновки элементов

любого ранга п> 2 пз элементов ранга

1

(т. е. ячеек

из модулей или базовых элементов,

блоков

из ячеек

п т. д.), поскольку

для них

правила

объединения эле­

ментов

ранга п— 1

(условие

1)

одинаковы

и

заключа­

ются в выполнении условий

V, f ^ F .

 

 

элементов

Для

компоновки

модулей

пз базовых

 

(ранг 2 пз ранга 1) правила объединения могут быть значительно сложнее и зависят от принятой системы элементов. В простейшем случае каждый модуль содер­ жит либо один базовый элемент, либо несколько одно­ типных (и не связанных между собой внутри модуля) базовых элементов. Для такой системы элементов мож­ но использовать описанную программу, но при выборе очередного а* из СК учитывать не только р,-, но и тип элемента.

После компоновки ячейки известны все внешние свя­ зи входящих в нее базовых элементов (связи с разъе­ мом). Поскольку с точки зрения трассировки все свя­ занные с разъемом элементы лучше размещать вблизи разъема, при компоновке базовых элементов в модули желательно все связанные с разъемом элементы объе­ динить в возможно меньшее число модулей. Для этого вводится дополнительный элемент (разъем), который заранее заносится в СК.

82


При компоновке элементов старших рангов (ячеек, блоков п т. д.) часто требуется, чтобы отдельные кон­ структивные элементы представляли собой логически завершенные узлы. Это может быть выполнено с по­ мощью указаний по компоновке (список С2). Если такой способ не удовлетворяет разработчика (например, из-за слишком большого размера С2), компоновка этих эле­ ментов выполняется вручную.

Часто при компоновке кроме условий I—4 необходимо удов­ летворить требованиям, вытекающим из электрических характеристик применяемой системы элементов. Эти требования в большинстве слу­ чаев определяются ограничениями иа длину и характер связей между элементами некоторых типов (например, маломощными ис­ точниками сигналов и приемниками этих сигналов). Для выполнения этих требований соответствующие элементы в результате компонов­ ки должны, быть включены в один элемент старшего ранга. Это может быть сделано программой компоновки по указаниям в С2, однако такой способ не всегда приемлем (поскольку требует слиш­ ком большого размера С2). Можно добиться этого, указав относи­ тельные веса связей и учитывая при компоновке кроме общего числа связей между элементами веса каждой связи; тогда при выборе кандидата на 'Включение в L* в первую очередь будут рассматри­ ваться те элементы, которые имеют связи с большим весом. Однако при этом усложняется программа компоновки, и не всегда легко выбрать правильные соотношения весов связей. Поэтому лучше вы­ полнить такое объединение перед компоновкой.

В результате объединения в исходной

схеме

выделяются груп­

пы элементов, которые

при компоновке

должны

рассматриваться

как один элемент. Будем

называть такие группы

псевдоэлементами

(ПЭ). При формировании очередного

ПЭ

из

списков

компоновки

(С2—С5) вычеркиваются

сведения о

вошедших

в ПЭ

элементах и

заносятся связи полученного ПЭ с остальной частью схемы. По­ скольку при этом теряются сведения о связях внутри ПЭ, вычерк­ нутые строки переносятся в новый список — библиотеку ПЭ. После формирования всех ПЭ производится собственно компоновка (во время компоновки при вычислении v после включения в L& какоголибо ПЭ должны учитываться входящие в этот ПЭ элементы исход­ ной схемы). После окончания компоновки в Lk СЗ и С4 ПЭ заменя­ ются составляющими их элементами исходной схемы. Для этого используется библиотека ПЭ.

В каждом ПЭ будем различать «ядро» и «оболочку». Ядром на­ зовем элемент, с которого начинается формирование данного ПЭ (например, маломощный источник сигнала); оболочкой— связанные с ядром элементы (приемники этого сигнала). Элементы оболочки могут быть вторичными ядрами, что позволяет строить ПЭ, содер­ жащие разветвленные цепочки. Сведения о том, какие типы элемен­ тов являются ядрами' и какие их связи должны рассматриваться при образовании оболочки, указываются в библиотеке базовых .эле­ ментов.

Формирование ПЭ производится путем просмотра списка элемен­ тов (СЗ). После выделения из списка очередного ядра определяем номера цепей, образовывающих оболочку, и из С4 выбираем элемен­ ты оболочки. Если среди них оказалось вторичное ядро, то повто-

*

83