
- •Вопрос 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. Назначение, синтаксис и применение оператора. Позиционное и именное присвоение.
Вопрос 26 - Логические выражения и уравнения языка ahdl. Логические уравнения управления. Назначение, синтаксис, применение.
Логические выражения состоят из операндов, разделенных логическими и арифметическими операторами и компараторами и дополнительно сгруппированы с помощью круглых скобок. Выражения используются в булевых уравнениях также как и в других операторах таких как Case и If Then.
Логическое выражение может быть одним из следующих:
Операнд
Например, a, b[5..1], 7, VCC
Подставляемая ссылка на логическую функцию
Например, out[15..0] = 16dmux(q[3..0]);
Префиксный оператор (! или -), применяемый к логическому выражению
Например, !c
Два логических выражения, разделенных бинарным оператором
Например, d1 $ d3
Логическое выражение, заключенное в круглые скобки
Например, (!foo & bar)
Логические уравнения:
Логические уравнения используются в Логической секции для поведенческого и структурного описания функционирования модуля.
a[ ] = ((c[ ] & -B"001101") + e[6..1]) # (p, q, r, s, t, v) & !B"001101" ;
Синтаксис:
< логическое уравнение > ::= <lgroup> = <rgroup>;
Примеры выполнения операций с группами:
(a, b) = (c, d); ::= a = c; b = d;
a[4..1] = b[2..1]; ::= a4 = b2; a3 = b1; a2 = b2; a1 = b1;
(a, b) = e; ::= a = e; b = e;
(a, b) = 1; ::= a = 0; b = 1;
(a, b, c, d) = B"1011"; ::= a = 1; b = 0; c = 1; d = 1;
(a, , c, ) = B"1011"; ::= a = 1; c = 1;
(cout, sum[7..0]) = (a[7], a[7..0]) + (b[7], b[7..0]);
Логические уравнения управления:
Логические уравнения используются в Логической секции для представления соединения управляющих входов проектируемого модуля (clock, set, reset, ce и т.д.) с соответствующими входами и выходами модулей верхнего уровня:
Примеры:
tr[ ].clk = clock;
tr[ ].clrn = !reset;
tr[ ].prn = !set;
tr[ ].ena =a & !b # c;
или
tr[ ].(clk, ena, prn, clrn) = (clock, a & !b # c, !set, !reset);
Вопрос 27 - Условный оператор If Then. Назначение, синтаксис и применение оператора.
Оператор If Then содержит список операторов, выполняемых в том случае, если булевское выражение, расположенное между ключевыми словами IF и THEN, принимает истинное значение .
Следующий пример демонстрирует использование оператора If Then:
IF a[] == b[] THEN
c[8..1] = H "77";
addr[3..1] = f[3..1].q;
f[].d = addr[] + 1;
ELSIF g3 $ g4 THEN
f[].d = addr[];
ELSE
d = VCC;
END IF;
Оператор If Then имеет следующие характеристики:
Между ключевыми словами IF и THEN располагается булевское выражение, в зависимости от значения которого выполняется или не выполняется список операторов, располагающийся за ключевым словом THEN. Каждый оператор в этом списке оканчивается символом (;).
Между ключевыми словами ELSEIF и THEN располагается дополнительное булевское выражение а за ключевым словом THEN также располагается список операторов, выполняемых в зависимости от значения булевского выражения. Эти необязательные ключевые слова и операторы могут повторяться многократно.
Оператор(ы), следующий за ключевым словом THEN, активизируется в том случае, если соответствующее ему булевское выражение принимает истинное значение. При этом последующие конструкции ELSEIF THEN игнорируются.
Ключевое слово ELSE, за которым следует один или более операторов, схоже по своему значению с ключевыми словами WHEN OTHERS в операторе Case. Если ни одно из булевских выражений не приняло истинное значение, то выполняются операторы, следующие за ключевым словом ELSE. В примере, показанном выше, если ни одно из булевских выражений не приняло истинного значения, то выполняется оператор d = VCC. Использование ключевого слова ELSE не является обязательным.
Значения булевских выражений, следующих за ключевыми словами IF и ELSEIF оцениваются последовательно.
Оператор If Then заканчивается ключевыми словами END IF за которыми следует символ (;).