«Работать добросовестно — значит: работать, повышая свою квалификацию, проявляя инициативу в совершенствовании продукции, технологий, организации работ, оказывая не предусмотренную должностными инструкциями помощь другим сотрудникам (включая и руководителей) в общей им всем работе.

ПЦУСБ/Экзамен — различия между версиями

Материал из Wiki
Перейти к: навигация, поиск
м (Экзаменационные вопросы (в разработке))
м (Критерии допуска к экзамену)
 
(не показаны 8 промежуточных версий 1 участника)
Строка 4: Строка 4:
  
 
К экзамену допускаются студенты защитившие все лабораторные работы и прошедшие успешно все тесты.
 
К экзамену допускаются студенты защитившие все лабораторные работы и прошедшие успешно все тесты.
 +
 +
 +
{| align=center cellspacing="0" cellpadding="5" border="1"
 +
|+ Расписание экзаменов
 +
! Группа || Консультация (а. 304-1) || Экзамен (а. 304-1)
 +
|-
 +
! 013201 || 14:00 23.12, Пн || 8:00 24.12, Вт
 +
|-
 +
! 013202 || 14:00 27.12, Пт || 8:00 28.12, Сб
 +
|-
 +
! colspan=3 | Дополнительные занятие для защиты ЛР
 +
|-
 +
! 013201-2 || colspan=2 | 17:00-18:00 26.12, Чт.
 +
<!-- |-
 +
! 013201-2 || colspan=2 | 14:00-15:00 27.12, Пт
 +
-->
 +
|}
 +
 +
 +
{{Info|<blockquote>
 +
Для получения проходной оценки необходимо выполнить все лабораторные работы и за приемлемое время (~30 мин), используя Emacs и ModelSim, написать VHDL-модель логического элемента, тесбенч для проверки таблицы истинности элемента, и провести моделирование в ModelSim.
 +
</blockquote>
 +
}}
  
 
== Допуск к экзамену ==
 
== Допуск к экзамену ==
Строка 47: Строка 70:
  
 
== Экзаменационные вопросы (в разработке) ==
 
== Экзаменационные вопросы (в разработке) ==
 
+
[[Файл:Диплом.png|right]]
 
=== Теоретические вопросы ===
 
=== Теоретические вопросы ===
  
Строка 57: Строка 80:
 
# Лексические элементы языка VHDL: разделители, комментарии, идентификаторы. Примеры.
 
# Лексические элементы языка VHDL: разделители, комментарии, идентификаторы. Примеры.
 
# Ключевые слова языка VHDL. Литералы. Классификация типов. Примеры.
 
# Ключевые слова языка VHDL. Литералы. Классификация типов. Примеры.
 +
# Операции в выражениях языка VHDL
 
# Константы. Сигналы. Переменные. Декларации констант, сигналов, переменных. Примеры.
 
# Константы. Сигналы. Переменные. Декларации констант, сигналов, переменных. Примеры.
 
# Логические, арифметические, символьные типы и подтипы языка VHDL. Примеры.
 
# Логические, арифметические, символьные типы и подтипы языка VHDL. Примеры.
# Тип std_logic. Пакет std_logic_1164.
+
# Тип std_logic. Пакет std_logic_1164. Назначение функций пакета.
 
# Типы signed и unsigned пакета numeric_std. Назначение функций пакета.
 
# Типы signed и unsigned пакета numeric_std. Назначение функций пакета.
 
# Инерционная и транспортная задержка, дельта-задержка. Примеры.
 
# Инерционная и транспортная задержка, дельта-задержка. Примеры.
Строка 70: Строка 94:
 
# Параллельные  операторы: process (процесс); оператор параллельного сообщения; оператор параллельного вызова процедуры. Примеры.
 
# Параллельные  операторы: process (процесс); оператор параллельного сообщения; оператор параллельного вызова процедуры. Примеры.
 
# Атрибуты сигналов различных типов. Примеры.
 
