Синтез цифрового автомата с 'жесткой логикой'

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    2,61 Мб
  • Опубликовано:
    2014-01-19
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Синтез цифрового автомата с 'жесткой логикой'

ВВЕДЕНИЕ

Окружающая нас информация постоянно претерпевает преобразования. Однако не все окружающие нас преобразователи информации выполняет только функциональное отображение информации вход-выход. Результат преобразования зачастую зависит не только от того какая информация появилась на входе, но от того что происходило раньше. Например, один и тот же вход - извинение соседа после того как он наступил вам на ногу - вызовет у вас одну реакцию в первый раз и совсем другую - в пятый раз. Автомат - это пример устройства, реакция которого зависит не только от входа , но и от того что было раньше, то есть от состояния в предыдущий момент времени. Компьютер - пример цифрового автомата. Он обладает памятью, которая хранит его состояние. В зависимости от состояния компьютер выполняет то или иное действие. Синоним термину «цифровой автомат» - «конечный автомат». Первый термин подчеркивает, что автомат работает с цифрами, то есть конечными наборами символов, второй - что его память конечна. Однако компьютер слишком сложен для тех методов, которые мы будем рассматривать в этом курсе.

Более подходящий пример - команды в операционной системе Unix, каждая их которых - конечный автомат. Конечный автомат - абстракция, которая позволяет не рассматривать динамические состояния, которые возникают во время переходных процессов. Конечный автомат рассматривает состояния перед началом и после завершения перехода, в промежуточные моменты времени конечно-автоматное описание невозможно. Методы конструирования реальных устройств позволяют рассматривать конечно-автоматное описание как описание функции автомата, а переходные процессы учесть и скрыть от внешнего мира. Если эта задача решена, то можно рассматривать устройство как конечный автомат. Еще более простое соотношение между конечным автоматом и программой. Любой конечный автомат может быть представлен программой. Мы будем употреблять термин «цифровой автомат» для устройств, которые реализуют действий над числами. Это сумматоры, умножители, делители, устройства для извлечения корня, вычисления тригонометрических функций и других операций, которые разработчик считает нужным реализовать аппаратно. Отличия цифрового автомата от конечного автомата общего вида состоят в следующем: он предназначен для представления чисел и выполнения операций над ними, в нем на самом первом этапе, этапе синтеза одноразрядного или многоразрядного сумматора, решается проблема гонок (порождаемых задержками), цифровой автомат имеет погрешность представления - погрешность, которая возникает при представлении счетных или несчетных числовых систем из-за ограниченного количества разрядов и памяти.

Отличия реализованной операции от арифметической в особо важных случаях выражаются дополнительными сигналами: переполнением, сигналом "машинного нуля", цифровой автомат слишком сложен для автоматического синтеза. Аппаратно реализуются, в основном, сумматоры, умножители и делители. Более сложные операции сводятся к этим последним, так что арифметическое устройство используется в паре с управляющим автоматом, который реализуется либо аппаратно, либо программно.

В настоящей курсовой работе рассмотрен синтез цифрового автомата с «жесткой логикой», который в массиве данных А определяет количество и сумму четных и нечетных элементов.

. СТРУКТУРНАЯ СХЕМА ЦИФРОВОГО АВТОМАТА

Цифровой автомат - это устройство, осуществляющее прием, хранение и преобразование дискретной информации по некоторому алгоритму. Цифровой автомат под действием входных сигналов принимает различные состояния и формирует выходные управляющие сигналы, зависящие от внутреннего состояния и входных сигналов. Для хранения внутреннего состояния в состав цифрового автомата входят элементы памяти, поэтому цифровой автомат является последовательностным устройством. Структурная схема цифрового автомата представлена на рисунке 1.

Рисунок 1-Структурная схема цифрового автомата.

