Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой проект ТАВТ.doc
Скачиваний:
45
Добавлен:
16.04.2019
Размер:
11.06 Mб
Скачать

Этап 2. Техническое задание.

состояния

{A}

Нужно определить множества значений на входе и на входе, а также множество состояний, в которых может находиться наше устройство.

На входе мы получаем значения {MO, SE3, SE2, SE1, SE0}.

На выходе мы должны получить значение управляющих сигналов {уi}.

Для простоты будем полагать, что операнды находятся в РОНах, и результат запишем туда же.

Множество состояний определим с помощью таблицы потактового выполнения операции.

Наша операция, определенная по PIN-коду (10001) — S=AVB.

A: A1

B: A2

S: A3

  1. Ожидание.

  2. Первый такт. Пересылка. Пересылка операнда А из РОН А1 в БР у17=0 (чтение), у10=1 (приём), у11=1 (с шины В)

  3. Второй такт. Пересылка. Адресуем А2, открываем его и записываем в РС. Пересылка операнда В из РОН А2 в РС. у17=0, у12=0, у13=0

  4. Третий такт. Выполнение. Выполнение операции в АЛУ, запись результата в РР. КОП → АЛУ, у7=1 (приём на РР результата), формирование NZV-флагов → РССП

  5. Четвертый такт. Пересылка. Пересылка результата операции на АЛУ по адресу А3. у17=0 (запись в РОН)

  6. Пятый такт. Увеличение счетчика. Формируется +1 в САК (счетчике адресов команд). Сброс МПА в исходное состояние. Переход в состояние ожидания.

Всего у нас шесть состояний микропрограммного автомата.

Этап 3. Кодирование элементов.

{X} → {MO, SE3, SE2, SE1, SE0} → {10001}

{A} →

Такт 0

000

Такт 1

001

Такт 2

010

Такт 3

011

Такт 4

100

Такт 5

101

Закодируем адреса регистров РОН: А1 = 0010 (№2), А2 = 0001 (№1), А3 = 1001 (№9).

Блок-схема алгоритма выполнения операции в РАЛУ:

Этап 4. Составление таблицы переходов и выходов.

такт

КОП

сигналы управления

адрес регистра

такт

Q2

Q1

Q0

y1

y2

y3

y4

y5

y6

y7

y8

y9

y10

y11

y12

y13

y14

y15

y16

y17

Q3

Q2

Q1

Q0

0

0

0

-

-

-

-

-

-

0

-

-

0

1

1

1

-

-

-

0

0

0

0

0

0

0

0

1

1

0

0

0

1

-

0

-

-

1

1

1

1

-

-

-

0

0

0

1

0

1

0

0

0

1

0

0

0

1

-

0

-

-

0

1

0

0

-

-

-

0

0

0

0

1

2

0

1

1

1

0

0

0

1

-

1

-

-

0

1

1

1

-

-

-

0

0

0

0

0

3

1

1

0

1

0

0

0

1

-

0

-

-

0

1

1

1

-

-

-

1

1

0

0

1

4

1

0

1

1

0

0

0

1

-

0

-

-

0

1

1

1

-

-

-

0

0

0

0

0

5

Все сигналы, управляющие режимом регистров, должны находиться в состоянии хранения на нулевом такте.

Полученная таблица является ТИ для функций у6 — у17.

Управление мультиплексорами в рассмотрение не берем, а константу у11 опустим (её легко можно заменить постоянной подачей ВУ).

Таким образом, наши функции — это у7, у10, у12, у13, у17.

Очевидно, что логические уравнения для этих функций получаются не слишком простыми. Поэтому мы реализуем МПА на перепрограммируемом постоянном запоминающем устройстве (ППЗУ/PROM).

М ПА состоит из ППЗУ (PROM) с L+M адресными битовыми входами, (N+L)-разрядного регистра и тактового генератора Г.

Часть входных разрядов ППЗУ (N—M) используется для формирования выходных сигналов, а остальные m разрядов участвуют совместно с L входными сигналами в формировании адреса ППЗУ в следующем такте тактового генератора.

