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

книги / Схемотехника. Моделирование цифровых автоматов в САПР Ковчег

.pdf
Скачиваний:
7
Добавлен:
12.11.2023
Размер:
4.35 Mб
Скачать

Выполним отметку ГСА для автомата Мили. Получим отмеченную ГСА-ОГСА (рис. 2).

Рис. 2. Отмеченная ГСА (ОГСА)

Получим граф автомата (рис. 3).

Рис. 3. Граф схема автомата

31

Построим обобщенную таблицу переходов-выходов для триггеров типа D (таблица).

Обобщенная таблица переходов выходов

y2

y1

x2

x1

y2 (t+1)

y1 (t+1)

 

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

 

d2 (t)

d1 (t)

z1

z2

z3

z4

 

z5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

~

~

0

1

1

0

0

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

0

1

~

~

1

1

0

1

0

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

1

1

~

0

1

0

0

0

1

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

1

1

~

1

1

1

0

1

0

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

1

0

0

~

0

0

0

0

0

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

1

0

1

~

0

0

0

0

0

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

Получим функции МПУУ: y2(t 1) d2(t) y1;

y1(t 1) d1(t) y2 y1x1; z1 y1 y1;

z2 y2 y1 y1x1; z3 y2 y1 x1;

z4 y2 y1 x2; z5 y2 y1x2.

Выполнение эксперимента

Соберем схему автомата в произвольном базисе И, ИЛИ, НЕ

(рис. 4).

Проверяем при переменных х2 = х1 = 0. Должны последовательно выдаваться микрооперации {z1, z2, z3, z4}. Необходимо сформировать контрольные точки (рис. 5). Далее необходимо написать тест для переменных х2 = х1 = 0 (рис. 6). На основе выполненных действий формируется временная диаграмма (рис. 7).

32

Рис. 4. Схема МПУУ

Рис. 5. Контрольные точки

Рис. 6. Тест для переменных х2 = х1 = 0

33

Рис. 7. Проверка при х2=х1=0

Проведем тест при х1 = 1. Тест для временной диаграммы при х = 1 (рис. 8). Сначала выдается z1, потом постоянно z2 (рис. 9).

Рис. 8. Тест временной диаграммы

Рис. 9. Проверка при х1 = 1

34

Проведем тест при переменных х2 = 1 и х1 = 0 (рис. 10). Временная диаграмма на рис. 11.

Рис. 10. Тест для х2 = 1 х1 = 0

Рис. 11. Проверка при х2 = 1 х1 = 0

35

Практическая работа № 4 РЕАЛИЗАЦИЯ ЛОГИЧЕСКИХ ФУНКЦИЙ С ПОМОЩЬЮ МУЛЬТИПЛЕКСОРА

Мультиплексор (MUX) представляет собой комбинационное устройство, осуществляющее подключение одного из входов данных на выход. Количество входов данных зависит от количества управляющих входов. Так, тремя управляющими входами можно закодировать 8 входов данных.

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

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

Задание: реализовать логическую функцию с помощью мультиплексора.

Пример. Пусть задана функция f = a&b. Необходимо реализовать ее на мультиплексорах.

Для этого построим таблицу истинности для этой функции.

Таблица истинности для функции f = a&b

a

b

f

 

 

 

1

1

1

 

 

 

1

0

0

 

 

 

0

1

0

 

 

 

0

0

0

 

 

 

36

Выполнение эксперимента

Далее необходимо из библиотеки элементов выбрать мультиплексор на 4 входа (х1х4). На эти 4 входа (х1х4) мы подаем соответствующие значения функции f. На входы a и b мы подаем 1 и 0, как в таблице истинности (рис. 1); a и b – управляющие входы; х1х4 – информационные входы, на которые подаются соответствующие значения функции.

Рис. 1. Функция f = a&b, реализованная на мультиплексоре

Также необходимо прописать, как будут переключаться входы в «тестах», для того чтобы получить временную диаграмму (рис. 2).

Рис. 2. Тест для функции

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

После этого программа на основе прописанных ранее тестов создает временную диаграмму (рис. 4).

37

Рис. 3. Контрольные точки

Рис. 4. Временная диаграмма функции

38

Практическая работа № 5 РЕАЛИЗАЦИЯ УМНОЖЕНИЯ И ДЕЛЕНИЯ ПОЛИНОМОВ

Задание: построить схемы умножения и деления заданной информации на заданный образующий полином.

1. Умножение полиномов

Некоторый полином x3+ 1 можно записать в развёрнутой форме:

A 1x0 0x1 0x2 1x3

1 0 0 1

Рассмотрим пример умножения информационного полинома А = х3 + 1 на порождающий (образующий) полином G = х3 + х + 1.

Аналитически процесс умножения можно представить в следующем виде:

x3 1

x3 x 1

x3 1

x4 x

x6 x3

x6 x4 x 1.

Проведем умножение в двоичном коде:

 

 

 

 

x3 x2 x 1

 

 

 

 

 

A

1

 

0

0

1

 

 

 

G

1

 

0

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

0

1

 

 

 

1

0

 

0

1

 

 

 

0

0

0

 

0

 

 

 

1

0

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

1

0

0

1

1

х6пр х5пр х4пр х3пр х2пр хпр 1пр – порядок следования разрядов произведения (пр).

39

Получим уравнения, описывающие значения разрядов произведения, в зависимости от значения разрядов множимого при условии «фиксированного» множителя:

 

6

3

,

 

xпр

xмн

 

x5

x2

,

 

 

пр

мн

 

 

x4

x3

x

,

 

пр

мн

мн

 

 

 

xмн3

xмн2

1мн,

xпр3

x2

x2

x

,

 

пр

мн

мн

 

x

x

1 ,

 

пр

мн

мн

 

 

 

1мн.

 

 

1пр

 

 

Реализуем полученные уравнения в схеме умножения полиномов (рис. 1).

Рис. 1. Схема умножения на образующий полином G = x3 + x + 1

Для собранной нами схемы полинома подготовим тест. Правильность работы схемы подтверждается временной диаграммой, изображенной на рис. 2.

Рис. 2. Тест для схемы умножения на полином G = x3 + x + 1

40