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

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

В языке есть три типа имен:

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

  • Внутренних и внешних узлов и групп

  • Констант

  • Графов переходов

  • Параметров

  • Перегруженных операторов

  • Сегментов памяти

  • Имена устройств проекта. Имя устройства должно совпадать с именем .tdfфайла.

  • Имена портов – символьные имена, идентифицирующие входы и выходы логических функций.

Возможны два вида записи символьных имен: обычна (без кавычек) и заключенная в одинарные кавычки (‘). Если вы создаете символьный файл с целью последующего использования его в текстовом редакторе, то кавычки, встречающиеся в именах портов, в символьный файл не включаются.

В таблице 3.2 приведены характеристики имен устройств, имен портов ввода/вывода и имен переменных.

Таблица 3.2 Характеристики имен устройств, портов ввода/вывода и переменных

Допустимые символы

Имя устройства

Имя устройства

Имя переменной

Имя переменной'

Имя порта

Имя порта

A–Z

a–z

0-9

Подчерки-вание (_)

Слеш (/)

Тире (-)

Только цифры(0-9)

Ключевое слово

Идентифи-катор

Макс. Число символов

32

32

32

32

32

32

Пример синтаксически правильных символьных имен:

A /a1 ‘-bar’ ‘table’ ‘1221’

Пример синтаксически неправильных символьных имен:

-foo node 55 ‘bowling4$’ ‘a_name_more_then_32_charecters’ ‘has a space’

3.4 Группы

Имена переменных одного типа могут быть объявлены и использованы в выражениях как группы.

Группы, содержащие до 256 членов (ли бит), рассматриваются как набор узлов, операции над которыми производятся как над одним целым.

3.4.1 Способы объявления и записи групп

В AHDLгруппы могут быть объявлены и записаны следующими 3-мя способами:

  1. Имя линейной группы (вектора) состоит из символьного имени группы, за которым следует ее длина в квадратных скобках, например a[4..1].

После того как группа была объявлена, ее размерность в выражениях можно не указывать, так, например, следующие две записи полностью эквивалентны друг другу a[4..1]иa[].

Одно число может быть использовано для указания размерности группы, например a[5]. Однако, такое описание указывает не на группу, а на единственную переменную с именемa5.

  1. Имя группы, представляющей собой матрицу, состоит из собственно имени и размеров группы (матрицы), заключенных в квадратные скобки, например d[6..0][2..0]. При описании группы следует помнить, что имя группы вместе с описанием ее размеров не должно превышать 32 символов.

Матрицы наиболее часто используются при реализации шин в проектах с двумерной топологией. После того как группа была объявлена, ее размерность в выражениях можно не указывать, так, например, следующие две записи полностью эквивалентны друг другу d[6..0][2..0] иd[][].

Отдельный узел name[x][y], принадлежащий группе, в выражении может быть указан какnamex_y, гдеx и y координаты узла в матрице.

  1. Существует еще один способ задания группы – указать полный перечень её элементов через запятую и заключит его в круглые скобки. Например: (a, b, c[5..1]).

Ниже будут приведены различные способы задания и использования групп:

b[5..0]

(b5, b4, b3, b2, b1, b0)

b[]

b[log2(256)..1+2-1]

b[2^8..3 mod 1]

b[2*8..8 div 2]

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