Перечень тем, выносимых на вступительный экзамен в магистратуру по дисциплине «Основы проектирования ЭА на ПЛИС-1/2»

Verilog question

Темы, выносимые на вступительный экзамен в магистратуру по дисциплине 

Основы проектирования ЭА на ПЛИС-1/2

Методология проектирования цифровых устройств на языках HDL

  1. Цифровые устройства. Развитие методологии проектирования цифровых устройств.
  2. Основные этапы проектирования цифровых устройств.
  3. Языки проектирования аппаратуры (HDL), назначение, развитие, возможности.
  4. Моделирование. Назначение и основные способы моделирования.
  5. Тестовые файлы (test-bench). Назначение. Особенности моделирующей программы ModelSim.

Особенности языка Verilog

  1. Язык Verilog. Назначение и особенности. Поведенческое и структурное описание устройств.
  2. Конструкция module языка Verilog. Порты – типы и объявление.
  3. Типы данных в языке Verilog. Особенности различных типов данных.
  4. Массивы в языке Verilog (элементы памяти). Объявление параметров. Присвоение значений переменным.
  5. Арифметические операторы языка Verilog. Операторы эквивалентности и сравнения.
  6. Логические операторы языка Verilog. Операторы конкатенации и репликации.
  7. Процедурные блоки языка Verilog. Список вызова процедурного блока. Блокирующее и неблокирующее присвоение.
  8. Указание временных задержек в языке Verilog. Директива `timescale.
  9. Условный оператор IF-ELSE. Оператор CASE.
  10. Операторы цикла языка Verilog.
  11. Подпрограммы в языке Verilog (task и function).
  12. Встроенные примитивы в языке Verilog. Способ вызова. Примитивы, создаваемые пользователем.
  13. Вызов и подключение компонентов в языке Verilog.
  14. Тестовый файл (test-bench) на языке Verilog.
  15. Системные функции языка Verilog. Директивы компилятора.
  16. Описание синхронных и асинхронных устройств на языке Verilog.
  17. Конечные автоматы. Описание конечных автоматов на языке Verilog.

 

Примеры заданий  на вступительный экзамен в магистратуру по дисциплине Основы проектирования ЭА на ПЛИС-1/2

Все задания представляют собой разработку на языке Verilog какого-либо устройства, например:

1. Арифметическое устройство, вычисляющее сумму для восьми 16-разрядных входных чисел. Устройство должно формировать информационный выходной сигнал готовности результата (ready). 

2. Блок памяти / ОЗУ.

3. Конечный автомат с четырьмя состояниями и двумя входными сигналами Х1, Х2. Условие перехода из одного состояния в другое заданы. Пример.

4. Двоичный счетчик.

5. Генератор последовательности импульсов / одиночного импульса фиксированной длительности. Количество импульсов / частота импульсов задается входным кодом.

6. N-разрядный регистр сдвига с параллельной/последовательной загрузкой и асинхронным/синхронным сигналом сброса.

7. Арифметическое устройство, реализующее заданные уравнения. Пример.

8. Пороговое устройство.

9. Дешифратор / шифратор двоичного кода.

10. Устройство проверки входного значения на четность/нечетность.

 

Порядок выполнения задания

1. Дать описание устройства, которое синтезируется. Какие решения (размерность входных портов, иерархические блоки, синхронное/асинхронное устройство и т.п.) приняты, обоснуйте принятые решения.

2. Сам код. Если необходимо, разбейте описание устройства на иерархию модулей и файлов. Код должен быть оформлен согласно code style, читабельным, разборчивым. Все важные фрагменты кода должны сопровождаться подробными комментариями.

3. Разработайте тестбенч для синтезируемого устройства, объедините весь проект с помощью модуля верхнего уровня иерархии. Пример хорошего описания устройства можно посмотреть здесь.

4. Приведите ожидаемую диаграмму работы синтезируемого устройства.

КРИТЕРИИ ОЦЕНИВАНИЯ РАБОТ.