Цифровой автомат состоит из операционного и управляющего устройств. В операционном устройстве под действием управляющих сигналов выполняются арифметические и логические операции над исходными данными. В его состав входят регистры, сумматоры, счетчики, шифраторы, дешифраторы и другие устройства. На выходах операционного устройства формируются результаты и признаки, которые поступают в управляющее устройство и организуют разветвляющиеся участки алгоритма. Управляющее устройство в определённой временной последовательности вырабатывает управляющие сигналы, которые инициируют действия узлов операционного устройства. Управляющее устройство состоит из дешифратора, комбинационного узла, регистра состояния. Регистр текущего состояния образуют триггеры. Кодовая комбинация с входов триггеров поступает в дешифратор и преобразуется в активный логический уровень на одном из его выходов. Выходы дешифратора соответствуют состояниям цифрового автомата. Комбинационный узел по состоянию автомата и значениям признаков (условий) формирует выходные управляющие сигналы и сигналы управления триггерами регистра состояний.

. АЛГОРИТМ ФУНКЦИОНИРОВАНИЯ ЦИФРОВОГО АВТОМАТА В МИКРООПЕРАЦИЯХ

цифровой автомат кодирование сигнал

Для решения поставленной задачи в состав операционного устройства ЦА входят следующие элементы:

счетчик Сч1 - для счета циклов;

счетчик Сч2 - для счета количества четных элементов массива;

счетчик СчЗ - для счета количества нечетных элементов массива;

регистр RG1 - для хранения элементов массива;

сумматор SM1 - для определения суммы четных элементов массива;

регистр RG2 - для хранения суммы четных элементов массива;

сумматор SM2 -для определения суммы нечетных элементов массива;

регистр RG3 - для хранения суммы нечетных элементов массива.

Алгоритм функционирования цифрового автомата в микрооперациях представлен на рисунке 2.

Рисунок 2 Алгоритм функционирования ЦА в микрооперациях

Под действием управляющего сигнала y1 в счетчик Сч1 записывается n, соответствующее числу элементов массива.

Под действием управляющего сигнала у2 счетчики Сч2 и СчЗ устанавливаются в нулевое состояние. Под действием управляющего сигнала у3 в регистр RG1 поочередно записываются элементы проверяемого массива, и формируется признак xl. Признак xl=0 для четных элементов, признак xl=l для нечетных элементов.

В сумматоре SM1 складываются четные элементы. Под действием управляющего сигнала у4 сумма четных элементов записывается в регистр RG2. под действием управляющего сигнала у5 к содержимому Сч2 прибавляется 1.

В сумматоре SM2 складываются нечетные элементы массива. Под действием управляющего сигнала у6 сумма нечетных элементов записывается в регистр RG3. Под действием управляющего сигнала у7 к содержимому СчЗ прибавляется 1.

Под действием управляющего сигнала y8 из содержимого Сч1 вычитается 1 и формируется признак х2. Признак х2=1, если содержимое счетчика Сч1 равно нулю и признак х2=0, если содержимое Сч1 не равно нулю.

. СТРУКТУРНАЯ СХЕМА ОПЕРАЦИОННОГО УСТРОЙСТВА

В состав операционного устройства входят: в качестве счетчика Сч1 - микросхема К531ИЕ16, в качестве счетчиков Сч2 и Сч3 - микросхема - К555ИЕ11, в качестве регистровRG1, RG2, RG3 - микросхемы К555ИР11, в качестве сумматоров SM1,SM2 - микросхема ИМ. Структурная схема операционного устройства представлена на рисунке 3.

Под действием управляющего сигнала y1 в счетчике Сч1 должен быть организован режим параллельной загрузки. Для этого необходимо на входы подать сигналы: =лог. «0», С = (положительный перепад напряжения). На информационные входы D необходимо подать двоичный код, соответствующий числу n = 14, т.е. D0 =лог. «0», D1=1, D2=1, D3=1.

Под действием управляющего сигнала у2 в Сч2 и СчЗ должен быть организован режим сброса. Для этого необходимо на входы подать сигналы: =лог. «0», С =.

Рисунок 3 Структурная схема операционного устройства

