Файли, створені на мові AHDL, легко інтегруються в ієрархічну структуру проекту. Система MAX+PLUS II дозволяє автоматично створювати символ компонента, алгоритм функціонування якого описано tdf-файлом, а потім вставити його в файл схемного описання (gdf-файл). Додатково, користувач може вводити власні функції, крім розроблених фірмою Altera близько 300 макрофункцій. Для всіх функцій, включених до макробібліотеки системи MAX+PLUS II, фірма Altera поставляє файли з розширенням .inc (include design file).
При розподіленні ресурсів пристроїв проектувальник може користуватись програмами текстового редактору або операторами мови AHDL. Крім того, розробник може перевірити синтаксис і зробити повну компіляцію. Будь-які помилки автоматично фіксуються обробником повідомлень та інформація про їх наявність з’являється у вікні текстового редактору, що оптимізує час розробки пристрою.
7. Реалізація в інтегрованому середовищі MAX+PLUS II базових пристроїв мікроелектроніки
7.1 Теоретичні відомості про тригери
Базовою структурною одиницею для побудови комбінаційних логічних схем є логічний елемент (вентиль). У випадку послідовних логічних схем роль такої структурної одиниці відіграє тригер. В даному розділі дипломної роботи буде розглянуто різні види тригерів.
7.1.1 RS-тригер
Умовне позначення RS-тригеру подано на рис. 7.1.1: RS-тригер має два входи R і S та два виходи Q1 та Q2. В тригерах виходи завжди знаходяться в протилежних (компланарних) станах. Іншою мовою, якщо на вході Q1 ми маємо логічну одиницю, то на виході Q2 буде рівень логічного нуля, і навпаки.
Входи R і S розглядуваного тригера називають відповідно входом встановлення 1 і входом встановлення 0.
Режим роботи | Входи | Виходи | |||
S | R | Q1 | Q2 | Вплив на вихід Q1 | |
Заборонений стан | 0 | 0 | 1 | 1 | Заборонено – не використовується |
Встановлення 1 | 0 | 1 | 1 | 0 | Для встановлення Q1 в 1 |
Встановлення 0 | 1 | 0 | 0 | 1 | Для встановлення Q1 в 0 |
Збереження | 1 | 1 | Q1 | Q2 | Залежить від попереднього стану |
При поданні на обидва входи тригера рівня логічного нуля (R=S=0) на обох виходах встановлюється логічна одиниця (Q1=Q2=1). Це заборонений стан тригеру; він не використовується. Згідно другому рядку таблиці дійсності на виході Q1 встановлюється логічна 1. В даному випадку кажуть, що тригер встановлений у стан 1. Згідно третього рядка, при S=1 і R=0 відбувається скидання сигналу на вході Q1 (очищення виходу Q1) до рівня логічного 0. Це значить, що тригер встановлено у стан 0. Четвертий рядок таблиці дійсності відповідає R=S=1. В даному випадку тригер знаходиться в стані спокою: на виходах Q1 і Q2 зберігаються попередні комплементарні рівні сигналу. Це режим збереження.
Із табл. 7.1.1 видно, що встановлення тригеру у стан 1 (встановлення 1 на виході Q1) ініціює логічний 0 на вході S. Аналогічно встановлення тригеру в стан 0 (встановлення 0 на виході Q1) ініціює логічний 0 на вході R. Так як зміна стану RS-тригеру обумовлена появою 0 на одному з його входів, то вірогідніше, точнішим зображенням даної схеми було б умовне графічне зображення, приведене на рис. 7.1.2.
Рис. 7.1.2. Умовне графічне позначення RS-тригеру
Рис. 7.1.3. RS-тригер, побудований на логічних елементах І-НЕ
Особливу увагу треба звернути на інвертуючі кола у входів R та S. Вони показують, що активним рівнем сигналу для встановлення тригеру в стан 1 і 0 є рівень логічного 0 на одному із входів. RS-тригер часто називають RS-фіксатором, або тригером з роздільними входами.
7.1.2 Синхронний RS-тригер
Умовне графічне позначення для синхронного RS-тригеру показано на рис. 7.1.4. Воно подібне до звичайного RS-тригеру; відмінність полягає в появі одного додаткового, так званого синхронізуючого входу, що позначається CLK.
Рис. 7.1.4. Умовне графічне позначення синхронного RS-тригеру
Принцип роботи синхронного RS-тригеру ілюструє його таблиця дійсності (табл. 7.1.2).
Табл. 7.1.2. Таблиця дійсності синхронного RS-тригеру
Режим роботи | Входи | Виходи | ||||
CLK | S | R | Q1 | Q2 | Вплив на вихід Q1 | |
Збереження | 0 | 0 | Без змін | Без змін | ||
Встановлення 0 | 0 | 1 | 0 | 1 | Для встановлення Q1 в 0 | |
Встановлення 1 | 1 | 0 | 1 | 0 | Для встановлення Q1 в 1 | |
Заборонений стан | 1 | 1 | 1 | 1 | Заборонено – не використовується |
Тільки верхні три рядки таблиці дійсності описують реальні режими роботи RS-тригеру. Нижній рядок відповідає забороненому стану і ніколи не використовується. З таблиці видно, що стан виходів синхронного RS-тригеру може змінюватись лише в моменти приходу тактових імпульсів. В даному випадку кажуть, що тригер працює синхронно: процес переключення його знаходиться в синхронізмі з тактовими імпульсами.
Важливу роль в багатьох цифрових схемах відіграє ще одна характеристика RS-тригеру – наявність пам’яті. Дійсно, якщо тригер встановлений в стан 1 або 0, то він залишається в такому стані навіть при деяких змінах вхідних сигналів.
Рис. 7.1.5. Синхронний RS-тригер, побудований на логічних елементах І-НЕ
Щоб отримати синхронний RS-тригер, в схему звичайного RS-тригеру потрібно ввести два додаткових логічних елемента І-НЕ, як показано на рис. 7.1.5.
7.1.3 D-тригер
Умовне графічне позначення D-тригеру подано на рисунку 7.1.6. У цього тригера є лише один інформаційний вхід D, а також синхронізуюзуючий вхід CLK.
D-тригер часто називають тригером з затримкою. Слово “затримка” означає те, що відбувається з даними (інформацією), що поступає на вхід D. Інформаційний сигнал (0 або 1), поступаючи на цей вхід затримується у тригері рівно на один такт, перед тим як з’явитись на виході Q.
Рис. 7.1.6. Умовне графічне позначення D-тригеру
Спрощена таблиця дійсності для D-тригеру подана нижче.
Табл. 7.1.3. Таблиця дійсності D-тригеру
Вхід | Вихід |
Dn | Qn+1 |
0 | 0 |
1 | 1 |
Слід звернути увагу, що сигнал на виході Q в такті n+1 повторює сигнал, що був на вході D в попередньому такті n.
D-тригер можливо отримати з тактуємого RS-тригеру, додаючи до останнього інвертор, як показано на рис. 7.1.7.
Рис. 7.1.7. Схема D-тригера
На рис. 7.1.8 показано умовне позначення типового серійно випускаємого D-тригеру. Він має два додаткових входи – попереднього встановлення (PS) і очищення (CLR). Логічний 0 на вході PS ініціює встановлення логічної 1 на виході Q. Логічний 0 на вході CLR ініціює очистку виходу Q.
В активних станах входи PS і CLR блокують дію входів D і CLK; при розблокуванні входи D і CLK діють аналогічно звичайному D-тригеру, що зображений на рис. 7.1.6.