Проектування цифрових пристроїв на основі САПР QUARTUS II: Практикум, страница 54

2. Аби уникнути завад на краях імпульсів Qi, урозподільниках імпульсів/рівнів вибрано регістри з інверсним динамічним керуванням (інакше синхровхід слід зінвертувати під час настроювання макрофункції). У цьому випадку в елементах збігу синхроімпульси розташовуються всередині імпульсів з розрядних виходів, що добре видно на часових діаграмах.

2.2 Скоригувати схему для утворення самовідновного пристрою, виконати п. 2.1 (можна в тому самому файлі) та скласти повний перемикальний граф.

 2.3 Визначити швидкодію пристрою (максимальну частоту перемикання відносно синхровходу), користуючись звітним файлом компіляції: Compilation Report > Timing Analyzer > Timing Analyzer Summary.

 2.4 Визначити швидкодію пристрою (максимальну частоту перемикання відносно синхровходу) безпосередньо часовим аналізатором: піктограмою Timing Analyzer Tool (або з меню Tools > Timing Analyzer) викликати його вікно Timing Analyzer Tool, перейти на вкладку Re-gistered Performance (швидкодія ЦПП) та зчитати для критичного шляху (From, To) найгіршу швидкодію у формі періоду і частоти надходження синхроімпульсів (у разі потреби, натиснути кнопку Start). 

Приклади: 800gkp1.bdf, vwf (схема 2), 800ri1.bdf, vwf (схема 2); реверсивні пристрої: 800gkp0.bdf, vwf, 800ri2.bdf, vwf, 800ri3.bdf, vwf.

2.5 Зберегти таблицю результатів часового аналізу в текстовому файлі: у вікні Timing Analyzer Tool натиснути кнопку Report – з’явиться вікно звіту Compilation Report з розділом Timing Analyzer Summary; клацнути правою кнопкою миші будь-де в полі таблиці звіту (або меню Tools) > Save Current Section As і в діалоговому вікні Save Current Report Section As вибрати тип Timing Analysis Output File (*.tao) та натиснути кнопку збереження; продивитися зазначений файл: натиснути піктограму відкриття файлу, прокруткою встановити тип файлів Output Files, вибрати зі списку файл 8XXgkp(ri)1 Timing Analyzer Summary та натиснути кнопку відкриття.    

Приклад: 800gkp(ri)1 Timing Analyzer Summary.tao.

2.6 У проекті 8ХХgkp(ri)1 (схема 3) зібрати та дослідити самовідновний пристрій на мегафункції регістра зсуву (можна в тому самому графічному файлі).

Приклад: 800gkp1.bdf, vwf (схема 3).

2.7 У проекті 8ХХgkp(ri)1 (схема 4) зібрати та дослідити самовідновний пристрій на автоматично створеному за допомогою менеджера MegaWizard Plug-In Manager різновиді мегафункції регістра зсуву 8XXwiz_reg.bsf (можна в тому самому графічному файлі).

Приклад: 800wiz_reg.bsf, .tdf; 800gkp1.bdf, vwf (схема 4).

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

 3.1 Створити та дослідити пристрій на основі макрофункції регістра вибраного типу в тестовому файлі (.tdf)проекту8XXreg_decl на кшталт самовідновної схеми на макрофункції з графічного файлу, для чого (як взірець див. файл 800reg_decl.tdf):

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

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

                  RETURNS (q[2..0]);                          

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

VARIABLE                                    %  Variable Section           %

        rg       : 74295;                        %  Register Declaration   %

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

BEGIN                                                           %  Logic Section           %

rg.ld/shn = MODE; rg.d[2..0] = d[2..0];  %  Boolean Equation     %

rg.clk = C; rg.ser = (q0 !& !q1) !& q2;      

Q[2..0] = rg.q[2..0];

END;