Под действием управляющего сигнала у3 в регистре RG1 должен быть организован режим параллельной загрузки. Для этого необходимо на входы регистра RG1 подать сигналы:=лог. «0», С = ↓. На выходе Qo регистра RG1 формируется признак xl. Для четных элементов массива xl = лог. «0», для нечетных элементов массива xl = лог. «1». Выходы Qo - Q3 регистраRG1 через элементы «И» соединены со входами В03 сумматоров SM1,SM2.

Под действием управляющего сигнала у4 с помощью схемы «И» четный элемент массива передается в сумматор SM1и в регистре RG2 осуществляется режим параллельной загрузки. Для этого необходимо на входы регистра RG2 подать сигналы: =лог. «0», С = ↓.

На входы А03 сумматора SM1 подаются сигналы в выходов Qo - Q3 регистраRG2. В комбинационной схеме сумматора накапливается сумма четных элементов массива «А» и результат записывается регистр RG2. Для этого выходы сумматора SM1S0 - S3 (F0 - F0для микросхемы К155ИП3) соединены со входами D0 -D3 регистра RG2.

Так как в качестве сумматора SM1 используется арифметико-логическое устройство К155ИП3, то для организации режима сложения при активных высоких уровнях на входы необходимо подать сигналы: M=S1= S2= S3=лог. «0», Сn=S0 = лог. «1».

Под действием управляющего сигнала у5 в Сч2 должен быть организован режим счета на увеличение. Для этого необходимо на входы счетчика Сч2 подать сигналы: =1, С = , СЕР =СЕТ = = лог «1». На выходах Qo - Q3 счетчика Сч2 формируется количество четных элементов массива «А».

Под действием управляющего сигнала у6 с помощью схемы «И» нечетный элемент массива передается в сумматор SM2 и в регистре RG3 осуществляется режим параллельной загрузки. Для этого необходимо на входы регистра RG3 подать сигналы: =лог. «0», С = ↓.

На входы А03 сумматора SM2 подаются сигналы в выходов Qo - Q3 регистраRG3. В комбинационной схеме сумматора накапливается сумма нечетных элементов массива «А» и результат записывается регистр RG3. Для этого выходы сумматора SM2 S0 - S3 (F0 - F0для микросхемы К155ИП3) соединены со входами D0 -D3 регистра RG3.

Так как в качестве сумматора SM2 используется арифметико-логическое устройство К155ИП3, то для организации режима сложения при активных высоких уровнях на входы необходимо подать сигналы: M=S1= S2= S3=лог. «0», Сn=S0 = лог. «1».

Под действием управляющего сигнала у7 в Сч3 должен быть организован режим счета на увеличение. Для этого необходимо на входы счетчика Сч3 подать сигналы: =1, С = , СЕР =СЕТ = = лог «1». На выходах Qo - Q3счетчика Сч3 формируется количество нечетных элементов массива «А»

Под действием управляющего сигнала y8 в Сч1 должен быть организован ражим счета на уменьшение. Для этого необходимо на входы счетчика Сч1 подать сигналы: = ==лог. «0», =лог. «1», С =.

На выходе переноса при счете на уменьшение ТСd формируется признак х2.

. СИНТЕЗ ЦИФРОВОГО АВТОМАТА

.1 Алгоритм функционирования цифрового автомата в микрокомандах

В микрокоманды Y можно объединить управляющие сигналы у, под действием которых выполняются микрооперации в различных, не связанных между собой блоках, а также микрооперации, последовательность формирования которых в процессе выполнения алгоритма не изменяется.

Алгоритм функционирования ЦА в микрокомандах представлен на рисунке 4.

Рисунок 4 Алгоритм функционирования ЦА в микрокомандах.

В микрокоманду Y1 входят управляющие сигналы у1 , у 2 . В микрокоманду Y2 входит управляющий сигнал у3. В микрокоманду Y3 входят управляющие сигналы у4, y5 . В микрокоманду Y4 входят управляющие сигналы у6, у7. В микрокоманду Y5 входит управляющий сигнал у8. Символами ао обозначим начало и конец алгоритма. Символами а1 а2, а3, а4, a5 обозначают операторные блоки. Символы ao-a5 соответствуют состояниям ЦА.

.2 Граф функционирования цифрового автомата

Граф функционирования ЦА строится на основе алгоритма функционирования в микрокомандах. В узлах графа записываются состояния ЦА, стрелками показывают возможные переходы, над стрелками записывают условия перехода, а выделенные стрелки соответствуют безусловным переходам.

Граф функционирования ЦА представлен на рисунке 5.

Рисунок. 5 Граф функционирования цифрового автомата.

Из состояния ао выполняется безусловный переход в состояние а1. Из состояния a1 выполняется безусловный переход в состояние а2. Из состояния а2 при условии xl=0 выполняется переход в состояние а3 , а при условии x1=1 выполняется переход в состояние а4. Из состояний а3 и а4 выполняются безусловные переходы в состояние а5. Из состояния а5 при условии х2=0 выполняется переход в состояние а2, а при х2=1 выполняется переход в состояние ао.

.3 Кодирование состояний

Для кодирования состояний ЦА выберем триггеры. Необходимое количество триггеров выберем из условия минимального n, удовлетворяющего соотношению (1).

(1)

гдеn - количество триггеров,- количество состояний цифрового автомата.

Для N=6, n=3. Каждому состоянию ЦА поставим в соответствие комбинацию состояний триггеров. Кодирование состояний ЦА представлено в таблице 1.

Таблица 1. Кодирование состояний цифрового автомата


.4 Таблица функционирования

Функционирование ЦА можно представить в виде таблицы построенной на основе графа функционирования. В каждой строке таблицы описывается определенный переход графа и сигналы управления триггерами, необходимые для данного перехода.

В качестве триггеров выберем RS - триггеры (микросхема К155ТР2), имеющие инверсные входы R и S. Необходимо учесть, что для перевода RS-триггера из нулевого состояния в единичное, необходимо активный логический уровень (лог. «0») подать на вход S, а для перевода RS- триггера из единичного состояния в нулевое необходимо активный логический уровень (лог. «0») подать на вход R.Функционирование ЦА представлено в таблице 2.

Таблица 2. Функционирование цифрового автомата


.5 Функции возбуждения триггеров и формирования управляющих сигналов

В каждом состоянии ЦА формируется соответствующая микрокоманда Y. Для микрокоманд Y можно записать логические выражения (2-6).

 (2)

 (3)

 (4)

 (5)

 (6)

Логические выражения для сигналов управления триггерами запишем как простую дизъюнкцию конъюнкций текущих состояний и условий перехода, при которых эти сигналы получаются. Сигналы управления триггерами соответствуют логическим выражениям (7-12).

 (7)

 (8)

 (9)

 (10)

 (11)

 (12)

.6 Схема управляющего устройства

Управляющее устройство состоит из дешифратора, комбинационного узла и регистра состояний.

Дешифратор служит для преобразования кодовых комбинаций с выходов триггеров в состояния цифрового автомата ao-a5.

Комбинационный узел служит для формирования сигналов управления триггерамиS0,R0, S1,R1, S2,R2 и строится в соответствии с логическими выражениями (7-12).

Регистр состояний формирует кодовые комбинации состояний цифрового автомата. Он построен на трех RS триггерах с инверсными входами. Схема управляющего устройства представлена на рисунке 6.

Рисунок 6. Схема управляющего устройства

В качестве дешифратора используется микросхема К155ИД12.

Выходы триггеров Т1 Т2, Т3 соединены со входами Ао, А1 А2 дешифратора. Кодовая комбинация с выходов триггеров преобразуется в дешифраторе в активный логический уровень одном из выходов 0-5, что соответствует состояниям цифрового автомата ao-a5. Для выполнения функции дешифрации на вход запрета V должен действовать сигнал V= лог. «0».