В МПА необходимо применять только те регистры, которые имеют динамический способ приема информации. В противном случае (в случае использования регистра с потенциальным способом приема информации, при переходе регистра в режим пропускания информации на выход (при установке СИ=1) замкнется обратная связь по адресу и возникнет неконтролируемая автогенерация.

При этом tприёма информации < tзадержки ППЗУ + tзадержки регистров

Максимальная тактовая частота

Tmin = tзадержки ППЗУ + tзадержки регистров

Fmin = 1/Tmin

В нашем ППЗУ будет находиться его прошивка, а программа полностью связана с линейностью памяти. Можно прямо в микропрограмме явным образом указать, где находится следующая команда. Это позволяет отказаться от использования счетчика адресов команд.

Возможные режимы работы МПА:

  1. Последовательный перебор адресов ППЗУ. (аналог счетчика САК в ЦП)

  2. Останов в заданном адресе ППЗУ с произвольным количеством тактов ожидания изменения входного сигнала.

  3. Переход на другой адрес при изменении входного сигнала (одного или нескольких)

  4. Циклическое прохождение, т.е. перебор одних и тех же адресов ППЗУ.

  5. Отключение реакции на входные сигналы в течение какого-либо числа тактов.

Если состояний немного (до десяти), автомат можно задать графом и автоматными таблицами переходов и выходов (что мы и делали до этого). Если это не удается, строят ленты автомата — временные диаграммы. Они показывают фазовые отношения между входным и выходным сигналами. По ним выбирают временные сечения, которые рассматривают как вершины графа, то есть как состояния автомата.

Мы будем проектировать МПА, работающий в соответствии со следующей временной диаграммой.

П ри подаче на вход ВУ, МПА должен вырабатывать три выходных сигнала, вложенных один в другой. Во время формирования выходной последовательности МПА не должен реагировать на входной сигнал, а после её окончания должен ожидать следующего ВУ на входе.

Временные сдвиги (такты) должны быть по 1мкс каждый.

Тактовая частота — 1 МГц при Q=T/tипм=2 (меандр).

Составим кодированную таблицу переходов и выходов:

t

t+1

выход1

выход2

выход3

выход1

выход2

выход3

1

1

1

0

1

1

0

1

1

0

0

1

0

0

1

0

0

0

0

0

0

0

0

1

0

0

1

0

1

1

0

1

1

1

1

1

Составим прошивку ППЗУ:

Необходимо реализовать следующие режимы работы:

  1. Последовательный перебор адресов при формировании отработки выходной последовательности.

  2. Останов с ожиданием изменения входного сигнала.

  3. Отключение реакции на входной сигнал путем дублирования последовательного перебора в зоне адресов, соответствующих изменению входного сигнала.

Адрес ППЗУ

Данные ППЗУ

Режим работы

Ячейка

Вход

Адрес (смещение)

Выходы

Смещение (сл. выходы)

1

2

3

0

0

0

0

1

1

1

0

0

0

Ожидание входного сигнала

0

1

0

0

0

0

1

1

0

0

1

Отработка входной последовательности при условии, что входной сигнал = «1»

8

1

0

0

1

0

0

1

0

1

0

9

1

0

1

0

0

0

0

0

1

1

10

1

0

1

1

0

0

1

1

0

0

11

1

1

0

0

0

1

1

1

0

1

12

1

1

0

1

1

1

1

1

0

1

Ожидание снятия входного сигнала

13

0

0

0

1

0

0

1

0

1

0

Отработка входной последовательности при снятии входного сигнала

1

0

0

1

0

0

0

0

0

1

1

2

0

0

1

1

0

0

1

1

0

0

3

0

1

0

0

0

1

1

1

0

1

4

0

1

0

1

1

1

1

0

0

0

Переход на ожидание входного сигнала

5

Функциональная схема.

Согласно временной диаграмме, выходная последовательность состоит из 6 тактов, включая единичные уровни. Поэтому требуется 3 отдельных входа ППЗУ, что дает 8 различных адресов. Кроме этого есть один входной сигнал. Следовательно, количество адресных разрядов ППЗУ — четыре, что дает 16 ячеек, а количество разрядов в каждой ячейке должно быть равно 6.

3 разряда — формирование выхода. 3 разряда — формирование следующего адреса.

Количество разрядов в регистре равно 6 + 1 входной сигнал — итого 7.

На схеме Г — тактовый генератор.

Принципиальная схема.

Замечание: крестом обозначены выходы с открытым (оторванным) коллектором. К ним должны быть присоединены резисторы R1 — R6.

Схема дешифратора ДШ:

Схема генератора Г:

Теперь осталось только записать прошивку в ППЗУ. Так мы реализуем ТИ для данного автомата.

Для прошивки используем 12 ячеек памяти (6 основных + 6 дублированных на тот случай, если вход уберут раньше, чем закончить работать программа) с адресами вида 0хххх (нижний банк памяти) от 0 до 16.