Разработка логических схем управляющего автомата
Разработка и построение структурного цифрового автомата, предназначенного для выполнения арифметической операции деления двоичных чисел. Описание функциональной схемы операционного автомата. Минимизация функций алгебры логики, метод Квайна-Мак-Класки.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 19.04.2011 |
Размер файла | 2,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Функции выходов до минимизации:
y1 = !T1*!T2*!T3*!T4*!T5* T6
y2 = T1*!T2*!T3*!T4*!T5* T6 + T1*!T2*!T3* T4*!T5*!T6
y3 = !T1*!T2*!T3* T4* T5* T6 + !T1* T2*!T3*!T4* T5* T6 + !T1* T2*!T3* T4*!T5* T6 + !T1* T2*!T3* T4* T5* T6 + !T1* T2* T3* T4*!T5*!T6 + !T1* T2* T3* T4*!T5*!T6 + !T1* T2* T3* T4* T5*!T6
y4 = !T1*!T2*!T3* T4* T5* T6 + !T1*!T2* T3* T4* T5*!T6 + !T1* T2*!T3*!T4* T5* T6 + !T1* T2* T3*!T4*!T5*!T6 + !T1* T2* T3* T4* T5*!T6
y5 = T1*!T2*!T3*!T4*!T5* T6 + T1*!T2*!T3* T4*!T5*!T6
y6 = !T1*!T2* T3* T4*!T5* T6 + !T1*!T2* T3* T4*!T5* T6
y7 = !T1*!T2* T3*!T4*!T5* T6 + !T1*!T2* T3* T4*!T5* T6 + !T1*!T2* T3* T4*!T5* T6
y8 = T1*!T2*!T3*!T4*!T5* T6 + T1*!T2*!T3*!T4* T5*!T6 + T1*!T2*!T3* T4*!T5*!T6
y9 = !T1*!T2*!T3*!T4* T5*!T6 + !T1*!T2*!T3*!T4* T5*!T6 + !T1* T2*!T3*!T4* T5* T6 + !T1* T2* T3* T4* T5*!T6
y10 = !T1*!T2*!T3* T4*!T5*!T6 + !T1*!T2*!T3* T4*!T5*!T6 + !T1* T2*!T3*!T4*!T5*!T6 + !T1* T2*!T3*!T4* T5* T6 + !T1* T2* T3*!T4* T5*!T6 + !T1* T2* T3* T4* T5*!T6
y11 = T1*!T2*!T3*!T4*!T5* T6 + T1*!T2*!T3* T4*!T5*!T6
y12 = !T1*!T2*!T3*!T4*!T5* T6 + !T1* T2*!T3* T4*!T5*!T6 + !T1* T2*!T3* T4*!T5*!T6 + !T1* T2*!T3* T4*!T5*!T6 + !T1* T2*!T3* T4* T5*!T6 + !T1* T2* T3* T4* T5* T6 + !T1* T2* T3* T4* T5* T6 + !T1* T2* T3* T4* T5* T6
y13 = !T1*!T2*!T3*!T4*!T5* T6 + !T1*!T2* T3* T4* T5* T6 + !T1* T2* T3*!T4*!T5* T6
y14 = !T1*!T2*!T3* T4* T5* T6
y15 = !T1*!T2*!T3*!T4*!T5* T6
y16 = !T1*!T2*!T3*!T4*!T5* T6 + !T1*!T2* T3*!T4* T5*!T6 + !T1*!T2* T3*!T4* T5*!T6 + !T1*!T2* T3*!T4* T5*!T6
y17 = !T1*!T2* T3* T4*!T5* T6 + !T1*!T2* T3* T4*!T5* T6 + T1*!T2*!T3*!T4* T5* T6 + T1*!T2*!T3*!T4* T5* T6 + T1*!T2*!T3*!T4* T5* T6 + T1*!T2*!T3*!T4* T5* T6
y18 = !T1*!T2*!T3*!T4*!T5* T6 + !T1* T2*!T3* T4*!T5*!T6 + !T1* T2*!T3* T4*!T5*!T6 + !T1* T2*!T3* T4*!T5*!T6 + !T1* T2*!T3* T4* T5*!T6 + !T1* T2* T3* T4* T5* T6 + !T1* T2* T3* T4* T5* T6 + !T1* T2* T3* T4* T5* T6
y19 = !T1*!T2*!T3*!T4*!T5* T6 + !T1* T2*!T3*!T4*!T5* T6 + !T1* T2*!T3*!T4*!T5* T6 + !T1* T2* T3*!T4* T5* T6 + !T1* T2* T3*!T4* T5* T6
y20 = !T1* T2* T3* T4*!T5*!T6 + !T1* T2* T3* T4*!T5*!T6 + T1*!T2*!T3*!T4*!T5*!T6
y21 = !T1*!T2* T3*!T4*!T5*!T6
y22 = !T1*!T2*!T3*!T4* T5* T6
y23 = !T1* T2* T3* T4*!T5*!T6 + !T1* T2* T3* T4*!T5*!T6
y24 = T1*!T2*!T3*!T4*!T5* T6
y25 = !T1*!T2*!T3* T4* T5*!T6
y26 = !T1* T2*!T3*!T4*!T5*!T6 + !T1* T2* T3*!T4* T5*!T6
y27 = !T1*!T2* T3*!T4*!T5* T6
y28 = T1*!T2*!T3*!T4* T5*!T6
y29 = !T1*!T2* T3*!T4*!T5* T6 + !T1*!T2* T3* T4*!T5* T6 + !T1*!T2* T3* T4*!T5* T6 + !T1* T2*!T3*!T4*!T5*!T6 + !T1* T2*!T3*!T4* T5* T6 + !T1* T2* T3*!T4* T5*!T6 + !T1* T2* T3* T4* T5*!T6 + T1*!T2*!T3*!T4* T5*!T6
y30 = !T1* T2*!T3*!T4* T5*!T6
y31 = !T1*!T2*!T3*!T4*!T5* T6 + !T1*!T2* T3* T4*!T5*!T6 + !T1*!T2* T3* T4* T5*!T6 + !T1* T2*!T3*!T4* T5*!T6 + !T1* T2* T3*!T4*!T5*!T6 + !T1* T2* T3* T4*!T5* T6 + T1*!T2*!T3*!T4*!T5* T6
y32 = !T1*!T2*!T3*!T4*!T5* T6
y33 = !T1* T2*!T3*!T4*!T5*!T6 + !T1* T2*!T3*!T4* T5* T6 + !T1* T2* T3*!T4* T5*!T6 + !T1* T2* T3* T4* T5*!T6
y34 = !T1*!T2* T3*!T4*!T5* T6 + !T1*!T2* T3* T4*!T5* T6 + !T1*!T2* T3* T4*!T5* T6
y35 = !T1*!T2* T3* T4* T5*!T6 + !T1* T2* T3*!T4*!T5*!T6
y36 = !T1* T2*!T3*!T4*!T5*!T6 + !T1* T2* T3*!T4* T5*!T6
y37 = !T1*!T2* T3*!T4*!T5* T6
y38 = !T1*!T2*!T3* T4*!T5* T6
y39 = !T1* T2*!T3* T4*!T5* T6
y40 = !T1*!T2* T3*!T4* T5* T6
Функции выходов после минимизации:
y1 = !T1*!T2*!T3*!T4*!T5* T6
y2 = T1*!T2*!T3*!T4*!T5* T6 + T1*!T2*!T3* T4*!T5*!T6
y3 = !T1* T2* T3* T4*!T6 + !T1*!T3* T4* T5* T6
y4 = !T1*!T2*!T3* T4* T5* T6 + !T1* T3* T4* T5*!T6 + !T1* T2*!T3*!T4* T5* T6 + !T1* T2* T3*!T4*!T5*!T6
y5 = T1*!T2*!T3*!T4*!T5* T6 + T1*!T2*!T3* T4*!T5*!T6
y6 = !T1*!T2* T3* T4*!T5* T6
y7 = !T1*!T2* T3*!T5* T6
y8 = T1*!T2*!T3*!T4*!T5* T6 + T1*!T2*!T3*!T4* T5*!T6 + T1*!T2*!T3* T4*!T5*!T6
y9 = !T1*!T2*!T3*!T4* T5*!T6 + !T1* T2*!T3*!T4* T5* T6 + !T1* T2* T3* T4* T5*!T6
y10 = !T1*!T2*!T3* T4*!T5*!T6 + !T1* T2*!T3*!T4*!T5*!T6 + !T1* T2*!T3*!T4* T5* T6 + !T1* T2* T3* T5*!T6
y11 = T1*!T2*!T3*!T4*!T5* T6 + T1*!T2*!T3* T4*!T5*!T6
y12 = !T1*!T2*!T3*!T4*!T5* T6 + !T1* T2*!T3* T4*!T6 + !T1* T2* T3* T4* T5* T6
13 = !T1*!T2*!T3*!T4*!T5* T6 + !T1*!T2* T3* T4* T5* T6 + !T1* T2* T3*!T4*!T5* T6
y14 = !T1*!T2*!T3* T4* T5* T6
y15 = !T1*!T2*!T3*!T4*!T5* T6
y16 = !T1*!T2*!T3*!T4*!T5* T6 + !T1*!T2* T3*!T4* T5*!T6
y17 = !T1*!T2* T3* T4*!T5* T6 + T1*!T2*!T3*!T4* T5* T6
y18 = !T1*!T2*!T3*!T4*!T5* T6 + !T1* T2*!T3* T4*!T6 + !T1* T2* T3* T4* T5* T6
y19 = !T1*!T3*!T4*!T5* T6 + !T1* T2* T3*!T4* T5* T6
y20 = !T1* T2* T3* T4*!T5*!T6 + T1*!T2*!T3*!T4*!T5*!T6
y21 = !T1*!T2* T3*!T4*!T5*!T6
y22 = !T1*!T2*!T3*!T4* T5* T6
y23 = !T1* T2* T3* T4*!T5*!T6
y24 = T1*!T2*!T3*!T4*!T5* T6
y25 = !T1*!T2*!T3* T4* T5*!T6
y26 = !T1* T2*!T3*!T4*!T5*!T6 + !T1* T2* T3*!T4* T5*!T6
y27 = !T1*!T2* T3*!T4*!T5* T6
y28 = T1*!T2*!T3*!T4* T5*!T6
y29 = !T1*!T2* T3*!T5* T6 + !T1* T2*!T3*!T4*!T5*!T6 + !T1* T2*!T3*!T4* T5* T6 + !T1* T2* T3* T5*!T6 + T1*!T2*!T3*!T4* T5*!T6
y30 = !T1* T2*!T3*!T4* T5*!T6
y31 = !T1*!T2* T3* T4*!T6 + !T1* T2*!T3*!T4* T5*!T6 + !T1* T2* T3*!T4*!T5*!T6 + !T1* T2* T3* T4*!T5* T6 + !T2*!T3*!T4*!T5* T6
y32 = !T1*!T2*!T3*!T4*!T5* T6
y33 = !T1* T2*!T3*!T4*!T5*!T6 + !T1* T2*!T3*!T4* T5* T6 + !T1* T2* T3* T5*!T6
y34 = !T1*!T2* T3*!T5* T6
y35 = !T1*!T2* T3* T4* T5*!T6 + !T1* T2* T3*!T4*!T5*!T6
y36 = !T1* T2*!T3*!T4*!T5*!T6 + !T1* T2* T3*!T4* T5*!T6
y37 = !T1*!T2* T3*!T4*!T5* T6
y38 = !T1*!T2*!T3* T4*!T5* T6
y39 = !T1* T2*!T3* T4*!T5* T6
y40 = !T1*!T2* T3*!T4* T5* T6
Определим качество минимизации, вычислив и сравнив цены по Квайну функций до и после минимизации.
До минимизации:
C( D1 ) = 6+7+8+7+6+6+7+8+9+9+9 = 82
C( D2 ) = 6+6+7+7+6+6+7+8+6+6+6+8+6+6+6+7+7+7+6+6+7+20 = 157
C( D3 ) = 6+6+6+7+8+8+6+7+7+6+6+8+6+6+6+7+7+7+6+6+7+8+21 = 68
C( D4 ) = 7+7+7+6+8+6+7+7+6+6+8+6+6+7+7+6+6+7+8+9+19 = 156
C( D5 ) = 6+7+7+6+6+8+7+6+7+6+7+6+6+6+6+7+6+6+7+8+6+6+7+8+23 = 181
C( D6 ) = 6+7+6+7+6+6+7+8+6+7+6+6+6+7+8+6+6+6+7+6+7+6+8+9+23 = 183
;
После минимизации:
C( D1 ) = 5+7+8+7+5+5+5 = 42
C( D2 ) = 6+6+6+7+6+4+5 = 40
C( D3 ) = 6+6+5+8+7+8+4+6+7 = 57
C( D4 ) = 7+6+8+6+6+8+7+7+5+7+8+9+5+12 = 101
C( D5 ) = 7+7+8+7+7+7+5+6+8+6+7+8+4+12 = 99
C( D6 ) = 7+6+7+7+8+7+7+8+7+7+6+8+9+4+4+14 = 116
; ;
Разница цен до и после минимизации:
ДС = C0 - C1 = 1713 - 940 = 773
Найдем относительный коэффициент эффективности минимизации:
Сp = ДС/C0 = 773/1713 = 45.1%
3.6 Описание принципиальной схемы
Всего линий - 72. В схеме задействовано 137 логических элементов И, 27 логических элемента ИЛИ, 6 D-триггеров.
Описание линий принципиальной схемы приведено в таблице 3.9
Таблица 3.9 - Описание линий принципиальной схемы
№ контакта |
Название |
Описание |
Тип сигнала |
|
1 |
Условие: MA!=0 |
Входящий |
||
2 |
Условие: MA==0 |
Входящий |
||
3 |
Условие: MB!=0 |
Входящий |
||
4 |
Условие: MB==0 |
Входящий |
||
5 |
Условие: Cnt1==110 |
Входящий |
||
6 |
Условие: Cnt1!=110 |
Входящий |
||
7 |
Условие: Cnt1==11001 |
Входящий |
||
8 |
Условие: Cnt1!= 11001 |
Входящий |
||
9 |
Условие: Cnt1==11011 |
Входящий |
||
10 |
Условие: Cnt1!= 11011 |
Входящий |
||
11 |
Условие: Cnt2==11001 |
Входящий |
||
12 |
Условие: Cnt2!= 11001 |
Входящий |
||
13 |
Условие: SA(0)==0 |
Входящий |
||
14 |
Условие: SA(0)!=0 |
Входящий |
||
15 |
Условие: MC(0)==0 |
Входящий |
||
16 |
Условие: MC(0)!=0 |
Входящий |
||
17 |
Условие: TrC==1 |
Входящий |
||
18 |
Условие: TrC!=1 |
Входящий |
||
19 |
clk |
Тактовый сигнал |
Входящий |
|
20 |
rst |
Сигнал сброса |
Входящий |
|
21 |
Состояние элемента памяти |
Внутренний |
||
22 |
Состояние элемента памяти |
Внутренний |
||
23 |
Состояние элемента памяти |
Внутренний |
||
24 |
Состояние элемента памяти |
Внутренний |
||
25 |
Состояние элемента памяти |
Внутренний |
||
26 |
Состояние элемента памяти |
Внутренний |
||
27 |
Состояние элемента памяти |
Внутренний |
||
28 |
Состояние элемента памяти |
Внутренний |
||
29 |
Состояние элемента памяти |
Внутренний |
||
30 |
Состояние элемента памяти |
Внутренний |
||
31 |
Состояние элемента памяти |
Внутренний |
||
32 |
Состояние элемента памяти |
Внутренний |
||
33 |
y1 |
Чтение регистров A,B |
Исходящий |
|
34 |
y2 |
Запись регистра A |
Исходящий |
|
35 |
y3 |
Чтение регистра SA |
Исходящий |
|
36 |
y4 |
Чтение регистра SB |
Исходящий |
|
37 |
y5 |
Чтение регистра SC |
Исходящий |
|
38 |
y6 |
Чтение регистра EA |
Исходящий |
|
39 |
y7 |
Чтение регистра EB |
Исходящий |
|
40 |
y8 |
Чтение регистра EC |
Исходящий |
|
41 |
y9 |
Чтение регистра MA |
Исходящий |
|
42 |
y10 |
Чтение регистра MB |
Исходящий |
|
43 |
y11 |
Чтение регистра MC |
Исходящий |
|
44 |
y12 |
Запись регистра SA |
Исходящий |
|
45 |
y13 |
Запись регистра SB |
Исходящий |
|
46 |
y14 |
Запись регистра SC |
Исходящий |
|
47 |
y15 |
Запись регистра EA |
Исходящий |
|
48 |
y16 |
Запись регистра EB |
Исходящий |
|
49 |
y17 |
Запись регистра EC |
Исходящий |
|
50 |
y18 |
Запись регистра MA |
Исходящий |
|
51 |
y19 |
Запись регистра MB |
Исходящий |
|
52 |
y20 |
Запись регистра MC |
Исходящий |
|
53 |
y21 |
Сброс регистров SA, SB |
Исходящий |
|
54 |
y22 |
Сброс регистров SC, EC, MC |
Исходящий |
|
55 |
y23 |
Левый свдиг регистра MA |
Исходящий |
|
56 |
y24 |
Левый свдиг регистра MC |
Исходящий |
|
57 |
y25 |
Правый сдвиг регистра MA, MB |
Исходящий |
|
58 |
y26 |
Чтение блока Const1 |
Исходящий |
|
59 |
y27 |
Чтение блока Const2 |
Исходящий |
|
60 |
y28 |
Чтение блока Const3 |
Исходящий |
|
61 |
y29 |
Продолжение счета Cnt1 |
Исходящий |
|
62 |
y30 |
Продолжение счета Cnt2 |
Исходящий |
|
63 |
y31 |
Сброс счетчика Cnt1, сброс триггера TrC |
Исходящий |
|
64 |
y32 |
Сброс счетчика Cnt2 |
Исходящий |
|
65 |
y33 |
Включение блока НЕ[1] |
Исходящий |
|
66 |
y34 |
Включение блока НЕ[2] |
Исходящий |
|
67 |
y35 |
Включение и инвертирование блока НЕ[3] |
Исходящий |
|
68 |
y36 |
Инвертирование входящих данных в блоке НЕ[1] |
Исходящий |
|
69 |
y37 |
Инвертирование входящих данных в блоке НЕ[2] |
Исходящий |
|
70 |
y38 |
Установка триггера TrZ в 1 |
Исходящий |
|
71 |
y39 |
Установка триггера TrOf в 1 |
Исходящий |
|
72 |
y40 |
Установка триггера TrE в 1 |
Исходящий |
Выводы
В ходе выполнения курсовой работы был спроектирован цифровой автомат, предназначенный для выполнения арифметической операции деления двоичных чисел, представленных в форме с плавающей запятой, на сумматоре дополнительного модифицированного кода методом с восстановлением остатка.
Разрядность операндов - 32 бит, распределенных между полями:
- знак - 1 бит (0);
- поле порядка (экспоненты) - 6 бит (1:6);
- поле мантиссы - 25 бит (7:31).
При проектировании цифрового автомата:
- аналитически описаны логические системы, логические функции;
- построены операционные, структурные и логические схемы отдельных устройств;
- минимизированы аналитические функции с применением основных методов (минимизация проводилась согласно методу Квайна-Мак-Класки).
Разница цен термов до и после минимизации составила 773 единиц, что является хорошим показателем минимизации, данный автомат может оказаться выгодным в массовом производстве.
Размещено на Allbest.ru
Подобные документы
Проектирование цифрового автомата для выполнения арифметической операции деления двоичных чисел, алгоритм работы. Числа с плавающей запятой. Типы элементов памяти управляющего автомата JK-триггер, не имеющего запрещенных состояний на основных входах.
курсовая работа [747,4 K], добавлен 25.03.2012Изучение принципа работы цифрового автомата для сложения двоичных чисел, представленных в форме с фиксированной запятой, на базисе алгебры Буля. Правила построения операционных и функциональных схем отдельных устройств, логических систем и функций.
курсовая работа [1,2 M], добавлен 24.01.2014Понятие, последовательность построения и схемная реализация цифрового автомата. Описание форм представления функций алгебры логики. Принципы минимизации функций выходов и переходов автомата, их перевода в базис. Сведенья о программе Electronics Workbench.
курсовая работа [2,0 M], добавлен 27.10.2010Определение функций выходных сигналов и сигналов возбуждения. Построение функциональной схемы управляющего автомата. Способы выполнения операции умножения с фиксированной и с плавающей запятой. Получение функциональной ГСА. Кодирование состояния автомата.
курсовая работа [60,9 K], добавлен 15.02.2011Разработка управляющего автомата, ориентированного на выполнение заданной микрооперации. Разработка алгоритма работы управляющего автомата. Листинг программы. Выбор оптимального варианта кодирования состояний автомата. Синтез функции возбуждения.
курсовая работа [506,9 K], добавлен 26.12.2012Разработка управляющего автомата процессора с жесткой логикой в САПР Quartus II. Построение схемы функциональной микропрограммы команды "Исключающее ИЛИ" в размеченном виде. Унитарное кодирование состояний автомата. Запись функций переходов и выходов.
курсовая работа [671,3 K], добавлен 04.11.2014Разработка функциональной схемы управляющего микропрограммного автомата. Построение графов автомата для модели Мили и Мура. Кодирование состояний для модели Мура на D-триггерах. Алгоритм умножения чисел в дополнительном коде с простой коррекцией.
курсовая работа [764,0 K], добавлен 27.08.2012Общая структура и принцип функционирования синхронного управляющего автомата. Анализ граф схемы алгоритма управляющего автомата и детализация блока памяти. Структурный синтез логического преобразователя и разработка электрической функциональной схемы.
курсовая работа [222,6 K], добавлен 19.02.2013Методика минимизации абстрактного автомата. Порядок построения графа полученного минимизированного автомата. Синтез на элементах ИЛИ-НЕ и Т-тригерах. Составление таблицы переходов. Разработка микропрограммного автомата, реализующего микропрограмму.
курсовая работа [997,7 K], добавлен 28.03.2011Синтез автомата для преобразования двоично-десятичного кода. Кодировка алфавитов и состояний. Построение булевых функций, минимизация. Разметка вход-выходных слов для автомата Мили и автомата Мура. Реализация на элементах малой степени интеграции.
контрольная работа [141,5 K], добавлен 14.10.2012