Розробка HDL-моделі та комп’ютерне моделювання паралельного логічного контролера циклічної д
Розробка HDL-моделі та комп’ютерне моделювання паралельного логічного контролера циклічної д
8 Розробка hdl-моделі та комп'ютерне моделювання паралельного логічного контролера циклічної діїHDL-модель паралельного логічного контролера циклічної дії реалізовано мовою опису апаратури AHDL у середовищі MAXplus+II (проект - cyclomat_canon). Для наочності файл верхнього рівня ієрархії реалізований у графічному редакторі (рис.1).Алгоритм функціонування паралельного логічного контролера циклічної дії описується таблицями станів та переходів (табл 1,2).Таблиця 1. Таблиця станів (мікроциклів) |
Найменування технологічної операції та групи операцій (мікроциклів) Z | № кроку в мікроциклі W | Команди керування C | Очікуваний стан вхідних сигналів B | Сигнал закінчення мікроциклу ENDmс | | 0 | Операція 0.0. | 0 | 0 | 0 | 0 | | | Операція 0.1. | 1 | 1 | 1 | 0 | | | Операція 0.2. | 2 | 1 | 0 | 1 | | 1 | Операція 1.0. | 0 | 10 | 10 | 0 | | | Операція 1.1 | 1 | 11 | 11 | 0 | | | Операція 1.2 | 2 | 12 | 12 | 0 | | | Операція 1.3 | 3 | 0 | 0 | 1 | | 2 | Операція 2.0. | 0 | 20 | 20 | 0 | | | Операція 2.1 | 1 | 21 | 21 | 0 | | | Операція 2.2 | 2 | 22 | 22 | 0 | | | Операція 2.3 | 3 | 22 | 0 | 1 | | |
Таблиця 2. Таблиця переходів між станами (мікроциклами) |
Номер поточного стану (мікроциклу) Zp | Вхідний стан A | Контроль сигналу закінчення мікроциклу ENDмс | Наступний стан (мікроцикл) Zk | | 0 | 1 | 1 | 1 | | 1 | 2 | 1 | 2 | | 2 | 3 | 1 | 1 | | 2 | 4 | х | 0 | | |
Блок пам'яті bp цикломата являє собою параметричний модуль, що забезпечує: багаторазову перевірку правильності прийняття керуючих рішень, причому час між перевірками задається параметром period1; період, після якого забезпечується скидання (обнуління) блоку пам'яті при відсутності стабільності інформації на вході блоку пам'яті задається параметром period2; кількість дискретних входів задається параметром width. Параметри c1_width та c2_width необхідні для завдання розрядності лічильників, що забезпечують реалізацію функції виміру часових параметрів. Логічна структура блоку пам'яті bp (див. рис.2) містить наступні функціональні вузли: тактовий генератор ТГ, лічильник С1, призначений для формування сигналу Е, що являє собою імпульс із тривалістю в один такт сигналу синхронізації С и формується періодично з інтервалом часу t', лічильник С2, що забезпечує підрахунок кількості виконаних перевірок правильності реалізації логічних функцій щ, лічильник С3, що забезпечує скид регістра RG2, якщо на виході Q лічильника С2 протягом заданого інтервалу часу не формується сигнал логічної 1,N"-розрядні регістри пам'яті RG1 і RG2,N"-розрядна схема порівняння. Рис.1. Файл верхнього рівня ієрархії в графічному редакторі 8 Рис.2. Логічна структура блоку пам'яті bp Блок пам'яті bp працює таким чином. Вхідні сигнали q (t) [N". .1] надходять на входи регістра RG1 D [N". .1] і схеми порівняння а [N". .1]. На виходах регістра RG1 формуються сигнали Q [N". .1], що надходять на входи регістра RG2 D [N". .1] і схеми порівняння b [N". .1]. У випадку зміни стану вхідних сигналів q (t) [N". .1] сигнали на входах а [N". .1] і b [N". .1] схеми порівняння стають нееквівалентними, у результаті чого на виході ab схеми порівняння формується сигнал логічної 1, що надходить на вхід R лічильника С2 і забезпечує його скид. При надходженні чергового імпульсу Е на вхід Е регістра RG1 виконується запис інформації, що надходить на його входи D [N". .1]. У результаті цього сигнали на входах а [N". .1] і b [N". .1] схеми порівняння стають еквівалентними і вихідний сигнал схеми порівняння ab приймає значення логічного 0. Далі лічильник С2 здійснює підрахунок імпульсів Е, що надходять на його вхід Е з виходу лічильника С1. У випадку, якщо лічильник С2 дорахує до заданого значення n (що означає успішне виконання n-кратної перевірки), на його виході Q буде сформований сигнал логічної 1, що надходить на вхід Е регістра RG2, забезпечуючи таким чином запис інформації і формування сигналів q (t-1) [N". .1] на виході блоку пам'яті. Якщо наступна зміна вхідних сигналів q (t) [N". .1] відбудеться до того, як лічильник С2 дорахує до n, лічильник С2 знову буде обнулений і підрахунок імпульсів Е буде виконуватись спочатку. Структурна схема HDL-моделі блоку пам'яті bp приведена на рис.3. Результати моделювання компонентів bp_rg, bp_compare, bp_counter приведені на рис 4 - 6. Результати моделювання блоку пам'яті bp наведені на рис.7. 8 Рис.3. Структурна схема HDL-моделі блока пам'яті bp Рис.4. Результати моделювання компонента bp_rg Рис.5. Результати моделювання компонента bp_compare Рис.6. Результати моделювання компонента bp_ counter Рис.7. Результати моделювання блоку пам'яті bp Комбінаційна схема KS1 реалізує логічну функцію л відповідно до таблиці переходів, наведеної на рис.2. Опис функції л с використанням конструкцій CASE і IF THEN виглядає так: CASE zi [] IS WHEN 0 => IF a [] == 1 and kp then z [] = 1; ELSE z [] = 0; END IF; WHEN 1 => IF a [] == 2 and kp then z [] = 2; ELSE z [] = 1; END IF; WHEN 2 => IF a [] == 3 and kp then z [] = 1; ELSIF a [] == 4 then z [] = 0; ELSE z [] = 2; END IF; END CASE; Для опису функцій ч, д, д' у блоці RS2_3 використана конструкція TABLE: TABLE zi [1. .0], w [1. .0] => b [7. .0], ENDmc, c [7. .0] ; 0, 0 => 0, 0, 0; 0, 1 => 1, 0, 1; 0, 2 => 0, 1, 1; 1, 0 => 10, 0, 10; 1, 1 => 11, 0, 11; 1, 2 => 12, 0, 12; 1, 3 => 0, 1, 0; 2, 0 => 20, 0, 20; 2, 1 => 21, 0, 21; 2, 2 => 22, 0, 22; 2, 3 => 0, 1, 22; END TABLE; Схема скидання лічильника count виконана з використанням примітивів DFF, NOT, AND2, які виділяють передній фронт сигналу на виході reset блоку пам'яті шляхом формування імпульсу тривалістю в один такт сигналу синхронізації. Фрагмент результатів моделювання паралельного логічного контролера циклічної дії наведено на рис.8. Рис.8. Фрагмент результатів моделювання паралельного логічного контролера циклічної дії
|