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

МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ ПО

ВОПРОСАМ СИНТЕЗА КС

И

УПРАВЛЯЮЩИХ АВТОМАТОВ

НА БАЗЕ БИС ПЛМ.

Синтез кс на бис плм.

Поскольку в общем случае сбф реализуется схемой из не­скольких ПЛМ, первоначально производится распределение сбф по отдельным ПЛМ. Одновременно с отбором конъюнкций для каждой ПЛМ устанавливается соответствие между переменными сбф и вхо­дами ПЛМ, а а также между функциями сбф и выходами ПЛМ. Затем строятся карты заполнения ПЛМ.

Если число конъюнкций в сбф не превышает числа конъюнкто­ров ПЛМ, то сбф распределяется по ПЛМ путем разбиения на под­системы с числом бф, не превышающим числа выходов ПЛМ. Каждая из этих подсистем реализуется отдельной ПЛМ. (При небольшом числе функций сбф может разместится в одной ПЛМ.)

Если конъюнкций в сбф больше чем конъюнкторов в ПЛМ, за­дача усложняется. Для каждой ПЛМ отбирается совокупность конъ­юнкций, из которых формируются функции либо части отдельных функций сбф. В последнем случае полностью реализованные бф даст объединение их частей. Способ объединения (дизъюнктивный или конъюнктивный) должен быть зафиксирован заранее, так как от него зависит вид днф сбф, распределяемых по ПЛМ.

Особенности синтеза КС из ПЛМ с конъюнктивно объединяемыми выходами.

1. Наиболее удобно иметь описание реализуемых бф в виде ДНФ их инверсий . Тогда, разделив ДНФ на несколько частей 1, 2,... q (здесь 12... q= ), можно получить эти ДНФ в ПЛМ1,ПЛМ2,...ПЛМq, а затем с помощью выходных инверторов ПЛМ получить 1, 2,... q. Конъюнктивно объединив выходы ПЛМ, мы получим & &...& =( )= = .

2. Если взять ДНФ для и разделить ее на 1, 2,... q так, что 12... q= ,а затем с помощью выходных инверторов ПЛМ получить 1, 2,... q и конъюнктивно объединить их выходы, то получиться & &...& =( )= . Мы получим вместо , но следует помнить, что получение инверсий бф вме­сто самих бф часто бывает полезно. Например, при передаче сиг­налов от УА к АЛУ через усилители инверторы, сбф, описывающие управляющие сигналы УА, нужно реализовывать в инверсном виде, для компенсации инверсии усилителей.

Алгоритм распределения конъюнкций сбф по плм.

Полагая, что мы имеем ПЛМ с конъюнктивно объединяемыми вы­ходами, в которых будут реализовываться сбф инверсные по отно­шению к заданным ДНФ, как это было рассмотрено выше, сформулируем алгоритмы распределения конъюнкций по ПЛМ.

Случай с числом функций в сбф, не превышающим числа выходов ПЛМ.

Если k - число конъюнкторов в ПЛМ, то общая совокупность конъюнкций сбф разбивается на J подмножеств.

, где K- число конъюнкций в сбф.

В каждом из подмножеств будет по k конъюнкций. Если K не делится нацело на k, то в одном из подмножеств конъюнкций бу­дет меньше. Для конъюнкций фиксируется принадлежность к функциям сбф, чтобы знать, какая часть сбф реализуется каждым из J подмножеств.

В результате сбф разделяется на J подсистем, каждая из которых размещается в отдельной ПЛМ. В дальнейшем подсистемы объединяются в исходную сбф при объединении выходов, реализующих части отдельных бф, не разместившихся в одной ПЛМ.

Пример

Пусть сбф с K=6 имеет вид:

= ab  cd  ac

= ab  mn  pq

= ap  mn  pq

Требуется реализовать не инверсные 1, 2 и 3 в ПЛМ с конъюнктивно объединяемыми выходами при k=4.

