logo search
Проектування цифрового автомата в cистемі автоматизованого проектування MAX+PLUS II

3. Проектування цифрового автомата

Порядок виконання роботи:

1. Складаємо початкове завдання функціонування.

2. Подаємо автомат у вигляді графа.

3. Виконуємо кодування вхідних сигналів і станів.

4. Визначаємо кількість і типи елементарних автоматів (тригерів)

5. Будуємо кодовану таблицю переходів і виходів автомата.

6. Створюємо схему проекту за допомогою Graphic Editor САПР "MAX+PLUS II", здійснюємо компіляцію проекту та проводимо тестування пристрою за допомогою редактора Waveform Editor та модуля "Simulator".

7. Здійснюємо розміщення проекту на кристалі за допомогою Floorplan Editor.

8. Огляд ієрархічної структури проекту.

Складаємо початкове завдання функціонування

Проектуємо автомат Мура з двома режимами роботи керованими вхідним сигналом М, згідно заданим варіантом №1 (додаток 1). Коефіцієнт лічення - 16. М=0 - прямий код М=1 -код Грея.

Код Грея - система нумеровання, в якій два сусідніх значення розрізняю-ться тільки в одному розряді. Найбільш часто на практиці застосовується рефлексні двійковий код Грея, хоча в загальному випадку існує нескінченна безліч кодів Грея для систем числення з будь-якою основою. У більшості випадком, під терміном "код Грея" розуміють саме рефлексивний бінарний код Грея. Спочатку призначався для захисту від помилкового спрацьовування електро-механічних перемикачів. Сьогодні коди Грея широко використовуються для спрощення виявлення та виправлення помилок у системах звязку, а також у формуванні сигналів зворотного звязку в системах управління.

В інформатиці прямий код використовується головним чином для запису невідємних цілих чисел. Його легко отримати з подання цілого числа в будь-якій іншій системі числення. Для цього досить перевести число в двійкову систему числення, а потім заповнити нулями вільні ліворуч розряди розрядної сітки машини.

Кодована таблицю переходів автомата:

Десятковий код

Прямий код

Код Грея

0

0000

0000

1

0001

0001

2

0010

0011

3

0011

0010

4

0100

0110

5

0101

0111

6

0110

0101

7

0111

0100

8

1000

1100

9

1001

1101

10

1010

1111

11

1011

1110

12

1100

1010

13

1101

1011

14

1110

1001

15

1111

1000

Будуємо граф автомата

Кодування вхідних сигналів автомата будується на тому, що керуючому сигналу М ставиться або 0 або 1, тому що використовується два режими роботи автомату.

стан автомата, коли він працює як двійковий лічильник

стан елементарного автомата (тригера)

стан автомату коли він працює як лічильник в коді Грея

стан елементарного автомата (тригера)

Визначимо кількість і тип тригерів.

Число тригерів n при модулі рахунку N=16 визначається формулою

n = ¬- і буде дорівнювати n = ¬- = 4. Беручи до уваги вимогу завдання, вибираємо RS-тригери. Для синтезу цифрового автомата на цих тригерах треба використовувати матрицю його переходів .

У першому стовпці записані дворозрядні двійкові числа, перші розряди яких відповідають попередньому стану тригера в момент часу t , а у другому розряді - наступний стан в момент часу t+1. У останніх стовпцях записані значення вхідних логічних змінних R і S для кожного переходу тригера. Рискою позначені невизначені значення змінних R і S .

Таблиця 5

S

R

0 0

0

-

0 1

1

0

1 0

0

1

1 1

-

0

Будуємо кодовану таблицю переходів автомата

Для визначення функцій збудження елементарних автоматів (тригерів) складається кодована таблиця переходів (табл.6.).

Таблиця 6.

М

Z0

0

0

0

0

0

0

0

0

1

-

0

-

0

-

0

0

1

Z1

0

0

0

0

1

0

0

1

0

-

0

-

0

0

1

1

0

Z2

0

0

0

1

0

0

0

1

1

-

0

-

0

0

-

0

1

Z3

0

0

0

1

1

0

1

0

0

-

0

0

1

1

0

1

0

Z4

0

0

1

0

0

0

1

0

1

-

0

0

-

-

0

0

1

Z5

0

0

1

0

1

0

1

1

0

-

0

0

-

0

1

1

0

Z6

0

0

1

1

0

0

1

1

1

-

0

0

-

0

-

0

1

Z7

0

0

1

1

1

1

0

0

0

0

1

1

0

1

0

1

0

Z8

0

1

0

0

0

1

0

0

1

0

-

-

0

-

0

0

1

Z9

0

1

0

0

1

1

0

1

0

0

-

-

0

0

1

1

0

Z10

0

1

0

1

0

1

0

1

1

0

-

-

0

0

-

0

1

Z11

0

1

0

1

1

1

1

0

0

0

-

0

1

1

0

1

0

Z12

0

1

1

0

0

1

1

0

1

0

-

0

-

-

0

0

1

Z13

0

1

1

0

1

1

1

1

0

0

-

0

-

0

1

1

0

Z14

0

1

1

1

0

1

1

1

1

0

-

0

-

0

-

0

1

Z15

0

1

1

1

1

0

0

0

0

1

0

1

0

1

0

1

0

Z0

1

0

0

0

0

0

0

0

1

-

0

-

0

-

0

0

1

Z1

1

0

0

0

1

0

0

1

1

-

0

-

0

0

1

0

-

Z2

1

0

0

1

1

0

0

1

0

-

0

-

0

0

-

1

0

Z3

1

0

0

1

0

0

1

1

0

-

0

0

1

0

-

-

0

