====== DC и способы его построения ====== ===== Дешифраторы (DC). ===== DC – устройства, предназначенные для преобразования двоичного позиционного кода в унитарный. Различают: По способу синхронизации – синхронные и асинхронные По структурному построению – линейные, пирамидальные и матричные По полноте преобразования – полные (двоичные) и неполные. У полных DC m входов и 2m выходов. ==== Линейный DC. ==== Рассмотрим пример 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 можно поставить в соответствие клетку карты Карно и использовать это при минимизации. Пример DC 4->10: <карта Карно DC 4 -> 10> Например, y9 = a3 • a1. Остальные формулы рекомендуется получить самостоятельно. ==== Пирамидальный DC. ==== Рассмотрим порядок синтеза пирамидального DC: построить DC 1->2 Используя каскадное соединение каждому выходу DC предыдущего каскада добавить два элемента И на один из которых подключить следующую адресную переменную, а на другой – ее инверсию. Повторить n-1 раз. Выполнить нумерацию выходов. Пример пирамидального DC 3->8: <Схема пирамидального DC 3->8 (y1,y5)> На приведенной выше схеме отмечены выходы y1 и y5. Остальные выходы рекомендуется пронумеровать самостоятельно. ==== Матричный DC. ==== <ФСХ матричного DC> где * ВДШ – вертикальный DC, * ГДШ – горизонтальный DC - обычные DC любого типа. * КДШ – координатный DC - объединение всех выходов ВДШ и ГДШ по И. Порядок синтеза: Разделить адресные входы на две равные группы. Выполнить синтез ВДШ и ГДШ. Построить КДШ. Выполнить распределение адресных входов и нумерацию выходов. Пример матричного DC 4->16: <Схема матр. DC 4->16> ==== Сравнительная характеристика DC: ==== Линейные DC самые быстрые, но если входов больше 8 необходимо выполнить каскадирование. Пирамидальные DC самые медленные но являются регулярными по структуре (используются только элементы 2И), более оптимальны по аппаратурным затратам при реализации в виде интегральных схем либо по площади на кристалле при количестве входов от 5 до 8. Матричные DC – промежуточные по быстродействию, более оптимальны по оборудованию при большом количестве входов. ==== DC на базе 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> ===== ToDo: ===== То что есть: * Нарисовать все рисунки, * «Красиво» оформить все формулы, * Добавить примеры по Картам Карно и подробно расписать, * Придумать упражнения для самостоятельной работы. === В планах: === * Всевозможные DC, MX, CD, (одни на базе других и т.д.) * Синхронные/асинхронные тирреры * Регистры * Счетчики * Теория ин-фы и кодирования (Коды обнаруживающие и исправляющие ошибки – Блоковые коды, код по паритету, групповой код, коды Хемминга, коды БЧХ, Рида-Соломона и д.р.) * УА Мили/Мура * Представление чисел в ЦЭВМ (ПК, ОК, ДК, ПН, ОН) и ОА – схемы «+», «-», «*», «/» для целых чисел и чисел с ПЗ Хорошо бы еще разбавить всю эту «сухую» теорию практическими примерчиками ;)