Синтез цифрового автомата на заданных элементах памяти и заданных на определенном логическом базисе

Автор работы: Пользователь скрыл имя, 27 Февраля 2013 в 06:15, курсовая работа

Описание

Целью курсовой работы является синтез цифрового автомата на заданных элементах памяти и заданных на определенном логическом базисе и, как результат проделанной работы полное сходство в значениях временных диаграмм.
Задан цифровой автомат. Произвести синтез данного автомата на D триггере и Multiplexor (MUX).
Автомат задается множеством из объектов: , где -множество входных сигналов, -множество выходных сигналов, -множество внутренних состояний автомата, -функция переходов (определяет следующее состояние автомата), -функция выхода (определяет текущее значение выхода), -начальное состояние автомата.

Содержание

1.Задание на курсовую работу_______________________________________ 4
2.Номер варианта с индивидуальным заданием_________________________5
3.Основные единицы, сокращения, термины___________________________6
4.Задание I_______________________________________________________9
5.Задание II_______________________________________________________9
6.Задание III_____________________________________________________ 10
7.Задание IV_____________________________________________________11
8.Задание V______________________________________________________12
9.Задание VI_____________________________________________________ 13
10.Задание VII___________________________________________________ 15
11.Задание VIII___________________________________________________17
12.Выводы_______________________________________________________22
13. Список литературы_____________________________________________23

Работа состоит из  1 файл

Пз Автоматы.docx

— 238.34 Кб (Скачать документ)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задание IV

 

Произведем эффективное кодирование состояний автомата с учетом типа триггера входящих в память автомата.

 

По Баранову:

 

     

Z1

0 1  1

2

Z2

0 0 0

3

Z3

0 0 1

3

Z4

1 0 1

2

Z5

0 1 0

3

Z6

1 0 0

3

Z7

1 1 0

1


 

 

Закодируем входы автомата                  Закодируем выходы автомата

 

 

   
 

0 0

 

0 1

 

1 0




Y

 
 

1

 

0




 

 

 

 

 

 

 

 

 

Таблица переходов для  триггера

 

 

D

C=1

0 -> 0

 

0-> 1

1

1-> 0

0

1-> 1

 

 

 

 

Задание V

 

 

Закодируем таблицу переходов/выходов в двоичном виде

 

               

00

             

01

-

         

-

10

     

-

   

-

11

-

-

-

-

-

-

-


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задание VI

 

Произведем синтез КС автомата

 

  1. Составим Карты Карно, используя двоично-кодированную таблицу , получим оптимальные покрытия

 

 

 

000

001

011

010

110

111

101

100

00

0

0

0

1

1

Х

1

0

01

1

1

Х

0

Х

Х

0

0

11

Х

Х

Х

Х

Х

Х

Х

Х

10

1

0

1

0

Х

Х

Х

1


 

;

;

С (днф) = 21

С (кнф) = 30

 

         

 

 

000

001

011

010

110

111

101

100

00

1

1

0

1

0

Х

1

0

01

1

0

Х

1

Х

Х

1

1

11

Х

Х

Х

Х

Х

Х

Х

Х

10

0

0

0

0

Х

Х

Х

Х


 

;

;

С(днф)= 17

С(кнф) = 16

            

 

 

000

001

011

010

110

111

101

100

00

0

1

0

0

0

Х

0

1

01

0

1

Х

0

Х

Х

0

1

11

Х

Х

Х

Х

Х

Х

Х

Х

10

1

1

1

0

Х

Х

Х

1


 

;

;

С(днф) = 14

С(кнф) = 14

Выходная функция

 

000

001

011

010

110

111

101

100

00

1

1

0

0

1

Х

0

0

01

1

0

Х

1

Х

Х

1

1

11

Х

Х

Х

Х

Х

Х

Х

Х

10

0

0

0

1

Х

Х

Х

0


 

;

.

С (днф)= 22

С(кнф)=22

 

 

Задание VII

 

С помощью графического редактора  представим принципиальную схему автомата. Для удобства используем мультиплексор на основе функций F1 и F2.

 

Таблицы кодировок:

для

 

δ3 δ2 δ1

λ2 λ1

0 0

0 1

1 0

1 1

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0

0

1

0

0

1

1

Х

1

1

0

Х

0

0

Х

Х

1

0

0

1

1

Х

Х

Х

Х

Х

Х

Х

Х

Х

Х

Х


Vx

λ2+λ1

λ1

 

λ2

λ2

 

1

1





 

 

Vx

 

 

 

0

λ1

1

0

1




 

δ3 δ2 δ1

λ2 λ1

0 0

0 1

1 0

1 1

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

1

1

1

0

0

1

0

X

1

0

1

X

1

1

X

X

0

0

0

0

X

X

X

X

Х

Х

Х

Х

Х

Х

Х

Х


 

 

 

 

 

 

 

 

 

 

 

 

для

 

δ3 δ2 δ1

λ2 λ1

0 0

0 1

1 0

1 1

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0

1

0

0

1

0

0

X

0

1

0

X

1

0

X

X

1

1

0

1

1

X

X

X

Х

Х

Х

Х

Х

Х

Х

Х


Vx

λ2

1

0

λ2

1

0

0

1




 

 

Для выходной функции

 

δ3 δ2 δ1

λ2 λ1

0 0

0 1

1 0

1 1

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

1

1

0

0

0

0

1

Х

1

0

1

Х

1

1

Х

Х

0

0

1

0

0

Х

Х

Х

Х

Х

Х

Х

Х

Х

Х

Х


 

Vx

 

 

λ2+λ1

0

λ1

λ1

1




 

 

В результате получили функции:

F1= λ2+λ1

F2=

 

 

 

 

 

 

 

 

 

 

 

Задание VIII

 

Структурное моделирование автомата с помощью  графического редактора и редактора  временных диаграмм.

 

Текстовый файл (структурный):

Subdesign structmux

(alf[1..0], clk, set: input;

z[2..0], bt: output;)

Variable

td[2..0]: DFF;

dlt[2..0]: NODE;

dg[2..0] : NODE;

F1, F2 :NODE;

Begin

F1=alf[1]#alf[0];

F2=!alf[1]&!alf[0];

CASE dlt[] is

WHEN 0 => dg[2]=F1;

WHEN 1 => dg[2]=alf[0];

WHEN 2 => dg[2]=F2;

WHEN 3 => dg[2]=alf[1];

WHEN 4 => dg[2]=alf[1];

WHEN 5 => dg[2]=!alf[0];

WHEN 6 => dg[2]=VCC;

WHEN 7 => dg[2]=VCC;

END CASE;

CASE dlt[] is

WHEN 0 => dg[1]=!alf[1];

WHEN 1 => dg[1]=F2;

WHEN 2 => dg[1]=!alf[1];

WHEN 3 => dg[1]=GND;

WHEN 4 => dg[1]=alf[0];

WHEN 5 => dg[1]=VCC;

WHEN 6 => dg[1]=GND;

WHEN 7 => dg[1]=VCC;

END CASE;

 

CASE dlt[] is

WHEN 0 => dg[0]=alf[1];

WHEN 1 => dg[0]=VCC;

WHEN 2 => dg[0]=GND;

WHEN 3 => dg[0]=alf[1];

WHEN 4 => dg[0]=VCC;

WHEN 5 => dg[0]=GND;

WHEN 6 => dg[0]=GND;

WHEN 7 => dg[0]=VCC;

END CASE;

 

CASE dlt[] is

WHEN 0 => bt=!alf[1];

WHEN 1 => bt=F2;

WHEN 2 => bt=F1;

WHEN 3 => bt=GND;

WHEN 4 => bt=alf[0];

WHEN 5 => bt=alf[0];

WHEN 6 => bt=VCC;

WHEN 7 => bt=VCC;

END CASE;

td[2].d=dg[2];

td[1].d=dg[1];

td[0].d=dg[0];

td[ ].CLK=clk;

td[ ].ClRn=set ;

td[ ].PRn=vcc;

dlt[ ]=td[ ].q;

z[ ]=dlt[ ];

END;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Векторный файл:

 

Unit us;

Start 0;

Stop 180us;

Interval 10us;

 

Radix BIN;

Inputs clk;

Pattern

0 1;

 

Inputs set;

Radix BIN;

Pattern

0> 0

20> 1;

 

Inputs alf[1..0];

Radix OCT;

Pattern

0> 0

120> 2

140> 1

160> 2;

 

Radix OCT;

Outputs z[2..0];

Radix BIN;

Outputs bt;

 

 

 

 

Определение тестовой последовательности входных сигналов:

 

clk

                 

set

                 

α2α1

X

0

0

0

0

0

2

1

2

δ3δ2δ1

0

2

6

4

1

3

5

2

0

β

Х

0

0

1

1

0

1

0

1


 

 

 

Описание автомата с помощью  оператора Machine:

 

Subdesign machine1

(CLK, RS, a2, a1: input;

y, z[2..0] :output;)

Variable

aa: MACHINE OF BITS (z[2..0]) WITH STATES( S2=b"000",S5=b"010",S7=b"110", S6=b"100", S3=b"001", S1=b"011", S4=b"101" );

BEGIN

aa.clk=CLK;

aa.reset=RS;

TABLE

aa, a2, a1=> y, aa;

S1, 0, 0=> 0, S2;

S1, 1, 0=> 0, S4;

S2, 0, 0=> 1, S5;

S2, 0, 1=> 1, S7;

S2, 1, 0=> 0, S4;

S3, 0, 0=> 1, S1;

S3, 0, 1=> 0, S4;

S3, 1, 0=> 0, S3;

S4, 0, 0=> 0, S7;

S4, 0, 1=> 1, S5;

S5, 0, 0=> 0, S7;

S5, 0, 1=> 1, S5;

S5, 1, 0=> 1, S2;

S6, 0, 0=> 0, S3;

S6, 0, 1=> 1, S1;

S6, 1, 0=> 0, S4;

S7, 0, 0=> 1, S6;

END TABLE;

END;

 

 

 

 

 

 

 

 

 

 

 

Векторный файл:

 

PATTERN

0> 1

20> 0;

RADIX BIN;

INPUTS a2 a1;

PATTERN

0> 0 0

20> 0 0

40> 0 0

60> 0 0

80> 0 0

100> 0 0

120> 1 0

140> 0 1

160> 1 0

180> 1 0;

RADIX BIN;

OUTPUTS y;

RADIX OCT;

OUTPUTS z[2..0];

 

 

 

Информация о работе Синтез цифрового автомата на заданных элементах памяти и заданных на определенном логическом базисе