- •Вопросы к экзамену по дисциплине «программируемые цифровые устройства»
- •История появления микросхем программируемых цифровых устройств. Предшественники плис.
- •Микросхемы типа программируемая логическая матрица. Их основные параметры. Упрощенная схема.
- •Микросхемы типа программируемая матричная логика. Их основные параметры.
- •Функциональные разновидности плм и пмл.
- •Базовые матричные кристаллы. Их характеристики. Полузаказные и заказные ис.
- •Понятие эквивалентного вентиля цифровой схемы.
- •Базовая ячейка бмк.
- •Микросхемы типа «система на кристалле» (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.
- •История появления микросхем программируемых цифровых устройств. Предшественники плис.
- •Микросхемы типа программируемая логическая матрица. Их основные параметры. Упрощенная схема.
Оператор ожидания wait языка vhdl.
Оператор wait применяется для приостановки процесса на определенный период времени или до момента определенного события.
Оператор wait может содержать любую комбинацию из трех дополнительных операторов: on, until, for. Указанный оператор приостанавливает процесс до момента, пока не изменится некоторый сигнал в списке чувствительности, расположенном после on. В это время будет произведено вычисление условия, расположенного после until. Условие-выражение типа boolean. Если получается истинное значение, то выполнение процесса возобновляется. Таймаут, следующий после for, устанавливает интервал времени, через который процесс возобновится. Оператор wait может применяться как со всеми тремя дополнительными условиями, так и с любыми их сочетаниями. При этом условия, проверяемые с помощью on, until, for проверяются последовательно.
Например:
WAIT on X, Y until (Z=0) for 100ns;
WAIT on X, Y until (Z=0);
WAIT on X, Y;
WAIT for 100ns;
Компоненты. Декларация компонента на языке vhdl.
Структурное описание позволяет описать систему как совокупность компонентов — подсистем, объединенных сигналами. Каждая подсистема, в свою очередь, может быть представлена совокупностью подсистем, и так далее, пока на каком-то уровне не будет задано поведенческое описание архитектуры компонента, или не будет использован предопределенный компонент. Структурное описание объекта моделирования, которое имеет два уровня иерархии: объект моделирования, находящийся на верхнем уровне иерархии, включает в себя 3 компонента. Каждый компонент, используемый в структурном описании, должен быть сам описан как объект моделирования (entity). Каждое такое описание может быть размещено в отдельном файле или библиотеке.
Декларация компонента
Для того чтобы один объект моделирования мог быть включен в состав другого объекта, его необходимо декларировать как компонент.
Декларация компонента должна полностью совпадать с декларацией соответствующего ему объекта моделирования, но ключевое слово entity заменяется ключевым словом component.
Декларация компонента имеет следующий синтаксис:
Component имя компонента is [generic (generic_interface_list);]
[port (port_interface_list);]
end component [имя компонента];
Имя компонента является типом компонента. В структурном описании архитектурного тела могут быть несколько компонентов, к которым применима эта декларация.
Декларация компонентов может размещаться в декларативной части объектов моделирования и может быть расположена и в тех файлах, в которых описаны объекты моделирования, используемые в качестве компонентов.
Структурное описание объекта моделирования на языке vhdl.
Структурное описание позволяет описать систему как совокупность компонентов — подсистем, объединенных сигналами. Подсистемы также являются объектами моделирования и находятся на более низком уровне иерархии. Каждая подсистема, в свою очередь, может быть представлена совокупностью подсистем, и так далее, пока на каком-то уровне не будет задано поведенческое описание архитектуры компонента, или не будет использован предопределенный компонент.
Объект моделирования, находящийся на верхнем уровне иерархии, включает в себя 3 компонента.
Каждый компонент, используемый в структурном описании, должен быть сам описан как объект моделирования (entity). Каждое такое описание может быть размещено в отдельном файле или библиотеке.
Декларация компонента
Для того чтобы один объект моделирования мог быть включен в состав другого объекта, его необходимо декларировать как компонент.
Декларация компонента должна полностью совпадать с декларацией соответствующего ему объекта моделирования, но ключевое слово entity заменяется ключевым словом component.
Декларация компонента имеет следующий синтаксис:
Component имя компонента is [generic (generic_interface_list);]
[port (port_interface_list);]
end component [имя компонента];
Имя компонента является типом компонента. В структурном описании архитектурного тела могут быть несколько компонентов, к которым применима эта декларация.
Декларация компонентов может размещаться в декларативной части объектов моделирования и может быть расположена и в тех файлах, в которых описаны объекты моделирования, используемые в качестве компонентов.
Включение компонента в модель объекта. Структурное описание объекта моделирования, находящегося на верхнем уровне иерархии, состоит из назначений компонентов. В рамках этих назначений определяются фактические значения обобщающих констант и связи с другими объектами.
Задав декларацию компонентов, мы описываем спецификацию проектируемого объекта, определив, какого типа компоненты в него входят. С помощью конструкции instantiation — оператора назначения компонента, мы устанавливаем компоненты в проектируемый объект и связываем их в некоторую структуру.
Оператор назначения компонента имеет следующий синтаксис:
instantiation__label:
[component] component_name
[generic map (generic_association_list);]
[port map (port_association_list)];
Операторы назначения компонентов являются параллельно выполняемыми.
Имя компонента component_name — это имя типа компонента. Ключевое слово component в операторе назначения компонента не является обязательным.
Секция связей портов компонента port map специфицирует связи данного компонента с сигналами объекта и портами других компонентов. Port_associacion_list содержит список фактических сигналов, связанных с портами компонента.
Каждый элемент в списке (сигнал) ассоциируется с портом объекта моделирования, описанного на один уровень выше, или с его внутренним сигналом, или является независимым, что помечается ключевым словом open.
Список Generic_association_list содержит фактические значения обобщающих констант.
Оператор генерации (generate).
Оператор генерации generate позволяет компактно описать модель. Оператор генерации имеет следующий синтаксис:
Group_label: for index in range generate
Element_label: component_name [generic map (generic_accosiation_list)]
[port map (port_accosiacion_list)]
end generate [Group__label];
Допускается вложенность операторов генерации.
