Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРС_ПКИМС_ПЛИС.doc
Скачиваний:
35
Добавлен:
05.06.2015
Размер:
1.85 Mб
Скачать

Variable

FSM : MACHINE WITH STATES

(INIT,WORKING,WAITING,RUMING,ENDING);

BEGIN

FSM.(clk,RESET)=(CLK,ABAP);

CASE FSM IS

WHEN INIT=>

IF START==0

THEN FSM=INIT;

ELSE FSM=WORKING;

END IF;

WHEN WORKING=> Work=VCC;

IF START==0

THEN FSM=WAITING;

ELSE FSM=WORKING;

END IF;

WHEN WAITING=> Work=VCC; End_work=VCC;

IF START==0

THEN FSM=ENDING;

ELSE FSM=RUMING;

END IF;

WHEN RUMING=>

IF START==0

THEN FSM=WAITING;

ELSE FSM=WORKING;

END IF;

WHEN ENDING => End_work=VCC;

FSM=WAITING;

END CASE;

END;

В результате моделирования автомата МУРА получается временная диаграмма работы автомата, представленная на рис 3.2.1.

Рис 3.2.1. Временная диаграмма работы автомата МУРА.

3.3. Проектирование счетчиков на базе абстрактных автоматов

С помощью абстрактных автоматов удобно описывать работу счетчиков. Для этого достаточно описать автомат МУРА, у которого число состояний определяется диапазоном работы счетчика. Что касается выходных сигналов автомата - то они определяются типом счетчика (прямой, рекурсивный, двоично-десятичный, работающий в диапазоне и т.д.). Разделение номеров состояний и соответствующих им выдаваемых сигналов очень сильно упрощает описание работы «хитрых» счетчиков.

Рассмотрим пример двоично-десятичного счетчика, считающего в диапазоне от 8 до 15.

Счетчик имеет входной тактовый сигнал clk и выходной двоично-десятичный сигнал OUT[4..0].

Соответствующий счетчику автомат имеет 8 состояний, каждому из которых поставлено в соответствие выдаваемое двоично-десятичное число.

Описание такого автомата-счетчика на языке AHDL имеет следующий вид:

SUBDESIGN C8_15

( clk : INPUT;

OUT[4..0] : OUTPUT;)

Variable

FSM : MACHINE WITH STATES

(S8,S9,S10,S11,S12,S13,S14,S15);

BEGIN

FSM.clk=CLK;

TABLE

FSM => OUT[], FSM;

S8 => B"01000", S9;

S9 => B"01001", S10;

S10 => B"10000", S11;

S11 => B"10001", S12;

S12 => B"10010", S13;

S13 => B"10011", S14;

S14 => B"10100", S15;

S15 => B"10101", S8;

END TABLE;

END;

В процессе своей работы автомат последовательно, по кругу, ходит по циклу состояний S8->S9->S10->S11->S12->S13->S14->S15->S8->S9…

Для каждого состояния определён свой, индивидуально выдаваемый код. Поэтому для изменения работы счётчика достаточно перекодировать таблицу выдаваемых значений.

В результате моделирования вышеописанного счётчика получается временная диаграмма, приведённая на рисунке 3.3.1.

Рис 3.3.1. Временная диаграмма работы двоично-десятичного счетчика.

4. Проектирование типовых схемотехнических узлов

Рассмотрим стандартные подходы при проектировании радиоэлектронных устройств, примеры которых встречаются в курсовых работах.

4.1. Матричные дешифраторы клавиатуры

Матричные дешифраторы клавиатуры позволяют организовать ввод данных с различных клавиатур, используя минимальное количество шин.

Типовая структурная схема включения дешифратора и клавиатуры приведена на рис 4.1.1.

Матрица

клавиатуры

А4

А8

А3

А7

А6

А2

А5

А1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]