Для этого нужно разделить сбф по ПЛМ. (Столь малые величины K и k объясняются желанием минимизировать размер задачи.)

Совокупность K конъюнкций сбф разбивается на J=2 подмножества как:

В результате в ПЛМ1 получим:

= ab  cd  ac

= ab  mn

= mn,

а в ПЛМ2:

= pq

= pq  ap

На выходных инверторах ПЛМ получим , , , и .

Конъюнктивно объединяя одноименные выходы ( с и с )получим схему вида:

Случай с числом функций в сбф, превышающим число выходов ПЛМ.

Простейший способ решения этой задачи состоит в следующем. Исходная сбф разбивается на несколько так, чтобы в каждой число бф не превышало числа выходов ПЛМ. Разбиение желательно выполнять так, чтобы бф одной подсистемы имели много общих (одинаковых) конъюнкций (см. Приложение 1). Полученные части сбф обрабатываются как описано выше.

Такое распределение сбф по ПЛМ часто оказывается неудачным из-за того, что в ряде ПЛМ имеются неиспользованные выходы. Построенные так схемы обычно корректируют, перенося по

возможности на неиспользованные выходы части функций из других ПЛМ. Более эффективный, но и более сложный вариант распределения сбф по ПЛМ рассмотрен в Приложении 2.

Построение карты заполнения ПЛМ.

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

Конъюнкторы ПЛМ изображаются вертикальными ли­ниями с именами К1, K2, K3,... . В каждом конъюнкторе можно получить любую конъюнкцию входных переменных. Каждая входная переменная Х1, X2, X3, ... изображается парой горизонтальных линий, представляющих переменную и ее инверсию. (Верхняя линия для Хj, а нижняя для ее инверсии.) Если на пересечении верти­кальной линии Кi и горизонтальной Xj стоит метка, то в конъюнкцию Кi входит ХJ.

Дизъюнкторы ПЛМ изображаются горизонтальными линиями Y1, Y2, Y3,... , пересекающимися с вертикальными линиями конъюнкторов. Вхождение Кj в Yq задается меткой на пересече­нии Kj c Yq.

ПРИМЕР.

Пусть имеются следующие функции:

Здесь мы имеем 12 конъюнкций, но разных только 7, что по­требует 7 конъюнкторов. Число переменных равно 7, что требует 7 входов в ПЛМ. Число функций - 4, что требует у ПЛМ 4 выхода.

Необходимо реализовать сбф на ПЛМ, имеющей 16 входов, 48 конъюнкторов и 8 выходов, что явно возможно.

Алгоритм построения карты ПЛМ.

Выбираем в сбф первую необработанную ранее конъюнкцию. В данном примере сначала это будет . Если все конъ­юнкции ранее уже были обработаны, переходим к пункту 6.

  1. Выбираем очередной свободный столбец в ПЛМ. В данном примере это сначала будет К1.

  2. Отмечаем места пересечений выбранного столбца с перемен­ными, входящими в конъюнкцию. В данном примере сначала это будет 4 пересечения.

  3. Рассмотренную конъюнкцию отмечаем как обработанную в ДНФ всех функций сбф, в которых она встречается. В нашем примере сначала мы имеем дело с конъюнкцией , ко­торая встречается только один раз, а затем с конъюнкцией , которая встречается в сбф дважды : в f1 и в f2.

  4. Переходим к п.1

  5. Выбираем функции сбф и соответствующие им выходы ПЛМ. Отмечаем пересечение строки, соответствующей выбранному выходу, и столбцов, реализующих все входящие в функцию конъюнкции. В данном примере для функции 1 это столбцы К1, К2 и К3.

  6. Если реализованы все функции, конец прошивки. В против­ном случае идем на п.5

Ниже дана карта ПЛМ для вышеописанного примера и функцио­нальное обозначение ПЛМ на схеме, устанавливающее соответствие между переменными сбф и входами ПЛМ, а также функциями сбф и выходами ПЛМ.

Например, как

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]