DC – устройства, предназначенные для преобразования двоичного позиционного кода в унитарный. Различают: По способу синхронизации – синхронные и асинхронные По структурному построению – линейные, пирамидальные и матричные По полноте преобразования – полные (двоичные) и неполные. У полных DC m входов и 2m выходов.
Рассмотрим пример DC 2 → 4:
a1 | a0 | y3 | y2 | y1 | y0 |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 1 | 0 | 0 |
1 | 1 | 1 | 0 | 0 | 0 |
y0 = ~a1 • ~a0; y1 = ~a1 • a0; y2 = a1 • ~ a0; y3 = a1 • a0.
Рассмотрим «красивый» способ получение формулы например для y20 в DC 5→32:
y20 = a4 • ~a3 • a2 • ~a1 • ~a0;
1 0 1 0 0
инверсия – 0, иначе – 1. Переведя число в 10 с/с получим 20.
Линейные DC самые быстрые однако, при увеличении количества входов возникает необходимость каскадирования элементов в связи с ограниченным количеством входов у реальных элементов. Входной сигнал поступает на половину всех элементов что ограничивается электрическим сигналом (коэффициент разветвления) следовательно, этот сигнал нужно усиливать. Поэтому, как правило, линейные DC ограничиваются 2..8 входами.
Учитывая, что на выходе DC получаем унитарный код следовательно, каждому выходу DC можно поставить в соответствие клетку карты Карно и использовать это при минимизации. Пример DC 4→10:
<карта Карно DC 4 → 10>
Например, y9 = a3 • a1. Остальные формулы рекомендуется получить самостоятельно.
Рассмотрим порядок синтеза пирамидального DC: построить DC 1→2 Используя каскадное соединение каждому выходу DC предыдущего каскада добавить два элемента И на один из которых подключить следующую адресную переменную, а на другой – ее инверсию. Повторить n-1 раз. Выполнить нумерацию выходов.
Пример пирамидального DC 3→8:
<Схема пирамидального DC 3→8 (y1,y5)>
На приведенной выше схеме отмечены выходы y1 и y5. Остальные выходы рекомендуется пронумеровать самостоятельно.
<ФСХ матричного DC>
где
Порядок синтеза: Разделить адресные входы на две равные группы. Выполнить синтез ВДШ и ГДШ. Построить КДШ. Выполнить распределение адресных входов и нумерацию выходов.
Пример матричного DC 4→16:
<Схема матр. DC 4→16>
Линейные DC самые быстрые, но если входов больше 8 необходимо выполнить каскадирование. Пирамидальные DC самые медленные но являются регулярными по структуре (используются только элементы 2И), более оптимальны по аппаратурным затратам при реализации в виде интегральных схем либо по площади на кристалле при количестве входов от 5 до 8. Матричные DC – промежуточные по быстродействию, более оптимальны по оборудованию при большом количестве входов.
Для построения этой схемы используются только DC с управляющим входом, соединенные каскадно. При этом каждый выход DC предыдущего каскада подключается к управляющему входу DC следующего каскада.
Определение количества каскадов:
, где Ар и Аб – количество адресных входов результирующего и базового DC соответственно.
Определение количества DC в выходном каскаде:
, где Nр и Nб – количество выходов результирующего и базового DC соответственно.
Построение схемы.
Распределение адресных входов. Для полного DC можно использовать любое распределение, для неполного – более старшие адресные входы подключаются к более ближним ко входу каскадам.
Пример DC 4→12 на базе DC 2→4.
nк = 2, Nвых = 3.
<схема DC 4→12 на базе DC 2→4>
То что есть:
Хорошо бы еще разбавить всю эту «сухую» теорию практическими примерчиками ;)