Всю выборку микрооперации, подготовку операндов удобно выполнять на ПЛМ, т.к число переменных, используемых в ПЛМ довольно велико (до 48 конъюнкций в одном выражении). А на АЛУ проводить арифметические или логические операции.
С помощью ПЛМ можно исключить из схемы мультиплексоры, все логические элементы. Полученную схему легче реализовать на печатной плате так как уменьшается число входов/выходов т.е. уменьшается число дорожек. В схеме, собранной на элементах большой степени интеграции используется ПЛМ, матрицы программирования которых представлены на рисунках ниже.
Для наглядности синтеза удобно нарисовать следующую таблицу:
Y | S3 | S2 | S1 | S0 | M | CR | Операция |
Y0 | 1 | 1 | 1 | 1 | 1 | 1 | A |
Y1 | 1 | 1 | 1 | 1 | 1 | 1 | A |
Y2 | 1 | 1 | 1 | 0 | 1 | 1 | A+B |
Y3 | 1 | 0 | 1 | 1 | 1 | 1 | A*B |
Y4 | 1 | 1 | 1 | 0 | 1 | 1 | A+B |
Y5 | 0 | 1 | 1 | 0 | 1 | 1 | |
Y6 | 0 | 1 | 1 | 0 | 1 | 1 | |
Y7 | 1 | 1 | 1 | 0 | 1 | 1 | A+B |
Y81 | 0 | 0 | 0 | 1 | 0 | 0 | S A+B |
Y82 | 0 | 1 | 1 | 0 | 0 | 0 | S A-B |
Y91 | 1 | 1 | 1 | 1 | 1 | 1 | A |
Y92 | 1 | 1 | 1 | 0 | 1 | 1 | A+B |
Для входной шины:
S1 = 1
M = 1
CR = 1
Для выходной шины:
S3 = M = CR = Y9
S2 = S1 = A3 (1) *Y8 + Y9
S0 =
3 (1) *Y8 + R (1) *R (3) *Y9Так как для кодировки сигналов операций будет использован двоичный шифратор 8®3, то введём следующее соответствие:
Для получения функций, которые нужно сформировать на ПЛМ удобно построить следующую таблицу в которой прописаны операнды для АЛУ в каждый момент времени. Причём y0 - случай, когда нет сигнала на выполнение операций:
A1 | B1 | A2 | B2 | A3 | B3 | A4 | B4 | A5 | B5 | A6 | B6 | A7 | B7 | A8 | B8 | |
Y0 | R (1) | X | R (2) | X | R (3) | X | R (4) | X | R (5) | X | R (6) | X | R (7) | X | R (8) | X |
Y1 | 1 | X | 1 | X | 1 | X | 1 | X | 1 | X | 1 | X | 1 | X | R (8) | X |
Y2 | 2 (1) | 1 (1) | 2 (2) | 1 (2) | 2 (3) | 1 (3) | 2 (4) | 1 (4) | 2 (5) | 1 (5) | 2 (6) | 1 (6) | 2 (7) | 1 (7) | 2 (8) | 1 (8) |
Y3 | A1 (1) | X | 1 (2) | R (2) | A2 (3) | X | A2 (4) | X | A2 (5) | X | A2 (6) | X | A2 (7) | X | A2 (8) | X |
Y4 | A1 (1) | R (1) | A1 (2) | R (2) | A1 (3) | R (3) | A2 (4) | R (4) | A2 (5) | R (5) | A2 (6) | R (6) | A2 (7) | R (7) | A2 (8) | R (8) |
Y5 | R (1) | X | R (1) | R (2) | R (1) | R (3) | R (1) | R (4) | R (1) | R (5) | R (1) | R (6) | R (1) | R (7) | R (1) | R (8) |
Y6 | S6 (1) | R (1) | S6 (2) | R (2) | S6 (3) | R (3) | S6 (4) | R (4) | S6 (5) | R (5) | S6 (6) | R (6) | S6 (7) | R (7) | S6 (8) | R (8) |
Y7 | R (1) | 1 (1) | S7 (2) | X | S7 (3) | X | S7 (4) | X | S7 (5) | X | S7 (6) | X | S7 (7) | X | S7 (8) | X |
На первой ПЛМ будут реализованы следующие функции:
,На второй ПЛМ будут реализованы следующие функции:
На третьей ПЛМ будут реализованы следующие функции:
P = R (1)
A1 (1)На четвертой ПЛМ будут реализованы следующие функции:
L = Y8 + Y9
H =
8 * 9Реализация шины В.
Для получения функций, которые нужно сформировать на ПЛМ удобно построить следующую таблицу в которой прописаны операнды для АЛУ в каждый момент времени.
W1 | V1 | W2 | V2 | W3 | V3 | W4 | V4 | W5 | V5 | W6 | V6 | W7 | V7 | W8 | V8 | |
Y81 | R (1) | A3 (1) | R (2) | A3 (2) | R (3) | A3 (3) | R (4) | A3 (4) | R (5) | A3 (5) | R (6) | A3 (6) | R (7) | A3 (7) | R (8) | A3 (8) |
Y82 | R (1) | A3 (1) | R (2) | A3 (2) | R (3) | A3 (3) | R (4) | A3 (4) | R (5) | A3 (5) | R (6) | A3 (6) | R (7) | A3 (7) | R (8) | A3 (8) |
Y91 | R (1) | X | (2) | X | (3) | X | (4) | X | (5) | X | (6) | X | (7) | X | (8) | X |
Y92 | R (1) | A3 (1) | R (2) | A3 (2) | R (3) | A3 (3) | R (4) | A3 (4) | R (5) | A3 (5) | R (6) | A3 (6) | R (7) | A3 (7) | R (8) | A3 (8) |
Y81
A3 (1) = 0Y82
A3 (1) = 1Y91
R (1) *R (3) = 1Y92
R (1) *R (3) = 0На пятой ПЛМ, реализующую шину В получим:
W1 = R (1) *Y8 + R (1) *Y9
V1 = A3 (1) *Y8 + (A3 (1) * (
)) *Y9S3 = M = CR = Y9
S2 = S1 = A3 (1) *Y8 + Y9
S0 =
3 (1) *Y8 + R (1) *R (3) *Y9W2 = R (2) *Y8 + (
(2) *R (1) *R (3) +R (2) * ( )) *Y9V2 = A3 (2) *Y8 + (A3 (2) * (
)) *Y9W3 = R (3) *Y8 + R (3) *Y9
На шестой ПЛМ, реализующую шину В получим:
V3 = A3 (3) *Y8 + (A3 (3) * (
)) *Y9W4 = R (4) *Y8 + (
(4) *R (1) *R (3) +R (4) * ( )) *Y9