Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД
«УЖГОРОДСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ»
Інженерно-технічний факультет
Кафедра комп’ютерних систем та мереж
Лабораторна робота №4
з курсу
Технології проектування комп’ютерних систем
Тема: Побудова принципової цифрової схеми та її моделювання в середовищі Active-HDL.
Мета роботи: навчитися будувати принципові цифрові схеми з використанням примітивів стандартної бібліотеки середовища Active-HDL lat_vhdl та моделювати розроблені схеми.
Індивідуальне завдання:
Довизначити перемикальну функцію. Для цього потрібно використати дві молодші цифри залікової книжки (36) перевести їх у двійкову систему числення та представити отриманий код (100100) у вигляді слова .
X3
X2
X1
X0
Y
X3
X2
X1
X0
Y
0
0
0
0
0
1
8
1
0
0
0
1
1
0
0
0
1
0
9
1
0
0
1
0
2
0
0
1
0
0
A
1
0
1
0
1
3
0
0
1
1
1
B
1
0
1
1
0
4
0
1
0
0
0
C
1
1
0
0
0
5
0
1
0
1
1
D
1
1
0
1
1
6
0
1
1
0
0
E
1
1
1
0
0
7
0
1
1
1
0
F
1
1
1
1
1
Записую функцію, яка реалізовує задану таблицю істинності у вигляді ДНФ:
Представляю мінімізовану функцію у вигляді блок-схеми:
Код програми:
library IEEE;
use IEEE.std_logic_1164.all;
-- standard libraries declarations
-- synopsys translate_off
library LAT_VHD;
use LAT_VHD.components.all;
-- synopsys translate_on
entity lab_43 is
port(
X1 : in STD_LOGIC;
X2 : in STD_LOGIC;
X3 : in STD_LOGIC;
X4 : in STD_LOGIC;
F : out STD_LOGIC
);
end lab_43;
architecture lab_43 of lab_43 is
---- Signal declarations used on the diagram ----
signal NET101 : STD_LOGIC;
signal NET140 : STD_LOGIC;
signal NET142 : STD_LOGIC;
signal NET146 : STD_LOGIC;
signal NET150 : STD_LOGIC;
signal NET154 : STD_LOGIC;
signal NET81 : STD_LOGIC;
signal NET89 : STD_LOGIC;
signal NET95 : STD_LOGIC;
---- Configuration specifications for declared components
-- synopsys translate_off
for U1 : AND3 use entity lat_vhd.AND3;
-- synopsys translate_on
-- synopsys translate_off
for U10 : INV use entity lat_vhd.INV;
-- synopsys translate_on
-- synopsys translate_off
for U2 : AND3 use entity lat_vhd.AND3;
-- synopsys translate_on
-- synopsys translate_off
for U3 : AND3 use entity lat_vhd.AND3;
-- synopsys translate_on
-- synopsys translate_off
for U4 : AND3 use entity lat_vhd.AND3;
-- synopsys translate_on
-- synopsys translate_off
for U5 : AND4 use entity lat_vhd.AND4;
-- synopsys translate_on
-- synopsys translate_off
for U6 : OR5 use entity lat_vhd.OR5;
-- synopsys translate_on
-- synopsys translate_off
for U7 : INV use entity lat_vhd.INV;
-- synopsys translate_on
-- synopsys translate_off
for U8 : INV use entity lat_vhd.INV;
-- synopsys translate_on
-- synopsys translate_off
for U9 : INV use entity lat_vhd.INV;
-- synopsys translate_on
begin
---- Component instantiations ----
U1 : AND3
port map(
A0 => X4,
A1 => NET81,
A2 => NET95,
Z0 => NET154
);
U10 : INV
port map(
A0 => X1,
ZN0 => NET95
);
U2 : AND3
port map(
A0 => X3,
A1 => NET89,
A2 => X1,
Z0 => NET150
);
U3 : AND3
port map(
A0 => NET81,
A1 => NET89,
A2 => NET95,
Z0 => NET140
);
U4 : AND3
port map(
A0 => X4,
A1 => X3,
A2 => X1,
Z0 => NET142
);
U5 : AND4
port map(
A0 => NET101,
A1 => NET81,
A2 => X2,
A3 => X1,
Z0 => NET146
);
U6 : OR5
port map(
A0 => NET154,
A1 => NET150,
A2 => NET140,
A3 => NET142,
A4 => NET146,
Z0 => F
);
U7 : INV
port map(
A0 => X4,
ZN0 => NET101
);
U8 : INV
port map(
A0 => X3,
ZN0 => NET81
);
U9 : INV
port map(
A0 => X2,
ZN0 => NET89
);
end lab_43;
Результати моделювання:
Висновки: При виконанні даної лабораторної роботи я навчилася будувати принципово цифрові схеми з використанням примітивів стандартної бібліотеки середовища Active-HDL lat_vhdl та промоделювала розроблену схему.