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

2.8 Перегрузка имени оператора

Вы можете использовать возможность перегрузки имени оператора с целью придания группе действий какого-либо смыслового имени.

Впримереboole3.tdfспроектировано устройство аналогичное устройству из примера 2.6 (boole1.tdf), но в этом примере используется перегрузка имени оператора. Новое имя оператора может содержать до 32 символов и отделяется от старого оператора двоеточием (:).

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

  • Логические операторы

  • Имена в AHDL, использование кавычек

2.9 Использование циклически генерируемой логики

Когда вы хотите использовать множество раз одинаковые логические блоки, то вам может пригодиться структура FOR…GENERATE, позволяющая выполнять один и тот же блок заданное число раз. В примере 2.40 показан пример использования выражения FOR…GENERATE.

В данном примере с помощью структуры FOR…GENERATE построен 8-битный сумматор.

2.10 Использование условно генерируемой логики

Вы можете генерировать те или иные логические выражения в зависимости от выполнения тех или иных условий при помощи выраженияIF…GENERATE.

Впримере 2.41 показан пример использования данного выражения. В зависимости от используемой серии переменнойoutput_bбудут присваиваться различные значения:

Выражение IF…GENERATEнаиболее часто используется вместе со структурой FOR…GENERATE с целью перехвата и обработки каких-либо ключевых ситуаций.

MAX+PLUS IIсодержит предопределенную константуDEVICE_FAMILY, позволяющую определят серию микросхем, выбранную с помощью командыDevice(менюAssign).

3. Элементыahdl

Этот раздел посвящен структуре файла проекта на языке AHDL (TDF – Text Design File).

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

  • Зарезервированные слова и идентификаторы

  • Символы

  • Использование кавычек

  • Группы

  • Числа в AHDL

  • Арифметические выражения

  • Логические выражения

  • Примитивы

  • Мегафункции

  • Макрофункции

  • Порты

  • Параметры

3.1 Ключевые слова и идентификаторы

Ключевые слова (Зарезервированные слова) используются для указания начала, конца структур языка, а также используются для указания заранее определенных констант, таких как GND, VCCи т.д.

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

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

3.1.1 Ключевые слова

Ниже приведен перечень ключевых слов AHDL:

AND FUNCTION OUTPUT

ASSERT GENERATE PARAMETERS

BEGIN GND REPORT

BIDIR HELP_ID RETURNS

BITS IF SEGMENTS

BURIED INCLUDE SEVERITY

CASE INPUT STATES

CLIQUE IS SUBDESIGN

CONNECTED_PINS LOG2 TABLE

CONSTANT MACHINE THEN

DEFAULTS MOD TITLE

DEFINE NAND TO

DESIGN NODE TRI_STATE_NODE

DEVICE NOR VARIABLE

DIV NOT VCC

ELSE OF WHEN

ELSIF OPTIONS WITH

END OR XNOR

FOR OTHERS XOR

3.1.2 Зарезервированные идентификаторы

Ниже приведен перечень зарезервированных идентификаторов AHDL:

CARRY JKFFE SRFFE CASCADE JKFF

SRFF CEIL LATCH TFFE DFFE

LCELL TFF DFF MCELL TRI

EXP MEMORY USED FLOOR OPENDRN

WIRE GLOBAL SOFT X

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