Лабораторний практикум з дослідження цифрових пристроїв на основі САПР MAX+PLUS II, страница 61

а) після заголовку TITLE вставити шаблон Function Prototype Statement (non-parameterized), в який ввести параметри прототипу регістра безпосередньо з довідки Help (можна скопіювати і вставити копію):

FUNCTION 74295 (oe, ld/shn, clk, ser, d[3..0])

                  RETURNS (q[3..0]);                          

б) після оголошення портів у секції підпроекту вставити в секцію змінних (Variable Section) шаблон оголошення регістрів (Register Declaration), де надати ім’я зразку регістра:

VARIABLE                                %  Variable Section           %

        rg       : 74295;                     %  Register Declaration  %

 в) у підсекції булевих рівнянь логічної секції виконати потрібні з’єднання (докладніше див. п. 6.2.3.1).

< Приклад: d:\max2work\tutorial\7lab\700reg_decl.tdf, .sсf (на кшталт схеми 2 з файла 700gkp1.gdf).

7.2.3.2 Виконати п. 7.2.3.1 на мегафункції регістра (див. п. 6.2.3.2)  у тестовому файлі (.tdf)проекту 7XXmega_gkp(ri) на кшталт схеми намегафункції з графічного файла.

< Приклад: d:\max2work\tutorial\7lab\700mega_gkp.tdf, .sсf (на кшталт схеми 3 файла 700gkp1.gdf).

7.2.3.3 Виконати п. 7.2.3.1 на автоматично створеному за допомогою менеджера MegaWizard Plug-In Manager різновиді мегафункції регістра (див. п. 6.2.3.3)  у тестовому файлі (.tdf) проекту 7XXwiz_gkp(ri) на кшталт аналогічної схеми з графічного файла.

< Приклад: d:\max2work\tutorial\7lab\700wiz_reg.tdf, 700wiz_gkp.tdf, .sсf (на кшталт схеми 4 файла 700gkp1.gdf).

7.2.4 Засвоїти основи побудови послідовнісного пристрою як скінченного автомата (State Machine) виконанням завдання за п. 7.2.2.

7.2.4.1 За перемикальним графом 7XXgkp(ri)1.gdf  створити пристрій з використанням оператора вибору Case Statement у тестовому файлі (.tdf) проекту 7XXsmcase_gkp(ri), для чого після оголошення портів:

а) до секції змінних Variable Section вставити шаблон підсекції оголошення скінченного автомата State Machine Declaration, в який ввести символьну назву скінченного автомата, наприклад, gkp або ri, після якої залишити двокрапку і ключове слово Machine; відтак після ключових слів OF BITS у круглих дужках ввести через кому або у вигляді масиву символьну назву розрядів автомата, наприклад, (q2, q1, q0) або (q[2..0]); нарешті, після ключових слів WITH STATES у круглих дужках ввести через кому символьні назви станів автомата і через знак рівності їх значення в одній із систем числення, наприклад, (s0 = 0, s1 = H”1”, s2 = B”011”, …); у кінці залишити крапку з комою:

VARIABLE                 

        gkp    :  MACHINE                       %  State Machine Declaration  %  

        OF BITS (q[2..0])

        WITH STATES    (s0 = 0, s1 = 1, s2 = 3, s3 = 7, s4 = 6,

                                      s5 = 4, il1 = 2, il2 = 5);

F  Примітки:

1. У підсекції State Machine Declaration речення OF BITS залежно від розв’язуваного завдання є необов’язковим, тобто компілятор сам може призначити кількість розрядів n пристрою за критерієм мінімальної схеми (інколи схема є простішою за більшої величини n через спрощення міжрозрядних зв’язків).

2. У реченні WITH STATES можна подати список символічних назв станів без зазначення їх кодів, якщо важливою є лише кількість станів, наприклад, (s0, s1, s2, ...).

3. З усіх 2n можливих станів дозволеними є ті, що подані в списку символічними назвами. Для усунення недозволених станів їх потрібно також перелічити в списку, наприклад, il1, il2 (від illegal).

BEGIN

                            gkp.clk = C;      

                            Q[] = gkp.q[];          

END;                          

б) до логічної секції Logic Section вставити шаблон булевих рівнянь Boolean equations, до якого ввести булеві рівняння керування, що пов’язують порти (входи та виходи) автомата із зовнішніми портами пристрою.