You are on page 1of 4

Горбань Ю. В.

, КІ-18
Лабораторна робота №1
Опис і моделювання системи логічних функцій

Рисунок 1.1 – Таблиця істинності

Мінімізація вихідних функцій за допомогою карт Карно:

x4x3 00 01 11 10
x2x1
00 0 0 1 0
01 1 0 0 1
11 1 0 0 1
10 1 1 1 0

y1 = !x4!x3x1 + !x4x2!x1 + x4x3!x1 + x4!x3x1

x4x3 00 01 11 10
x2x1
00 0 0 1 1
01 1 1 0 1
11 1 0 1 1
10 1 1 0 0

y2 = !x4!x2x1 + !x4!x3x2 + !x4x2!x1 + x4!x2!x1 + x4x2x1


Горбань Ю. В., КІ-18
x4x3 00 01 11 10
x2x1
00 0 0 0 0
01 0 0 1 0
11 0 0 1 0
10 0 0 0 0

y3 = x4x3x1

Програма, написана з використанням мінімізованих логічних виразів:


library IEEE;
use IEEE.std_logic_1164.all;

entity lab1 is
port(
x : in STD_LOGIC_VECTOR(4 downto 1);
y : out STD_LOGIC_VECTOR(3 downto 1)
);
end lab1;

--}}

architecture lab1 of lab1 is


begin
y(1) <= (not(x(4)) and not(x(3)) and x(1)) or (not(x(4)) and
x(2) and not(x(1))) or (x(4) and x(3) and not(x(1))) or (x(4)
and not(x(3)) and x(1));

y(2) <= (not(x(4)) and not(x(2)) and x(1)) or (not(x(4)) and


not(x(3)) and x(2)) or (not(x(4)) and x(2) and not(x(1))) or
(x(4) and not(x(2)) and not(x(1))) or(x(4) and not(x(3)) and
x(1)) or (x(4) and x(2) and x(1));

y(3) <= x(4) and x(3) and x(1);

end lab1;

Рисунок 1.2 – Часова діаграма


Горбань Ю. В., КІ-18
Програма, написана з використанням оператора «case»:
library IEEE;
use IEEE.std_logic_1164.all;

entity lab1 is
port(
x : in STD_LOGIC_VECTOR(4 downto 1);
y : out STD_LOGIC_VECTOR(3 downto 1)
);
end lab1;

--}}

architecture lab1 of lab1 is


begin

process(x)
begin
case x is
when "0000" => y <= "000";
when "0001" => y <= "011";
when "0010" => y <= "011";
when "0011" => y <= "011";
when "0100" => y <= "000";
when "0101" => y <= "010";
when "0110" => y <= "011";
when "0111" => y <= "000";
when "1000" => y <= "010";
when "1001" => y <= "011";
when "1010" => y <= "000";
when "1011" => y <= "011";
when "1100" => y <= "011";
when "1101" => y <= "100";
when "1110" => y <= "001";
when "1111" => y <= "110";
when others => y <= "000";
end case;
end process;

end lab1;

Рисунок 1.3 – Часова діаграма програми


Горбань Ю. В., КІ-18
Висновок: в ході лабораторної роботи було отримано із опису логічних
функцій мовою програмування VHDL, створено дві програми для тестування
всіх наборів вхідних змінних, відповідної таблиці істинності, з
використанням різних підходів, отримано часові діаграми за якими було
перевірено правильність роботи програм.

You might also like