# Атрибуты сигналов различных типов. Примеры.
# Параллельные операторы: оператор условного назначения сигнала;  оператор select выборочного назначения сигнала;  оператор создания экземпляра компонента. Примеры.
+
# Параллельные операторы: оператор условного назначения сигнала;  оператор select выборочного назначения сигнала;  оператор создания экземпляра компонента (port map). Примеры.
 
# Оператор generate (генерации). Примеры.
 
# Оператор generate (генерации). Примеры.
# Оператор параллельного сообщения, параллельного вызова процедуры. Пример.
+
<!-- # Оператор параллельного сообщения, параллельного вызова процедуры. Пример.-->
 
# Общий вид оператора декларации функции. Примеры функций преобразования типов.  Преобразование десятичного числа (integer) в двоичное представление числа (std_logic_vector).  
 
# Общий вид оператора декларации функции. Примеры функций преобразования типов.  Преобразование десятичного числа (integer) в двоичное представление числа (std_logic_vector).  
 
<!-- # Назначение конфигураций. Оператор конфигурации.-->
 
<!-- # Назначение конфигураций. Оператор конфигурации.-->
# Задание функционирования комбинационных  схем с помощью таблиц истинности и логических выражений. Описание систем ДНФ, описание ПЛМ. Примеры.
 
# VHDL модели ПЗУ, дешифраторов, мультиплексоров, сумматоров.
 
# VHDL модели D-триггера, RS-триггера.
 
 
# Видимость сигналов, компонент, переменных. <!-- Разделяемые переменные.--> Примеры.
 
# Видимость сигналов, компонент, переменных. <!-- Разделяемые переменные.--> Примеры.
 
# Пакет, тело пакета. Что  можно декларировать в пакетах?
 
# Пакет, тело пакета. Что  можно декларировать в пакетах?
# Использование пакетов STANDARD, NUMERIC_STD, TEXTIO в системах моделирования.  
+
# Работа с файлами в VHDL. Пакеты TEXTIO, STD_LOGIC_TEXTIO. Назначение функций пакетов.
 
# Описание монтажной логики с помощью разрешающей функции. Пример.
 
# Описание монтажной логики с помощью разрешающей функции. Пример.
# Иерархическое описание сумматоров с последовательным переносом. Пример.
 
# Функциональное описание конечного автомата на языке VHDL. Пример.
 
 
<!-- # Высокоуровневый и логический синтез. Компилятивный подход к высокоуровневому синтезу. Генерируемые модули.-->
 
<!-- # Высокоуровневый и логический синтез. Компилятивный подход к высокоуровневому синтезу. Генерируемые модули.-->
# Кодирование целых (положительных и отрицательных чисел), кодирование элементов массивов при синтезе схем по VHDL-описаниям. Примеры.
+
<!-- # Кодирование целых (положительных и отрицательных чисел), кодирование элементов массивов при синтезе схем по VHDL-описаниям. Примеры.-->
# Синтезируемое подмножество языка  VHDL. Синтезируемые и не синтезируемые операторы и конструкции. Примеры.
+
 
# Система моделирования ModelSim. Моделирование с помощью скриптов.  
 
# Система моделирования ModelSim. Моделирование с помощью скриптов.  
 
<!-- # Синтезатор Leonardo. Этапы синтеза логических схем в Leonardo. Управление синтезатором.-->  
 
<!-- # Синтезатор Leonardo. Этапы синтеза логических схем в Leonardo. Управление синтезатором.-->  
 
+
<!-- -->
 
+
# Логические элементы И, ИЛИ, НЕ, исключающее ИЛИ. Графическое обозначение. Таблицы истинности. Описание логических элементов на языке VHDL.
# Литералы
+
# Задание функционирования комбинационных  схем с помощью таблиц истинности и логических выражений. Описание систем ДНФ, описание ПЛМ. Примеры.
# Типы
+
# Временные параметры комбинационных схем и триггеров. Задержка распространения сигнала. Критический путь.
# Oбъекты языка VHDL
+
# Операции в выражениях
+
# Операнды в выражениях
+
# Реализация выражения в аппаратной модели VHDL.
+
# Статические выражения
+
# Последовательный оператор присваивания
+
# Последовательные операторы
+
# Операторы assert и report
+
# Оператор ожидания события wait
+
# Последовальные логические операторы
+
# Оператор цикла
+
# Процедуры и функции
+
# Оператор процесса
+
# Атрибуты сигналов
+
# Атрибуты массиов
+
# Объявление объекта
+
# Архитектура объекта
+
# Пакеты
+
# Псевдонимы
+
# Метки в программе
+
<!-- # Объявление конфигурации-->
+
# Параллельные операторы
+
# Оператор вставки компонента (port map)
+
# Оператор generate
+
 
+
 
+
# Логические элементы И, ИЛИ, НЕ, исключающее ИЛИ. Графическое обозначение. Таблица истинности. Описание логических элементов на языке VHDL.
+
 
# Шифратор и дешифратор. Выполняемые функции. Способы описания на языке VHDL.
 
# Шифратор и дешифратор. Выполняемые функции. Способы описания на языке VHDL.
 +
# Приоритетный шифратор. Выполняемые функции. Способы описания на языке VHDL.
 
# Мультиплексор и демультиплексор. Выполняемые функции. Способы описания на языке VHDL.
 
# Мультиплексор и демультиплексор. Выполняемые функции. Способы описания на языке VHDL.
 
# Двоичный сумматор. Выполняемые функции. Способы описания на языке VHDL.
 
# Двоичный сумматор. Выполняемые функции. Способы описания на языке VHDL.
 +
# Двоичный умножитель. Выполняемые функции. Способы описания на языке VHDL.
 
# Триггеры. Классификация. Выполняемые функции. Способы описания на языке VHDL.
 
# Триггеры. Классификация. Выполняемые функции. Способы описания на языке VHDL.
 
# Двоичные счетчики. Классификация. Выполняемые функции. Способы описания на языке VHDL.
 
# Двоичные счетчики. Классификация. Выполняемые функции. Способы описания на языке VHDL.
# Регистры. Классификация. Выполняемые функции. Способы описания на языке VHDL.
+
# Регистры. Классификация. Выполняемые функции. Структурное и функциональное описание на языке VHDL.
 
# Автомат Мили. Способы описания на языке VHDL. Пример построения автомата Мили.
 
# Автомат Мили. Способы описания на языке VHDL. Пример построения автомата Мили.
 
# Автомат Мура. Способы описания на языке VHDL. Пример построения автомата Мура.
 
# Автомат Мура. Способы описания на языке VHDL. Пример построения автомата Мура.
 +
# Создание тестирующей VHDL-программы (Testbench) для функционального тестирования сложных цифровых устройств.
 +
# Программируемые логические матрицы (ПЛМ или PLA). Структура, принцип работы, способы описания выполняемых логических функций.
 +
# Программируемые матрицы логики (ПМЛ или PAL). Структура, принцип работы, способы описания выполняемых логических функций.
 +
# Сложные программируемые логические устройства (CPLD). Структура, принцип работы.
 +
# Программируемые пользователем вентильные матрицы (FPGA). Структура, принцип работы.
 +
# Постоянные запоминающие устройства (ПЗУ). Структура, интерфейс, принцип работы, способы описания на языке VHDL.
 +
# Оперативные запоминающие устройства (ОЗУ). Структура, интерфейс, принцип работы, способы описания на языке VHDL.
 +
# Обзор архитектуры и основных функциональных блоков ПЛИС семейства Spartan-3.
 +
<!-- # Иерархическое описание сумматоров с последовательным переносом. Пример.-->
 +
<!-- # Функциональное описание конечного автомата на языке VHDL. Пример.-->
 +
# Синтезируемое подмножество языка  VHDL. Синтезируемые и не синтезируемые операторы и конструкции. Примеры.
  
  
Строка 166: Строка 170:
 
* Где может быть указано обращение к пакету?
 
* Где может быть указано обращение к пакету?
 
* Основные отличия VHDL от других языков программирования ?
 
