Синтез логических схем для хранения и переработки информации.
Синтез реверсивного регистра сдвига.
Регистр на 10 разрядов. Использовать триггеры типа D.
Решение
Регистры представляют собой узлы цифровых систем, предназначенные для записи и
хранения двоичных кодов. Например: Если необходимо сложить два числа А и В, то
необходима их предварительная запись в два регистра.
Т. к. Схема регистра должна хранить двоичные цифры, а триггер предназначен для
записи и хранения 0 или 1, то схема регистра должна содержать столько триггеров,
сколько двоичных цифр необходимо хранить. Обычно регистры строят, используя
триггеры типа D.
В качестве примера представим структуру регистра, предназначенного для записи и
хранения 4-ёх разрядных двоичных чисел.
В представленной схеме выходы Q3, Q2, Q1, Q0 являются прямыми выходами регистра,
в то время как необязательные выходы Q3, Q2, Q1, Q0 являются инверсными выходами
регистра.
Для реализаций операций сдвига влево/вправо могут использоваться либо
мультиплексоры, либо регистры. Регистр, способный сдвигать данные в обоих
направлениях, называется реверсивным сдвигающим регистром (РСР).
Синтез РСР.
Выполним синтез РСР на триггерах типа D.
Составим таблицу, в которой отразим текущее и следующее состояние каждого из
триггеров регистра. При этом будем полагать, что регистр 3-ёх разрядный. Так как
регистр должен сдвигать либо влево, либо вправо, то в этой таблице следует в
отдельном столбце записывать значение специального управляющего сигнала SL/R.
Кроме того, таблица будет содержать значения, которые нужно подавать на входы D
каждого из триггеров при переходе от текущего состояния в следующее состояние.
SL/Rtt+1D2D1D0
Q2Q1Q0Q2Q1Q0
0000000000
0001010010
0010100100
0011110110
0100000000
0101010010
0110100100
0111110110
1000000000
1001000000
1010001001
1011001001
1100010010
1101010010
1110011011
1111011011
Заполним диаграмму Вейча-Карно с тем, чтобы получить логические выражения для D2
, D1 , D0 . OOO1111O OOO1111O OOO1111O
OO 11OO 11 OO
O1 11O1 11 O1
11 11111111 11
1O 1O 1O 11
D2 = SL/R* Q1
D1 = SL/R* Q0 SL/R* Q2
D0 = SL/R* Q1
По полученным логическим выражениям синтезируем схему регистра.
На основе полученных логических выражений и синтезированной схемы можно получить
логическое выражение и схему для i-го триггера.
Di = SL/R* Qi - 1 SL/R* Qi + 1
На основе полученного выражения можно построить схему заданного регистра.
Задача№2
Синтез асинхронного двоичного счётчика, выполняющего прямой счёт, с модулем
счёта равным 26, используя триггеры типа D.
Решение
Самыми простыми двоичными счётчиками являются асинхронные двоичные
счётчики(АДС).Пусть к=3, тогда АДС с М=2^3 будет выглядеть:
Представленная схема является схемой АДС, обеспечивающего суммирование входных
импульсов ( с прымым счётом).
Представленная временная диаграмма поясняет работу асинхронного 3-х разрядного
счётчика.
Таблица переходов для прямого счёта записывается так:
000
001
010
011
100
101
110
111
Младший триггер счётчика срабатывает по срезу входных импульсов на линии clk.
Как видно из диаграммы состояние на выходе младшего триггера меняется после
каждого среза входных синхроимпульсов. Так как средний триггер синхронизируется
прямым выходом соседнего младшего триггера, то состояние на его выходе будет
менятся при формировании среза на выходе Q0 .Так же как и на Q2 .
Преимуществом этой схемы является простота структуры,наряду с этим есть огромный
недостаток: с ростом разрядности, то есть числа триггеров счётчика, возрастает
суммарная задержка срабатывания самого старшего триггера счётчика, что означает
необходимость уменшения частоты входных синхроимпульсов. Иначе говоря, в АДС
невозможно обеспечить высокие рабочие частоты.
Если вход синхронизации соседнего старшего триггера пдключить к обратному выходу
соседнего триггера, то счётчик станет вычитающим. В этом случае говорят,что
имеет место обратный счёт.
Осуществим синтез заданного АДС:
Определим количество триггеров log2 26=5.
Переведём число 26 из десятичной системы счисления в двоичную: 262 = 110102 .
Изобразим схему заданного АДС:
Задача№3
Синтез синхронного двоичного счётчика, выполняющего обратный счёт, с модулем
счёта равным 14, используя триггеры типа JK и логику И-НЕ.
Решение
Используем триггеры типа JK.
Определим количество триггеров.
M = log2 14 = 4
Строится таблица переходов счётчика. При этом ипсользуется таблица переходов
соответствующего триггера.
QtQt+1JK
000*
011*
10*1
11*0
Для счётчика с к = 14 таблица переходов будет выглядеть следующим
образом:Q3Q2Q1Q0Q3'Q2'Q1'Q0'J3K3J2K2J1K1J0K0
000011011*1*0*1*
11011100*0*00**1
11001011*0*11*1*
10111010*00**0*1
10101001*00**11*
10011000*00*0**1
10000111*11*1*1*
011101100**0*0*1
011001010**0*11*
010101000**00**1
010000110**11*1*
001100100*0**0*1
001000010*0**11*
000100000*0*0**1
11100000*1*1*10*
11110000*1*1*1*1
Строим диаграмму Вейча-Карно для функции управления J и K каждого из триггеров,
используя таблицу переходов счётчика.
По диаграммам выполним минимизацию соответствующих функций, то есть получаем
минимальные дизъюнктивные нормальные формы для всех сигналов J и
K.OOO1111OOOO1111OOOO1111OOOO1111O
OO1 OO****OO1 OO****
O1 O1****O1****O11
11****11 111****111 11
1O****1O1 11O1 1O****
По полученным выражениям можно построить схему заданного счётчика:
Задача№4
Синтез последовательного восьмиразрядного сумматора.
Решение
При сложении двоичных чисел на уровне I-го разряда необходимо учитывать двоичные
цифры ai и bi, а также возможный перенос из соседнего младшего разряда.
Элементарное устройство, выполняющее суммирование указанных двоичных цифр
называется полным одноразрядным двоичным сумматором (ПОДС).
Синтез ПОДС выполняется классическим путём, то есть начинается с таблицы
истинности. Функции, описывающие выходы Si и Ci зависят от 3-х переменных ai, bi
и ci ; поэтому таблица истинности будет выглядеть следующим
образом:aibiCi-1SiCiOOO1111O
00000O11
0101011 1
10010
11001
Логическая схема ПОДС в базисе И-ИЛИ-НЕ будет выглядеть следующим образом:
В общем случае нам необходимо складывать n-разрядные двоичные числа. Для
сложения таких чисел необходимо взять n ПОДС.
Структура n-разрядного двоичного сумматора называется сумматором с
последовательным распределением переноса.
Преимуществом такого сумматора является простота и низкая стоимость схемы.
Недостатком является его низкое быстродействие, то есть большое время
суммирования двоичных чисел.
Легко заметить, что время суммирования двоичных чисел на таком сумматоре
возрастает с ростом разрядности складываемых чисел.
Если требуется быстрое суммирование двоичных чисел независимо от их разрядности,
используют схему сумматора, в которой реализуется так называемый ускоренный
перенос. В таком сумматоре, наряду с одноразрядными двоичными сумматорами,
используется специальная схема ускоренного переноса. При этом одноразрядные
сумматоры складывают двоичные цифры исходных чисел с учётом переносов
вырабатываемых схемой ускоренного переноса. Так как подобная схема вычисляет все
переносы одновременно (параллельно), то при суммировании чисел не приходится
ждать последовательной генерации требуемых переносов.
На базе полученной схемы одноразрядного двоичного сумматора можно построить
заданный сумматор. При этом нужно осуществлять загрузку двух восьмиразрядных
чисел, а также сдвиг результата вправо.
Таким образом схема заданного сумматора будет выглядеть следующим образом: