Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Altera / MAX+PLUS II - AHDL.doc
Скачиваний:
139
Добавлен:
10.12.2013
Размер:
7.02 Mб
Скачать

2.3.2Определение регистровых входов

Вы можете определить регистровые выходы устройства, описав выходы как триггеры в разделе объявления переменных. Устройство, спроектированное примереreg_out.tdf функционирует точно также как и устройство из примера 2.19, но имеет регистровые выходы.

При присвоении какого-либо значения регистровому входу, это значение присваивается dвходам регистров. Для определения синхронизации используетяс конструкция<имя регистра>.clk.

2.3.3 Создание счетчиков

Счетчик – устройство, считающее импульсы. Некоторые счетчики могут считать как вперед, так и назад (реверсивные счетчики), в них может быть загружена какая либо информация, либо они могут быть сброшены на ноль. Счетчики могут быть описаны с помощью D триггеров (DFF и DFFE) и оператораIFили с помощью функцииlpm_counter.

В примере ahdlcnt.tdfописывается 16-битный счетчик, имеющий входы для сброса и загрузки.

В данном примере 16-и D-триггерам, описанным в разделе объявлений переменных, сопоставлены имена от count0 до count15. Оператор IF используется для описания условий, при которых будет происходить загрузка в регистр.

Устройство, спроектированное в следующем примере, выполняет те же функции что и устройство из примера2.22, но для его описания используется функцияlmp_counter.

На рисунке 2.10показана схема устройстваahdlcnt.tdf (из примера 2.22).

2.4 Графы переходов

Графы переходов, точно также как и таблицы истинности и логические уравнения, легко реализуемы наAHDL. Для описания графа вы всего лишь описать его в таблице, при этом, компиляторMAX+PLUS IIавтоматически проделает следующие операции:

  • Произведет выбор типа триггера: T или D(TFFилиDFF)

  • Автоматически произведет соответствующий логический синтез

Для описания автомата при помощи графа переходов вы должны включить в описание вашего устройства на языке AHDLследующие разделы:

  • Объявление графа переходов (Раздел объявлений)

  • Описание сигналов управления (Раздел логических уравнений)

  • Описание условий перехода из одного состояния в другое (Раздел логических уравнений)

В данном разделе будут рассмотрены следующие вопросы:

  • Описание графа переходов

  • Назначение автомату сигналов синхронизации (Clock), сброса (Reset), разрешения по входу (Enable)

  • Кодирование состояний автомата

  • Описание автомата Мура (Moore machine)

  • Описание автомата Мили (Mealy machine)

Для получения более подробной информации см. разделы:

  • Экспорт и импорт графов переходов автоматов

2.4.1 Описание графа переходов

Вы можете создать граф переходов, определив имя графа, его состояния, закодировать состояния автомата (необязательное условие), в разделе объявлений.

В

SUBDESIGN simple

(

clk : INPUT;

reset : INPUT;

d : INPUT;

q : OUTPUT;

)

VARIABLE

ss: MACHINE WITH STATES (s0, s1);

BEGIN

ss.clk = clk;

ss.reset = reset;

CASE ss IS

следующем примере (simple.tdf) будет описано устройство, функционирующее точно также как иD-триггер.

В данном примере описан граф ssнекоторого автомата. Состояния автомата –s0 иs1. Никаких комбинаций выходов этим состояниям при описании графа (Разел описаний) не сопоставлено.

Уравнения перехода определяют условия, по которым автомат переходит из одного состояния в другое. Для определения условий перехода обычно используется оператор CASEили таблица истинности(Truth table).

Вы можете определить сигналы, которые будут подаваться на выходы устройства, используя операторы IFилиCASE.

На рисунке 2.11показана схема устройстваsimple.tdf (из примера 2.24).

Для получения более подробной информации см. разделы:

  • Устройства с памятью

  • Экспорт и импорт графов переходов автоматов

  • Описание автомата Мили (Mealy machine)

  • Описание автомата Мура (Moore machine)

Соседние файлы в папке Altera