Содержание
1.
Введение
2.
Кодирование системы счисления
2.1.
Коды
2.2
Дуальный код
2.3
Арифметические операции с фиксированной запятой в дуальной системе
2.3.1.
Целочисленное сложение в дуальной системе
2.3.2.
Сложение чисел с фиксированной запятой
2.3.3.
Представление с одиночным дополнением (one's complement)
2.3.4.
Представление с двойным дополнением (точное дополнение, two's complement)
2.3.5.
Вычитание при представлении с точным дополнением
2.3.6.
Переполнение числового диапазона
2.3.7.
Умножение
2.3.8.
Деление
2.4.
Шестнадцатеричный код
2.5.
Восьмеричный код
2.6.
Код Грея
2.7.
Двоично-десятичный код
2.8.
Алфавитно-цифровой код
2.9.
Упражнения
3.
Переключательная алгебра
3.1.
Переключательная переменная и переключательные функции
3.2.
Двух разрядные переключательные функции
3.3.
Правила вычисления
3.3.1.
Каноническая дизъюнктивная нормальная форма (KDNF)
3.3.2.
Каноническая конъюнктивная нормальная форма (KKNF)
3.3.3.
Представление функций с помощью KKNF и KDNF
3.4.
Минимизация с помощью переключательной алгебры
3.5.
Упрощенный способ записи
3.6.
Логические символы
3.6.1.
Основная структура символа
3.7.
Индексация зависимости
3.7.1.
Зависимость по типу И (G)
3.7.2.
Зависимость по типу ИЛИ (V)
3.7.3.
Зависимость по типу EXOR (N)
3.7.4.
Зависимость со связью (Z)
3.7.5.
Зависимость с передачей (X)
3.8.
Упражнения
4.
Поведение логических вентилей
4.1.
Положительная и отрицательная логика
4.2.
Определение величин времени переключения
4.3.
Передаточная характеристика, запас по помехам
4.4.
Выходы
4.4.1.
Открытый коллектор (open collector)
4.4.2.
Выход с тремя состояниями
4.5.
Упражнения
5.
Схемотехника
5.1.
КМОП
5.1.1.
Fan-out
5.1.2.
Основные схемы NAND и NOR
5.1.3.
Передаточный вентиль
5.1.4.
Выход с тремя состояниями
5.1.5.
Свойства КМОП
5.2.
ТТЛ
5.2.1.
Нагружение выходов
5.3.
Эмиттерно-связанная логика (ELC)
5.4.
Интегрированная инжекционная логика (I2L)
5.5.
Потеря мощности и характеристики переключения транзисторных переключателей
5.6.
Упражнения
6.
Логические схемы
6.1.
Минимизация с помощью диаграммы Карно-Вейча
6.1.1.
Минимизация при использовании нормальных форм KDNF-типа
6.1.2.
Минимизация при использовании нормальных форм KKNF-типа
6.1.3.
Диаграмма Карно-Вейча для 2, 3, 5 и 6 входных переменных
6.1.4.
Неполностью заданные функции
6.2.
Способ Квина-Мак-Класки
6.3.
Другие направления оптимизации
6.3.1.
Преобразование И/ИЛИ логических схем в НЕ-И схемы
6.3.2.
Преобразование ИЛИ/И логических схем в НЕ-ИЛИ схемы
6.4.
Эффект времени задержки в логических схемах
6.4.1.
Структурное отрицательное воздействие
6.4.2.
Функциональное отрицательное воздействие
6.4.3.
Классификация отрицательных воздействий
6.5.
Упражнения
7.
Асинхронные драйверы
7.1.
Принципиальные особенности структуры драйверов
7.2.
Анализ асинхронного драйвера
7.3.
Систематический анализ
7.4.
Анализ с учетом времени задержки вентилей
7.5.
Элемент ЗУ
7.6.
RS-триггеры
7.7.
RS-триггеры с тактирующим входом
7.8.
D-триггер
7.9.
D-триггер с управлением по переднему фронту импульса
7.10.
Управление по переднему и заднему фронту
7.11.
JK-триггер
7.12.
T-триггер
7.13.
Пример
7.14.
Общее о триггерах
7.15.
Упражнения
8.
Синхронные триггеры
8.1.
Синтез драйверов (пример 1)
8.1.1.
Постановка задачи
8.1.2.
Формирование диаграмм состояний
8.1.3.
Структура машинного управления
8.1.4.
Формирование таблицы последовательности состояний
8.1.5.
Формирование таблицы управления и выходной таблицы
8.2.
Синтез драйверов (пример 2)
8.2.1.
Постановка задачи
8.2.2.
Формирование диаграмм состояний
8.2.3.
Формирование таблицы последовательности состояний
8.2.4.
Разработка логической схемы для управляющего сигнала
8.2.5.
Полная таблица состояний
8.2.6.
Полная диаграмма состояний
8.3.
Временные характеристики драйверов
8.4.
Упражнения
9.
Мультиплексоры и преобразователи кода
9.1.
Мультиплексор
9.1.1.
Реализация функций мультиплексора
9.2.
Преобразователи кода
9.2.1.
Преобразователь двоично-десятичного кода в десятичный код 7442
9.2.2.
Демультиплексор
9.2.3.
Генерация пучков функций
9.3.
Аналоговые мультиплексоры и демультиплексоры
9.4.
Упражнения
10.
Цифровые счетчики
10.1.
Асинхронные счетчики
10.1.1
Двоичные счетчики по модулю 8
10.1.2.
Счетчики по модулю 6
10.1.3.
Асинхронные возвратные счетчики
10.1.4.
Временные характеристики асинхронных счетчиков
10.2.
Синхронные счетчики
10.2.1.
4-битовый дуальный счетчик
10.2.2.
Счетчик по модулю 6 на основе кода Грея
10.2.3.
Синхронный 4-битовый двоичный счетчик со счетом в прямом и обратном направлении 74191
10.3.
Упражнение
11.
Сдвиговые регистры
11.1.
Временные характеристики сдвиговых регистров
11.1.1.
Сдвиговый регистр 74194
11.2.
Сдвиговый регистр с обратной связью
11.2.1.
Счетчик Мёбиуса, счетчик Джонсона
11.2.2.
Псевдослучайные последовательности
11.3.
Упражнения
12.
Арифметические блоки
12.1.
Полный сумматор
12.2.
Последовательный сумматор
12.3.
Сумматор типа Ripple-Carry
12.4.
Сумматор типа Carry-Look-Ahead
12.4.1.
Каскадирование сумматоров типа Carry-Look-Ahead
12.4.2.
Сравнение сумматоров
12.5.
Арифметико-логические счетные блоки (ALU)
12.6.
Примеры работы
12.7.
Компараторы
12.7.1.
2-битовые компараторы
12.7.2.
Каскадируемые компараторы
12.8.
Упражнения
13.
Цифровые ЗУ
13.1.
Принципиальные особенности структуры блоков ЗУ
13.2.
ROM
13.3.
PROM
13.4.
EPROM
13.5.
EEPROM
13.6.
EAROM
13.7.
NOVRAM
13.8.
RAM
13.9.
Статическое RAM
13.10.
Пример RAM
13.11.
Динамическое RAM
13.12.
Квазистатическое DRAM
13.14.
ЗУ по типу пожарных цепочек (FIFO)
13.15.
Пример FIFO
13.16.
Каскадирование ЗУ
13.17.
Расширение длины слова
13.18.
Увеличение емкости ЗУ
13.19.
Полное декодирование
13.20.
Частичное декодирование
13.21.
Линейное декодирование
13.22.
Упражнения
14.
Программируемые логические блоки
14.1.
Семьи специализированных в соответствии с применением ИС (ASIC)
14.2.
Программируемые логические ИС (PLD)
14.2.1.
Типы PLD
14.3.
ROM, EPROM, EEPROM
14.4.
PLA
14.5.
PAL
14.6.
GAL
14.7.
Программирование PLD блоков
14.8.
Тестирование
14.9.
Программируемые полем вентильные матрицы (FPGA)
14.10.
Структура FPGA
14.11.
Конфигурируемые логические блоки (CLD)
14.12.
Входные и выходные блоки
14.15.
Соединяющие проводники
14.16.
Программирование FPGA
14.17.
EPLD
14.18.
Пример EPLD: CY7C343
14.19.
Вентильные матрицы
14.20.
Структура канализированных вентильных матриц
14.21.
ASIC со стандартными ячейками
14.22.
ASIC с полным проектированием заказчика
14.23.
Упражнения
15.
Программное обеспечение разработки
15.1.
Способы проектирования цифровых схем
15.2.
ABEL
15.2.1.
Программа ABEL: адресный декодер
15.2.2.
Программа ABEL: драйвер
15.3.
Упражнения
16.
Принципы построения микропроцессоров
16.1.
Кооперирующиеся драйверы
16.2.
Драйверы и компьютер Ноймана
16.3.
Операционные элементы
16.3.1.
Архитектура операционных элементов
16.3.2.
Системы шин
16.4.
Проводящие элементы
16.5.
Микропрограммирование
16.6.
Упражнения
17.
Микропроцессор 8085А
17.1.
Структура 8085А
17.2.
Контактные площадки 8085А
17.3.
ЗУ и периферия
17.4.
Периферийные блоки
17.5.
Параллельный интерфейс 8255
17.6.
Процесс функционирования при выполнении команд
17.7.
Цикл захвата операционного кода (OF)
17.8.
Цикл считывания ЗУ (MR)
17.9.
Цикл записи в ЗУ (MW)
17.10.
Пример выполнения команды
17.11.
Прерывистое управление
18.
Программирование на языке Assembler
18.1.
Набор команд
18.2.
Команды переноса
18.3.
Адресация "Register"
18.4.
Адресация "Register Indirect"
18.5.
Адресация "Immediate"
18.6.
Адресация "Direct"
18.7.
Арифметические команды
18.8.
Логические операции
18.9.
Установка и гашение метки Carry-Flag
18.10.
Команда сдвига
18.11.
Разветвления программы
18.12.
Пример для одного скачка
18.13.
Команды для подпрограммы
18.14.
Команды для управления процессором
18.15.
Команды на языке Assembler
18.16.
Примеры программирования
18.17.
Программирование параллельного интерфейса 8255
18.19.
Передача данных в подпрограмму
18.20.
Упражнения
А. Приложения
А.1. Индексация зависимостей
А.2. Набор команд 8085А
Решение задач
Литература
Указатель технических терминов