Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРМПП.doc
Скачиваний:
49
Добавлен:
07.02.2016
Размер:
8.14 Mб
Скачать

4.3 Мова опису цифрових систем vhdl

Мова Very high speed integrated circuits Hardware Description Language (VHDL) була розроблена в 1983 р. за наказом Міністерства оборони США з метою формального опису цифрових систем (ЦС) для усіх етапів розробки електронних систем. Діючим стандартом мови є стандарт IEEE Std. 1076-1993.

VHDL – мова паралельного програмування, що дозволяє використовувати її для опису і моделювання ЦС. Формат цього документу не дозволяє навести повний опис мови VHDL. Детальна інформація з цього питання міститься в [3-7].

4.4 Модель мікропрограмного автомату

Метою лабораторної роботи є створення моделі МПА Мура за граф-схемою алгоритму і перевірка його роботи засобами мови VHDL.

На рис.4.4 зображена структурно-функціональна організація моделі, що проектується. Блок "Модель МПА" – це файл мовою VHDL, що містить опис автомата. Блок "Випробувальний стенд" теж реалізований засобами мови VHDL. Він призначений для генерації тестової послідовності – вхідних сигналів X, RESET і CLK та перевірки правильності формування послідовності мікрокоманд (вектор Y).

Рисунок 4.4 – Структурно-функціональна організація моделі

Призначення сигналів:

X – вектор вхідного сигналу, що відповідає логічним умовам, що перевіряються;

Y – вектор вихідного сигналу, що відповідає мікроопераціям, що формують МК, яка відповідає поточному стану автомату;

CLK – вхідний сигнал синхронізації;

RESET – асинхронний скид МПА (установлення початкового стану a1).

Алгоритм А4.1 – Порядок створення моделі

  1. Розмітка ГСА автомата.

  2. Визначення множини станів автомата А = {a1,..,aM}.

  3. Визначення початкового стану автомата a1.

  4. Визначення вхідного алфавіту Z={z1,..,zF} і множини логічних умов X={x1,..,xL}.

  5. Визначення вихідного алфавіту (можини мікрокоманд) W = {w1,..,wG} і множини мікрооперацій Y = {y1,..,yN}.

  6. Складання мнемонічної форми прямої структурної таблиці.

  7. Складання опису МПА мовою VHDL.

  8. Створення графу переходів МПА за допомогою майстра Code2Graphics САПР Active-HDL.

  9. Аналіз графу переходів МПА, складання тестової послідовності і відповідної програми для випробувального стенду мовою VHDL.

  10. Перевірка роботи МПА, отримання часових діаграм.

На рис.4.5,а показана відзначена за алгоритмом А4.2 ГСА мікропрограмного автомата S1, алгоритм роботи якого був заданий (рис.4.2,б). На рис.4.5,б показаний еквівалентний граф переходів Г(S1).

Алгоритм А4.2 – Розмітка ГСА для МПА Мура

1. Символом a1 позначаються початкова і кінцева вершини.

2. Різні операторні вершини позначаються різними символами.

3. Всі операторні вершини повинні бути відзначені.

Приклад П4.2 – Виконання обходу від стану-передавача am до стану-одержувача as

В якості прикладу виконаємо обхід від стану a6 (am = a6) до стану a8 (as = a8) (див. рис.4.5,а). На цьому путі лежать умовні вершини, яким відповідає вектор ЛУ .

а – відзначена ГСА МПА Мура S1; б – граф переходів Г(S1)

Рисунок 4.5 – Розмітка граф-схеми алгоритму

Коротко факт переходу від стану-передавача am до стану-одержувача as позначають (am, as). Якщо на переході (am, as) є умовні вершини, то такий перехід називається умовним. Якщо на переході (am, as) умовних вершин нема, то перехід називається безумовним (виконується за будь-яких ЛУ).

Під час обходу ГСА треба вміти правильно розпізнавати особливі переходи. Можливі чотири випадки: контур, цикл, безкінечний цикл, мертвий перехід (рис.4.6).

а – контур; б – цикл; в – безкінечний цикл; г – мертвий перехід

Рисунок 4.6 – Особливі форми переходів

Перехід виду (am, am) називається рефлексивним. Переходи виду (am, as) і (as, am) називаються симетричними. Переходи виду (am, ai) і (ai, as) називаються транзитивними. Стани автомату, що пов‘язані між собою переходами, які є одночасно рефлексивними, симетричними і транзитивними, називаються еквівалентними.

В результаті аналізу ГСА МПА S1 , що відзначена за алгоритмом A4.1, були отримані результати:

алфавіт станів – A = {a1, a2, a3, a4, a5, a6, a7, a8};

кількість станів M = 8;

початковий стан – a1;

вхідний алфавіт – Z = {z1, z2, z3, z4, z5, z6, z7, z8, z9};

z1 = ; z2 = ; z3 = ; z4 = ; z5 = ; z6 = ; z7 = ; z8 = ; z9 = .

кількість вхідних слів F = 9;

множина логічних умов – X = {x1, x2, x3, x4};

кількість логічних умов L = 4;

алфавіт мікрокоманд – W = {w1, w2, w3, w4, w5, w6, w7};

w1 = y1y3; w 2 = y2; w 3 = y2y3; w 4 = y1y4; w 5 = y4; w 6 = y5; w 7 = y6.

кількість мікрокоманд G = 7;

множина мікрооперацій – Y = {y1, y2, y3, y4, y5, y6};

кількість мікрооперацій N = 6.

В табл.4.4 наведена мнемонічна форма (МФ) прямої структурної таблиці (ПСТ) автомата Мура. Вона має чотири стовпці: am– стан-передавач; as – стан-одержувач; X(am, as) – ЛУ, що відповідають шляху від стану am до стану as; Y(as) – сукупність МО, що відповідає стану-одержувачу as.

Таблиця 4.4 – Мнемонічна форма структурної таблиці

переходу

am

as

X(am, as)

Y(as)

Тип переходу

1

a1

a2

1

y1y3

безумовний

2

a2

a2

y1y3

контур

3

a3

y2y3

умовний

4

a4

y4

умовний

5

a6

y2

умовний

6

a3

a5

1

y1y4

безумовний

7

a4

a1

-

умовний

8

a7

y5

умовний

9

a5

a1

-

умовний

10

a7

y5

умовний

11

a6

a5

y1y4

умовний

12

a6

y2

контур

13

a8

y6

умовний

14

a7

a8

1

y6

безумовний

15

a8

a1

1

-

безумовний