Учебное пособие 800512
.pdfКраткие теоретические сведения
Для работы с базовыми логическими элементами в Xilinx ISE Design Suite 14.1. используется группа Logic, к ним относятся элементы И, ИЛИ, НЕ (инвертор), ИСКЛЮЧАЮЩЕЕ ИЛИ.
|
|
|
Логические элементы группы Logic |
Таблица 2.1 |
||||||||
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
||||
|
Логическая операция НЕ |
|
|
Логическая операция |
||||||||
|
Y= not A |
|
|
|
|
|
ИСКЛЮЧАЮЩЕЕ ИЛИ |
|||||
|
|
|
|
|
|
Y= A xor B |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
||
|
А |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
||
|
0 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
= А |
|
|
A |
|
B |
Y=A^B |
|
|
1 |
|
|
0 |
||||||||
|
|
|
|
|
0 |
|
0 |
0 |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
1 |
1 |
|
||
|
|
|
|
|
|
|
|
1 |
|
0 |
1 |
|
|
|
|
|
|
|
|
|
1 |
|
1 |
0 |
|
|
|
|
|
|
|
|
|
|
||||
|
Логическая операция И |
|
|
Логическая операция ИЛИ |
||||||||
|
Y=A and B |
|
|
|
|
|
Y=A or B |
|
|
|
||
|
A |
|
B |
|
Y=A·B |
|
|
A |
|
B |
Y=A+B |
|
|
0 |
|
0 |
|
0 |
|
|
0 |
|
0 |
0 |
|
|
0 |
|
1 |
|
0 |
|
|
0 |
|
1 |
1 |
|
|
1 |
|
0 |
|
0 |
|
|
1 |
|
0 |
1 |
|
|
1 |
|
1 |
|
1 |
|
|
1 |
|
1 |
1 |
|
30
Таблица 2.2
Таблица соответствия обозначения ЛЭ
При преобразованиях логических выражений используются законы алгебры логики (табл. 2.3).
Таблица 2.3
Законы алгебры логики
Название закона |
для И |
|
|
для ИЛИ |
|||||||
Двойное отрицание |
|
А |
|
|
A= |
А |
|
А |
|
|
|
Дополнительности |
А· |
=0 |
А+ |
=1 |
|
||||||
|
|
|
|||||||||
Первого множества |
А·0=0 |
|
|
А+0=А |
|
||||||
Универсального |
А·1=А |
|
|
А+1=1 |
|
||||||
множества |
|
|
|
|
|
|
|
|
|
|
|
Повторения |
А·А=А |
|
|
А+А=А |
|||||||
Поглощения |
А·(А+В)=А |
|
А+А·В=А |
||||||||
Переместительный |
А·В=В·А |
|
А+В=В+А |
||||||||
Сочетательный |
А·(В·С)=(А·В)·С |
А+(В+С)=(А+В)+С |
|||||||||
Распределительный |
А+В·С=(А+В)·(А+С) |
|
А·(В+С)=А·В+А·С |
||||||||
Склеивания |
(А+В)·(А+ |
В |
) = А |
|
А·В+А· |
В |
= А |
||||
|
|
|
|||||||||
де Моргана |
А∙ В31А В |
|
А+ В А |
В |
|||||||
|
= + |
|
|
= |
· |
|
Любая логическая схема описывается таблицей истинности. Для разработки требуемой логической схемы необходимо получить ПФ в СДНФ или в СКНФ.
Затем с целью упрощения цифрового устройства минимизируют его логическое выражение, по которому разрабатывают схему.
Функция в СДНФ представляет собой сумму элементарных произведений (минтермов). Приведем пример нахождения СДНФ для заданной таблица истинности (табл. 2.4).
|
|
Таблица 2.4 |
||
|
|
|
|
|
X1 |
X0 |
|
F |
|
0 |
0 |
|
1 |
|
0 |
1 |
|
0 |
|
1 |
0 |
|
1 |
|
1 |
1 |
|
0 |
|
Для каждого набора переменных, при котором F равна 1, записывается произведение, в котором с отрицанием берутся переменные, имеющие значение 0.
F = 1 ∙ 0 + 1∙ 0
Функция в СКНФ представляет собой произведение элементарных сумм (макситермов). Приведем пример нахождения СКНФ для заданной таблица истинности (табл. 2.5).
|
|
Таблица 2.5 |
||
|
|
|
|
|
X1 |
X0 |
|
F |
|
0 |
0 |
|
1 |
|
0 |
1 |
|
0 |
|
1 |
0 |
|
1 |
|
1 |
1 |
|
0 |
|
Для каждого набора переменных, при котором F равна 0, записывается сумма, в котором с отрицанием берутся переменные, имеющие значение 1.
F = ( 1 + 0)∙( 1+ 0)
32
Порядок выполнения работы
1.Исследование логических элементов
1.1.Таблица истинности ЛЭ в соответствии
синдивидуальным заданием
Рассмотрим пример построения простейшего логического элемента 2И. Приведем таблицу истинности (табл. 2.6).
Таблица 2.6 Таблица истинности логического элемента 2И
X1 |
X2 |
Y1=X1·X2 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1.2. Реализация в схемотехническом редакторе
Xilinx ISE Design Suite 14.1
Схема логического элемента 2И в программной оболочке ISE представлена на рис. 2.1
Рис. 2.1. Схема элемента 2И
33
1.3. Проверка работоспособности ЛЭ в симуляторе ISim
Приведем пример определения входных сигналов в
TestBench.
…
PROCESS
BEGIN
X1<='0'; // присваиваем переменной X1 значение 0 X2<='0'; // присваиваем переменной X2 значение 0 wait for 50 ns; // длительность 50 нс
… //вписываем необходимые значения
WAIT;
END PROCESS;
1.4. Описание заданного логического элемента на языке VHDL
library IEEE; |
Подключаем все объявления |
|
use IEEE.STD_LOGIC_1164.ALL; |
пакета STD_LOGIC_1164, вхо- |
|
|
дящего в библиотеку IEEE |
|
entity VHDL_I is |
Определяем сигналы, которыми |
|
Port ( X1 : in STD_LOGIC; |
объект будет обмениваться |
|
X2 : in STD_LOGIC; |
X1, X2 – входные порты, |
|
Y1 : out STD_LOGIC); |
Y1 – выходной порт, |
|
std_logic - это просто провод. |
||
end VHDL_I; |
||
|
||
architecture Behavioral of VHDL_I is |
Задаем алгоритм работы |
|
begin |
В выходной порт Y1 записыва- |
|
Y1<=X1 and X2; |
||
end Behavioral; |
ется значение X1·X2 |
|
|
||
|
|
34
1.5. Проверка работоспособности в симуляторе ISim
Приведем пример определения входных сигналов в
TestBench.
…
process begin X1<='0'; X2<='0';
wait for 100 ns;
…
wait; end process;
2. Разработка логической схемы по заданной таблице истинности
2.1. Таблица истинности
Рассмотрим пример на основе заданной таблицы истин-
ности.
Таблица 2.7
Таблица истинности
X1 |
X2 |
|
X3 |
Y |
0 |
0 |
|
0 |
0 |
0 |
0 |
|
1 |
1 |
0 |
1 |
|
0 |
0 |
0 |
1 |
|
1 |
1 |
1 |
0 |
|
0 |
1 |
1 |
0 |
|
1 |
0 |
1 |
1 |
|
0 |
0 |
1 |
1 |
|
1 |
1 |
|
|
35 |
|
2.2ПФ в СДНФ и СКНФ. Минимизированная ДНФ (МДНФ)
взаданном базисе
Представим ПФ в СДНФ
Y = X1 ∙X2 ∙X3 + X1∙X2∙X3 + X1∙X2 ∙X3 + X1∙X2∙X3.
Представим ПФ в СКНФ
Y = ( 1+ 2+ 3)·( 1+ 2 + 3)·( 1+ 2+ 3)∙( 1 + 2+ 3).
Применив закон склеивания для ПФ в СДНФ, получим
Y =X1∙X2∙X3 + X1∙X2∙X3 + X1∙X2∙X3 + X1∙X2∙X3 = = X1∙X3∙( 2 + 2) + X1∙X2 ∙X3 + X2∙X3( 1+ 1) = = X1∙X3+X1∙X2∙X3 + X2∙X3
Применив графический способ минимизации с помощью диаграммы Вейча, получим Y = X1·X3+X1∙X2∙X3+X2∙X3.
X3 X3 X3
X2 1 1
X2 |
1 |
1 |
X1 X1
На диаграмме изображены компактные группы
X1·X3+X1∙X2 ∙X3+X2∙X3.
Приведем к базису 2И-НЕ |
Приведем к базису 2ИЛИ-НЕ |
||||
= |
1∙ 3+ 1∙ 2∙ 3+ 2∙ 3 |
= |
|
1 ∙ |
3 + 1∙ 2 ∙ 3 + |
|
= |
= |
Y= |
|
= |
|
1 3 ∙ 1∙ 2 ∙ 3 ∙ 2∙ 3 |
2∙ 3 |
|
||
|
|
|
|
|
|
36
2.3. Реализация ПФ в схемотехническом редакторе
Xilinx ISE Design Suite 14.1
Рис. 2.2. Схема ПФ в базисе 2И-НЕ
2.4. Проверка работоспособности в симуляторе ISim
Приведем пример определения входных сигналов в
TestBench.
…
process begin X1<='0'; X2<='0'; X3<='0';
wait for 100 ns;
…
wait; end process;
37
2.5. Описание ПФ в МДНФ на языке VHDL
library IEEE;
use IEEE.STD_LOGIC_1164.ALL; entity PF_VHDL is
Port ( X1 : in STD_LOGIC;
X2 : in STD_LOGIC;
X3 : in STD_LOGIC;
Y1 : out STD_LOGIC); end PF_VHDL;
architecture Behavioral of PF_VHDL is
begin
Y1<=(not(X1)and X3) or (X1 and not(X2) and not(X3)) or (X2 and X3);
end Behavioral;
2.6. Проверка работоспособности в симуляторе ISim
Приведем пример определения входных сигналов в
TestBench.
…
process begin X1<='0'; X2<='0'; X3<='0';
wait for 100 ns;
…
wait; end process;
38
Индивидуальные задания
№ вари- |
Заданный |
|
|
Заданная таблица истинности |
|
|
|
Базис |
|
анта |
ЛЭ |
|
|
|
|
|
|
|
|
|
|
|
x1 |
x2 |
x3 |
y |
|
|
2И-НЕ |
|
|
|
0 |
0 |
0 |
0 |
|
|
|
|
|
|
0 |
0 |
1 |
0 |
|
|
|
|
|
|
0 |
1 |
0 |
1 |
|
|
|
1 |
3И |
|
0 |
1 |
1 |
1 |
|
|
|
|
|
|
1 |
0 |
0 |
1 |
|
|
|
|
|
|
1 |
0 |
1 |
0 |
|
|
|
|
|
|
1 |
1 |
0 |
0 |
|
|
|
|
|
|
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
x2 |
x3 |
|
|
|
3И-НЕ |
|
|
|
x1 |
y |
|
||||
|
|
|
0 |
0 |
0 |
0 |
|
|
|
|
|
|
0 |
0 |
1 |
0 |
|
|
|
|
|
|
0 |
1 |
0 |
0 |
|
|
|
2 |
2И-НЕ |
|
0 |
1 |
1 |
1 |
|
|
|
|
|
|
1 |
0 |
0 |
1 |
|
|
|
|
|
|
1 |
0 |
1 |
1 |
|
|
|
|
|
|
1 |
1 |
0 |
0 |
|
|
|
|
|
|
1 |
1 |
1 |
1 |
|
|
|
|
|
|
x1 |
x2 |
x3 |
y |
|
|
2И-НЕ |
|
|
|
|
||||||
|
|
|
0 |
0 |
0 |
1 |
|
|
|
|
|
|
0 |
0 |
1 |
0 |
|
|
|
|
|
|
0 |
1 |
0 |
1 |
|
|
|
3 |
3И-НЕ |
|
0 |
1 |
1 |
0 |
|
|
|
|
|
|
1 |
0 |
0 |
0 |
|
|
|
|
|
|
1 |
0 |
1 |
0 |
|
|
|
|
|
|
1 |
1 |
0 |
1 |
|
|
|
|
|
|
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
39