Цепи соответствующие состояниям ЦА и линии, по которым приходят признаки X1 и Х2 из операционного устройства объединены в «жгут» и пронумерованы от1 до 9.

Управляющее устройство построено с использованием следующих интегральных микросхем: DD 1-К155ИД12DD2-K155ЛH1, DDЗ-К155ЛИ1, DD4-К155ЛЕ4, DD5-K155ЛE1, DD6-K555TP2.

.7 Проверка управляющего устройства

Проверка переходов ЦА выполняется с использованием логических выражений (7-12) и схемы управляющего устройства.

Возможные переходы ЦА представлены в таблице 3.

В исходном состоянии =1 на триггеры действуют управляющие сигналы S2=R2=S1=R1=R0=0 и S0-1. При таких управляющих сигналах триггеры T1 и Т2 сохраняют нулевое состояние, а триггер Т0 переходит в единичное состояние и ЦА приходит в состояние .

При =l на триггеры действуют управляющие сигналы S2=R2=R1=S0=0 и S1=Ro=l. При таких управляющих сигналах триггер Т2 сохраняет нулевое состояние, триггер T1 переходит в единичное состояние, а триггер Т0 переходит в нулевое состояние и ЦА переходит в состояние .

Таблица 3 Переходы цифрового автомата


S2

R2

S1

R1

S0

R0

 

a0







 


0

0

0

0

1

0

 

a1







 


0

0

1

0

0

1

 

a2








S2

R2

S1

R1

S0

R0


X1=0

X1=1


0

0

0

0

1

0


1

0

0

1

0

а3







а4








1

0

0

1

0

0


0

0

0

0

1

0

а5







а5








X2=0

X2=1


0

1

1

0

0

0


0

1

0

0

0

0

a2








a0







При =1 и условии X1=0 на триггеры действуют управляющие сигналы S2=R2=S1=R1=R0=0 и S0=l. При таких управляющих сигналах триггер Т2 сохраняет нулевое состояние, триггер T1 сохраняет единичное состояние, а триггер Т0 переходит в единичное состояние и ЦА переходит в состояние а3.

При =1 и условии X1=1 на триггеры действуют управляющие сигналы S2=R1=l и R2=S1=S0=R0 =0. При таких управляющих сигналах триггер Т2 переходит в единичное состояние, триггер Т1 переходит нулевое состояние, триггер Т0 сохраняет нулевое состояние и ЦА переходит в состояние .

При =1 на триггеры действуют управляющие сигналы S2=R1=l и R2=S1=S0=R0=0. При таких управляющих сигналах триггер Т2 переходит в единичное состояние, триггер T1 переходит в нулевое состояние, триггер Т0 сохраняет единичное состояние и ЦА переходит в состояние .

При =1 на триггеры действуют управляющие сигналы S2=R2= S1=R1=R0=0 и S0=l. При таких управляющих сигналах триггер Т2 остается в единичном состоянии, триггер Т1 сохраняет нулевое состояние, а триггер T0 переходит в единичное состояние и ЦА переходит в состояние .

При = 1 и условии =0 на триггеры действуют управляющие сигналы S2=R1=S0=0 и R2=S1=R0=l. При таких управляющих сигналах триггеры Т2 и Т0 переходят в нулевое состояние, а триггер Т1 переходит в единичное состояние и ЦА переходит в состояние .

При =1 и условии =l на триггеры действуют управляющие сигналы S2=S1=R1=S0=0 и R2=R0=l. При таких управляющих сигналах триггеры Т2 и Т0 переходят в нулевое состояние, а триггер Т1 сохраняет нулевое состояние и ЦА переходит в состояние ао.

.8 Проверка операционного устройства

Проверка операционного устройства для исходных данных n=15 и 14, 6, 9, 11, 4, 2, 8, 5, 3, 1, 7, 10, 12, 13, 4 представлена в таблице 4.

Таблица 4 Проверка операционного устройства

Сч1

Сч2

Сч3

RG1

SM1

RG2

SM2

Выполняемая операция