* Основные отличия VHDL от других языков программирования ?
 
  
 
<!--  
 
<!--  
 
 
# Описание логических элементов на языке VHDL
 
# Описание логических элементов на языке VHDL
 
# Описание дешифратора на языке VHDL
 
# Описание дешифратора на языке VHDL
# Временные параметры комбинационных схем
 
 
# Временные параметры триггеров
 
# Временные параметры триггеров
 
+
-->
  
 
=== Задачи ===
 
=== Задачи ===
  
 +
Общие замечания:
 +
* Во всех заданиях для проверки работы VHDL-модели нужно составить тестбенч и провести моделирование в ModelSim.
 +
* При разработке модели можно использовать Emacs
 +
 +
Примеры экзаменационных задач:
 
# Описать дешифратор 4-16 на языке VHDL
 
# Описать дешифратор 4-16 на языке VHDL
#  
+
# По VHDL-коду нарисовать временные диаграммы сигналов, входящих в программу.
-->
+
# Составить структурное описание цифровой схемы (например, N-разрядного сумматора или сдвигового регистра).
 +
# Составить функциональное описание D-триггера.
 +
# Написать функциональную VHDL-модель конечного автомата, заданного таблицей переходов
 +
# Написать на VHDL функцию преобразования двоичного представления числа  в десятичное представление.
 +
# Нарисовать логическую схему, полученную в результате синтеза заданного VHDL-кода
 +
# Написать VHDL-код функции/процедуры нахождения максимального элемента в массиве, элементами которого являются натуральные числа.
 +
# Написать VHDL-код системы, осуществляющей перемножение (сложение) двух  матриц размерности 4x4, элементами которых являются целые положительные числа в диапазоне 0, 100.
 +
# Составить VHDL-модель схемы ПЗУ, хранящей M слов, каждое из которых состоит из N бит.
 +
# Составить VHDL-модель схемы программируемой логической матрицы (ПЛМ)
 +
# Составить VHDL-модель схемы мультиплексора с 4 управляющими входами.
 +
# + задания из практических работ

Текущая версия на 17:54, 24 декабря 2013

Лекции ПЦУСБ

Лекции

Практические
Тесты

Лабораторные

Доп. материалы

Содержание

Критерии допуска к экзамену

К экзамену допускаются студенты защитившие все лабораторные работы и прошедшие успешно все тесты.


Расписание экзаменов
Группа Консультация (а. 304-1) Экзамен (а. 304-1)
013201 14:00 23.12, Пн 8:00 24.12, Вт
013202 14:00 27.12, Пт 8:00 28.12, Сб
Дополнительные занятие для защиты ЛР
013201-2 17:00-18:00 26.12, Чт.


Информация

Для получения проходной оценки необходимо выполнить все лабораторные работы и за приемлемое время (~30 мин), используя Emacs и ModelSim, написать VHDL-модель логического элемента, тесбенч для проверки таблицы истинности элемента, и провести моделирование в ModelSim.

Допуск к экзамену

Оценка на экзамене (в разработке)

Формирование оценки на экзамене проводится по следующим критериям (10 = 100%):

Дисциплина
N опозданий (при N>=3) -(2+N)%
Отсутствие на лабораторной N раз -5×N%
Отсутствие на практической N раз -5×N%
Посещение 90% лекций* 10%
Сдача практической работы после deadline ×0.5
«Знания»
Практическая работа №1 5%
Практическая работа №2 10%
Практическая работа №3 20%
Практическая работа №4 50%
Лабораторные работы 20%
Тесты 10%
Экзамен -100..+100%
* - таких студентов видимо нет


Экзаменационные вопросы (в разработке)

Диплом.png

Теоретические вопросы

