Реферат Курсовая Конспект
Logic Section - раздел Транспорт, Методичні вказівки з курсу Автоматизація проектування комп’ютерних систем Logic Section (Розділ Опису Логіки) Дозволяє Задати Алгоритм Роботи Проектова...
|
Logic Section (розділ опису логіки) дозволяє задати алгоритм роботи проектованого модуля.
Правила використання розділу:
§ Розділ починається із ключового слова BEGIN і закінчується ключовим словом END, за яким слідує крапка з комою (;).
1. У розділі можуть бути використані:
- Defaults Statement (Оператор задання вихідних значень);
- Boolean Equations (Логічні рівняння);
- Boolean Control Equations (Логічні рівняння для керуючих сигналів);
- Case Statement (Оператор CASE);
- If Then Statement (Оператор If Then);
- If Generate Statement (Оператор IF Generate);
- In-line Logic Function reference (безпосереднє звертання до модулів нижнього рівня в ієрархії описів і примітива;
- For Generate Statement (Оператор For Generate);
- Truth Table Statement (Таблиця істинності);
- Assert Statement (Оператор контролю).
Якщо в розділі логіки використовується оператор задання вихідних значень (Defaults Statement), то він повинен стояти відразу після ключового слова BEGIN. Послідовність застосування інших операторів - довільна.
■ У файлі з текстовим описом даний розділ може використовуватися тільки один раз.
3. ЗАСТОСУВАННЯ КОНСТРУКЦІЙ МОВИ
3.1. Логічні рівняння
Використання логічних рівнянь розглянемо на прикладі опису комбінаційної схеми, зображеної на рис. 6.
Рис 6.
Текстовий опис:
SUBDESIGN boole_1 -- розділ опису інтерфейсу модуля
(
А0, А1, В : INPUT; -- входи
OUT1, 0UT2 : OUTPUT; -- виходи
)
BEGIN -- розділ опису логіки роботи модуля
OUT1=A1&!A0;
OUT2=ОUT1#B;
END;
Представлений текстовий опис включає мінімально необхідний набір розділів:
§ Розділ інтерфейсу (SUBDESIGN SECTION).
§ Розділ опису логіки (LOGIC SECTION).
Ім'я модуля boole_l повинно збігатися з ім'ям файлу (boole_1.TDF), у якому зберігається наведений текстовий опис.
Відзначимо, що порядок використання логічних рівнянь OUT1=A1&!А0; і ОUT2=ОUT1#B; може бути довільним, оскільки на відміну від традиційних мов програмування компілятор здійснює паралельне їхнє виконання. Тому наступний опис комбінаційної схеми:
BEGIN
ОUT2=0UT1#B;
ОUT1=A1&!A0;
END;
логічно еквівалентний вихідному.
3.2. Змінні типу NODE
Для спрощення запису логічних рівнянь доцільно використовувати змінну типу NODE (іменовану лінію зв'язку). Комбінаційна схема з лінією зв'язку (INT_VAR) наведена на рис. 7.
Рис 7.
Текстовий опис:
SUBDESIGN boole_2
(
А0, А1, В : INPUT; -- входи
ОUT2 : OUTPUT; -- вихід
)
VARIABLE -- розділ змінних
INT_VAR : NODE;-- визначення змінної (лінії зв'язку) INT_VAR BEGIN
OUT=INT_VAR#B;
INT_VAR=A1&! А0;
END;
Відзначимо, що внутрішня лінія зв'язку INT_VAR виявиться недоступною для спостереження при реалізації часового моделювання роботи НВІС. Оскільки в процесі синтезу й розведення НВІС вона «розчиниться» або в чотиривходовій таблиці перекодувань (при розміщенні схеми в НВІС сімейства FLEX), або в програмувальній матриці «І» (при розміщенні схеми в НВІС сімейства МАХ).
Якщо, проте, нам необхідно спостерігати сигнал у точці INT_VAR при часовому моделюванні роботи НВІС, то доцільно використовувати буфер LCELL (рис. 8)
У цьому випадку комбінаційна схема буде реалізована на двох логічних елементах (макроосередках), і лінія INT_VAR, лінія зв'язку між логічними елементами, стане доступною для спостереження.
Рис. 8.
Текстовий опис, що відповідає рис. 8 має такий вигляд:
SUBDESIG boole_lc
(
А0, А1, В : INPUT;
OUT, INT_VAR : OUTPUT;
)
VARIABLЕ -- розділ змінних
INT_VAR : NODE; -- визначення змінної (лінії зв'язку)
BEGIN
OUT=INT_VAR#B;
INT_VAR=LCELL(A1&! А0);
END;
3.3. Іменовані оператори
Логічним операторам і операторам порівняння в текстовому описі можуть бути привласнені символічні імена. Їхнє застосування дозволяє спростити як інтерпретацію синтезованих компілятором логічних рівнянь, так і ручне перерозміщення внутрішніх ресурсів НВІС.
Ім'я, що присвоюється операторові, відділяється від нього двокрапкою (:). Наведений нижче текстовий опис, логічно еквівалентний текстовому опису модуля Boole_1, ілюструє використання іменованих операторів.
SUBDESIGN boole_3
(
А0, А1, В : INPUT;
ОUT1, ОUT2 : OUTPUT;
)
BEGIN
OUT1=A1 tiger:&!АТ; -- tiger - ім'я оператора &
ОUT2=ОUT1 panther:#B; -- panther - ім'я оператора #
END;
Нижче представлені логічні рівняння, синтезовані пакетом при компіляції модуля Воо1е_3 (рівняння взяті з розділу Equations файлу звіту):
** EQUATIONS **
А0 : INPUT;
А1 : INPUT;
В: INPUT;
-- Node name is 'OUT1' from file "boole_3.tdf" line 7, column 1
-- Equation name is 'ОUT1', type is output
OUT1 = tiger~0;
-- Node name is 'OUT2' from file "boole_3. tdf" line 8, column 1
-- Equation name is 'ОUT2' type is output
0UT2 = panther~0;
-- Node name is 'panther ~0' from file "boole_3.tdf" line 8, column 19
Equation name is 'panther~0', location is LC1_A1, type is buried.
panther~0 = LCELL( _EQ001);
_EQ001 = tiger~0 # B;
-- Node name is 'tiger~0' from file "boole_3.tdf" line 7, column 21
Equation name is 'tiger~0' location is LC3_A1. type is buried.
tiger~0 = LCELL( _EQ002);
_EQ002 = !A0 & A1;
Зупинимося на них більш докладно.
На вихід OUT1 передається значення логічного виразу tigher~0: OUT1 = tiger~0, реалізованого на окремому логічному елементі:
tiger~0 = LCELL(_EQ002), де _EQ002 = !А0 & А1.
На вихід OUT2 передається значення логічного виразу panther~0: 0UT2 = panthe~0, реалізованого на окремому логічному елементі:
Panther~0 = LCELL(_EQ001), де _EQ001 = tiger~0#B.
Відзначимо, що в розділі Equation файлу звіту утримується інформація і про розміщення використаних логічних осередків у НВІС програмувальної логіки. Так panther~0 розміщена в першому логічному елементі (LC1), що перебуває в першій колонці рядка А НВІС, a tiger~0 — у третьому логічному елементі (LC3), що також знаходиться у першій колонці рядка А.
– Конец работы –
Эта тема принадлежит разделу:
УЖГОРОДСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ... ІНЖЕНЕРНО ТЕХНІЧНИЙ ФАКУЛЬТЕТ... КАФЕДРА КОМП ЮТЕРНИХ СИСТЕМ ТА МЕРЕЖ...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Logic Section
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов