Читайте также:
|
|
Существует несколько способов реализации на языке VHDL, но в данном разделе будут описаны только два. Первый из них – это написание логического уравнения для каждого выхода. Второй- использование оператора case.
Для начала создается модуль VHDL “DecoderLogicVHDL.vhd”.
Рис.11. Параметры модуля VHDL
Параметры входные и выходные параметры модуля могут в последующем изменяться. После нажатия кнопки Finish будут создан файл модуля со следующим базовым текстом:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity DecoderLogicVHDL is
Port (X: in STD_LOGIC_VECTOR (3 downto 0);
D: out STD_LOGIC_VECTOR (6 downto 0));
end DecoderLogicVHDL;
architecture Behavioral of DecoderLogicVHDL is
begin
end Behavioral;
Далее после слова begin записываются логические уравнения для каждого сегмента.
Затем путем нажатия кнопки Create Schematic Symbol (рис.11.а) в режиме Implementation (рис.11.б) создается визуальный компонент для данного модуля.
а) б)
Рис. 11. Создание визульного компонента
Для проверки модуля в тестовой схеме элемент DecoderScheme заменяется на DecoderLogicVHDL и запускается симулятор.
Как было сказано ранее, для создания дешифратора можно использовать оператор case. В отличие от случая, где применялась карта Карно, таблица истинности здесь реализуется непосредственно. То есть, каждому значению входного сигнала назначен определенный выходной двоичный код (рис.12).
Типичная строка оператора case выгдядит следующим образом:
when "0011" => D <= "0000110"; --3
Рис.12. Дешифратор семисегментного индикатора с использованием оператора case
Создание отдельного элемента и его проверка осуществляется аналогично предыдущим реализациям.
Дата добавления: 2015-07-20; просмотров: 61 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Проверка схемы | | | Создание прошивки |