You are on page 1of 6

Горбань Ю. В.

, КІ-18
Лабораторна робота №2
Тема: Опис та моделювання нерегулярних логічних схем

Порядок виконання роботи


1. Скласти VHDL-модель кожного з типів елементів, що входять до схеми.
Якщо у схемі є елементи однакового типу, то складається одна модель для
всіх елементів даного типу. Модель елемента повинна відповідати затримці,
вказаній в табл. 5.1. При графічному зображенні логічного елемента на схемі
буде вказуватися його тип (бібліотечне ім’я) та імена вхідних та вихідних
портів.
2. Скласти VHDL-модель схеми в цілому.
3. Скласти програму для тестування всіх наборів значень вхідних змінних.
4. Провести моделювання та отримати часову діаграму.
5. За часовою діаграмою записати систему логічних функцій, що реалізує
схема.
6. Для кожного тестуючого набора визначити затримку схеми.
7. Знайти критичний шлях на схемі – шлях із найбільшою сумарною
затримкою елементів.

VHDL-модель для елементу N:


entity N is
port(
A : in STD_LOGIC;
Y : out STD_LOGIC
);
end N;

architecture N of N is
begin

Y <= not(A) after 1 ns;

end N;

VHDL-модель для елементу NA2:


entity NA2 is
port(
A : in STD_LOGIC;
B : in STD_LOGIC;
Y : out STD_LOGIC
);
end NA2;

architecture NA2 of NA2 is


begin
Y <= not(A and B) after 2 ns;

end NA2;
Горбань Ю. В., КІ-18
VHDL-модель для елементу NO3:
entity NO3 is
port(
A : in STD_LOGIC;
B : in STD_LOGIC;
C : in STD_LOGIC;
Y : out STD_LOGIC
);
end NO3;

architecture NO3 of NO3 is


begin

Y <= not(A or B or C) after 4 ns;

end NO3;

VHDL-модель для елементу NAO22:


entity NAO22 is
port(
A : in STD_LOGIC;
B : in STD_LOGIC;
C : in STD_LOGIC;
D : in STD_LOGIC;
Y : out STD_LOGIC
);
end NAO22;

architecture NAO22 of NAO22 is


begin

Y <= not((A or B) and (C or D)) after 3 ns;

end NAO22;

VHDL-модель для елементу NO3A2:


entity NO3A2 is
port(
A : in STD_LOGIC;
B : in STD_LOGIC;
C : in STD_LOGIC;
D : in STD_LOGIC;
Y : out STD_LOGIC
);
end NO3A2;

architecture NO3A2 of NO3A2 is


begin

Y <= not(A or B or (D and C)) after 5 ns;

end NO3A2;
Горбань Ю. В., КІ-18

VHDL-модель для елементу NAOA2:


entity NAOA2 is
port(
A : in STD_LOGIC;
B : in STD_LOGIC;
C : in STD_LOGIC;
D : in STD_LOGIC;
Y : out STD_LOGIC
);
end NAOA2;

architecture NAOA2 of NAOA2 is


begin

Y <= not(A and (B or (C and D))) after 4 ns;

end NAOA2;

VHDL-модель для елементу N:


entity NOAO2 is
port(
A : in STD_LOGIC;
B : in STD_LOGIC;
C : in STD_LOGIC;
D : in STD_LOGIC;
Y : out STD_LOGIC
);
end NOAO2;

architecture NOAO2 of NOAO2 is


begin

Y <= not(A or (B and (C or D))) after 4 ns;

end NOAO2;

VHDL-модель для елементу NOA2:


entity NOA2 is
port(
A : in STD_LOGIC;
B : in STD_LOGIC;
C : in STD_LOGIC;
Y : out STD_LOGIC
);
end NOA2;

architecture NOA2 of NOA2 is


begin

Y <= not(A or (B and C)) after 3 ns;


Горбань Ю. В., КІ-18
end NOA2;

VHDL-модель для елементу NAO3:


entity NAO3 is
port(
A : in STD_LOGIC;
B : in STD_LOGIC;
C : in STD_LOGIC;
D : in STD_LOGIC;
Y : out STD_LOGIC
);
end NAO3;

architecture NAO3 of NAO3 is


begin

Y <= not(A and (B or C or D)) after 5 ns;

end NAO3;

Рисунок 2.1 – Схема


Горбань Ю. В., КІ-18

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


Таблиця 2.1 – Таблиця істинності
x1 x2 x3 x4 y1 y2 y3 y4 y5
0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0
0 0 1 0 1 0 0 0 1
0 0 1 1 0 1 0 0 0
0 1 0 0 1 0 0 0 1
0 1 0 1 1 0 0 0 1
0 1 1 0 0 0 0 1 1
0 1 1 1 0 0 0 0 0
1 0 0 0 1 0 0 0 0
1 0 0 1 0 1 0 0 0
1 0 1 0 0 0 0 0 0
1 0 1 1 0 1 0 0 1
1 1 0 0 0 0 0 0 1
1 1 0 1 0 0 0 0 0
1 1 1 0 0 0 0 1 0
1 1 1 1 0 1 0 0 0

Згідно із таблицею 2.1 схема реалізує наступну систему логічних рівнянь:

{
y 1=x 1∗x 2∗x 3+ x 1∗x 3∗x 4+ x 1∗x 2∗x 3∗x 4+ x 1∗x 2∗x 3∗x 4
y 2=x 2∗x 4+ x 1∗x 3∗x 4
y 3=0
y 4=x 2∗x 3∗x 4
y 5=x 1∗x 3∗x 4+ x 1∗x 3∗x 4 + x 1∗x 2∗x 3+ x 1∗x 2∗x 3∗x 4
Горбань Ю. В., КІ-18

Рисунок 2.3 – Критичний шлях


Загальна затримка схеми становить 16 нс.

Висновок: в ході лабораторної роботи було отримано навички побудови


логічних схем у середовищі Active HDL, створено VHDL-моделі елементів
схеми, визначено систему логічних функцій, що реалізує схема; визначено
критичний шлях та затримку схеми.

You might also like