Таблица 4. Переходы JK триггеров
J |
K |
||||
0 |
> |
0 |
0 |
* |
|
0 |
> |
1 |
1 |
* |
|
1 |
> |
0 |
* |
1 |
|
1 |
> |
1 |
* |
0 |
|
При М=0 J2=/(Q1+Q0) K2=/(Q1+Q0) **** J1=/Q0 K1=/Q0 **** J0=/Q0(1) K0=Q0(1) |
|||||
При М=1 D=0 J2=Q2 K2=Q2 **** J1=Q2 K1=/Q2 J0=Q1 K0=/Q1 |
|||||
При M=1 D=1 J2=Q2(1) K2=/Q2(0) *** J1=Q2 K1=/Q2 *** J0=Q1 K0=/Q1 |
Теперь составляем карты Карно, чтобы окончательно найти функции возбуждения триггеров. Для этого сначала строим таблицы для каждого из триггеров (таблицы 5, 6, 7).
Таблица 5
M |
Q1 |
J0 |
K0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
Таблица 6
M |
Q2 |
Q0 |
J1 |
K1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
Таблица 7
M |
Q2 |
Q1+Q0 |
D |
J2 |
K2 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
Строим карты Карно по таблицам 5,6,7 и получаем следующие функции для входов J и K входов триггеров.
J0=/M+Q1 |
K0=/M+/Q1 |
J1=/M/Q0+MQ2 |
K1=/M/Q0+M/Q2 |
J2=MQ2+/M/Q1/Q0+MD |
K2=/M/Q1/Q0+MQ2/D |
4. Проектирование структурной DSL-модели автомата.
Ниже располагается текст структурной DSL-модели автомата.
PROCEDURE INV_DSL ( INPUT IN ;OUTPUT NIN ;
);
NIN=/IN;
END INV_DSL;
PROCEDURE JK_DSL ( INPUT J, C, K, R ; OUTPUT Q, NQ ;
);
JK_FLOP NODE F CLOCKED_BY /C RESET_BY R;
F.J=J;
F.K=K;
Q=F; NQ=/F;
END JK_DSL;
PROCEDURE AND2_2_OR2_DSL (INPUT I1, I2, I3, I4 ;OUTPUT OUT2 ;
);
OUT2=(I1*I2)+ (I3*I4);
END AND2_2_OR2_DSL;
PROCEDURE AND2_3_2_OR3_DSL ( INPUT II1, II2, II3, II4, II5, II6, II7 ;OUTPUT OUT3 ;
);
OUT3=(II1*II2)+ (II3*II4*II5)+(II6*II7);
END AND2_3_2_OR3_DSL;
PROCEDURE AND3_3_OR2_DSL ( INPUT IN1,IN2, IN3, IN4, IN5, IN6 ;OUTPUT OUT4 ;
);
OUT4=(IN1*IN2*IN3)+(IN4*IN5*IN6);
END AND3_3_OR2_DSL;
PROCEDURE OR2_DSL( INPUT IN1, IN2 ;OUTPUT OUT5 ;
);
OUT5=IN1+IN2;
END OR2_DSL;
PROCEDURE MYCOUNTER ( INPUT M, D, C, R ;OUTPUT Q0, Q1, Q2 ;
);
" TODO: add your DSL code below.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.