Проектирование элементов электронных вычислительных устройств
Построение графа синтезируемого устройства. Определение количества синхронных JK-триггеров. Переход от исходного автомата Мили к эквивалентному автомату Мура с помощью графов. Рассмотрение примера алгоритма программы по кодированию автомата Мура.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 16.06.2011 |
Размер файла | 696,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра РП и РПУ
"Проектирование элементов ЭВУ"
Пояснительная записка к курсовой работе по дисциплине
"Цифровые устройства и микропроцессоры"
Студент: Варкентин И.В.
Группа: РТ5-52
Преподаватель: Снурницын В.Р.
Новосибирск - 2008
Содержание
1. Задание на курсовую работу
2. Построение графа синтезируемого автомата
3. Определение количества элементов памяти
4. Составление таблиц переходов и выходов КА
5. Составление таблицы возбуждения элементов памяти
6. Синтез комбинационной части КА
7. Переход от исходного автомата Мили к эквивалентному автомату Мура
8. Кодирование автомата Мура
9. Алгоритм вычисления функций
10. Текст программы
11. Список литературы
1. Задание на курсовую работу
Синтез конечного автомата (КА) Мили
1. Построить граф конечного автомата для заданного варианта;
2. Определить количество элементов памяти (Тип синхронного триггера - JK-триггер);
3. составить таблицы перехода и выходов КА;
4. составить таблицу возбуждения элементов памяти;
5. синтезировать комбинационную часть КА;
6. реализовать КА на микросхемах одной из серий: К155, К176, К531, К555, К561, К564 или других микросхемах. Составить полную логическую схему автомата.
Программная реализация автомата
Путем эквивалентного преобразования исходного автомата Мили в автомат Мура построить граф и таблицу переходов автомата Мура.
Составить схему алгоритма и программу, реализующую автомат Мура на языке ассемблера микропроцессора (МП) К580. Каждую команду программы сопроводить четкими комментариями, поясняющими смысл выполняемых в команде действий.
2. Построение графа синтезируемого автомата
Граф синтезируемого автомата Мили получается путем исключения некоторых ветвей обобщенного графа автомата, имеющего 4 внутренних состояния (рис.1). У такого графа из каждой вершины выходят 4 ветви (и столько же входят). Каждая ветвь символизирует переход автомата в другое внутреннее состояние при совместном воздействии входного сигнала и выходного сигнала обозначается их комбинацией при конкретном значении индексов. При построении графа следует для каждой ветви, выходящей из каждой вершины, сформировать комбинацию и указать ее на графе в соответствии с порядковой нумерацией выходящих ветвей.
Таблица 1
Вершина графа |
|||||||||
Сигнал |
|||||||||
Номер выходящей из вершины ветви |
1234 |
1234 |
1234 |
1234 |
1234 |
1234 |
1234 |
1234 |
|
Индексы сигналов |
3210 |
1410 |
0010 |
0030 |
0312 |
0134 |
4200 |
2300 |
Рис. 1 граф автомата Мура
3. Определение количества элементов памяти
Выбираем в качестве элементов памяти, в соответствии с вариантом задания, используются JK-триггеры. Базис логических элементов - произвольный. Для данного варианта очевидно, что:
- число внутренних состояний ();
- число входных сигналов ();
- число выходных сигналов ().
Находим: - число элементов памяти
- число разрядов входной шины
- число разрядов выходной шины
4. Составление таблиц переходов и выходов КА
Кодируем автомат, ставя в соответствие каждому символическому сигналу произвольный двоичный код (число разрядов в кодах соответствует найденным и ).
Входные сигналы |
|||
Состояние входа |
Биты кода |
||
0 |
0 |
||
0 |
1 |
||
1 |
0 |
||
1 |
1 |
||
Выходные сигналы |
|||
Состояние выхода |
Биты кода |
||
0 |
0 |
||
0 |
1 |
||
1 |
0 |
||
1 |
1 |
||
Сигналы памяти |
|||
Внутреннее состояние |
Биты кода |
||
0 |
0 |
||
0 |
1 |
||
1 |
0 |
||
1 |
1 |
Составим таблицы переходов и выходов:
Таблица переходов |
|||||
- |
|||||
- |
|||||
- |
- |
||||
- |
- |
- |
|||
Таблица выходов |
|||||
- |
|||||
- |
|||||
- |
- |
||||
- |
- |
- |
переведем таблицы переходов и выходов из символического алфавита в двоичный:
Таблица переходов |
|||||
00 |
01 |
10 |
11 |
||
00 |
10 |
11 |
00 |
- |
|
01 |
01 |
- |
01 |
00 |
|
10 |
00 |
- |
11 |
- |
|
11 |
- |
- |
- |
11 |
|
Таблица выходов |
|||||
00 |
01 |
10 |
11 |
||
00 |
00 |
10 |
10 |
- |
|
01 |
11 |
- |
11 |
10 |
|
10 |
00 |
- |
00 |
- |
|
11 |
- |
- |
- |
01 |
По таблице выходов составляем логические уравнения для выходных сигналов и . Учтем, что в каждой клетке таблицы левый бит характеризует сигнал , правый бит -. Записывая уравнения "по единицам", получаем СДНФ:
Минимизируем эти уравнения по картам Карно:
Минимизируя по единицам получаем:
Минимизируя по нулям получаем:
Итак:
5. Составление таблицы возбуждения элементов памяти
Преобразуем таблицу переходов автомата в таблицу возбуждения памяти. Для обеспечения каждого отдельного перехода из исходного состояния памяти в последующее нужно подать на входы элементов памяти (синхронных триггеров) определенные сигналы. Именно эти сигналы и заносятся в соответствующие клетки таблицы возбуждения памяти.
Т.к. в качестве элементов памяти используются синхронные JK-триггеры, которые имеют следующий словарь переходов:
0 |
0 |
- |
0 |
|
0 |
1 |
- |
1 |
|
1 |
- |
1 |
0 |
|
1 |
- |
0 |
1 |
то таблица возбуждения памяти будет иметь следующий вид:
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
||
00 |
- 1 |
0 - |
- 0 |
- 1 |
0 - |
- 1 |
- - |
- - |
|
01 |
1 - |
- 0 |
- - |
- - |
1 - |
- 0 |
0 - |
- 1 |
|
10 |
0 - |
0 - |
- - |
- - |
0 1 |
- 0 |
- - |
- - |
|
11 |
- - |
- - |
- - |
- - |
- - |
- - |
- 0 |
1 - |
По таблице возбуждения памяти составим логические уравнения сигналов и :
Минимизируем эти уравнения по картам Карно:
Минимизируя получаем:
Минимизируя по единицам получаем:
Минимизируя по единицам получаем
Минимизируя по единицам получаем:
Итак:
6. Синтез комбинационной части КА
Логическая схема:
Реализация КА на микросхемах:
Обозначения в схеме:
D1- КР1554ЛН1 (3 элемента)
D2- КР1554ЛИ1 (7 элементов)
D3- КР1554ЛИ6 (4 элемента)
D4- КР1554ЛИ6 (1 элемент)
D5- КР1554ЛЛ1 (1 элемент)
D6- К155ЛЕ3 (3 элемента)
D7-КР1554ТВ9 (2 J-K триггера)
Программная реализация автомата Мура
7. Переход от исходного автомата Мили к эквивалентному автомату Мура
Обычно число внутренних состояний автомата Мура больше или равно числу внутренних состояний автомата Мили. Такое увеличение иллюстрируется рисунком, где показаны фрагменты графов автомата Мили и Мура.
Построим совмещённую таблицу переходов автомата Мили, которой соответствует граф, изображённый на рис.1:
Таблица 3
- |
|||||
- |
|||||
- |
- |
||||
- |
- |
- |
Переход к автомату Мура осуществляется в следующем порядке:
Находим множества , определяемые числом различных выходных сигналов на дугах, входящих в данное состояние.
Составим таблицу переходов автомата Мура на основании таблицы переходов автомата Мили и состояний .
Таблица 4
/ |
/ |
/ |
/ |
/ |
/ |
/ |
||
- |
- |
- |
||||||
- |
||||||||
- |
- |
- |
- |
|||||
- |
- |
- |
Построим граф автомата Мура:
8. Кодирование автомата Мура
Программа, моделирующая работу автомата Мура, должна реализовывать алгоритм его работы в соответствии с уравнениями:
Найдем количество двоичных разрядов, необходимых для кодирования всех входных сигналов:
и всех внутренних состояний (выходных сигналов)
Кодируем автомат, переводя запись таблиц переходов и выходов из символического алфавита в двоичный.
Входные сигналы |
|||
Состояние входа |
Биты кода |
||
0 |
0 |
||
0 |
1 |
||
1 |
0 |
||
1 |
1 |
Внутренние состояния и выходные сигналы
Внутреннее состояние |
Биты кода |
Биты кода |
Выходной сигнал автомата Мили |
||||
0 |
0 |
0 |
0 |
0 |
|||
0 |
0 |
1 |
1 |
0 |
|||
0 |
1 |
0 |
1 |
1 |
|||
0 |
1 |
1 |
0 |
0 |
|||
1 |
0 |
0 |
0 |
0 |
|||
1 |
0 |
1 |
0 |
1 |
|||
1 |
1 |
0 |
1 |
0 |
Переводим таблицу переходов (выходов) в двоичный алфавит
/ |
||||||||
000/00 |
001/10 |
010/11 |
011/00 |
100/00 |
101/01 |
110/10 |
||
00 |
011 |
011 |
110 |
001 |
- |
- |
- |
|
01 |
010 |
010 |
- |
010 |
001 |
001 |
001 |
|
10 |
- |
- |
- |
- |
- |
- |
- |
|
11 |
000 |
100 |
- |
100 |
101 |
101 |
101 |
Обозначим символами внутренние состояния автомата в последующем такте (, ) и составляем для них по единицам логические уравнения, используя таблицу переходов (в каждой клетке таблицы левый бит характеризует сигнал , средний бит - , а правый бит - )
Минимизируем выражения по картам Карно
Минимизируя по единицам получаем
Минимизируя по единицам получаем
Минимизируя по единицам получаем
9. Алгоритмы вычисления функций
Размещено на http://www.allbest.ru/
10. Текст программы
Входные, выходные сигналы и внутренние состояния будут храниться в регистрах B, C и D соответственно в виде байтов:
000000x1x2,0000y1y2,000Q1Q2Q3.
Необходимо составить программу формирования байта очередного внутреннего состояния 00000E1E2E3 по системе уравнений (1) и соответствующего ему байта выходного сигнала 000000y1y2. Удобно предварительно объединить байты входного сигнала и исходного внутреннего состояния в один байт данных вида 000x1x2Q1Q2Q3. Байт нового внутреннего состояния будет формироваться постепенно: вначале вычисляется значение E1 и заносится в разряд D2, затем найденное значение E2 помещается в разряд D1 и наконец E3 заносится в разряд D0 регистра D.
Записываем начальный фрагмент программы, формируя объединенный байт данных:
MOV A,B |
пересылка в аккумулятор байта B (т.е. 000000x1x2) |
|
RLC |
сдвиг содержимого аккумулятора на один разряд влево, в результате получаем байт 00000x1x20 |
|
RLC |
повторный сдвиг на один разряд дает байт 0000x1x200 |
|
RLC |
еще один сдвиг дает байт 000x1x2000 |
|
ORA D |
логическое сложение байтов, хранящихся в аккумуляторе и регистре D, дает исходный байт данных 000x1x2Q1Q2Q3 |
Сохраним этот исходный байт данных для последующего многократного использования. Выберем для его хранения регистр E.
MOV E,A |
копирование содержимого аккумулятора в регистре E |
Составляем программу расчета системы
Вычисление функции E1:
ANI 11110001B |
маскирование битов x2,Q1 и Q2 в первом слагаемом E1 |
|
XRI 10001B |
вычисление первого слагаемого |
|
JZ M1 |
переход, если при вычислении первого слагаемого получен ненулевой результат |
|
MOV A,E |
восстановление байта данных в аккумуляторе |
|
ANI 11100111B |
маскирование битов x1 и x2 во втором слагаемом E1 |
|
XRI 110B |
вычисление второго слагаемого |
|
JZ M1 |
переход, если при вычислении второго слагаемого получен ненулевой результат |
|
MOV A,E |
восстановление байта данных в аккумуляторе |
|
ANI 11101010B |
маскирование битов x1,Q1 и Q3 |
|
XRI 1010B |
вычисление третьего слагаемого |
|
JZ M1 |
переход, если при вычислении третьего слагаемого получен ненулевой результат |
|
MOV A,E |
восстановление байта данных в аккумуляторе |
|
ANI 11110100B |
маскирование бита x2,Q2 и Q3 |
|
XRI 10100B |
вычисление четвертого слагаемого |
|
JZ M1 |
переход, если при вычислении четвертого слагаемого получен ненулевой результат |
|
MVI D,0B |
запись в регистр D значения E1=0; нули записываются во все разряды. |
|
JMP M2 |
безусловный переход для исключения следующей команды |
|
M1: MVI D,100B |
запись в регистр D (в разряд D2) значения E1=1. Получаем байт 00000100 |
|
M2: MOV A,E |
восстановление байта данных в аккумуляторе перед вычислением значение ФАЛ E2 |
Теперь составим фрагмент программы для вычисления битов выходного сигнала y1 и y2 по найденным значениям E1, E2 и E3, хранящихся в регистре D.
Составим карты Карно для y1 и y2
Минимизируя получаем:
Вычисление функции y1
MOV A,D |
копирование регистра D в аккумулятор |
|
ANI 11111110B |
маскирование бита E3 |
|
XRI 110B |
вычисление первого слагаемого y1 |
|
JZ M6 |
переход, если при вычислении первого слагаемого получен ненулевой результат |
|
MOV A,D |
восстановление регистра D в аккумуляторе |
|
ANI 11111011B |
маскирование бита E1 |
|
XRI 010B |
вычисление второго слагаемого |
|
JZ M6 |
переход, если при вычислении второго слагаемого получен ненулевой результат |
|
MOV A,D |
восстановление регистра D в аккумуляторе |
|
XRI 001B |
вычисление третьего слагаемого |
|
JZ M6 |
переход, если при вычислении третьего слагаемого получен ненулевой результат |
|
MVI C,0B |
запись в регистр C значения y1=0; нули записываются во все разряды. |
|
JMP M7 |
безусловный переход для исключения следующей команды |
|
M6: MVI C,10B |
запись в регистр C (в разряд C1) значения y1=1. Получаем байт 00000010 |
|
M7: MOV A,D |
восстановление байта данных в аккумуляторе перед вычислением значения ФАЛ y2 |
11. Список литературы
1. "Цифровые устройства и микропроцессоры" - методические указания к курсовой работе. - Новосибирск, 1998.
2. Электронный справочник по цифровым логическим микросхемам.
3. Конспект лекций за 2008 год.
Размещено на Allbest.ru
Подобные документы
Построение графа синтезируемого автомата. Определение количества элементов памяти. Составление таблицы переходов, выходов и возбуждения конечного автомата. Переход от исходного автомата Мили к эквивалентному автомату Мура. Алгоритмы вычисления функций.
курсовая работа [714,7 K], добавлен 21.05.2013Выполнение синтеза цифрового автомата Мура, осуществляющего отображение информации, приведение алфавитного отображения к автоматному. Построение формализованного описания автомата, минимизация числа внутренних состояний. Функциональная схема автомата.
курсовая работа [2,8 M], добавлен 04.02.2013Проектирование цифровых автоматов Мили и Мура с памятью в булевом базисе по заданной ГСА. Составление частично структурированной таблицы переходов-выходов. Построение функций выходов, логической схемы автомата. Особенности его экспериментальной проверки.
курсовая работа [628,7 K], добавлен 14.07.2012Синхронный дискретный автомат Мура как прототип проектируемого электронного автомата с заданными входными сигналами и контролируемыми параметрами. Разработка схемы дискретного автомата. Выбор элементной базы. Разработка устройств сопряжения по входу.
курсовая работа [958,4 K], добавлен 29.07.2009Теоретические основы процессоров. Построение процессоров и их общая структура. Цифровые автоматы. Расчёт количества триггеров и кодирование состояний ЦА. Структурная схема управляющего устройства. Построение графа функционирования управляющего устройства.
курсовая работа [85,0 K], добавлен 08.11.2008Управляющий цифрового автомат типа Мура. Абстрактный и структурный синтез автомата, построена функциональная схема. Функции выходов и возбуждения элементов памяти. Моделирование на ПК с использованием симулятора ModelSim. Описание автомата на языке VHD.
курсовая работа [214,2 K], добавлен 07.11.2010Алгоритм работы автомата Мили в табличном виде. Графический способ задания автомата. Синтез автомата Мили на Т-триггерах. Кодирование состояний автомата. Таблицы кодирования входных и выходных сигналов. Таблица переходов и выходов абстрактного автомата.
курсовая работа [24,7 K], добавлен 01.04.2010Схема строения цифровых автоматов, применяемых в цифровой технике. Отличия синхронных и асинхронных последовательностных устройств. Логические уравнения для определения работы автомата Мура. Синхронные триггеры и синтез последовательностного устройства.
реферат [163,6 K], добавлен 24.12.2010Структурная схема и синтез цифрового автомата. Построение алгоритма, графа и таблицы его функционирования в микрокомандах. Кодирование состояний автомата. Функции возбуждения триггеров и формирования управляющих сигналов. Схема управляющего устройства.
курсовая работа [789,4 K], добавлен 25.11.2010Изучение основных понятий теории автоматов. Анализ работы цифровых машин с программным управлением на примере автоматов Мили и Мура. Устройство преобразователей дискретной информации (RS-триггера). Разработка схемы цифрового автомата для сложения чисел.
курсовая работа [449,2 K], добавлен 16.09.2017