Вопросы по языку VHDL

  1. Маршрут проектирования цифровых устройств с использованием ПЛИС и языка VHDL
  2. Проект. Структурное описание. Поведенческое описание. Дерево проекта.
  3. Структура программы на языке VHDL
  4. Лексические элементы языка VHDL: разделители, комментарии, идентификаторы. Примеры.
  5. Ключевые слова языка VHDL. Литералы. Классификация типов. Примеры.
  6. Операции в выражениях языка VHDL
  7. Константы. Сигналы. Переменные. Декларации констант, сигналов, переменных. Примеры.
  8. Логические, арифметические, символьные типы и подтипы языка VHDL. Примеры.
  9. Тип std_logic. Пакет std_logic_1164. Назначение функций пакета.
  10. Типы signed и unsigned пакета numeric_std. Назначение функций пакета.
  11. Инерционная и транспортная задержка, дельта-задержка. Примеры.
  12. Понятие “дельта-задержка” для сигналов. Пример.
  13. Процессы, состояния процессов, работа системы моделирования.
  14. Оператор присваивания значения переменной. Оператор назначения сигнала. Операторы if, case, loop. Примеры.
  15. Операторы loop, next, exit, null, procedure call, return. Примеры.
  16. Оператор assert. Три случая оператора ожидания (wait). Примеры.
  17. Оператор процесса (process). Декларации в процессах. Примеры.
  18. Параллельные операторы: process (процесс); оператор параллельного сообщения; оператор параллельного вызова процедуры. Примеры.
  19. Атрибуты сигналов различных типов. Примеры.
  20. Параллельные операторы: оператор условного назначения сигнала; оператор select выборочного назначения сигнала; оператор создания экземпляра компонента (port map). Примеры.
  21. Оператор generate (генерации). Примеры.
  22. Общий вид оператора декларации функции. Примеры функций преобразования типов. Преобразование десятичного числа (integer) в двоичное представление числа (std_logic_vector).
  23. Видимость сигналов, компонент, переменных. Примеры.
  24. Пакет, тело пакета. Что можно декларировать в пакетах?
  25. Работа с файлами в VHDL. Пакеты TEXTIO, STD_LOGIC_TEXTIO. Назначение функций пакетов.
  26. Описание монтажной логики с помощью разрешающей функции. Пример.
  27. Система моделирования ModelSim. Моделирование с помощью скриптов.
  28. Логические элементы И, ИЛИ, НЕ, исключающее ИЛИ. Графическое обозначение. Таблицы истинности. Описание логических элементов на языке VHDL.
  29. Задание функционирования комбинационных схем с помощью таблиц истинности и логических выражений. Описание систем ДНФ, описание ПЛМ. Примеры.
  30. Временные параметры комбинационных схем и триггеров. Задержка распространения сигнала. Критический путь.
  31. Шифратор и дешифратор. Выполняемые функции. Способы описания на языке VHDL.
  32. Приоритетный шифратор. Выполняемые функции. Способы описания на языке VHDL.
  33. Мультиплексор и демультиплексор. Выполняемые функции. Способы описания на языке VHDL.
  34. Двоичный сумматор. Выполняемые функции. Способы описания на языке VHDL.
  35. Двоичный умножитель. Выполняемые функции. Способы описания на языке VHDL.
  36. Триггеры. Классификация. Выполняемые функции. Способы описания на языке VHDL.
  37. Двоичные счетчики. Классификация. Выполняемые функции. Способы описания на языке VHDL.
  38. Регистры. Классификация. Выполняемые функции. Структурное и функциональное описание на языке VHDL.
  39. Автомат Мили. Способы описания на языке VHDL. Пример построения автомата Мили.
  40. Автомат Мура. Способы описания на языке VHDL. Пример построения автомата Мура.
  41. Создание тестирующей VHDL-программы (Testbench) для функционального тестирования сложных цифровых устройств.
  42. Программируемые логические матрицы (ПЛМ или PLA). Структура, принцип работы, способы описания выполняемых логических функций.
  43. Программируемые матрицы логики (ПМЛ или PAL). Структура, принцип работы, способы описания выполняемых логических функций.
  44. Сложные программируемые логические устройства (CPLD). Структура, принцип работы.
  45. Программируемые пользователем вентильные матрицы (FPGA). Структура, принцип работы.
  46. Постоянные запоминающие устройства (ПЗУ). Структура, интерфейс, принцип работы, способы описания на языке VHDL.
  47. Оперативные запоминающие устройства (ОЗУ). Структура, интерфейс, принцип работы, способы описания на языке VHDL.
  48. Обзор архитектуры и основных функциональных блоков ПЛИС семейства Spartan-3.
  49. Синтезируемое подмножество языка VHDL. Синтезируемые и не синтезируемые операторы и конструкции. Примеры.


