Главная страница
Навигация по странице:

  • Раздел Subdesign Раздел Variable Раздел Logic

  • Учебник по языку ahdl оглавление Введение 2 Элементы языка ahdl 3 Структура описания проекта на языке ahdl 25


    Скачать 0.61 Mb.
    НазваниеУчебник по языку ahdl оглавление Введение 2 Элементы языка ahdl 3 Структура описания проекта на языке ahdl 25
    Дата28.04.2019
    Размер0.61 Mb.
    Формат файлаdoc
    Имя файлаahdl.doc
    ТипУчебник
    #75494
    страница7 из 18
    1   2   3   4   5   6   7   8   9   10   ...   18

    1.13.Порты


    Порт - это вход или выход логической функции. Порт может находится в двух местах:

    • Порт, который является входом или выходом текущего файла, объявляется в разделе Subdesign.

    • Порт, который является входом или выходом экземпляра примитива или файла разработки более низкого уровня, используется в разделе Logic.

    Порты текущего файла

    Порт, который является входом или выходом текущего файла объявляется в следующем формате в разделе 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 примитивов

    Структура описания проекта на языке AHDL

    1.14.Общая структура


    Текстовый файл проекта на языке AHDL должен содержать, как минимум, два раздела: Subdesign и Logic. Все остальные разделы и операторы являются необязательными. В предлагаемом к ознакомлению разделе ‘Структура проекта’ информация об операторах и разделах языка AHDL дается в том порядке, в котором они следуют в текстовом файле проекта (TDF - Text Design File).

    Разделы и операторы языка AHDL описываются в том порядке, в котором они следуют в текстовом файле проекта (TDF - Text Design File).

    1. Оператор Title

    2. Оператор Parameters

    3. Оператор Include

    4. Оператор Constant

    5. Оператор Define

    6. Оператор Function Prototype

    7. Оператор Options

    8. Оператор Assert

    9. Раздел Subdesign

    10. Раздел Variable



    11. Раздел Logic


    1   2   3   4   5   6   7   8   9   10   ...   18


    написать администратору сайта