Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

4183

.pdf
Скачиваний:
4
Добавлен:
08.01.2021
Размер:
839.23 Кб
Скачать

Рисунок 7 - Схема последовательного автомата “Секретный замок”.

Теперь нужно убедиться, что схема работает верно. Для этого нужно промоделировать работу схемы на последовательностях. Необходимо пронумеровать все полюса схемы, входные полюса уже пронумерованы, внутренние переменные и сигналы синхронизации С1 и С2 – тоже. Нумеруем выходы каждого из элементов схемы числами от 13 до 26. Для синхронного автомата можно ограничиться логическим моделированием. Построим таблицу, строки которой сопоставим входным наборам, столбцы – номерам полюсов схемы с 1 до 26. Достаточно ограничится установкой автомата в начальное состояние (ху=1), затем входной набор, сохраняющий начальное состояние, а затем последовательность наборов, например, переходов по первой строке автомата, и наконец набор, сохраняющий начальное состояние автомата.

Коль скоро выходные сигналы подтвердили правильность работы автомата на заданной последовательности, то можно считать, что проектирование автомата выполнено верно.

11

Практическое задание. Спроектировать последовательностный автомат для варианта i. Построить схему на D-триггерах. Провести логическое моделирование работы схемы на следующей последовательности: установка в начальное состояние, пробег по всем строкам ТПиВ. Итого, 10 наборов.

12

13

Лабораторная работа 3. Синтез счетчиков и регистров по методу Фистера.

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

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

Начнем с регистров. Каждый регистр предназначается для хранения n- разрядного двоичного кода, приема его и сдвига влево и(или) вправо с заполнением освобождающихся разрядов нулями или единицами, задаваемыми извне, или реализации циклического сдвига. Все выполняемые в регистре операции называются микрооперациями и описание конкретного регистра содержит список выполняемых им микроопераций. Внешнее описание регистра на структурных схемах выглядит следующим образом:

Рисунок 8. – Представление регистра в виде структурной схемы

Регистр как элемент структурной схемы, где a1,а2,...,an - совокупность входов регистра, по которым на него подается из внешней схемы двоичный код, подлежащий хранению;

а0 - вход, определяющий значение освобождаемого при сдвиге разряда; r1,r2,...,rn - совокупность выходов регистра, с которых внешняя схема

считывает хранящийся в регистре код;

x1,...,xk - совокупность управляющих сигналов, по которым внешняя схема задает код выполняемой регистром микрооперации, значение к определяется как наименьшее целое большее логарифма числа выполняемых регистром микроопераций.

Приведем пример табличного описания регистра совокупностью выполняемых им четырех микроопераций(k=2).

 

 

Микрооперация

Описание

1

2

микрооперации

 

 

 

Хранение кода

ri(t+1):= ri(t),i=1,2,...,n

 

 

прием кода

ri(t+1):=ai(t),i=1,2,...,n

14

 

 

сдвиг влево c заполнением

 

ri(t+1):=ri+1(t),i=1,2,.,n-1

 

 

r1 (t+1):=a0(t).

 

r1(t+1):=a0(t).

 

 

сдвиг вправо с заполнением

разряда

ri+1(t+1):= ri(t),i=2,...,n;

 

 

r1(t+1)= а0(t).

 

r1(t+1):= а0(t).

Пусть для простоты n=2. Тогда алгоритм работы регистра опишется следующей системой двух булевых функций четырех переменных:

Рисунок 9 - Система булевых функций r1 t 1 и r2 t 1 построена по табличному описанию регистра.

Строка

х1(t):=0,

х2(t):=0 соответствует

операции

хранения,

т.

е. ri t 1 : ri t , i 1,2.

На

матричных

формах

точками

представлено

сохранение

единичного значения

каждой из

функций.

В

строках

х1 t : 0, х2 t : 1 и х1 t : 1, х2 t : 1

представлены

переменные

а1 t , а2 t и а0 t , что

вроде

бы

нарушает

привычное

для

нас

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

Далее необходимо записать по матричным формам булевых функций r1 t 1 и r2 t 1 их алгебраические формы и построить схемы в заданном базисе.

r1 t 1 x1 x2r1 t Vx1 x2r2 t Vx1x2a0V x1x2a1 r2 t 1 x1 x2r2 t Vx1 x2a0Vx1x2r1 t V x1x2a2

15

Рисунок 10 - Схема регистра.

Описания счетчиков совершенно аналогичны. Схема счетчика на структурных схемах представляется следующей:

Рисунок 11 -Счетчик, выполняющий четыре микрооперации.

Набор выполняемых счетчиками микроопераций обычно содержит некоторое подмножество из следующих преобразований хранящегося в нем кода:

n сброс счетчика в 00...0 или установка счетчика в ноль (Счi(t+1)=0, i=1,2,...,n.

n хранение (Счi(t+1)= Счi(t) , i=1,2,...,n;

n прямой счет (Счi(t+1)= Счi(t)+1) , i=1,2,...,n:

n обратный счет (Счi(t+1)= Счi(t) -1) , i=1,2,...,n.

Например, представим счетчик, реализующий следующий набор микро операций.

16

X1

Х2

Наименование микро операцииОписание микрооперации

0

0

Хранение кода

счi(t+1):= счi(t),i=1,2,…,к

0

1

сброс кода

ri(t+1):=0,i=1,2,…,к

1

0

+1(прямой счет)

 

1

1

-1(обратный счет)

 

Необходимы дополнительные комментарии к операциям прямого (+1) и обратного (-1) счета. Счетчики могут реализовывать разные последовательности наборов (счет в различных системах) - счет в позиционной двоичной системе счисления, счет в коде Грея и т. д. Можно представить счетчик, реализующий произвольную последовательность n- разрядных наборов(не обязательно содержащую все возможные 2n возможных, но не повторяющихся, т. е. после некоторого очередного набора следует только один возможный.

Пусть наш трехразрядный(к=3) счетчик считает в коде Грея.

ч3 ч2 ч1

Тогда наш счетчик должен реализовывать следующую систему трех булевых функций пяти переменных:

Рисунок 12 - Логическое описание работы счетчика.

17

Система булевых функций счетчика такова. cч1(t+1)=⌐x1⌐x2cч1(t)Vx1⌐x2

(⌐сч2(t)⌐сч3(t)Vcч2(t)сч3(t))Vx1x2(сч2(t)⌐сч3(t)V ⌐cч2(t)сч3(t))

cч2(t+1)=⌐x1⌐x2cч2(t)Vx1⌐x2 (сч1(t)⌐сч3(t)V⌐cч1

(t)сч2(t))Vx1x2(⌐сч1(t)сч2 (t)V cч1(t)сч3(t))

cч3(t+1)=⌐x1⌐x2cч3(t)Vx1⌐x2 (⌐сч1(t)сч2(t)Vcч1 (t)сч3(t))Vx1x2(⌐сч1 (t)⌐сч2(t)V

cч1(t)сч3(t))

Рисунок 13 - Схема счетчика.

Практическое задание. Выполнить задание.

1. Построить схему трех разрядного регистра на D-триггерах по следующей таблице микроопераций.

1

2

Микро операция

 

 

 

Прием кода

18

 

 

 

 

Хранение кода

 

 

 

 

 

 

 

 

сдвиг

циклический

 

 

 

 

 

 

 

 

влево.

 

 

 

 

 

 

 

 

 

 

сдвиг

циклический

 

 

 

 

 

 

 

 

вправо.

 

 

 

 

 

 

 

 

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

на D-триггерах по следующей таблице микро операций.

 

 

 

 

Микро

 

 

 

 

 

 

 

1

 

2

операция

 

 

 

 

 

 

 

 

 

 

Сброс кода

 

 

 

 

 

 

 

 

Хранение

 

 

 

 

 

 

 

 

кода

 

 

 

 

 

 

 

 

 

 

+1(прямой

 

 

 

 

 

 

 

 

счет)

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

1(обратный счет)

 

 

 

 

 

 

3. Построить схему трехразрядного регистра на D-триггерах по

следующей таблице микроопераций.

 

1

 

2

Микро операция

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Прием кода

 

 

 

 

 

 

Хранение кода

 

 

 

 

 

 

Сдвиг циклический в право.

 

 

 

 

 

 

Преобразование в обратный код, r3(t)- знак

 

 

 

 

 

 

числа.

 

 

 

 

 

 

 

 

4. Построить схему трех разрядного счетчика на D-триггерах по

следующей таблице микроопераций.

 

1

 

2

Микрооперация

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сброс кода

 

 

 

 

 

 

Хранение кода

 

 

 

 

 

 

 

+1(прямой счет в позиционной

 

 

 

 

 

 

 

системе)

 

 

 

 

 

 

 

 

 

 

-1(обратный счет в коде Грея)

 

 

 

 

 

5. Построить схему трехразрядного регистра на D-триггерах по

следующей таблице микроопераций.

 

1

 

2

Микрооперация

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Преобразование в обратный код, r3 (t)- знак

 

 

 

 

 

числа.

 

 

 

 

 

 

 

 

 

 

Хранение кода

 

 

 

 

 

Прием кода

 

 

 

 

 

Сдвиг циклический влево

 

19

6. Построить схему трехразрядного счетчика в позиционной системе на D-триггерах по следующей таблице микро операций.

Микро 1 2 операция

Сброс кода

-

1(обратный счет)

+1(прямой

счет)

Хранение

кода

7. Построить схему трехразрядного регистра на D-триггерах по следующей таблице микроопераций.

1

2

Микро операция

 

Прием кода

сдвиг циклический влево

Сдвиг вправо с заполнением освобождающегося разряда а0.

Хранение кода

8. Построить схему четырехразрядного счетчика на D-триггерах по следующей таблице микро операций.

1Микро операция Запись кода а4a3a2a1

+1(прямой счет – 0000-0001-0011-0111-1111-1101-1100-1110- 0110-0101-0100-0010-1010-1011-1001-1000

9. Построить схему трехразрядного регистра на D-триггерах по следующей таблице микроопераций.

 

1

 

2

Микро операция

 

 

 

 

 

 

 

 

 

 

Прием кода

 

 

 

 

 

сдвиг циклический вправо

 

 

 

 

 

Сдвиг влево с заполнением освобождающегося

 

 

 

 

 

разряда а0.

 

 

 

 

 

Хранение кода

 

 

 

10. Построить схему трехразрядного счетчика в коде Грея на D-

триггерах по следующей таблице микроопераций.

 

 

 

 

Микро

 

 

1

 

2

операция

 

 

 

 

 

Занесение кода

 

 

 

 

 

 

а3а2а1

 

 

 

 

 

-1(обратный

 

 

 

 

 

 

счет)

 

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]