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

6.2.2.3 Виконати п. 6.2.2.1 на автоматично створених за допомогою менеджера MegaWizard Plug-In Manager різновидах мегафункцій тригерів і логічних елементів (див. п. 4.2.5.1).

F Примітки:

1. Для створення тригера на сторінці 2а діалогового вікна менеджера слід вибрати категорію storage i мегафункцію LPM_FF, на сторінці 3 – кількість тригерів, їх тип та встановити прапорець входу дозволу, а сторінку 4 щодо необов’язкових (optional) установчих входів – пропустити. Під час створення логічної функції входи доцільно згорнути в шину: на сторінці 3 діалогового вікна встановити прапорець Show input as bus.

2. У графічному файлі d:\max2work\tutorial\6lab\600y.gdf (схема 1) для прикладу наведено перетворення RS- і JK-тригерів у D-тригер та інвертування біта даних на виході тригера (схема 1), або безпосередньо на вході мегафункції (схема 2), або за допомогою вхідного інвертора (схема 3). При цьому назви ліній і шин мають відрізнятися (у прикладі data i dat), адже сигнали в них з урахуванням інверсії є різні.

< Приклад: d:\max2work\tutorial\6lab\600wiz_3d.sym, d:\max2work\ tutorial\6lab\600wiz_3and.sym, d:\max2work\tutorial\6lab\600y.gdf (схема 3), d:\max2work\tutorial\6lab\600y.sсf (вихід y2).

6.2.3 Застосувати тригери в текстовому редакторі виконанням завдання за п. 6.2.2

6.2.3.1 Створити пристрій на основі примітивів тригеріввибраного типу у тестовому файлі 6XXreg_decl.tdfпроекту6XXreg_decl на кшталт схеми 1 файла 6XXy.gdf, для чого в секцію змінних (Variable Section) вставити шаблони підсекції оголошення регістрів/тригерів (Register Declaration), в яких ввести умовне ім’я зразка (на схемі d:\max2work\tutorial\6lab\600y.gdf зазначено в дужках) та через двокрапку назву вибраного типу тригера; відтак у логічну секцію (Logic Section) вставити шаблон підсекції булевих рівнянь (Boolean Equation), за допомогою яких утворити з’єднання на зразок графічного файла. Перевірити правильність функціонування пристрою за часовими діаграмами 6XXreg_decl.sсf.

< Приклад: d:\max2work\tutorial\6lab\600reg_decl.tdf, .sсf.

SUBDESIGN 600reg_decl

(

        E, C, d[2..0]   : INPUT ;

        y                   : OUTPUT;

)

VARIABLE                                      

        de      : DFFE;                               

        sre       : SRFFE;                              

        jke       : JKFFE;                               

BEGIN                                         

de.D=d2; de.CLK=C; de.ENA=E; sre.S=d1; sre.R=!d1; sre.CLK=C;  sre.ENA=E; jke.J=d0; jke.K=!d0; jke.CLK=C; jke.ENA=E; y=de.Q & !sre.Q & jke.Q;                  

END;

F Примітка. Якщо зразок має лише один вхід або вихід, ім’я цього виводу в булевих рівняннях можна не зазначати: у лівій частині рівнянь ім’я зразка означатиме вхід, а в правій частині – його вихід.

< Приклад: d:\max2work\tutorial\6lab\600reg_decl1.tdf, .sсf.

VARIABLE                 

        t1       : DFFE;   

        t2        : SRFFE;  

        t3        : JKFFE;  

BEGIN                                         

        t1.D=d2; t1.CLK=C; t1.ENA=E;   t2.S=d1; t2.R=!d1;

        t2.CLK=C; t2.ENA=E; t3.J=d0; t3.K=!d0; t3.CLK=C;

        t3.ENA=E;    y=t1 & !t2 & t3;

END;

6.2.3.2 Виконати п. 6.2.3.1 на мегафункціях тригеріввибраного типу і логічних елементів (див. п. 4.1.3)  у тестовому файлі 6XXmega_y.tdfпроекту6XXmega_y на кшталт схеми 2 файла 6XXy.gdf, для чого включити до складу проекту вибрані мегафункції тригера і логічного елемента (Include Statement) із зазначенням їх імен і параметрів в підсекції Instance Declaration (parametererized) секції змінних (Variable Section) та в логічну секцію (Logic Section) вставити шаблон підсекції булевих рівнянь (Boolean Equation), за допомогою яких утворити з’єднання на зразок графічного файла. Перевірити правильність функціонування пристрою за часовими діаграмами 6XXmega_y.sсf.

< Приклад: d:\max2work\tutorial\6lab\600mega_y.tdf, .sсf.