Языки описания цифровых схем

Материал из Кафедра математической кибернетики
Перейти к: навигация, поиск

Актуальность информации: осенний семестр 2020/2021 учебного года.

Обязательный курс для студентов группы 518мк_дус. Курс проводит Подымов В.В.

Материалы занятий

Слайды будут обновляться по мере проведения занятий

Блок 1. Организационные вопросы.

Блок 2. Вспоминаем дискретную математику: булевы функции, булевы формулы, схемы из функциональных элементов.

Блок 3. Как устроена цифровая аппаратура. Немного физики: как схемы из функциональных элементов связаны с реальным миром.

Блок 4. Логические вентили. Комбинационные схемы.

Блок 5. Вспоминаем дискретную математику: схемы из функциональных элементов с задержкой.

Блок 6. Комбинационные схемы с обратной связью. Основные триггеры.

Блок 7. Ещё несколько слов о сигналах: активный уровень, передний фронт, задний фронт, такт.

Блок 8. Ещё несколько слов о триггерах: синхронные триггеры, асинхронные триггеры, типичные входы триггеров.

Блок 9. Последовательные схемы.

Блок 10. Шины. Регистры. Уровень регистровых передач (RTL).

Практический блок 1. Разработка комбинационных и последовательных схем.

Блок 11. Verilog: от логических значений до комбинационных схем.

Блок 12. Verilog: основы программной симуляции.

Практический блок 2. Verilog и непрерывное присваивание.

Блок 13. Verilog: синтезируемость кода

Блок 14. Verilog: ещё пара слов о процедурных командах.

Блок 15. Verilog: аппаратная семантика постоянной процедуры.

Практический блок 3. Verilog и процедуры.

Блок 16. Вспоминаем дискретную математику: автоматы.

Блок 17. Автоматы и синхронные схемы.

Блок 18. Пара слов о символьных автоматах.

Практический блок 4. Автоматы.

Блок 19. Verilog: немного синтаксического сахара.

Практический блок 5. Verilog и продвинутый синтаксис: параметры, массивы, генерация.

Блок 20. Verilog: как реализовать автомат.

Блок 21. "Грамотная" разработка схем. Данные и управление. Операционный и управляющий автоматы.

Блок 22. Как спроектировать операционный автомат.

Блок 23. Как дополнить операционный автомат управляющим.

Блок 24. Как уменьшить автомат. Автоматы с таймерами.

Практический блок 6. Операционный и управляющий автоматы в Verilog.


Необновлённое с прошлого года:

Кое-что ещё 1. Протоколы передачи данных. Общее описание протокола UART.

Кое-что ещё 2. Схемная реализация протокола UART.

Кое-что ещё 3. Классификация протоколов передачи данных.

Кое-что ещё 4. Протокол SPI для двух устройств.

Кое-что ещё 5. Протокол SPI для произвольного числа устройств. Состояние высокого импеданса.

Условия получения зачёта

(Cм. слайды "Блок 1") Для получения зачёта достаточно в срок сдать решения четырёх заданий, которые будут выдаваться по мере проведения занятий. Если хотя бы одно решение не сдано в срок, то для получения зачёта потребуется выполнить особое штрафное задание.

Литература

Основная

  • Harris, Harris. Digital Design and Computer Architecture, 2nd Edition. Elseveir. 2013.
    • Перевод: "Харрис, Харрис. Цифровая схемотехника и архитектура компьютера. ДМК Пресс. 2018."
    • В сети в открытом доступе лежат и другие версии перевода (не выпущенные официально в печать).
  • Thomas, Moorby. The Verilog Hardware Description Language, 5th Edition. Springer. 2008.

Дополнительная

  • Hennesy, Patterson. Computer Organization and Design: The Hardware/Software Interface, 5th Edition. Morgan Kaufmann. 2013.
  • Palnitkar. Verilog HDL, 2nd Edition. 2003.
  • Vahid. Digital Design with RTL Design, VHDL, and Verilog, 2nd Edition. Wiley. 2010.