Реферат: Синтез логических схем для хранения и переработки информации

--PAGE_BREAK--Задача№2
Синтез асинхронного двоичного счётчика, выполняющего прямой счёт,  с модулем счёта равным 26, используя триггеры типа D.
Решение
Самыми простыми двоичными счётчиками являются асинхронные двоичные счётчики(АДС).Пусть к=3, тогда АДС с М=2^3 будет выглядеть:

<img width=«488» height=«146» src=«ref-1_410611195-12184.coolpic» v:shapes="_x0000_i1026">

Представленная схема является схемой АДС, обеспечивающего суммирование входных импульсов ( с прымым счётом).
<img width=«482» height=«145» src=«ref-1_410623379-576.coolpic» v:shapes="_x0000_i1027">

Представленная временная диаграмма поясняет работу асинхронного 3-х разрядного счётчика.

            Таблица переходов для прямого счёта записывается так:

            000                              Младший триггер счётчика срабатывает по срезу входных

<img width=«10» height=«75» src=«ref-1_410623955-243.coolpic» v:shapes="_x0000_s1254">            001                              импульсов на линии clk. Как видно из диаграммы состояние

            010                              на выходе младшего триггера меняется после каждого среза

            011                              входных синхроимпульсов.Так как средний триггер

            100                              синхронизируется прямым выходом соседнего младшего

            101                              триггера, то состояние на его выходе будет менятся при

            110                              формировании среза на выходе Q0 .Так же как и на Q2 .

            111

Преимуществом этой схемы является простота структуры, наряду с этим есть огромный недостаток: с ростом разрядности, то есть числа триггеров счётчика, возрастает суммарная задержка срабатывания самого старшего триггера счётчика, что означает необходимость уменшения частоты входных синхроимпульсов. Иначе говоря, в АДС невозможно обеспечить высокие рабочие частоты.

            Если вход синхронизации соседнего старшего триггера пдключить к обратному выходу соседнего триггера, то счётчик станет вычитающим. В этом случае говорят, что имеет место обратный счёт.

            Осуществим синтез заданного АДС:

Определим количество триггеров log2 26=5.

Переведём число 26 из десятичной системы счисления в двоичную: 262 = 110102 .
Изобразим схему заданного АДС:

<img width=«530» height=«174» src=«ref-1_410624198-11787.coolpic» v:shapes="_x0000_i1028">
Задача№3

Синтез синхронного двоичного счётчика, выполняющего обратный счёт, с модулем счёта равным 14, используя триггеры типа JKи логику И-НЕ.
Решение
Используем триггеры типа JK.

1)      Определим количество триггеров.

M= log2 14 = 4

2)      <img width=«14» height=«38» src=«ref-1_410635985-305.coolpic» v:shapes="_x0000_s1256"><img width=«14» height=«38» src=«ref-1_410635985-305.coolpic» v:shapes="_x0000_s1255">Строится таблица переходов счётчика. При этом ипсользуется таблица  переходов соответствующего триггера.

                                           J= 1     запись 1                    J= 0        хранение.Выход не

                                          K= 0                                       K= 0                       меняется

<img width=«14» height=«38» src=«ref-1_410636595-311.coolpic» v:shapes="_x0000_s1257"><img width=«14» height=«38» src=«ref-1_410636595-311.coolpic» v:shapes="_x0000_s1258"><img width=«39» height=«9» src=«ref-1_410637217-204.coolpic» v:shapes="_x0000_s1259"><img width=«104» height=«89» src=«ref-1_410637421-2203.coolpic» v:shapes="_x0000_i1029">                  J= 0     запись 0 (сброс)      J= 1               0          1

<img width=«39» height=«10» src=«ref-1_410639624-206.coolpic» v:shapes="_x0000_s1260">                                          K = 1                                       K = 1               1          0

Qt

Qt+1

J

K







*



1

1

*

1



*

1

1

1

*





Для счётчика с к = 14 таблица переходов будет выглядеть следующим образом:

Q3

Q2

Q1

Q0

Q3'

Q2'

Q1'

Q0'

J3

K3

J2

K2

J1

K1

J0

K0









1

1



1

1

*

1

*



*

1

*

1

1



1

1

1





*



*





*

*

1

1

1





1



1

1

*



*

1

1

*

1

*

1



1

1

1



1



*





*

*



*

1

1



1



1





1

*





*

*

1

1

*

1





1

1







*





*



*

*

1

1









1

1

1

*

1

1

*

1

*

1

*



1

1

1



1

1





*

*



*



*

1



1

1





1



1



*

*



*

1

1

*



1



1



1







*

*





*

*

1



1









1

1



*

*

1

1

*

1

*





1

1





1





*



*

*



*

1





1









1



*



*

*

1

1

*







1











*



*



*

*

1

1

1

1











*

1

*

1

*

1



*

1

1

1

1









*

1

*

1

*

1

*

1



3)      Строим диаграмму Вейча-Карно для функции управления Jи Kкаждого из триггеров, используя таблицу переходов счётчика.

По диаграммам выполним минимизацию соответствующих функций, то есть получаем минимальные дизъюнктивные нормальные формы для всех сигналов Jи K.



OO

O1

11

1O





OO

O1

11

1O





OO

O1

11

1O





OO

O1

11

1O

OO

1

 

 

 



OO

*

*

*

*



OO

1

 

 

 



OO

*

*

*

*

O1

 

 

 

 



