3.2.4.2 Здійснити синтез дешифратора-демультиплексора (див. додаток А, варіанти завдання 3,б) з використанням умовного оператора If Then (якщо, тоді) у проекті 3XXif_then шляхом створення текстового файла (.tdf)і аналізу результатів так само, як у п.3.2.3.2 за винятком п.3.2.3.6, в якому ввести умовний оператор If Then: В2 > AT > If Then Statementта вставити в утворений таким чином шаблон мовою AHDL:
а) між ключовими словами IF та THEN – умову (вираз або змінну), за істинності якої (тобто коли вона набуває значення логічної 1) є дійсними інструкції (функції у вигляді логічних значень або рівнянь через крапку з комою чи таблиці відповідності), що йдуть після слова THEN;
б) після ключового слова ELSE – інструкції, що є дійсними за невиконання зазначеної умови (тобто коли вона набуває значення логічного 0), а все інше слід видалити;
в) виконати так само компіляцію, функціональне моделювання та автоматичне порівняння утворених часових діаграм.
< Приклад: d:\max2work\tutorial\3lab\300if_then.tdf, .scf.
TITLE "Дешифратор-демультиплексор 2:4 (умовний оператор)";
SUBDESIGN 300if_then
(
a[1..0], G : INPUT = VCC;
y[3..0] : OUTPUT;
)
BEGIN
IF G THEN % Якщо G=1, тоді %
y0=!a1&!a0; y1=!a1&a0; y2=a1&!a0; y3=a1&a0; % дійсні значення %
ELSE % інакше (за умови G=0) %
y[] = GND; % y3=y2=y1=y0=0 %
END IF;
END;
F Примітки:
1. Необов’язкова частина оператора ELSIF THEN (якщо ще, тоді) заповнюється так само, як і основна: між цими ключовими словами вставляється додаткова умова, а після – інструкції, які є дійсні за її виконання.
2. Текстові файли легко модернізувати: скопіювати (все або частину), непотрібне вилучити, а додаткове вставити, як звичайно, за допомогою шаблонів AHDL, не забуваючи привести у відповідність назву підпроекту.
3.2.4.3 Здійснити синтез дешифратора (див. додаток А, варіант завдання 3,a) з використанням оператора вибору Case (випадок) у проекті 3XXcase шляхом створення текстового файла (.tdf)і аналізу результатів так само, як у п. 3.2.3.2 за винятком п. 3.2.3.6, в якому ввести оператора вибору Case: В2 > AT >Case Statementта вставити в утворений таким чином шаблон мовою AHDL:
а) між ключовими словами CASE та IS – вираз (зокрема, код чи набір змінних), від значення якого залежать вихідні функції;
б) після ключового слова WHEN перед стрілкою „=>” – конкретне значення виразу, а після неї – значення функцій (як у таблиці відповідності), відтак залишити крапку з комою; цей ланцюжок може повторюватися довільну кількість разів;
в) у необов’язковій частині WHEN OTHERS (коли інше) після стрілки – значення функцій за інших значень виразу (не перелічених у підпункті б);
г) виконати так само компіляцію, функціональне моделювання та автоматичне порівняння утворених часових діаграм;
д) створити символьний файл (так само, як у п. 3.2.2.3).
< Приклад: d:\max2work\tutorial\3lab\300case.tdf, .scf, .sym.
TITLE "Неповний дешифратор з інверсними виходами 2:3 (оператор вибору)";
SUBDESIGN 300case
(
a[1..0] : INPUT;
yN[2..0] : OUTPUT;
)
BEGIN
CASE a[] IS % при наступних значеннях коду а1а0 маємо: %
WHEN 0 => yN[]=H"6"; % коли 00, то y2y1y0=110 (тобто лише у0=0) %
WHEN 1 => yN[]=H"5"; % 01 101 у1 %
WHEN 2 => yN[]=H"3"; % 10 011 у2 %
WHEN OTHERS => yN[]=X; % коли (а1а0=3), то довільні значення %
END CASE;
END;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.