
- •552800 – Информатика и вычислительная техника
- •Цель курсового проектирования.
- •Задачи курсового проектирования.
- •1) Синтез структуры проектируемого устройства;
- •3) Синтез триггерного устройства выбранного типа;
- •3. Тематика курсового проектирования
- •4. Расчетная часть курсового проекта
- •4.1. Проектирование синхронных сдвигающих регистров.
- •4.2. Проектирование синхронных пересчетных схем
- •4.3. Проектирование триггерных устройств
- •Запись в м
- •5. Требования к изложению и оформлению материалов курсового проекта
Запись в м
C
_Перезапись
из М в S
1
0
1
0
t
Рис. 11
Заполнять свободные позиции в табл. 8 необходимо по следующим правилам.
Правило 1. Таблица заполняется по строкам. Движение по позициям строки соответствует изменению входных сигналов С и JK. Изменение входных сигналов, требующее перемещения в заполняемую позицию строки, оценивается относительно позиции, где стоит число в скобках.
Правило 2. Если оценка изменения входных сигналов в заполняемой позиции, проведенная по правилу 1, показывает, что такое изменение невозможно (требуется одновременно изменить и С и J и K , или при С=1 необходимо изменить J и K), то в данной позиции ставится прочерк.
Правило 3. Если оценка изменения входных сигналов в заполняемой позиции, проведенная по правилу 1, показывает возможность изменения, то в данной позиции ставится число без скобок, соответствующее номеру нового состояния, в которое перейдет триггер. При этом следует учитывать возможность изменения сигнала при изменении С из 1 в 0 в соответствии с табл. 7.
Пользуясь приведенными правилами заполним шестую строку табл. 8. Состояние (6) соответствует комбинации сигналов С=1, J=1, K=1 и Q=0. При изменении входных сигналов в состояние С=0, J=1, K=1, что не противоречит принятым ограничениям, поэтому необходимо определить новое состояние триггера. Поскольку С изменяется из 1 в 0, то возможно изменение сигнала Q , причем новое значение определяется по табл. 7 с учетом того, что J=1, K=1. Так как новое значение Q=1, то следовательно, при рассмотренном изменении входных сигналов, триггер должен перейти в состояние (11). Чтобы отметить этот переход на пересечении шестой строки и столбца С=0, J=1, K=1 необходимо поставить число 11 без скобок, т.к. переход из устойчивого состояния (6) в состояние (11) происходит через устойчивое состояние 11.
Кроме того, находясь в состоянии (6), нельзя изменить входные сигналы таким образом, чтобы С=0, J=0 и K=0, так как это требует одновременного изменения сигналов С, J и K , которое запрещено. Следовательно, на пересечении шестой строки и столбца С=0, J=0, K=0 (табл. 8) следует поставить прочерк. Невозможно также изменение сигналов в комбинации С=1, J=0, K=0 (последний столбец на пересечении шестой строки и столбца С=1, J=0, K=0) поэтому также необходимо поставить прочерк. Аналогичным образом заполняются остальные строки табл. 8. Результаты заполнения этой таблицы представлены в табл. 9.
Количество внутренних состояний триггера можно сократить, объединяя строки табл. 9 по следующим правилам.
Правило 4. Две или более строк таблицы внутренних состояний и переходов триггера можно объединить, если:
- числа в соответствующих позициях строки совпадают;
- в одной строке в данной позиции стоит прочерк, а в другой строке в этой же позиции стоит число.
Правило 5. Если объединяются две строки, где в данной позиции стоит число в скобках и число без скобок, то в результирующей строке в данной позиции ставится число в скобках. Если объединяются строки, где в данной позиции стоит число, а в другой строке в этой же позиции стоит прочерк, то в результирующей строке в данной позиции ставится число.
Таблица 9
№ сост. |
Состояние сигналов CJK |
Q выхода |
|||||||
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
||
1 |
(1) |
2 |
3 |
4 |
- |
- |
- |
8 |
0 |
2 |
1 |
(2) |
3 |
4 |
- |
- |
7 |
- |
0 |
3 |
1 |
2 |
(3) |
4 |
- |
6 |
- |
- |
0 |
4 |
1 |
2 |
3 |
(4) |
5 |
- |
- |
- |
0 |
5 |
- |
- |
- |
12 |
(5) |
- |
- |
- |
0 |
6 |
- |
- |
11 |
- |
- |
(6) |
- |
- |
0 |
7 |
- |
2 |
- |
- |
- |
- |
(7) |
- |
0 |
8 |
1 |
- |
- |
- |
- |
- |
- |
(8) |
0 |
9 |
(9) |
10 |
11 |
12 |
- |
- |
- |
16 |
1 |
10 |
9 |
(10) |
11 |
12 |
- |
- |
15 |
- |
1 |
11 |
9 |
10 |
(11) |
12 |
- |
14 |
- |
- |
1 |
12 |
9 |
10 |
11 |
(12) |
13 |
- |
- |
- |
1 |
13 |
- |
- |
- |
12 |
(13) |
- |
- |
- |
1 |
14 |
- |
- |
3 |
- |
- |
(14) |
- |
- |
1 |
15 |
- |
2 |
- |
- |
- |
- |
(15) |
- |
1 |
16 |
9 |
- |
- |
- |
- |
- |
- |
(16) |
1 |
Количество внутренних состояний триггера можно сократить, объединяя строки таблицы. Для рассматриваемого примера синтеза JK-триггера возможно несколько вариантов объединения строк табл. 9.Наиболее целесообразным является объединение строк (1, 2, 3, 4, 7, 8), (5, 6), (9, 10, 11, 12, 13, 16), (14, 15) (табл. 10).
Минимизированная таблица внутренних состояний и переходов JK триггера имеет следующий вид:
Таблица 10
№ состояния |
CJK |
Q |
|||||||
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
||
1,2,3,4,7,8 |
(1) |
(2) |
(3) |
(4) |
5 |
6 |
(7) |
(8) |
0 |
5,6 |
- |
- |
11 |
12 |
(5) |
(6) |
- |
- |
0 |
9,10,11,12,13,16 |
(9) |
(10) |
(11) |
(12) |
(13) |
14 |
(15) |
(16) |
1 |
14,15 |
- |
2 |
3 |
- |
- |
(14) |
(15) |
- |
1 |
Преобразуем табл. 10 в соответствии с количеством новых состояний триггера в табл.11.
Так как число внутренних состояний уменьшилось до S =4, то для кодирования этих состояний достаточно k=logS=2 внутренних переменных. Обозначим их как у1 и у2. Каждому внутреннему состоянию триггера поставим в соответствие набор значений переменных у1 и у2.
Эту операцию необходимо выполнить таким образом, чтобы в триггере не возникали критические состязания между сигналами обратных связей (состязания, приводящие к несанкционированным переходам триггера из состояния в состояние). Эти состязания будут устранены, если коды соседних состояний будут отличаться значениями не более чем в одном из разрядов, т.е. переходы между соседними внутренними состояниями будут реализованы изменением только одной внутренней переменной. Составим граф переходов, отвечающий этому требованию (рис. 12), где 00, 01, 11, 10 - коды внутренних состояний 1, 2,3,4,соответственно. Эти коды определяются значениями переменных у1 и у2, например, код 01 соответствует значениями у1=0 и у2=1.
Граф переходов для 2-х переменных имеет следующий вид:
1
2
00
01
y1=0;
y2=0
y1=1;
y2=0
y1=0;
y2=1
y1=1;
y2=1
11
10
3
4
Рис.12
Минимизированная табл. 11 имеет следующий вид:
Таблица 11
№ состояния |
CJK |
Q |
|||||||
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
||
1,2,3,4,7,8 |
(1) |
(1) |
(1) |
(1) |
2 |
2 |
(1) |
(1) |
0 |
5,6 |
- |
- |
3 |
3 |
(2) |
(2) |
- |
- |
0 |
9,10,11,12,13,16 |
(3) |
(3) |
(3) |
(3) |
(3) |
4 |
4 |
(3) |
1 |
14,15 |
- |
1 |
1 |
- |
- |
(4) |
(4) |
- |
1 |
Так как число внутренних состояний уменьшилось до 4-х, то для кодирования этих состояний достаточно двух (k=log 4=2) внутренних переменных. Обозначим их как y1 и y2. Каждому внутреннему состоянию триггера поставим в соответствие набор значений переменных y1,y2.
В соответствии с выбранным вариантом кодирования состояний триггера, минимизированная таблица JK- триггера будет представлять собой совокупность 2-х таблиц, каждая из которых определяет одну из функций y1 или y2.
Таблица 12
Код внутр. состояния y1y2 |
CJK |
Q |
|||||||
00 |
00 |
00 |
00 |
00 |
01 |
01 |
00 |
00 |
0 |
01 |
- |
- |
11 |
11 |
01 |
01 |
- |
- |
0 |
11 |
11 |
11 |
11 |
11 |
11 |
10 |
10 |
11 |
1 |
10 |
- |
00 |
00 |
- |
- |
10 |
10 |
- |
1 |
Возможны другие варианты кодирования состояний, однако они, как правило, приводят к уравнениям одинаковой сложности.
В соответствии с выбранным вариантом кодирования состояний триггера составляется кодированная таблица переходов JK-триггера путем перенесения в каждую клетку табл. 11 двоичного набора значений внутренних переменных у1 и у2.
Kодированная таблица переходов (табл.12) представляет собой совокупность двух таблиц, каждая из которых определяет одну из функций у1 и у2. Данные этой таблицы позволяют описать поведение переменных у1 и у2 в виде карт Карно (рис.13).
В каждой клеточке карты Карно проставляется значение переменной (у1 или у2), взятой из табл.12. Так в карте Карно, описывающей поведение у1, в третьей клеточке сверху, в крайнем левом столбце записана 1, которая является первой цифрой комбинации - 11 в соответствующей позиции табл.12. Эта единица подчеркнута в табл.12.
Данные этой таблицы позволяют описать поведение y1 и y2 в виде карт Карно
Рис.13
Для устранения явления статического состязания сигналов в карты Карно кроме минимальных покрытий следует вводить избыточное покрытие, таким образом, чтобы каждая пара смежных покрытий входила бы, по меньшей мере, в одно общее покрытие.
Проведя склеивание в картах Карно (рис. 13), определим выражения для y1 и y2.
С учетом изложенного выше, получим следующие уравнения:
y1 = y1*y2 + y2*C + y1*C; y2 = y1*C*J + y2*C + y2*J*K +y2*J*K
y2=y1*C*J + y2*C +y2*K(J+J) = y1*C*J +y2(C+K)
Полученные уравнения позволяют построить схему проектируемого триггера. Перед построением схемы необходимо преобразовать уравнения в требуемый базис, предварительно вынеся за скобки y1 и y2. В базисе И-НЕ эти выражения будут иметь следующий вид:
y1 = y1(C+y2) + y2*C = y1(C*y2) * y2*C
y 2 = y2(C+K) + y1*C*J = y2(C*K) * y1*C*J
Схема проектируемого JK триггера, построенного по полученным выражениям с использованием логических элементов 2И-НЕ имеет следующий вид:
Рис.14