Первоначальная проблема начинается так. Есть 6 штатов. В каждом состоянии, когда w=1, переходим к следующему состоянию, когда w=0, остаемся в текущем состоянии. В каждом состоянии отображается номер с использованием стандартного 7-светодиодного дисплея (BCD). Это числа 8 -> 1 -> 9 -> 4 -> 2 -> 2.
Итак, вот моя попытка решить эту проблему. Я начинаю с таблицы состояний: слева направо y2,y1,y0
w=0 w=1 a b c d e f g
000|000 001 1 1 1 1 1 1 1
001|001 010 0 1 1 0 0 0 0
010|010 011 1 1 1 1 0 1 1
011|011 100 0 1 1 0 0 1 1
100|100 101 1 1 0 1 1 0 1
101|101 000 1 1 0 1 1 0 1
Затем уравнения Yo Y1 и Y2 составляются с использованием карт Карно.
y1.y0 _ _
w.y2 00 01 11 10 Y0 = w.y0 + w.y0
00 0 1 1 0
01 0 1 d d
11 1 0 d d
10 1 0 0 1
y1.y0 _ _ _ _
w.y2 00 01 11 10 Y1 = w.y1 + w.y2.y1.y0 + w.y1.y0
00 0 0 1 1
01 0 0 d d
11 0 0 d d
10 0 1 0 1
y1.y0 _ _ _ _
w.y2 00 01 11 10 Y2 = w.y2 + y2.y1.y0 + w.y1.y0
00 0 0 0 0
01 1 1 d d
11 1 0 d d
10 0 0 1 0
Затем для выходных данных необходимо создать дополнительные карты.
Y1.Y0 _ _
Y2 00 01 11 10 a = Y2 + Y0.Y2
0 1 0 0 1
1 1 1 d d
Y1.Y0
Y2 00 01 11 10 b = 1
0 1 1 1 1
1 1 1 d d
Y1.Y0 _
Y2 00 01 11 10 c = Y2
0 1 1 1 1
1 0 0 d d
Y1.Y0 _ _
Y2 00 01 11 10 d = Y2 + Y0.Y2
0 1 0 0 1
1 1 1 d d
Y1.Y0 _ _ _
Y2 00 01 11 10 e = Y2 + Y0.Y1.Y2
0 1 0 0 0
1 1 1 d d
Y1.Y0 _ _
Y2 00 01 11 10 f = Y2.Y0 + Y1
0 1 0 1 1
1 0 0 d d
Y1.Y0 _ _
Y2 00 01 11 10 g = Y1 + Y2 + Y1.Y0
0 1 0 1 1
1 1 1 d d
В настоящее время я использую 3-битный D-триггер для создания 6 входов.
Дисплей показывает.
_ _ _
|_| | |_| |_| |
|_| | _| | |_ _
Есть ли ошибка в логике или возможно, что счетчик может создавать эту проблему?