- •Теоретические основы анализа и логического проектирования дискретных устройств
- •Оглавление
- •Введение
- •1. Дискретные элементы и устройства
- •1.1. Основные понятия и определения
- •1.2. Классификация, отличительные особенности и свойства дискретных элементов
- •1.3. Вопросы для тестирования полученных знаний и закрепления усваиваемого материала
- •2. Элементы алгебры логики
- •2.1. Функции алгебры логики
- •2.1.1. Основные понятия и определения
- •2.1.2. Функции одного и двух аргументов
- •Функции одного аргумента
- •Функция двух аргументов
- •2.1.3. Вырожденные функции
- •2.1.4. Принцип суперпозиции функций алгебры логики
- •2.1.5. Интерпретация функций ал с использованием теории множеств
- •2.1.6. Способы задания функций алгебры логики
- •2.2. Основные законы и тождества алгебры логики
- •2.3. Нормальные формы представления функций алгебры логики и способы получения данных форм
- •2.3.1. Формы представления функций алгебры логики
- •2.3.2. Способы получения нормальных форм представления функций алгебры логики
- •2.4. Реализация функций алгебры логики на основе релейно-контактных и бесконтактных логических элементов
- •2.5. Функционально полные системы функций алгебры логики. Базис и его выбор
- •2.5.1. Функционально полные системы функций алгебры логики
- •Принадлежность функции двух аргументов к соответствующим классам
- •2.5.2. Понятие базиса и его выбор при реализации логических схем
- •Реализация функций, входящих в наиболее часто используемые базисы
- •2.6. Минимизация функций алгебры логики
- •2.6.1. Постановка задачи минимизации и методы её решения
- •2.6.2. Использование карт Карно для минимизации функций алгебры логики
- •2.6.3. Минимизация функций ал методом Квайна
- •2.6.4. Алгоритм Квайна – Мак-Класки
- •Разложение минимизируемой функции на простые импликанты
- •Импликантная таблица минимизируемой функции
- •Минимизация функции методом Квайна – Мак-Класки
- •2.7. Вопросы для тестирования полученных знаний и закрепления усваиваемого материала
- •3. Анализ и синтез комбинационных схем
- •3.1. Задачи анализа и логического проектирования комбинационных дискретных устройств
- •3.2. Анализ и синтез специальных комбинационных схем
- •3.2.1. Логическое проектирование шифраторов
- •3.2.2. Логическое проектирование дешифраторов
- •3.2.3. Логическое проектирование преобразователей кодов
- •Соответствие кодовых комбинаций на входах и выходах синтезируемого преобразователя кодов
- •3.3. Вопросы для тестирования полученных знаний и закрепления усваиваемого материала
- •4. Дискретные устройства с элементами памяти
- •4.1. Некоторые основные понятия и определения
- •4.2. Логическое проектирование триггерных схем
- •4.2.1. Асинхронные триггеры
- •4.2.2. Синхронные триггеры
- •4.2.3. Двухступенчатые триггеры и триггеры с динамическим управлением записью
- •4.2.4. Взаимозаменяемость различных триггерных схем
- •4.3. Вопросы для тестирования полученных знаний и закрепления усваиваемого материала
- •5. Анализ и синтез специальных цифровых схем с элементами памяти
- •5.1. Счётные схемы
- •5.1.1. Логическое проектирование асинхронных счётных схем
- •5.1.2. Логическое проектирование синхронных счётных схем
- •5.2. Проектирование делителей частоты
- •5.3. Синтез распределителей импульсов
- •5.4. Логическое проектирование регистров сдвига
- •5.5. Вопросы для тестирования полученных знаний и закрепления усваиваемого материала
- •6. Анализ и синтез конечных автоматов
- •6.1. Основные понятия теории конечных автоматов
- •6.2. Способы представления конечных автоматов
- •6.3. Алгебра событий и её применение при анализе конечных автоматов
- •Преобразование автоматом слов входного алфавита
- •6.4. Синтез конечных автоматов
- •Для модели Мура
- •Для модели Мили
- •Кодирование состояний синтезируемого автомата
- •Задание функций возбуждения триггеров автомата
- •6.5. Вопросы для тестирования полученных знаний и закрепления усваиваемого материала
- •Заключение
- •Рекомендуемый библиографический список
- •Теоретические основы анализа и логического проектирования дискретных устройств
- •680021, Г. Хабаровск, ул. Серышева, 47.
- •Теоретические основы анализа и логического проектирования дискретных устройств
5.1.2. Логическое проектирование синхронных счётных схем
Проектирование
синхронных счётных схем основывается
на использовании более формализованных
математических методов. Синтезируемая
схема представляется в виде логической
структуры, состоящей из n-триггеров,
используемых в качестве элементов
памяти, и некоторой комбинационной
схемы (рис. 5.3, а).
Сигналы с выходов триггеров поступают
на входы комбинационной схемы. Сигналы
с выходов комбинационной схемы поступают
на информационные входы триггеров.
Количество триггеров, требующихся для
реализации счётной схемы с модулем М,
определяется по формуле
.
таким образом, комбинационная схема производит преобразование поступающей на ее входы информации, с тем, чтобы с приходом очередного считываемого импульса осуществить требуемый переход счетчика из предыдущего состояния в последующее. Функции возбуждения Е1, Е2, каждого i-го триггера определены для одного и того же момента времени, как и их аргументы, представляющие собой выходные сигналы триггеров счетной схемы:
;
.
Следовательно, данные функции являются переключательными. Структура комбинационной схемы полностью определяется формируемыми ею функциями возбуждения триггеров. Поэтому при выбранном типе используемых триггеров задача логического проектирования счетной схемы заключается в составлении функций возбуждения каждого триггера и минимизации этих функций в заданном базисе.
При определении функций возбуждения каждого триггера схемы используют составленные для данного типа триггера матрицы переходов (рис. 5.3, б).
Каждая
строка матрицы соответствует одному
из совершаемых каждым триггером возможных
четырёх переходов:
,
,
и
.
Необходимые для
выполнения
данного перехода значения функций
возбуждения определяют на основании
алгоритма функционирования рассматриваемого
типа триггера. Например, для выполнения
D-триггером переходов
и
на вход триггера необходимо подать "0",
а для переходов
и
,
D должно быть равно "1" (см. рис. 5.3).
Если совершаемый переход полностью определяется одной функцией возбуждения триггера, то в качестве значения другой записывается символ "X", указывающий, что данная функция может принимать любое значение.
Рис. 5.3. Представление счётной схемы в виде логической структуры (а) и матрицы переходов для различных типов триггеров (б)
При записи матрицы
для DV-триггера для некоторых переходов
вместо численных значений функций
использованы неопределенные коэффициенты:
,
,
,
,
каждый из которых может принимать
значение "0" или "1". Использование
неопределенных коэффициентов обусловлено
совершением переходов
и
при трех возможных наборах функций
возбуждения D и V. Например, переход
для D=0 может происходить при любом
значении сигнала на входе V, а для D=1 –
только при подаче на вход V логического
нуля. Следовательно, если соответствующее
данному переходу значение функции D
обозначить через
,
то для определения V необходимо записать:
.
Методику логического
проектирования синхронных счетных схем
рассмотрим на примере синтеза на
JK-триггерах счётчика с М=10, называемого
двоично-десятичным счетчиком. Данный
счётчик последовательно
переходит из одного состояния в другое
под действием, поступающих на его вход
тактовых импульсов. Каждому состоянию
счётчика соответствует своё двоичное
число, считываемое с выходов схемы
–
и определяемое номером состояния
счётчика.
При построении рассматриваемой счётной схемы необходимо использовать четыре триггера (Т1, Т2, Т3, Т4). С целью определения функций возбуждения каждого триггера схемы составляется кодированная таблица переходов (табл. 5.1), в которой любому состоянию схемы ставится в соответствие определенное двоичное число. В левой части таблицы для моментов времени t (t =0, 1, ..., М) последовательно указываются все устойчивые состояния счетной схемы, а также состояния, в которые схема переходит в моменты времени t+1 (t = 1, 2,…,М, 0), т. е. после приема каждого следующего импульса. В правой части таблицы указываются значения функций возбуждения каждого триггера, необходимые для осуществления его перехода из состояния, определенного для момента времени t в состояние, определенное для момента времени t+1.
Таблица 5.1
Таблица переходов и требуемых для их реализации значений функций возбуждения счётчика
№ SI |
Значения выходов до и после поступления импульса |
Значения функций возбуждения триггеров |
||||||||||||||
t |
t+1 |
T4 |
T3 |
T2 |
T1 |
|||||||||||
Q4 |
Q3 |
Q2 |
Q1 |
Q4 |
Q3 |
Q2 |
Q1 |
J4 |
K4 |
J3 |
K3 |
J2 |
K2 |
J1 |
K1 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
X |
0 |
X |
0 |
X |
1 |
X |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
X |
0 |
X |
1 |
X |
X |
1 |
2 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
X |
0 |
X |
X |
0 |
1 |
X |
3 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
X |
1 |
X |
X |
1 |
X |
1 |
4 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
X |
X |
0 |
0 |
X |
1 |
X |
5 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
X |
X |
0 |
1 |
X |
X |
1 |
6 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
X |
X |
0 |
X |
0 |
1 |
X |
7 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
X |
X |
1 |
X |
1 |
X |
1 |
8 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
X |
0 |
0 |
X |
0 |
X |
1 |
X |
9 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
X |
1 |
0 |
X |
0 |
X |
X |
1 |
В качестве примера рассмотрим первую строчку табл. 5.1. Счетчик из состояния S0 (рис. 5.4), соответствующего следующему состоянию триггеров: Q4 = 0, Q3 = 0, Q2 = 0, Q1 = 0, после поступления очередного считываемого импульса должен перейти в состояние S1, определяемое как: Q4 = 0, Q3 = 0, Q2 = 0, Q1 = 1. Следовательно, для триггеров Т4, Т3, Т2 необходимо реализовать переход 00, а для триггера Т1 – переход 01. В соответствии с матрицей переходов JK-триггера (см. рис. 5.4) выбираем значения функций возбуждения, необходимые для осуществления данного перехода: J1 = 0, К4 = Х, J3 = 0, К3 = Х, J2 = 0, К2 = Х, J1 = 1, К1 = Х.
Рис. 5.4. Последовательность изменения состояний счётной схемы и минимизация функций возбуждения триггеров
Из состояния S1 (см. вторую строку табл. 5.1), определяемого положением триггеров: Q4 = 0, Q3 = 0, Q2 = 0, Q1 = 1, счётная схема должна перейти в состояние S2, соответствующее: Q4 = 0, Q3 = 0, Q2 = 1, Q1 = 0. Поэтому для триггеров Т4, Т3 необходимо реализовать переход 00, для триггера Т2 – переход 01, для триггера Т1 – переход 10. В соответствии с матрицей переходов JK-триггера (см. рис. 5.4) находим: J4 = 0, К4 = Х, J3 = 0, К3 = Х, J2 = 1, К2 = Х, J1 = Х, К1 = 1. Остальные строки таблицы заполняются аналогично.
Для определения функций возбуждения триггеров воспользуемся методом карт Карно. Каждую из восьми функций записываем в карту и производим минимизацию данной функции (см. рис. 5.4).
Структура счетчика, полученная на основе минимизированных функций возбуждения каждого триггера схемы, представлена на рис. 5.5, а. Временная диаграмма работы синтезированной схемы, характеризующая изменение сигналов на выходах триггеров при поступлении синхроимпульсов, приведена на рис. 5.5, б.
Рис. 5.5. Схема синтезированного двоично-десятичного счётчика (а) и временная диаграмма его работы (б)
При использовании других типов триггеров синтез синхронных счётных схем осуществляется аналогично рассмотренному выше примеру, с использованием построенной для данного типа триггера матрицы переходов (см. рис. 5.3) Пример логического проектирования счётной схемы с М=5 на D-триггерах приведён на рис. 5.6. Синтезируемая схема осуществляет счёт в двоичном коде от нуля до четырёх. Под действием поступающих на вход схемы управляющих сигналов ТИ счётчик последовательно переходит из одного состояния в другое, формируя на выходах триггеров двоичный эквивалент номера соответствующего состояния Si (рис. 5.6).
Полученная по результатам синтеза схемная реализация счётчика и временная диаграмма его работы при поступлении синхроимпульсов приведены на рис. 5.6.
Рис. 5.6. Пример синтеза на D-триггерах синхронного двоичного счётчика с М=4
При синтезе счетной
схемы на DV-триггерах в ряде полей карт
Карно вместо символа "X" будут
вписаны неопределенные коэффициенты.
В этом случае карты для D и V функций
возбуждения каждого триггера необходимо
рассматривать совместно, выбирая
накрытия с учетом взаимосвязи полей
карт, включающих неопределенные
коэффициенты. Например, если для одной
из карт коэффициент ai
принят, равным "1", то в поле другой
карты произведение, содержащее
,
независимо от значения
,
запишется как "0".
Рис. 5.7. Схема счётчика (а) и временная диаграмма его работы (б)
