Учебник по языку ahdl оглавление Введение 2 Элементы языка ahdl 3 Структура описания проекта на языке ahdl 25
Скачать 0.61 Mb.
|
1.13.ПортыПорт - это вход или выход логической функции. Порт может находится в двух местах:
Порты текущего файла Порт, который является входом или выходом текущего файла объявляется в следующем формате в разделе Subdesign: <имя порта>: <тип порта> [ = <значение по умолчанию> ] 1.13.1.Типы портов:Доступны следующие типы портов: INPUT MACHINE INPUT OUTPUT MACHINE OUTPUT BIDIR Когда текстовой файл проекта является старшим в иерархии, имя порта синонимично с именем вывода. Дополнительное значение порта по умолчанию, которое может быть или VCC или GND, можно определить для типов портов INPUT и BIDIR. Это значение используется только если слева порт не подсоединен, когда экземпляр TDF применяется в файле разработки более высокого уровня. Например: SUBDESIGN top ( foo, bar, clk1, clk2, c[4..0][6..0] : INPUT = VCC; a0, a1, a2, a3, a4 : OUTPUT; b[7..0] : BIDIR; ) Вы можете импортировать и экспортировать конечные автоматы между TDF и другими файлами разработки, описывая входы и выходы как MACHINE INPUT или MACHINE OUTPUT в разделе Subdesign. Прототип функции, который представляет файл, должен указывать, какие порты принадлежат конечному автомату. MACHINE INPUT и MACHINE OUTPUT можно использовать только в файлах более низкого уровня в иерархии проекта. 1.13.2.Порты экземпляровПорт, который является входом или выходом экземпляра логической функции присоединяется в разделе Logic. Для соединения логической функции с другими частями TDF, Вы вставляете экземпляр функции с помощью подставляемой ссылки, объявления Instance или конечного автомата с помощью State Machine и затем используете порты функции в разделе Logic. Если Вы используете подставляемую ссылку с присваиванием по положению порта для создания экземпляра логической функции, важен порядок портов, а не имена. Порядок портов определяется в прототипе функции. Если Вы используете объявление Instance или подставляемую ссылку со связью по имени для создания экземпляра логической функции, важны имена портов, а не их порядок. В следующем примере D триггер объявляется как переменная reg в разделе Variable, а затем используется в разделе Logic: VARIABLE reg : DFF; BEGIN reg.clk = clk reg.d = d out = reg.q END; Имена портов используются в следующем формате в разделе Logic: <имя экземпляра>.<имя порта> <имя экземпляра> - это имя функции, данное пользователем. <имя порта> идентично с именем порта, который объявляется как вход или выход файла в разделе Subdesign TDF файла более низкого уровня или имя вывода в файле разработки другого типа. <имя порта> синонимично с именем порта символа (pinstub), который представляет экземпляр файла разработки в GDF. Все функции, поставляемые Altera, имеют предопределенные имена портов (pinstub), которые показываются в прототипе функции. Наиболее используемые имена портов примитивов показаны в следующей таблице: Имя порта Описание .q Выход триггера или защелки .d Вход данных триггера или защелки .t Вход T триггера .j J вход JK триггера .k K вход JK триггера .s Вход установки SR триггера .r Вход очистки SR триггера .clk Тактовый вход триггера .ena Вход разрешения тактирования триггера, разрешения фиксации защелки разрешения конечного автомата .prn Активный низкий вход предустановки триггера .clrn Активный низкий вход очистки триггера .reset Активный высокий вход сброса конечного автомата .oe Вход разрешения выхода TRI примитива .in Первичный вход CARRY, CASCADE, EXP, TRI, OPNDRN, SOFT, GLOBAL, и LCELL примитивов .out Выход TRI, OPNDRN, SOFT, GLOBAL, и LCELL примитивов Структура описания проекта на языке AHDL1.14.Общая структураТекстовый файл проекта на языке AHDL должен содержать, как минимум, два раздела: Subdesign и Logic. Все остальные разделы и операторы являются необязательными. В предлагаемом к ознакомлению разделе ‘Структура проекта’ информация об операторах и разделах языка AHDL дается в том порядке, в котором они следуют в текстовом файле проекта (TDF - Text Design File). Разделы и операторы языка AHDL описываются в том порядке, в котором они следуют в текстовом файле проекта (TDF - Text Design File).
|