Языки описания цифровых схем — различия между версиями

Материал из Кафедра математической кибернетики
Перейти к: навигация, поиск
 
(не показаны 12 промежуточные версии 1 участника)
Строка 1: Строка 1:
''Актуальность информации: осенний семестр 2019/2020 учебного года.''
+
''Актуальность информации: осенний семестр 2020/2021 учебного года.''
  
Обязательный курс для студентов группы 518/2. Курс проводит [[Подымов Владислав Васильевич|Подымов В.В.]]
+
Обязательный курс для студентов группы 518мк_дус. Курс проводит [[Подымов Владислав Васильевич|Подымов В.В.]]
  
 
= Материалы занятий =
 
= Материалы занятий =
Строка 19: Строка 19:
 
'''[[Media: Hdl_lecture_06.pdf|Блок 6.]]''' Комбинационные схемы с обратной связью. Основные триггеры.
 
'''[[Media: Hdl_lecture_06.pdf|Блок 6.]]''' Комбинационные схемы с обратной связью. Основные триггеры.
  
'''[[Media: Hdl_lecture_07.pdf|Блок 7.]]''' Подробнее о триггерах.
+
'''[[Media: Hdl_lecture_07.pdf|Блок 7.]]''' Ещё несколько слов о сигналах: активный уровень, передний фронт, задний фронт, такт.
  
'''[[Media: Hdl_lecture_08.pdf|Блок 8.]]''' Тактовый сигнал. Последовательные схемы.
+
'''[[Media: Hdl_lecture_08.pdf|Блок 8.]]''' Ещё несколько слов о триггерах: синхронные триггеры, асинхронные триггеры, типичные входы триггеров.
  
'''[[Media: Hdl_lecture_09.pdf|Блок 9.]]''' Шины. Регистры. Уровень регистровых передач (RTL).
+
'''[[Media: Hdl_lecture_09.pdf|Блок 9.]]''' Последовательные схемы.
  
'''[[Media: Hdl_lecture_10.pdf|Блок 10.]]''' Verilog: от логических значений до комбинационных схем.
+
'''[[Media: Hdl_lecture_10.pdf|Блок 10.]]''' Шины. Регистры. Уровень регистровых передач (RTL).
  
'''[[Media: Hdl_lecture_11.pdf|Блок 11.]]''' Verilog: основы программной симуляции.
+
'''[[Media: Hdl_lecture_11.pdf|Блок 11.]]''' Verilog: от логических значений до комбинационных схем.
  
'''[[Media: Hdl_lecture_12.pdf|Блок 12.]]''' Verilog: синтезируемость кода.
+
'''[[Media: Hdl_lecture_12.pdf|Блок 12.]]''' Verilog: основы программной симуляции.
  
'''[[Media: Hdl_lecture_13.pdf|Блок 13.]]''' Verilog: ещё пара слов о процедурных командах.
+
'''[[Media: Hdl_practice_01.pdf|Практический блок 1.]]''' Разработка комбинационных и последовательных схем.
  
'''[[Media: Hdl_lecture_14.pdf|Блок 14.]]''' Verilog: аппаратная семантика постоянной процедуры.
+
'''[[Media: Hdl_lecture_13.pdf|Блок 13.]]''' Verilog: синтезируемость кода
  
'''[[Media: Hdl_lecture_15.pdf|Блок 15.]]''' Verilog: немного синтаксического сахара.
+
'''[[Media: Hdl_lecture_14.pdf|Блок 14.]]''' Verilog: ещё пара слов о процедурных командах.
 +
 
 +
'''[[Media: Hdl_lecture_15.pdf|Блок 15.]]''' Verilog: аппаратная семантика постоянной процедуры.
 +
 
 +
----
 +
 
 +
''Необновлённое, оставшееся с прошлого года:''
 +
 
 +
<!-- Verilog: аппаратная семантика постоянной процедуры. -->
  
 
'''[[Media: Hdl_lecture_16.pdf|Блок 16.]]''' Вспоминаем дискретную математику: автоматы.
 
'''[[Media: Hdl_lecture_16.pdf|Блок 16.]]''' Вспоминаем дискретную математику: автоматы.
Строка 51: Строка 59:
 
'''[[Media: Hdl_lecture_22.pdf|Блок 22.]]''' Как дополнить операционный автомат управляющим.
 
'''[[Media: Hdl_lecture_22.pdf|Блок 22.]]''' Как дополнить операционный автомат управляющим.
  
'''[[Media: Hdl_practice_01.pdf|Практический блок 1.]]''' Разработка последовательных схем.
+
'''[[Media: Hdl_lecture_23.pdf|Блок 23.]]''' Автоматы с приостановкой выполнения переходов.
  
 
'''[[Media: Hdl_practice_02.pdf|Практический блок 2.]]''' Verilog и непрерывное присваивание.
 
'''[[Media: Hdl_practice_02.pdf|Практический блок 2.]]''' Verilog и непрерывное присваивание.
Строка 62: Строка 70:
  
 
'''[[Media: Hdl_practice_06.pdf|Практический блок 6.]]''' Операционный и управляющий автоматы в Verilog.
 
'''[[Media: Hdl_practice_06.pdf|Практический блок 6.]]''' Операционный и управляющий автоматы в Verilog.
 +
 +
'''[[Media: Hdl_lecture_aux_01.pdf|Кое-что ещё 1.]]''' Протоколы передачи данных. Общее описание протокола UART.
 +
 +
'''[[Media: Hdl_lecture_aux_02.pdf|Кое-что ещё 2.]]''' Схемная реализация протокола UART.
 +
 +
'''[[Media: Hdl_lecture_aux_03.pdf|Кое-что ещё 3.]]''' Классификация протоколов передачи данных.
 +
 +
'''[[Media: Hdl_lecture_aux_04.pdf|Кое-что ещё 4.]]''' Протокол SPI для двух устройств.
 +
 +
'''[[Media: Hdl_lecture_aux_04.pdf|Кое-что ещё 5.]]''' Протокол SPI для произвольного числа устройств. Состояние высокого импеданса.
  
 
= Условия получения зачёта =
 
= Условия получения зачёта =

Текущая версия на 13:52, 23 октября 2020

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

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

Блок 23. Автоматы с приостановкой выполнения переходов.

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

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

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

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

Практический блок 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.