Z4

1

0

1

1

0

0

1

1

1

-

0

0

-

0

-

0

1

Z5

1

0

1

1

1

0

1

0

1

-

0

0

-

1

0

0

-

Z6

1

0

1

0

1

0

1

0

0

-

0

0

-

-

0

1

0

Z7

1

0

1

0

0

1

1

0

0

0

1

0

-

-

0

-

0

Z8

1

1

1

0

0

1

1

0

1

0

-

0

-

-

0

0

1

Z9

1

1

1

0

1

1

1

1

1

0

-

0

-

0

1

0

-

Z10

1

1

1

1

1

1

1

1

0

0

-

0

-

0

-

1

0

Z11

1

1

1

1

0

1

0

1

0

0

-

1

0

0

-

-

0

Z12

1

1

0

1

0

1

0

1

1

0

-

-

0

0

-

0

1

Z13

1

1

0

1

1

1

0

0

1

0

-

-

0

1

0

0

-

Z14

1

1

0

0

1

1

0

0

0

0

-

-

0

-

0

1

0

Z15

1

1

0

0

0

0

0

0

0

1

0

-

0

-

0

-

0

За умовою завдання комбінаційна схема на елементах І - НЕ. Тому запишемо МДНФ функції збудження для тригерів за допомогою Карт Карно. Карта Карно -- графічний спосіб мінімізації булевих функцій що забезпечує простоту роботи з великими виразами.

Створюємо схему за допомогою Graphic Editor САПР "MAX+PLUS II"

Компоненти схеми:

Перший елемент схеми (І-НЕ)

1. В графічному редакторі САПР "MAX+PLUS II" створюємо елемент К1, на елементах І - НЕ (використовували 2-х, 3-х, 4-х і 6-ти входові елементи з бази САПРу):

2. Після компіляції проекту отримуємо:

2.Виконуємо компіляцію проекту:

3. Проводимо тестування за допомогою редактора часових діаграм - Waveform Editor та модуля "Simulator".

Для цього створюємо файл часових діаграм з розширенням *.SCF, задаємо стани входів, вибираємо виходи і запускаємо "Simulator".

Часові діаграми:

4. Створюємо символ елементу в Symbol Editor:

програмований логічний інтегральний пакет

Другий елемент схеми (І-НЕ)

1. За допомогою графічного редактора САПР "MAX+PLUS II" створюємо елемент К2 (використовували елементи І - НЕ 3-х, 4-х входові):

2.Виконуємо компіляцію проекту:

3. Часові діаграми

4.Створюємо символ елементу в Symbol Editor:

Третій елемент схеми (І-НЕ)

1. За допомогою графічного редактора САПР "MAX+PLUS II" створюємо елемент К3:

2.Виконуємо компіляцію проекту:

Часові діаграми

4. Створюємо символ елементу в Symbol Editor

Четвертий елемент схеми (І-НЕ)

1. За допомогою графічного редактора САПР "MAX+PLUS II" створюємо елемент К4:

2.Виконуємо компіляцію проекту:

Часові діаграми

4. Створюємо символ елементу в Symbol Editor

RS - триггер

1. За допомогою графічного редактора САПР "MAX+PLUS II" створюємо RS - триггер на елементах І-НЕ:

4. Виконуємо компіляцію проекту

Створюємо символ елементу в Symbol Editor:

Таблица 2. Таблица истинности синхронного RS-триггера.

С

R

S

Q(t)

Q(t+1)

Пояснения

0

x

x

0

0

Режим хранения информации

0

x

x

1

1

1

0

0

0

0

Режим хранения информации

1

0

0

1

1

1

0

1

0

1

Режим установки единицы S=1

1

0

1

1

1

1

1

0

0

0

Режим записи нуля R=1

1

1

0

1

0

1

1

1

0

*

R=S=1 запрещенная комбинация

1

1

1

1

*

Матриця затримки

Комбінаційні схеми

1. За допомогою графічного редактора САПР "MAX+PLUS II" створюємо комбінаційну схему:

5. Виконуємо компіляцію проекту

6. Часові діаграми

7. Часові затримки

8. За допомогою символьного редактора створюємо символ комбінаційної схеми:

Схема пам"яті (лічильник)

1. За допомогою графічного редактора САПР "MAX+PLUS II" створюємо схему пам"яті на основі RS-тригерів:

2. Виконуємо компіляцію проекту:

3. Часові діаграми

4. Часові затримки

5. За допомогою символьного редактора створюємо символ схеми пам"яті

Схема цифрового автомату

1. Схема автомату складається з побудованої раніше комбінаційної схеми і схеми пам"яті:

2. Виконуємо компіляцію проекту:

3. Часові діаграми

4. За допомогою символьного редактора створюємо символ цифрового автомату.

Розміщення проекту за допомогою Floorplan Editor

Тип ПЛІС необхідний для реалізації проекту, може бути вибрати автоматично або вручну. При створенні проекту по замовчуванню встановлений режим автоматичного вибору мінімальної за об"ємом ПЛІС, в якій може бути реалізований даний проект.

Виводи ПЛІС також призначаються автоматично. Після завершення роботи над проектом необхідно закріпити або перевизначити виводи ПЛІС, щоб при подальшій відладці проекту у складі всього виробу компілятор не зміг змінити їх призначення.

Огляд ієрархічної структури проекту за допомогою Hierarchy Display

Hierarchy Display - підпрограма, що забезпечує огляд ієрархічної структури проекту який може складатися з безлічі складених в різних редакторах і згорнутих в символи проектів більш низьких рівнів, причому число рівнів не обмежується.

Ієрархічна структура цифрового автомату: