1. Теоретичні відомості
Метою даної розрахунково-графічної роботи є дослідження такої можливості САПР Quartus II, як Assignments Settings Design Assistant Design Assistant configuration rule names Clock.Assistant (помічник проекту) - це свого роду засіб діагностики, дозволяє перевірити створений проект на відповідність деяким правилам. Воно знаходиться в меню Assignments/Settings. На малюнку 1.1 показано вікно для роботи з Design Assistant.
Малюнок 1.1 - Вікно для роботи з Design Assistant
Для того щоб встановити перевірку проекту потрібно на вкладці Design Assistant вибрати правила на відповідність яким необхідно перевірити проект, для цього всього лише необхідно встановити галочку напроти потрібного правила. Далі потрібно встановити галочку навпроти Run Design Assistant during compilation, що дозволить виконувати перевірку на відповідність обраним правилам під час компіляції проекту. Якщо проект не буде відповідати якому або правилом, то в звіт про компіляції буде виведено відповідне попередження (Critical Warning). Далі в розрахунково-графічної роботі будуть розглянуті тільки правила стосуються сигналів синхронізації, які знаходяться в розділі Clock.
Всього в розділі Clock перебуває шість правил як показано на малюнку вище. Розглянемо кожне з них більш докладно.
Перше з них носить назву Rule C101: Gated clock should be implemented according to the Altera standard scheme (Правило с101: Сигнал синхронізації, отримань за допомогою логічної осередку, має бути реалізований у відповідності зі стандартною схемою фірми Altera ).
У проекті можна використовувати комбінаційну логіку для формування тактового сигналу. При цьому комбінаційна логіка повинна слідувати наступним правилам:
як комбінаційної логіки слід використовувати двухвходового елемент І або двухвходового елемент АБО;
повинен бути тільки один вхідний контакт, який діє в якості основного вхідного тактового сигналу для елемент І або елемент АБО;
другий вхід елемент І або елемент АБО, дозволяючий проходити сигналам синхронізації, повинен бути синхронізований з тригером. У свою чергу, тригер повинен синхронізуватися тим же вхідним сигналом, який діє в якості основного вхідного тактового сигналу для елемент І або елемент АБО;
якщо в якості комбінаційної логіки використовується елемент І, то вхід синхронізації тригера керуючого елементом І повинен активізуватися спадаючим фронтом синхроимпульса, тоді як вхід синхронізації тригера керованого елементом І повинен активізуватися наростаючим фронтом синхроимпульса;
якщо в якості комбінаційної логіки використовується елемент АБО, то вхід синхронізації тригера керуючого елементом АБО повинен активізуватися наростаючим фронтом синхроимпульса, а вхід синхронізації тригера керованого елементом АБО повинен активізуватися спадаючим фронтом синхроимпульса;
для зменшення ймовірності збоїв, логічний вентиль повинен розташовуватися поблизу від керуючого тригера.
На малюнку 1.2 показаний приклад комбінаційної логіки, використовуваної як тактового сигналу, де логіка стробирования є двухвходового логічним елементом І.
Малюнок 1.2 - Приклад комбінаційної логіки, використовуваної як тактового сигналу
Друге правило носить назву Rule C102: Logic Cell Should Not be Used to Generate Inverted Clock (Правило С102: Логічна осередок не повинна використовуватися для генерації інвертованого синхроимпульса).
Інвертор, керуючий входом синхронізації тригера і дозволяє використовувати негативний фронт синхроимпульса, не повинен реалізовуватися за допомогою логічної осередки.
На малюнку 1.3 показаний приклад неправильного инвертирования сигналу синхронізації.
Малюнок 1.3 - Приклад використання логічної осередку для інвертування синхросигналу
Реалізація інвертора за допомогою логічної осередку може призвести до тактовою затримці і перекосу, що може викликати певні проблеми у проекті. Крім того, для всіх пристроїв фірми Altera, які підтримуються середовищем розробки Quartus II, немає необхідності у використанні інвертора на логічній осередку, так як синхроімпульси тригерів мають програмовані інвертори.
На малюнку 1.4 показаний приклад правильного инвертирования сигналу синхронізації.
Малюнок 1.4 - Приклад використання програмованого інвертора для інвертування синхросигналу
Третє правило носить назву Rule C103: Gated Clock is Not Feeding at Least a Pre-Defined Number of Clock Ports to Effectively Save Power (Правило С103: Сигнал синхронізації, отримань за допомогою логічної осередки, які не тактирует принаймні наперед зада...