Языки описания схем — различия между версиями
PodymovVV (обсуждение | вклад) |
PodymovVV (обсуждение | вклад) |
||
(не показана 61 промежуточная версия 2 участников) | |||
Строка 1: | Строка 1: | ||
− | + | [[Категория:Спецкурсы кафедры МК]] | |
+ | [[Категория:Лекционные курсы кафедры МК]] | ||
+ | [[Категория:Магистерская программа Дискретные управляющие системы и их приложения]] | ||
− | Обязательный курс для студентов группы | + | ''Актуальность информации: осенний семестр 2024/2025 учебного года.'' |
+ | |||
+ | Обязательный курс для студентов группы 518мк_дус. | ||
+ | Курс проводит [[Подымов Владислав Васильевич|Подымов В.В.]] | ||
= Материалы занятий = | = Материалы занятий = | ||
− | + | == Лекции == | |
+ | |||
+ | [[Media: HDL_VP_01.pdf|Блок 1.]] Организационные вопросы. | ||
+ | |||
+ | [[Media: HDL_VP_02.pdf|Блок 2.]] Вспоминаем дискретную математику: булевы функции, булевы формулы, схемы из функциональных элементов. | ||
+ | |||
+ | [[Media: HDL_VP_03.pdf|Блок 3.]] Как устроена цифровая аппаратура. Немного физики: как схемы из функциональных элементов связаны с реальным миром. | ||
+ | |||
+ | [[Media: HDL_VP_04.pdf|Блок 4.]] Логические вентили. Комбинационные схемы. | ||
+ | |||
+ | [[Media: HDL_VP_05.pdf|Блок 5.]] Вспоминаем дискретную математику: схемы из функциональных элементов с задержкой. | ||
+ | |||
+ | [[Media: HDL_VP_06.pdf|Блок 6.]] Комбинационные схемы с обратной связью. Основные триггеры. | ||
+ | |||
+ | [[Media: HDL_VP_07.pdf|Блок 7.]] Ещё несколько слов о сигналах: активный уровень, передний фронт, задний фронт, такт. | ||
+ | |||
+ | [[Media: HDL_VP_08.pdf|Блок 8.]] Ещё несколько слов о триггерах: синхронные триггеры, асинхронные триггеры, типичные входы триггеров. | ||
+ | |||
+ | [[Media: HDL_VP_09.pdf|Блок 9.]] Последовательные схемы. | ||
+ | |||
+ | [[Media: HDL_VP_10.pdf|Блок 10.]] Шины. Регистры. Уровень регистровых передач (RTL). | ||
+ | |||
+ | [[Media: HDL_VP_11.pdf|Блок 11.]] Verilog: общие вступительные слова. | ||
+ | |||
+ | [[Media: HDL_VP_12.pdf|Блок 12.]] Verilog: несхемный "Hello, World!". | ||
+ | |||
+ | [[Media: HDL_VP_13.pdf|Блок 13.]] Verilog: схемный "Hello, World!". | ||
+ | |||
+ | [[Media: HDL_VP_14.pdf|Блок 14.]] Verilog: схемный "Hello, World!" с картинками (диаграммами сигналов). | ||
+ | |||
+ | [[Media: HDL_VP_15.pdf|Блок 15.]] Verilog: логические значения. | ||
+ | |||
+ | [[Media: HDL_VP_16.pdf|Блок 16.]] Verilog: арифметическая трактовка значений, знаковость типов и значений, расширение и сужение шин. | ||
+ | |||
+ | [[Media: HDL_VP_17.pdf|Блок 17.]] Verilog: константы. | ||
+ | |||
+ | [[Media: HDL_VP_18.pdf|Блок 18.]] Verilog: комбинационные выражения и операции. | ||
+ | |||
+ | [[Media: HDL_VP_19.pdf|Блок 19.]] Verilog: примеры комбинационных схем с непрерывным присваиванием. | ||
+ | |||
+ | [[Media: HDL_VP_20.pdf|Блок 20.]] Verilog: как на самом деле устроена симуляция. | ||
+ | |||
+ | [[Media: HDL_VP_21.pdf|Блок 21.]] Verilog: основные виды процессов. | ||
− | + | [[Media: HDL_VP_22.pdf|Блок 22.]] Verilog: основные процедурные команды и использование задержек. | |
− | + | [[Media: HDL_VP_23.pdf|Блок 23.]] Verilog: поддерживаемое использование постоянной процедуры. | |
− | + | [[Media: HDL_VP_24.pdf|Блок 24.]] Verilog: синтаксический сахар и ещё несколько возможностей языка. | |
− | + | [[Media: HDL_VP_25.pdf|Блок 25.]] Вспоминаем дискретную математику: автоматы. | |
− | + | [[Media: HDL_VP_26.pdf|Блок 26.]] Соответствие между автоматами и схемами. | |
− | + | [[Media: HDL_VP_27.pdf|Блок 27.]] Пара слов о символьных автоматах. | |
− | + | [[Media: HDL_VP_28.pdf|Блок 28.]] Verilog: типовая реализация автомата. | |
− | + | [[Media: HDL_VP_29.pdf|Блок 29.]] Хороший и плохой код. Данные и управление. Операционный и управляющий автоматы. | |
− | + | [[Media: HDL_VP_30.pdf|Блок 30.]] Как спроектировать операционный автомат. | |
− | + | [[Media: HDL_VP_31.pdf|Блок 31.]] Как дополнить операционный автомат управляющим. | |
− | '' | + | ''Материалы будут появляться по мере проведения занятий.'' |
− | + | === Прошлогодние === | |
− | + | [[Media: HDL_VP_R01.pdf|Блок К1.]] Кое-что ещё: протоколы передачи данных, общее описание протокола UART. | |
− | + | [[Media: HDL_VP_R02.pdf|Блок К2.]] Кое-что ещё: схемная реализация передатчика UART, автоматы с таймерами. | |
− | + | [[Media: HDL_VP_R03.pdf|Блок К3.]] Кое-что ещё: схемная реализация приёмника UART. | |
− | + | [[Media: HDL_VP_R04.pdf|Блок К4.]] Кое-что ещё: классификация протоколов передачи данных. | |
− | + | [[Media: HDL_VP_R05.pdf|Блок К5.]] Кое-что ещё: SPI для двух устройств. | |
− | + | [[Media: HDL_VP_R06.pdf|Блок К6.]] Кое-что ещё: SPI для произвольного числа устройств, состояние высокого импеданса. | |
− | + | == Упражнения == | |
− | + | [[Media: HDL_VP_s01.pdf|Упражнения 1.]] Разработка комбинационных и последовательных схем. | |
− | + | [[Media: HDL_VP_s02.pdf|Упражнения 2.]] Verilog, основы. | |
− | + | [[Media: HDL_VP_s03.pdf|Упражнения 3.]] Verilog: параметры, массивы, блоки генерации. | |
− | + | [[Media: HDL_VP_s04.pdf|Упражнения 4.]] Автоматы. | |
− | + | [[Media: HDL_VP_s05.pdf|Упражнения 5.]] Verilog: операционный и управляющий автоматы. | |
− | '' | + | ''Материалы будут появляться по мере проведения занятий.'' |
= Условия получения зачёта = | = Условия получения зачёта = | ||
Строка 61: | Строка 108: | ||
(Cм. слайды "Блок 1") | (Cм. слайды "Блок 1") | ||
Для получения зачёта достаточно '''в срок''' сдать решения четырёх заданий, которые будут выдаваться по мере проведения занятий. | Для получения зачёта достаточно '''в срок''' сдать решения четырёх заданий, которые будут выдаваться по мере проведения занятий. | ||
− | Если хотя бы одно решение не сдано в срок, то для получения зачёта потребуется выполнить особое ''штрафное задание''. | + | Если хотя бы одно решение не сдано в срок, то для получения зачёта потребуется выполнить особое ''штрафное задание'', включающее в себя, в числе прочего, все темы, которые не сданы в срок. |
= Литература = | = Литература = |
Версия 12:12, 17 ноября 2024
Актуальность информации: осенний семестр 2024/2025 учебного года.
Обязательный курс для студентов группы 518мк_дус. Курс проводит Подымов В.В.
Содержание
Материалы занятий
Лекции
Блок 1. Организационные вопросы.
Блок 2. Вспоминаем дискретную математику: булевы функции, булевы формулы, схемы из функциональных элементов.
Блок 3. Как устроена цифровая аппаратура. Немного физики: как схемы из функциональных элементов связаны с реальным миром.
Блок 4. Логические вентили. Комбинационные схемы.
Блок 5. Вспоминаем дискретную математику: схемы из функциональных элементов с задержкой.
Блок 6. Комбинационные схемы с обратной связью. Основные триггеры.
Блок 7. Ещё несколько слов о сигналах: активный уровень, передний фронт, задний фронт, такт.
Блок 8. Ещё несколько слов о триггерах: синхронные триггеры, асинхронные триггеры, типичные входы триггеров.
Блок 9. Последовательные схемы.
Блок 10. Шины. Регистры. Уровень регистровых передач (RTL).
Блок 11. Verilog: общие вступительные слова.
Блок 12. Verilog: несхемный "Hello, World!".
Блок 13. Verilog: схемный "Hello, World!".
Блок 14. Verilog: схемный "Hello, World!" с картинками (диаграммами сигналов).
Блок 15. Verilog: логические значения.
Блок 16. Verilog: арифметическая трактовка значений, знаковость типов и значений, расширение и сужение шин.
Блок 17. Verilog: константы.
Блок 18. Verilog: комбинационные выражения и операции.
Блок 19. Verilog: примеры комбинационных схем с непрерывным присваиванием.
Блок 20. Verilog: как на самом деле устроена симуляция.
Блок 21. Verilog: основные виды процессов.
Блок 22. Verilog: основные процедурные команды и использование задержек.
Блок 23. Verilog: поддерживаемое использование постоянной процедуры.
Блок 24. Verilog: синтаксический сахар и ещё несколько возможностей языка.
Блок 25. Вспоминаем дискретную математику: автоматы.
Блок 26. Соответствие между автоматами и схемами.
Блок 27. Пара слов о символьных автоматах.
Блок 28. Verilog: типовая реализация автомата.
Блок 29. Хороший и плохой код. Данные и управление. Операционный и управляющий автоматы.
Блок 30. Как спроектировать операционный автомат.
Блок 31. Как дополнить операционный автомат управляющим.
Материалы будут появляться по мере проведения занятий.
Прошлогодние
Блок К1. Кое-что ещё: протоколы передачи данных, общее описание протокола UART.
Блок К2. Кое-что ещё: схемная реализация передатчика UART, автоматы с таймерами.
Блок К3. Кое-что ещё: схемная реализация приёмника UART.
Блок К4. Кое-что ещё: классификация протоколов передачи данных.
Блок К5. Кое-что ещё: SPI для двух устройств.
Блок К6. Кое-что ещё: SPI для произвольного числа устройств, состояние высокого импеданса.
Упражнения
Упражнения 1. Разработка комбинационных и последовательных схем.
Упражнения 2. Verilog, основы.
Упражнения 3. Verilog: параметры, массивы, блоки генерации.
Упражнения 4. Автоматы.
Упражнения 5. Verilog: операционный и управляющий автоматы.
Материалы будут появляться по мере проведения занятий.
Условия получения зачёта
(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.