FPGA > САПР > Основы Verilog: Курс лабораторных работ

ЛР3 > Реализация типовых комбинационных устройств

Тема: Комбинационные устройства – мультиплексор, демультиплексор, шифратор (кодер), дешифратор (декодер)

1. Теоретические сведения

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

К комбинационным устройствам относятся мультиплексоры, демультиплексоры, шифраторы, дешифраторы и др.

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

Логическое уравнение, описывающее работу четырехканального мультиплексора (имеющего 4 информационных сигнала D0…D3 и 2 адресных сигнала А0…А1) показано ниже:

Схема простейшего одноразрядного мультиплексора 2-в-1 показана на рисунке:

Таблица истинности такого мультиплексора приведена ниже:

A0 Q
0 D0
1 D1

Такой мультиплексор реализуется на языке Verilog с помощью следующего оператора:

Assign Q = (~A0 & D0) | (A0 & D1);

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

Набор логических уравнений, описывающих работу четырехканального демультиплексора (имеющего 1 входной информационный сигнал D, 2 адресных сигнала А0…А1 и 4 выходных сигнала Q0…Q3) показан ниже:

 

Схема простейшего одноразрядного демультиплексора 1-в-2 показана на рисунке:

Его таблица истинности приведена ниже:

A Q0 Q1
0 D 0

1 0 D

Такой демультиплексор реализуется на языке Verilog с помощью набора следующих операторов:

 

 

    Шифратором или кодером называется комбинационное логическое устройство, преобразующее входной код из десятичной системы счисления в двоичную. Входам шифратора последовательно присваиваются значения десятичных чисел, а активный логический уровень сигнала на одном из входов воспринимается шифратором как подача соответствующего десятичного числа. На выходе шифратора формируется соответствующий двоичный код. Соответственно, если шифратор имеет n выходов, то количество входных сигналов не должно превышать 2n. Шифратор, который имеет 2n входов и n выходов называется полным. Если количество входов шифратора меньше 2n, он называется неполным.

Набор логических уравнений, описывающих работу шифратора чисел от 0 до 7 в двоичный код (x0…x7
– входные сигналы, Q0…Q2 – выходные сигналы) показан ниже:

 

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

Набор логических уравнений, описывающих работу двухразрядного дешифратора (Q0…Q1
– входные сигналы, x0…x3
– выходные сигналы) показан ниже:

 

 Самостоятельная работа

Задание 1.

Реализуйте мультиплексор (демультиплексор) и проверьте его работу в среде ModelSim в соответствии с заданным вариантом:

1. Восьмиразрядный мультиплексор 4-в-1 (количество информационных сигналов – 4, разрядность – 8 бит).

2. Четырехразрядный мультиплексор 5-в-1 (количество информационных сигналов – 5, разрядность – 4 бит).

3. Одноразрядный мультиплексор 8-в-1 со входом разрешения работы EN. Активный уровень сигнала EN – логический «0». При подачи на вход EN сигнала с уровнем логической «1», выходной сигнал мультиплексора должен устанавливаться в высокоимпедансное состояние.

4. Восьмиразрядный демультиплексор 1-в-4 (количество выходных сигналов – 4, разрядность – 8 бит).

5. Четырехразрядный демультиплексор 1-в-5 (количество выходных сигналов – 5, разрядность – 4 бит).

6. Одноразрядный демультиплексор 1-в-8 со входом разрешения работы EN. Активный уровень сигнала EN – логический «0». При подачи на вход EN сигнала с уровнем логической «1», выходные сигналы демультиплексора должны устанавливаться в высокоимпедансное состояние.

Задание 2.

Реализуйте шифратор (дешифратор) и проверьте его работу в среде ModelSim в соответствии с заданным вариантом:

1. Шифратор, преобразующий цифры от 0 до 9 в двоично-десятичный код.

2. Шифратор, преобразующий цифры от 0 до 15 в двоичный код.

3. Шифратор, преобразующий цифры от -5 до 4 в двоичный дополнительный код.

4. Полный четырехразрядный дешифратор.

5. Двоично-десятичный дешифратор.

6. Дешифратор для семисегментного индикатора. Преобразует входной 4-разрядный двоичный код в отображаемые на индикаторе шестнадцатиричные цифры от 0 до F. Расположение сегментов индикатора показано на рисунке:

Активный уровень сигнала для включения сегмента – логический «0».


Комментарии: