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

Учебное пособие 800512

.pdf
Скачиваний:
20
Добавлен:
01.05.2022
Размер:
3.88 Mб
Скачать

Содержание отчета

Цель работы.

1. Разработка мультиплексора;

1.1Таблица истинности в соответствии с индивидуальным заданием;

1.2Минимизированная переключательная функция (ПФ) в заданном базисе;

1.3Реализация ПФ в схемотехническом редакторе Xilinx ISE Design Suite 14.1;

1.4Проверка работоспособности в симуляторе ISim с приведением временной диаграммы;

1.5Код программы на языке VHDL для описания мультиплексора в соответствии с индивидуальным заданием;

1.6Проверка работоспособности в симуляторе ISim с приведением временной диаграммы;

1.7Трансляция разработанного проекта, программирование ПЛИС;

2. Разработка демультиплексора;

2.1Таблица истинности в соответствии с индивидуальным заданием;

2.2Минимизированная ПФ в заданном базисе;

2.3Реализация ПФ в схемотехническом редакторе Xilinx ISE Design Suite 14.1;

2.4Проверка работоспособности в симуляторе ISim с приведением временной диаграммы;

2.5Код программы на языке VHDL для описания демультиплексора с соответствии с индивидуальным заданием;

2.6Проверка работоспособности в симуляторе ISim с приведением временной диаграммы;

2.7Трансляция разработанного проекта, программирование ПЛИС.

3. Выводы.

90

Теоретическая часть

Mультиплексор – это функциональный узел комбинационного типа, предназначенный для коммутации цифровых сигналов, поступающих по нескольким информационным входам, на один выход. При этом каждый информационный входе имеет свой адрес, который задается n-разрядным цифровым кодом. Количество информационных входов равно N = 2n. На рис. 2.16 изображено условное графическое обозначение 4–х входового мультиплексора с управлением двоичным кодом. Входы A0 и A1 являются управляющими входами мультиплексора, определяющими адрес информационного входного сигнала, который будет соединён с выходным выводом мультиплексора Y. Информационные входные сигналы обозначены: X0, X1, X2 и X3.

Рис. 2.16. Условное графическое обозначение мультиплексора MS 4:1

Демультиплексор – это функциональный узел комбинационного типа, предназначенный для переключения сигнала с одного информационного входа на один из нескольких информационных выходов. Демультиплексоры выполняют функцию, обратную мультиплексорам, т.е. один входной сигнал распределяют по нескольким выходам. При этом каждый выход имеет свой адрес, который задается n-разрядным цифровым кодом. Количество выходов равно N = 2n. На рис. 2.17 изображено условное графическое обозначение мультиплексора с управлением

91

двоичным кодом. Входы A0 и A1 являются управляющими входами мультиплексора, определяющими адрес информационного выходного сигнала, который будет соединён с входным выводом мультиплексора X.

Рис. 2.17. Условное графическое обозначение демультиплексора DMX 1:4

92

Порядок выполнения работы

1.Разработка мультиплексора

1.1.Таблица истинности мультиплексора 3:1

Рассмотрим пример построения мультиплексора 3:1 на базе логических элементов «3И-НЕ». Определяем разрядность двоичного кода, необходимого для коммутации заданного числа каналов n = int (log 2 3), где int – ближайшее большее целое число; n = 2. Приведем таблицу истинности шифратора (табл. 2.17).

Таблица 2.17 Таблица истинности мультиплексора 3:1

A1

A0

Y

0

0

X0

0

1

X1

1

0

X2

1

1

*

1.2.Минимизированная переключательная функция (ПФ)

вбазисе «3И-НЕ»

Переключательная функция (ПФ) в СДНФ:

= ∙ ∙ + ∙ ∙ + ∙ ∙ .

Преобразованная ПФ в базисе «3И – НЕ»:

= ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ .

93

1.3. Реализация ПФ в схемотехническом редакторе

Xilinx ISE Design Suite 14.1

Рис. 2.18. Схема мультиплексора 3:1 в базисе «3И-НЕ»

1.4. Проверка работоспособности в симуляторе ISim

Приведем пример определения входных сигналов в

TestBench.

PROCESS

BEGIN

X_0<='0';

X_1<='1';

X_2<='1';

A_0<='0';

A_1<='0'; wait for 50 ns;

… //добавляем необходимые значения во временном промежутке с шагом 50 ns

WAIT;

END PROCESS;

94

1.5. Код программы на языке VHDL для описания мультиплексора

library IEEE;

use IEEE.STD_LOGIC_1164.ALL; entity mux is

Port ( A : in STD_LOGIC_VECTOR (1 downto 0);

X0 : in STD_LOGIC;

X1 : in STD_LOGIC;

X2 : in STD_LOGIC; F : out STD_LOGIC);

end mux;

architecture Behavioral of mux is begin

Process (A, X0, X1, X2) Begin

if A="00" then F<=X0; Elsif A="01" then F<=X1; Elsif A="10" then F<=X2; End if;

End process; end Behavioral;

Подключаем все объявления пакета

STD_LOGIC_1164, входя-

щего в библиотеку IEEE

Определяем сигналы, которыми объект будет обмениваться

In – входные порты,

A - двухразрядный вектор типа std_logic

Out – выходные порты

if ( условие ) then

// что делать, если условие верно

else

// что делать, если условие неверно

Elsif – иначе если

1.6. Проверка работоспособности в симуляторе ISim

Приведем пример определения входных сигналов в TestBench. process

begin A<="00"; X0<='0'; X1<='1'; X2<='1';

wait for 100 ns;

end process;

95

 

Индивидуальное задание

Таблица 2.19

 

 

 

 

 

 

 

 

Индивидуальное задание

 

Заданный базис

 

 

 

 

 

1

Мультиплексор 3:1

 

2 И-НЕ

 

 

 

 

 

2

Мультиплексор 4:1

 

2 И-НЕ

 

 

 

 

 

3

Мультиплексор 6:1

 

2 И-НЕ

 

 

 

 

 

4

Мультиплексор 8:1

 

2 И-НЕ

 

 

 

 

 

5

Мультиплексор 3:1

 

2 ИЛИ-НЕ

 

 

 

 

 

6

Мультиплексор 4:1

 

2 ИЛИ-НЕ

 

 

 

 

 

7

Мультиплексор 6:1

 

2 ИЛИ-НЕ

 

 

 

 

 

8

Мультиплексор 8:1

 

2 ИЛИ-НЕ

 

 

 

 

 

9

Мультиплексор 3:1

 

3 И-НЕ

 

 

 

 

 

10

Мультиплексор 4:1

 

3 И-НЕ

 

 

 

 

 

11

Мультиплексор 6:1

 

3 И-НЕ

 

 

 

 

 

12

Мультиплексор 8:1

 

3 И-НЕ

 

 

 

 

 

13

Мультиплексор 3:1

 

3 ИЛИ-НЕ

 

 

 

 

 

14

Мультиплексор 4:1

 

3 ИЛИ-НЕ

 

 

 

 

 

15

Мультиплексор 6:1

 

3 ИЛИ-НЕ

 

 

 

 

 

16

Мультиплексор 8:1

 

3 ИЛИ-НЕ

 

 

 

 

 

17

Мультиплексор 4:1

 

2 ИЛИ - НЕ

 

 

 

 

 

96

2.Разработка демультиплексора

2.1.Таблица истинности демультиплексора 1:3

Таблица 2.20 Таблица истинности демультиплексора 1:3

A1

A0

Y2

Y1

Y0

0

0

*

*

X

0

1

*

X

*

1

0

X

*

*

1

1

*

*

*

*- 0 или 1.

2.2.Минимизированная ПФ в базисе 3И-НЕ

= ∙ ∙ , = ∙ ∙ , = ∙ ∙ .

2.3. Реализация ПФ в схемотехническом редакторе

Xilinx ISE Design Suite 14.1

Рис. 2.19. Схема демультиплексора 1:3 в базисе «3И-НЕ»

97

2.4. Проверка работоспособности в симуляторе ISim

Приведем пример определения входных сигналов в

TestBench.

PROCESS

BEGIN

X<='0';

A0<='0';

A1<='0'; wait for 50 ns;

WAIT;

END PROCESS;

2.5. Код программы на языке VHDL для описания демультиплексора 1:3

library IEEE;

use IEEE.STD_LOGIC_1164.ALL; entity demux is

Port ( A : in STD_LOGIC_VECTOR (1 downto 0); Y0 : out STD_LOGIC;

Y1 : out STD_LOGIC;

Y2 : out STD_LOGIC;

X : in STD_LOGIC); end demux;

architecture Behavioral of demux is begin

Process (A, X) Begin

if A="00" then Y0<=X; Elsif A="01" then Y1<=X; Elsif A="10" then Y2<=X; End if;

End process; end Behavioral;

98

2.6. Проверка работоспособности в симуляторе ISim

Приведем пример определения входных сигналов в TestBench.

process begin A<="00"; X<='0';

wait for 100 ns;

end process;

 

Индивидуальное задание

Таблица 2.22

 

 

Индивидуальное задание

 

Заданный базис

1

Демультиплексор 1:3

 

2 И-НЕ

2

Демультиплексор 1:4

 

2 И-НЕ

3

Демультиплексор 1:6

 

2 И-НЕ

4

Демультиплексор 1:8

 

2 И-НЕ

 

 

 

 

5

Демультиплексор 1:10

 

2 ИЛИ-НЕ

 

 

 

 

6

Демультиплексор 1:12

 

2 ИЛИ-НЕ

7

Демультиплексор 1:14

 

2 ИЛИ-НЕ

8

Демультиплексор 1:16

 

2 ИЛИ-НЕ

9

Демультиплексор 1:3

 

3 И-НЕ

10

Демультиплексор 1:4

 

3 И-НЕ

11

Демультиплексор 1:6

 

3 И-НЕ

12

Демультиплексор 1:8

 

3 И-НЕ

13

Демультиплексор 1:10

 

3 ИЛИ-НЕ

14

Демультиплексор 1:12

 

3 ИЛИ-НЕ

15

Демультиплексор 1:14

 

3 ИЛИ-НЕ

16

Демультиплексор 1:16

 

3 ИЛИ-НЕ

 

 

 

 

17

Демультиплексор 1:3

 

2 ИЛИ - НЕ

 

 

 

 

 

99