9. Створюємо новий проект 505tab і аналогічний за назвою текстовий файл, який включаємо до проекту. В файл вводимо наступний текст:
TITLE "TABL";
SUBDESIGN 505tab
(
a[1..0] : INPUT;
b[7..0] : OUTPUT;
)
BEGIN
TABLE
a[] => b[];
0 => 49;
1 => 66;
2 => 48;
3 => 56;
END TABLE;
END;
10 Виконуємо компіляцію, функціональне моделювання та автоматичне порівняння з файлом 305.vwf лабораторної роботи №3
Рис.4 – Результат компіляції проекту.
Рис.5 – Аналіз часу затримки при компіляції проекту.
Рис.6 – Результат симулювання проекту.
11 Створюємо символьний файл за відкритого текстового файлу за таким алгоритмом: File > Create / Update > Create Symbol File for Current File. Він буде мати такий вигляд
І буде міститися в файлі 505tab.bdf.
12 Створюємо новий проект 505ifthen і аналогічний за назвою текстовий файл, який включаємо до проекту. В файл вводимо наступний текст:
title "if_then";
subdesign 505ifthen
(
x1, x0 : input;
a, b, c, d, e, f, g : output;
)
begin
if x1 then
if x0 then
a=gnd; e=gnd; f=gnd; g=gnd; b=vcc; c=vcc; d=vcc;
else
a=gnd; d=gnd; e=gnd; f=gnd; g=gnd; b=vcc; c=vcc;
end if;
else
if x0 then
b=gnd; c=gnd; d=gnd; e=gnd; g=gnd; a=vcc; f=vcc;
else
a=gnd; d=gnd; e=gnd; f=gnd; b=vcc; c=vcc; g=vcc;
end if;
end if;
end;
14 Тепер проведемо компіляцію і симулювання проекту.
Рис. 7– Результат компіляції проекту.
Рис.8 – Аналіз часу затримки при компіляції проекту.
Рис.9 – Результат симулювання проекту.
13 Створюємо новий проект 505сase і аналогічний за назвою текстовий файл, який включаємо до проекту. В файл вводимо наступний текст:
title "db,sh";
subdesign 505case
(
a[1..0] : Input;
b[7..0] : output;
)
begin
case a[] is
when 0 => b[]=49;
when 1 => b[]=66;
when 2 => b[]=48;
when 3 => b[]=56;
end case;
end;
14. Проведемо компіляцію і симулювання проекту.
Рис. 10– Результат компіляції проекту.
Рис.11 – Аналіз часу затримки при компіляції проекту.
Рис.12 – Результат симулювання проекту.
2 Засвоїти запровадження макрофункцій, символів та мегафункцій до проекту за його текстового введення.
1. Створюємо новий проект 505macro з однойменним текстовим файлом та виконуємо наступні дії:
а) Вводимо заголовок Title Statement:
TITLE “MACROFUNCTION”;
б) До шаблону секції Function Prototype Statement вставляємо прототип макрофункції двійкового дешифратора:
function 74139М (g, a, b)
returns (y0n, y1n, y2n, y3n);
в) У секції Subdesign Section повторюємо ім’я проекту 505macro та оголошуємо вхідні і вихідні порти:
subdesign 505macro
(
x1, x2 : input;
a, b, c, d, e, f, g : output;
)
г) Вводимо секцію змінних Variable Section та вставляємо підсекцію оголошення зразка Instance Declaration і надаємо ім’я зразку (dc – ім’я зразка дешифратора) та через двокрапку вводимо ім’я макрофункції (74139М):
variable
dc : 74139M;
д) Вводимо логічний блок Logic Section, між ключовими словами розташовуємо курсор, вставляємо підсекцію Boolean Equation та з'єднуємо рівняннями зразок функції з оголошеними портами INPUT і OUTPUT:
begin
dc.a=x1; dc.b=x2;
a1=dc.y1n; b1=!dc.y1n; c=!dc.y1n;
d=dc.y3n; e=vсс; f=dc.y1n; g=dc.y0n;
end;
2. Проведемо компіляцію і симуляцію проекту
Рис. 13– Результат компіляції проекту.
Рис.14 – Аналіз часу затримки при компіляції проекту.
Рис.15 – Результат симулювання проекту.
Примітка: сегменти в 7-сегментному індикаторі будуть висвічуватись, коли на виходах a – g будуть одиниці.
3. Створюємо новий проект 505symb з однойменним текстовим файлом, який містить наступний текст:
title "asd";
function 505tab (a[1..0])
returns (b[3..0]);
subdesign 505symb
(
a[1..0] : input;
a2, b2, c2, d2, e2, f2, g2 : output;
)
variable
dc : 505tab;
begin
dc.a[1..0]=a[1..0];
a2=dc.b[1]; b2=!dc.b[1]; c2=!dc.b[1];
d2=dc.b[3]; e2=vcc; f2=dc.b[1]; g2=dc.b[0];
end;
4. Проведемо компіляцію і симуляцію проекту:
Рис. 16– Результат компіляції проекту.
Рис.17 – Аналіз часу затримки при компіляції проекту.
Рис.18 – Результат симулювання проекту.
Висновок: В даній лабораторній роботі
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.