Главная Учебники - Разные Лекции (разные) - часть 45
HDL-модель паралельного логічного контролера циклічної дії реалізовано мовою опису апаратури AHDL у середовищі MAXplus+II (проект - cyclomat_canon). Для наочності файл верхнього рівня ієрархії реалізований у графічному редакторі (рис.1). Алгоритм функціонування паралельного логічного контролера циклічної дії описується таблицями станів та переходів (табл 1,2). Таблиця 1. Таблиця станів (мікроциклів) Найменування технологічної операції та групи операцій (мікроциклів) Z № кроку в мікроциклі W Команди керування C Очікуваний стан вхідних сигналів B Сигнал закінчення мікроциклу ENDmс Таблиця 2. Таблиця переходів між станами (мікроциклами) Номер поточного стану (мікроциклу) Zp
Вхідний стан A Контроль сигналу закінчення мікроциклу ENDмс Наступний стан (мікроцикл) Zk
Блок пам'яті bp
цикломата являє собою параметричний модуль, що забезпечує: багаторазову перевірку правильності прийняття керуючих рішень, причому час між перевірками задається параметром period1
; період, після якого забезпечується скидання (обнуління) блоку пам'яті при відсутності стабільності інформації на вході блоку пам'яті задається параметром period2
; кількість дискретних входів задається параметром width
. Параметри c
1_width
та c
2_width
необхідні для завдання розрядності лічильників, що забезпечують реалізацію функції виміру часових параметрів. Логічна структура блоку пам'яті bp
(див. рис.2) містить наступні функціональні вузли: тактовий генератор ТГ, лічильник С1, призначений для формування сигналу Е, що являє собою імпульс із тривалістю в один такт сигналу синхронізації С и формується періодично з інтервалом часу t'
, лічильник С2, що забезпечує підрахунок кількості виконаних перевірок правильності реалізації логічних функцій ω, лічильник С3, що забезпечує скид регістра RG2, якщо на виході Q лічильника С2 протягом заданого інтервалу часу не формується сигнал логічної 1,N"
-розрядні регістри пам'яті RG1 і RG2,N"
-розрядна схема порівняння. Рис.1. Файл верхнього рівня ієрархії в графічному редакторі Рис.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] схеми порівняння стають нееквівалентними, у результаті чого на виході a¹b схеми порівняння формується сигнал логічної 1, що надходить на вхід R лічильника С2 і забезпечує його скид. При надходженні чергового імпульсу Е на вхід Е регістра RG1 виконується запис інформації, що надходить на його входи D [N".
.1]. У результаті цього сигнали на входах а [N".
.1] і b [N".
.1] схеми порівняння стають еквівалентними і вихідний сигнал схеми порівняння a¹b приймає значення логічного 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. Рис.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. Фрагмент результатів моделювання паралельного логічного контролера циклічної дії
|