- •Вопросы к экзамену по дисциплине «программируемые цифровые устройства»
- •История появления микросхем программируемых цифровых устройств. Предшественники плис.
- •Микросхемы типа программируемая логическая матрица. Их основные параметры. Упрощенная схема.
- •Микросхемы типа программируемая матричная логика. Их основные параметры.
- •Функциональные разновидности плм и пмл.
- •Базовые матричные кристаллы. Их характеристики. Полузаказные и заказные ис.
- •Понятие эквивалентного вентиля цифровой схемы.
- •Базовая ячейка бмк.
- •Микросхемы типа «система на кристалле» (SoC).
- •Современные плис. Их разновидности, основные применения.
- •Программируемые цифровые устройства – микропроцессоры и плис. Их характерные особенности и отличия.
- •Память конфигурации плис, питание современных плис.
- •Сложные программируемые логические устройства. Обобщенная структура плис типа cpld.
- •Функциональные блоки плис типа cpld.
- •Программируемая матрица соединений плис типа cpld.
- •Матрица распределения термов плис типа cpld.
- •Макроячейка плис типа cpld.
- •Программируемые пользователем вентильные матрицы – плис типа fpga.
- •Функциональный блок плис типа fpga.
- •Блоки ввода-вывода плис типа fpga.
- •Система межсоединений плис типа fpga.
- •Плис с комбинированной архитектурой.
- •Современные направления развития плис.
- •Методы описания поведения цифровых схем. &&&
- •Язык описания схем vhdl, основные понятия.
- •Структура программы. Ход выполнения проекта на языке vhdl.
- •Ключевые слова и пользовательские идентификаторы языка vhdl.
- •Синтаксис объявления объекта на языке vhdl.
- •Состав архитектуры объекта на языке vhdl.
- •Типы данных языка vhdl – предопределенные и определяемые пользователем.
- •Скалярные и составные типы языка vhdl.
- •Скалярные типы языка vhdl. Атрибуты скалярных типов.
- •Физические типы языка vhdl. Атрибуты физических типов.
- •Преобразование скалярных типов языка vhdl.
- •Перечислимые типы языка vhdl.
- •Понятия базового типа и подтипа языка vhdl.
- •Составные типы. Массивы. Размерность массива.
- •Задание начальных значений массиву на языке vhdl. Ассоциирование.
- •Задание начальных значений массиву на языке vhdl. Агрегаты.
- •Атрибуты данных типа массив языка vhdl.
- •Массивы неограниченной длины на языке vhdl.
- •Предопределенные типы массивов языка vhdl. Битовые векторы и строки.
- •Операции над массивами на языке vhdl. Фрагменты массивов.
- •Записи, их описание, присвоение значений на языке vhdl.
- •Указательные типы данных языка vhdl.
- •Основные операторы языка vhdl.
- •Оператор условия языка vhdl. Пустой оператор.
- •Оператор case языка vhdl.
- •Циклы. Оператор Loop языка vhdl.
- •Циклы с условием. Оператор цикла while языка vhdl.
- •Операторы управления сбором информации о ходе моделирования языка vhdl.
- •Принцип событийного моделирования на языке vhdl.
- •Понятия сигнала, источника сигнала, временной диаграммы, порта на языке vhdl.
- •Атрибуты сигналов языка vhdl.
- •Различие между сигналами и переменными языка vhdl.
- •Разрешение неоднозначности установления сигнала на языке vhdl.
- •Процессы, их описание на языке vhdl. Список чувствительности.
- •Виды задержек и их описание на языке vhdl.
- •Оператор ожидания wait языка vhdl.
- •Компоненты. Декларация компонента на языке vhdl.
- •Структурное описание объекта моделирования на языке vhdl.
- •Описание переменных и констант на языке vhdl. Литералы.
- •Библиотеки, их описание на языке vhdl.
- •Пакеты, их описание на языке vhdl.
- •Оператор генерации generate языка vhdl.
- •Задание конфигурации компонентов на языке vhdl. Конфигурационная спецификация и конфигурационная декларация.
- •Задание конфигурации компонентов на языке vhdl. Правила связывания по умолчанию.
- •Описание переменных и констант на языке vhdl.
- •Последовательные операторы языка vhdl.
- •Синхронные и асинхронные процессы и их описание на языке vhdl.
- •Способы описания комбинационной логики на языке vhdl.
- •Описание триггерных схем на языке vhdl.
- •Описание регистровых схем на языке vhdl.
- •Вычисляемые сигналы языка vhdl.
- •История появления микросхем программируемых цифровых устройств. Предшественники плис.
- •Микросхемы типа программируемая логическая матрица. Их основные параметры. Упрощенная схема.
Массивы неограниченной длины на языке vhdl.
Массив – набор элементов одного типа.
Для массивов неограниченной длины не задаётся конкретный диапазон индекса, а только его тип. Описание таких типов имеет следующий синтаксис:
type name is array (name_of_type_of_index range <>) of element_type;
Например:
type sample is array (natural range <>) of integer;
Когда описывается объект такого типа, то необходимо задать конкретное значение интервала для индекса, например:
variable sh_sam: sample (0 to 63);
На базе типа, описанного таким образом, можно определять подтипы, в которых также должно быть задано конкретное значение интервала для индекса.
Если таким типом описывается константа, то это делается на базе агрегатного описания. В таком описании могут быть просто перечислены значения элементов или же могут быть номера элементов, которым присваиваются значения, а в агрегате задаются напрямую.
Например:
constant cc_dam:=(127,63,0,-63);
constant dd_dam:=(1=>23, 3=>4, 2=>100);
Битовые векторы. Для представления битовых векторов язык VHDL имеет встроенный тип – массив неограниченной длины с битовым типом элементов и положительным типом индекса:
type bit_vector is array (positive range <>) of bit;
В VHDL определены типы Signed и Unsigned. Это массивы неограниченной длины, элементы которых имеют тип bit, но для которых определён расширенный набор операций и функций преобразования.
Строки. Для представления строк, VHDL имеет встроенный тип – массив неограниченной длины с символьным типом элементов и положительным типом индекса:
type string is array (positive range <>) of character;
Физические типы неограниченной длины. Пакет стандартной логики std_logic_1164 предлагает следующие типы - массивы неограниченной длины:
type std_ulogic_vector is array (natural range <>) of std_ulogic;
Например:
variable c_t: std_ulogic_vector (0 to 13) :=”ZZZZZ11Z00---”;
Массивы неограниченной длины находят широкое применение при описании входных и выходных сигналов проектируемого устройства.
В качестве элементов массивов могут быть использованы массивы.
Предопределенные типы массивов языка vhdl. Битовые векторы и строки.
Существуют две разновидности типа "массив": ограниченный (constrained) и неограниченный (unconstrained).
Объявление ограниченного типа определяет границы диапазона индексов (число элементов массива) в каждом измерении при определении типа.
Объявление неограниченного типа не определяет границы диапазона индексов.
В языке имеется несколько предопределенных типов "массив". Их объявления выглядят следующим образом:
TYPE STRING IS ARRAY (POSITIVE RANGE <>) OF CHARACTER;
TYPE BIT_VECTOR IS ARRAY (NATURAL RANGE <>) OF BIT;
TYPE STD_LOGIC_VECTOR IS ARRAY (NATURAL RANGE <>) OF STD_LOGIC;
TYPE STD_ULOGIC_VECTOR IS ARRAY (NATURAL RANGE <>) OF STD_ULOGIC;
Объявление объекта типа "неограниченный массив" должно содержать ограничения на индекс. Диапазон изменения индексов может быть ограничен с использованием ключевых слов TO или DOWNTO:
TYPE data_memory_type IS ARRAY (INTEGER RANGE <>) OF BIT;
VARIABLE data_ memory : data_memory_type (0 TO 255);
Строки, битовые векторы используются для конструирования значений для объектов массивных типов. Они могут использоваться в любом месте, где допускается значение типа массив.
Не надо путать символ ('A') со строкой, представляющей массив длиной 1 ("A"). VHDL позволяет компактно описывать битовые строки (значение типа bit vector) в базисе 2,8 и 16.
constant clear:bit_vector :=B"00_101_010";
constant empty:bit_vector :=O"052";
constant null:bit_vector :=X"2A";
Все три константы имеют одно и то же значение. Символы подчеркивания могут использоваться в любом месте в битовой строке для облегчения чтения.
