- •Вопрос 1 - Основные свойства цифровых устройств (цу) обработки сигнала. Элементная база цу. Классификация цу.
- •Вопрос 2 - Функциональный преобразователь (фп) на программируемой логической матрице (плм). Структурная схема и работа фп. Реализация контерма и переключательной функции на плм.
- •Вопрос 3 - Функциональный преобразователь (фп) на программируемой матрице логики (пмл). Структурная схема и работа фп. Реализация системы уравнений в нормальной дизъюнктивной форме (ндф) на пмл.
- •Вопрос 4 - Функциональный преобразователь (фп) табличный lut. Структурная схема и работа фп. Реализация переключательных функций на пзу.
- •Вопрос 5 - Функциональный преобразователь (фп) на мультиплексоре. Структурная схема и работа фп фирмы Actel. Реализация переключательных функций на мультиплексоре.
- •Вопрос 6 - Функциональный преобразователь (фп) на программируемом логическом устройстве (плу). Структурная схема и работа плу. Реализация секции цифрового автомата на плу.
- •Вопрос 7 - Семейство плис max 7000. Общая характеристика семейства. Структурная схема плис max 7000. Назначение элементов структурной схемы.
- •Вопрос 8 - Структурная схема макроячейки плис max 7000. Основные характеристики ячейки. Назначение логического и параллельного расширителей.
- •Вопрос 9 - Семейство flex10k. Общая характеристика семейства. Структурная схема плис семейства flex10k. Назначение элементов структурной схемы.
- •Вопрос 10 - Структурная схема логического блока и логического элемента плис семейства flex10k. Назначение элементов структурной схемы.
- •Вопрос 12 - Организация процесса обработки информации. Основные характеристики последовательного и потокового (конвейерного) стилей обработки.
- •Вопрос 13 - Трехстабильный порт. Назначение, область применения. Использование примитивы tri для проектирования трехстабильного порта.
- •Вопрос 14 - Двунаправленный порт. Назначение, область применения. Использование мегафункции lpm_bustri для проектирования двунаправленного порта.
- •Вопрос 15 - Реализация звена нерекурсивного фильтра типа tdf II с использованием мегафункции lpm_mult. Организация конвейерной обработки.
- •Вопрос 16 - Реализация звена рекурсивного фильтра типа tdf II с использованием мегафункции lpm_mult. Организация конвейерной обработки.
- •Вопрос 19 - Разработка иерархических проектов. Способы подключения к проекту модулей нижнего уровня. Способы использования модулей.
- •Вопрос 20 - Программирование и конфигурирование плис. Способы программирования и конфигурирования (конфигурационная микросхема, пассивная последовательная (ps) и jtag).
- •Вопрос 21 - Языки описания аппаратуры. Язык ahdl. Структура проекта текстового описания модуля. Алфавит языка. Строчные и блочные комментарии (назначение, синтаксис, применение).
- •Вопрос 22 - Имена (символические, модуля, вывода) в языке ahdl. Назначение, синтаксис, применение.
- •Вопрос 23 - Константы (литеральные, именованные, параметры) в языке ahdl. Назначение, синтаксис, применение.
- •Порты модуля
- •Порты модулей нижнего уровня
- •Вопрос 25 - Арифметические, логические операторы и операторы сравнения языка ahdl. Назначение, синтаксис, область применения в текстовом проекте.
- •Вопрос 26 - Логические выражения и уравнения языка ahdl. Логические уравнения управления. Назначение, синтаксис, применение.
- •Вопрос 27 - Условный оператор If Then. Назначение, синтаксис и применение оператора.
- •Вопрос 28 - Условный оператор If Generate. Назначение, синтаксис и применение оператора.
- •Вопрос 29 - Оператор выбора Case. Назначение, синтаксис и применение оператора.
- •Вопрос 30 - Таблица истинности Truth Table. Назначение, синтаксис и применение оператора.
- •Вопрос 31 - Оператор цикла For Generate. Назначение, синтаксис и применение оператора.
- •Вопрос 32 - Оператор объявления значения по умолчанию Defaults. Назначение, синтаксис и применение оператора.
- •Вопрос 33 - Оператор контроля Assert. Назначение, синтаксис и применение оператора.
- •Вопрос 34 - Операторы заголовка Title и задания опции Options. Назначение, синтаксис и применение операторов.
- •Вопрос 36 - Оператор задания константы Constant. Назначение, синтаксис и применение оператора.
- •Вопрос 37 - Оператор обозначения Define. Назначение, синтаксис и применение оператора.
- •Вопрос 38 - Оператор объявления параметра Parameters. Назначение, синтаксис и применение оператора.
- •Вопрос 39 - Оператор описания прототипа Function Prototype. Назначение и синтаксис оператора.
- •Вопрос 40 - Оператор непосредственного обращения к прототипу In-Line Logic Function Reference. Назначение, синтаксис и применение оператора. Позиционное и именное присвоение.
Вопрос 36 - Оператор задания константы Constant. Назначение, синтаксис и применение оператора.
Оператор Constant позволяет ввести в применение информативное символическое имя для числа или арифметического выражения. Следующие примеры демонстрируют использование оператора Constant:
CONSTANT UPPER_LIMIT = 130;
CONSTANT BAR = 1 + 2 DIV 3 + LOG2(256);
CONSTANT FOO = 1;
CONSTANT FOO_PLUS_ONE = FOO + 1;
--Применение констант не требует дополнительных ресурсов ПЛИС.
--Оператор CONSTANT может использоваться неограниченное число раз.
--Значение константы не должно превышать H”FFFFFFFF” (32 разряда)
Оператор Constant имеет следующие характеристики:
Оператор Constant начинается с ключевого слова CONSTANT, за которым следует символическое имя, затем символ (=) и далее число (при необходимости, включая его основание) или арифметическое выражение.
Оператор Constant заканчивается символом (;).
После того, как константа была определена, она может быть использована в пределах всего текстового файла проекта (TDF). В примере, приведенном выше, в разделе Logic можно использовать константу UPPER_LIMIT для представления десятичного числа 130.
Константы могут быть определены посредством арифметических выражений. В эти арифметические выражения могут входить константы определенные ранее.
Компилятор вычисляет арифметические выражения, используемые в операторе Constant и упрощает их до числовых значений. При этом не производится генерация логических схем.
При использовании оператора Constant необходимо соблюдать следующие правила:
Константа может быть использована лишь после того, как она определена.
Имена констант должны быть уникальными.
Имя константы не должно содержать пробелов. Для разделения слов в имени константы и улучшения восприятия имен констант следует пользоваться символом подчеркивания.
Оператор Constant может использоваться произвольное количество раз в рамках одного текстового файла проекта.
Oператор Constant должен быть расположен за пределами других разделов языка AHDL.
Константы, используемые для определения других констант, должны быть определены ранее.
Использование циклических ссылок недопустимо. Следующий пример демонстрирует использование недопустимой циклической ссылки:
CONSTANT FOO = BAR;
CONSTANT BAR = FOO;
Вопрос 37 - Оператор обозначения Define. Назначение, синтаксис и применение оператора.
Оператор Define позволяет определить оценочную функцию (evaluated function), представляющую собой математическую функцию, возращающую значение, вычисленное на основе необязательных входных аргументов.
В следующем примере описывается оценочная функция MAX, предопределяющая существование по меньшей мере одного порта в разделе Subdesign:
DEFINE MAX(a,b) = (a > b) ? a : b;
SUBDESIGN
(
dataa[MAX(WIDTH,0)..0]: INPUT;
datab[MAX(WIDTH,0)..0]: OUTPUT;
)
BEGIN
datab[] = dataa[];
END;
Оператор Define имеет следующие характеристики:
Оператор Define начинается с ключевого слова DEFINE, за которым следует символическое имя и список из одного или более аргументов, заключенных в круглые скобки.
Аргументы отделяются друг от друга запятыми. Символ (=) отделяет список аргументов от арифметического выражения
При отсутствии аргументов оценочная функция эквивалентна константе.
Компилятор производит вычисления арифметических выражений приведенных в операторе Define и упрощает их до числовых значений. Генерации логических схем при этом не производится.
Оператор заканчивается символом (;).
Один раз определенная оценочная функция может использоваться затем в пределах всего текстового файла проекта (TDF).
Для определения оценочных функций могут использоваться ранее определенные оценочные функции. Например, приведенная ниже оценочная функция MIN_ARRAY_BOUND вычисляется на основе значения оценочной функции MAX:
DEFINE MAX(a,b) = (a > b) ? a : b;
DEFINE MIN_ARRAY_BOUND(x) = MAX(0, x) + 1;
При использовании оператора Define необходимо соблюдать следующие правила:
Оценочная функция может быть использована только после того как она была определена.
Имена оценочных функций должны быть уникальными.
Имена оценочных функций не должны содержать пробелов. Для разделения слов в имени оценочной функции и улучшения ее восприятия следует пользоваться символом подчеркивания.
Оператор Define может использоваться произвольное количество раз в рамках одного текстового файла проекта.
Oператор Define должен быть расположен за пределами других разделов языка AHDL.