Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР 2 / ЭИС2_ЛР2.docx
Скачиваний:
44
Добавлен:
21.06.2024
Размер:
638 Кб
Скачать
☆
  1. Приоритетный шифратор 4-2

Таблица 2.1 представляет собой таблицу истинности приоритетного шифратора 4-2.

Таблица 2.1 – Таблица истинности приоритетного шифратора 4-2

Входы

Выходы

x3

x2

x1

x0

a1

a0

G

1

X

X

X

1

1

1

0

1

X

X

1

0

1

0

0

1

X

0

1

1

0

0

0

1

0

0

1

0

0

0

0

0

0

0

Для каждого выхода была составлена формула, согласно данной таблице:

  • a1 = x3 ∩ x2;

  • a0 = x3 ∩ ∩ x1;

  • G = x3 x1 x0.

Данные формулы были преобразованы в базис И-НЕ:

  • a1 = ;

  • a0 = ;

  • G = .

Схема приоритетного шифратора, построенная по базисным формулам, приведена на рисунке 2.1.

Рисунок 2.1 – Схема приоритетного шифратора

На рисунках 2.2 – 2.3 представлено моделирование работы данной схемы в двух режимах.

Рисунок 2.2 – Моделирование схемы в режиме Timing

Рисунок 2.3 – Моделирование схемы в режиме Functional

Далее схема шифратора была описана на языке описания аппаратуры VHDL. Результат представлен на рисунке 2.4.

Рисунок 2.4 – Код модуля шифратора на VHDL

По данному коду было построено схемотехническое представление при помощи инструмента RTL Viewer (рисунок 2.5).

Рисунок 2.8 – Схема по коду в RTL Viewer

Работа схемы, описанной в виде кода, также была промоделирована в 2 режимах (рисунки 2.6 – 2.7). Комбинации входных данных аналогичны тем, что использовались при прошлом моделировании.

Рисунок 2.9 – Моделирование схемы в режиме Timing

Рисунок 2.10 – Моделирование схемы в режиме Functional

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

  1. Реализация функций 11, 12, 13, 14

Для 4 функций, заданных по была построена совмещенная таблица истинности (таблица 3.1).

Таблица 3.1 – Совмещенная таблица истинности

Входы

Выходы

A

B

C

D

F11

F12

F13

F14

0

0

0

0

0

0

0

0

0

0

0

1

1

0

1

0

0

0

1

0

0

0

0

0

0

0

1

1

1

1

1

0

0

1

0

0

0

1

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

0

0

0

1

1

1

1

0

1

0

1

0

0

0

1

1

1

1

1

0

0

1

1

1

0

1

1

0

1

0

1

1

0

1

1

0

1

1

1

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

1

1

1

1

1

1

1

0

0

1

0

1

1

1

1

1

1

0

1

1

Функция F13 будет реализована на мультиплексоре lpm_MUX.

Функция F12 будет реализована на дешифраторе. Так как нулей в результатах функции меньше, то реализация осуществляется «по нулям».

Функция F11 будет реализована через формулу СКНФ: (A∨B∨C∨D) ∧ (A∨B∨ ∨D) ∧ (A∨ ∨C∨D) ∧ ( ∨ ∨ ∨D)

Ф ункция F14 будет реализована по собственной формуле: .

Выбор результата будет осуществляться не двоичным кодом на мультиплексоре (lpm_mux). Также будет использован символ приоритетного шифратора.

Схема, построенная по указанным входным данным, изображена на рисунке 3.1.

Рисунок 3.11 – Функциональная схема

Для моделирования был создан VWF файл, в который были перенесены имеющиеся на схеме входы и выход. Для функций были заданы следующие комбинации входных данных (переменных A, B, C, D):

  • F11: (0;0;0;1) для 1, (0;0;0;0) для 0;

  • F12: (0;0;1;1) для 1, (0;0;1;0) для 0;

  • F13: (0;1;0;1) для 1, (0;1;0;0) для 0;

  • F14: (1;0;0;0) для 1, (0;1;1;1) для 0.

Результаты моделирования схемы в двух режимах представлены на рисунках 3.2 – 3.3.

Рисунок 3.12 – Моделирование схемы в режиме Timing

Рисунок 3.13 – Моделирование схемы в режиме Functional

Далее схема была описана на языке описания аппаратуры VHDL Результат представлен на рисунке 3.4.

Рисунок 3.14 – Описание схемы на VHDL

По данному коду было построено схемотехническое представление при помощи инструмента RTL Viewer (рисунок 3.5).

Рисунок 3.15 – Схема по коду в RTL Viewer

Работа схемы, описанной в виде кода, также была промоделирована в 2 режимах (рисунки 3.6 – 3.7). Комбинации входных данных аналогичны тем, что использовались при прошлом моделировании.

Рисунок 3.16 – Моделирование схемы в режиме Timing

Рисунок 3.17 – Моделирование схемы в режиме Functional

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