1111







:Сч1n=15


0000

0000





:Сч2, Сч30




1110




:RG1←=14; =0





1110 + 0000 1110

1110


←()+()=14+0=14:←14


0000 + 1 0001






:Сч2←(Сч2)+1=0+1=1

1111 - 1 1110







:Сч1←(Сч1)-1=15-1= =14; =0




0110




: RG1←=6; =0





0110 +1110 10100

10100


←()+()=6+14=20 :←20


0001 + 1 0010

1110 - 1 1101







:Сч1←(Сч1)-1=14-1==13; =0




1001




: RG1←=9; =1







1001 + 0000 1001

←()+()=9+0=9:←9



0000 + 1 0001





:Сч3←(Сч3)+1=0+1=1

1101 - 1 1100







:Сч1←(Сч1)-1=13-1==12; =0




1011




: RG1←=11; =1







1011 + 1001 10100

←()+()=11+9=20:←20



0001 + 1 0010





:Сч3←(Сч3)+1=1+1=2

1100 - 1 1011







:Сч1←(Сч1)-1=12-1==11; =0




0100




: RG1←=4; =0





00100 + 10100 11000

11000


←()+()=4+20=24 :←24


0010 + 1 0011






:Сч2←(Сч2)+1=2+1=3

1011 - 1 1010







:Сч1←(Сч1)-1=11-1==10; =0




0010




: RG1←=2; =0





00010 + 11000 11010

11010


←()+()=2+24=26 :←26


0011 + 1 0100






:Сч2←(Сч2)+1=3+1=4

1010 - 1 1001







:Сч1←(Сч1)-1=10-1==9; =0




1000




: RG1←=8; =0





001000 - 011010 100010

100010


←()+()=8+26=34 :←34


0100 + 1 0101






:Сч2←(Сч2)+1=4+1=5

1001 - 1 1000







:Сч1←(Сч1)-1=9-1==8; =0




0101




: RG1←=5; =1







00101 + 10100 11001

←()+()=5+20=25:←25



0010 + 1 0011





:Сч3←(Сч3)+1=2+1=3

1000 - 1 0111







:Сч1←(Сч1)-1=8-1=7; =0




0011




: RG1←=3; =1







00011 - 11001 11100

←()+()=3+25=28:←28



0011 + 1 0100





:Сч3←(Сч3)+1=3+1=4

0111 - 1 0110







:Сч1←(Сч1)-1=7-1=6; =0




0001




: RG1←=1; =1







00001 + 11100 11101

←()+()=1+28=29:←29



0100 + 1 0101





:Сч3←(Сч3)+1=4+1=5

0110 - 1 0101







:Сч1←(Сч1)-1=6-1=5; =0




0111







000111 + 011101 100100

←()+()=7+29=36:←36



0101 + 1 0110





:Сч3←(Сч3)+1=5+1=6

0101 - 1 0100







:Сч1←(Сч1)-1=5-1=4; =0




1010




: RG1←=10; =0





001010 + 100010 101100

10110


←()+()=10+34=44 :←44


0101 + 1 0110






:Сч2←(Сч2)+1=5+1=6








:Сч1←(Сч1)-1=4-1=3; =0




1100




: RG1←=12; =0





001100 + 101111 111000

111000


←()+()=12+44=56 :←56


0110 + 1 0111






:Сч2←(Сч2)+1=6+1=7








:Сч1←(Сч1)-1=3-1=2; =0




1101




: RG1←=13; =1







001101 + 100100 110001

←()+()=13+36=49:←49



0110 + 1 0111





:Сч3←(Сч3)+1=6+1=7








:Сч1←(Сч1)-1=2-1=1; =0








: RG1←=4; =0





000100 + 111011 111100

111100


←()+()=4+56=60 :←60


0111 + 1 1000






:Сч2←(Сч2)+1=7+1=8








:Сч1←(Сч1)-1=1-1=0; =0


Похожие работы на - Синтез цифрового автомата с 'жесткой логикой'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!