O1

*

*

*

*



O1

*

*

*

*



O1

1

 

 

 

11

*

*

*

*



11

 

 

 

1



11

*

*

*

*



11

1

 

1

1

1O

*

*

*

*



1O

1

 

 

1



1O

1

 

 

 



1O

*

*

*

*















































<img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1321"><img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1320"><img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1319">J3 = Q2*Q1*Q0



<img width=«14» height=«15» src=«ref-1_410640289-259.coolpic» v:shapes="_x0000_s1338"><img width=«14» height=«2» src=«ref-1_410640548-153.coolpic» v:shapes="_x0000_s1325"><img width=«14» height=«2» src=«ref-1_410640548-153.coolpic» v:shapes="_x0000_s1324"><img width=«14» height=«2» src=«ref-1_410640548-153.coolpic» v:shapes="_x0000_s1323"><img width=«14» height=«2» src=«ref-1_410640548-153.coolpic» v:shapes="_x0000_s1322">K3 = Q2*Q1*Q0     Q1*Q0       



<img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1327"><img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1326">J2 = Q1*Q0



<img width=«14» height=«15» src=«ref-1_410640289-259.coolpic» v:shapes="_x0000_s1339"><img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1329"><img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1328">K2 = Q1*Q0     Q3*Q1

















































OO

O1

11

1O





OO

O1

11

1O





OO

O1

11

1O





OO

O1

11

1O

OO

 

 

*

*



OO

*

*

 

1



OO

1

*

*

1



OO

*

1

1

*

O1

1

 

*

*



O1

*

*

 

1



O1

1

*

*

1



O1

*

1

1

*

11

1

 

*

*



11

*

*

1

1



11

1

*

*

 



11

*

1

1

*

1O

1

 

*

*



1O

*

*

 

1



1O

1

*

*

1



1O

*

1

1

*















































<img width=«14» height=«15» src=«ref-1_410586400-244.coolpic» v:shapes="_x0000_s1340"><img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1331"><img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1330">J1 = Q3*Q0   Q2*Q0



<img width=«14» height=«15» src=«ref-1_410586400-244.coolpic» v:shapes="_x0000_s1341"><img width=«14» height=«2» src=«ref-1_410640548-153.coolpic» v:shapes="_x0000_s1332">K1 = Q0   Q3*Q2



<img width=«14» height=«15» src=«ref-1_410642978-257.coolpic» v:shapes="_x0000_s1343"><img width=«14» height=«15» src=«ref-1_410642978-257.coolpic» v:shapes="_x0000_s1342"><img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1335"><img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1334"><img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1333">J0 = Q1   Q3   Q3*Q2





K0 = 1





Переведём полученные выражения в логику И-НЕ:

<img width=«122» height=«2» src=«ref-1_410643951-157.coolpic» v:shapes="_x0000_s1354"> <img width=«62» height=«2» src=«ref-1_410644108-154.coolpic» v:shapes="_x0000_s1352"> <img width=«38» height=«2» src=«ref-1_410557209-154.coolpic» v:shapes="_x0000_s1353"> <img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1344"> <img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1345"> <img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1346"> <img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1347"> <img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1348"> <img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1349"> <img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1350"> <img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1351">


J3 = Q2*Q1*Q0                                        K3 = (Q2*Q1*Q) *  (Q1*Q)

<img width=«98» height=«2» src=«ref-1_410645640-157.coolpic» v:shapes="_x0000_s1361">


<img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1358"><img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1357"><img width=«38» height=«2» src=«ref-1_410557209-154.coolpic» v:shapes="_x0000_s1360"><img width=«38» height=«2» src=«ref-1_410557209-154.coolpic» v:shapes="_x0000_s1359"><img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1355"><img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1356">J2 = Q1*Q0                                             K2 = (Q1*Q)* (Q3*Q1)

<img width=«110» height=«2» src=«ref-1_410646717-158.coolpic» v:shapes="_x0000_s1366"> <img width=«74» height=«2» src=«ref-1_410646875-157.coolpic» v:shapes="_x0000_s1368"> <img width=«38» height=«2» src=«ref-1_410558099-155.coolpic» v:shapes="_x0000_s1363"> <img width=«38» height=«2» src=«ref-1_410558099-155.coolpic» v:shapes="_x0000_s1365">


<img width=«38» height=«2» src=«ref-1_410557209-154.coolpic» v:shapes="_x0000_s1367"><img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1364"><img width=«14» height=«2» src=«ref-1_410557056-153.coolpic» v:shapes="_x0000_s1362">J1 = (Q3*Q) * (Q2*Q)                            K1 = Q*  (Q3*Q2)

<img width=«110» height=«2» src=«ref-1_410646717-158.coolpic» v:shapes="_x0000_s1371"> <img width=«38» height=«2» src=«ref-1_410558099-155.coolpic» v:shapes="_x0000_s1370">


<img width=«14» height=«2» src=«ref-1_410560266-154.coolpic» v:shapes="_x0000_s1369">J0 = Q1 *  Q3  * (Q3*Q2)                           K0 = 1

По полученным выражениям можно построить схему заданного счётчика:

<img width=«561» height=«201» src=«ref-1_410648269-2091.coolpic» v:shapes="_x0000_i1030">

Задача№4

Синтез последовательного восьмиразрядного сумматора.
    продолжение
--PAGE_BREAK--
еще рефераты
Еще работы по информатике