ДОПОЛНИТЕЛЬНЫЕ ВОПРОСЫ

  • Примеры правильных и неправильных идентификаторов.
  • Когда были приняты стандарты языка VHDL?
  • Где определяется тип bit?
  • Где определяется тип bit_vector?
  • Где определяется тип boolean?
  • Как записывается оператор присвоения значения переменной?
  • Как записывается оператор присвоения значения сигналу (назначение сигнала)?
  • Где может быть декларирован компонент?
  • Где может быть декларирована переменная?
  • Где может быть декларирована функция, процедура?
  • Можно ли в языке VHDL создавать свои типы данных?
  • Можно ли в языке VHDL написать программу вычисления факториала числа?
  • Как понимается запись x<=y<=z;
  • Какой тип задержки сигнала принят по умолчанию в языке VHDL?
  • Допустимо ли декларировать любые объекты внутри процесса?
  • Правильно ли, что все процессы выполняются один за другим внутри архитектурного тела?
  • Правильно ли, что все операторы выполняются один за другим внутри процесса?
  • Можно ли в операторе создания экземпляра компонента при назначении связей писать соответствие => , <= в обе стороны ?
  • Может ли настраиваемый параметр (generic) динамически меняться во время моделирования?
  • Могут ли переменные употребляться для передачи информации между процессами?
  • Что является блоком проекта? Назвать первичные и вторичные блоки.
  • Может ли структурное описание быть иерархическим?
  • Может ли смешанное (структурно-поведенческое) описание быть иерархическим?
  • Правильно ли, что все компоненты должны быть описаны на структурном уровне?
  • Какие компоненты должны быть описаны на поведенческом уровне?
  • Правильно ли, что любой VHDL-код может быть автоматически переведен в схему?
  • Как выдается сообщение в языке VHDL?
  • Различаются ли в языке VHDL строчные и прописные буквы?
  • Чему на схеме соответствует сигнал?
  • Что такое режим (направление) порта?
  • Могут ли декларироваться сигналы внутри процессов?
  • Могут ли декларироваться компоненты внутри процессов?
  • Где может быть указано обращение к пакету?
  • Основные отличия VHDL от других языков программирования ?


Задачи

Общие замечания:

  • Во всех заданиях для проверки работы VHDL-модели нужно составить тестбенч и провести моделирование в ModelSim.
  • При разработке модели можно использовать Emacs

Примеры экзаменационных задач:

  1. Описать дешифратор 4-16 на языке VHDL
  2. По VHDL-коду нарисовать временные диаграммы сигналов, входящих в программу.
  3. Составить структурное описание цифровой схемы (например, N-разрядного сумматора или сдвигового регистра).
  4. Составить функциональное описание D-триггера.
  5. Написать функциональную VHDL-модель конечного автомата, заданного таблицей переходов
  6. Написать на VHDL функцию преобразования двоичного представления числа в десятичное представление.
  7. Нарисовать логическую схему, полученную в результате синтеза заданного VHDL-кода
  8. Написать VHDL-код функции/процедуры нахождения максимального элемента в массиве, элементами которого являются натуральные числа.
  9. Написать VHDL-код системы, осуществляющей перемножение (сложение) двух матриц размерности 4x4, элементами которых являются целые положительные числа в диапазоне 0, 100.
  10. Составить VHDL-модель схемы ПЗУ, хранящей M слов, каждое из которых состоит из N бит.
  11. Составить VHDL-модель схемы программируемой логической матрицы (ПЛМ)
  12. Составить VHDL-модель схемы мультиплексора с 4 управляющими входами.
  13. + задания из практических работ