Аппаратное и программное обеспечение
Часть раздела Основы путешествия по Verilog на Coddy. Урок 2 из 90.
Мы пишем код и для программного, и для аппаратного обеспечения, но они работают совершенно по-разному! Понимание этих различий — ключ к мышлению как разработчик аппаратного обеспечения.
Программное обеспечение выполняется шаг за шагом. Аппаратное обеспечение выполняет всё одновременно.
Программное обеспечение (C, Python, Java):
- Делает одно, затем следующее
- Переменные появляются и исчезают
- Время приблизительное
Аппаратное обеспечение (Verilog):
- Выполняет множество задач одновременно
- Схемы существуют вечно
- Время точно
Пример: веб-сайт загружает шаги один за другим. Выключатель света включается мгновенно. В этом и заключается разница.
Почему это важно: Когда вы пишете на Verilog, вы описываете схему, которая работает параллельно, бесконечно и с точным соблюдением времени.
Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
1Введение
Что такое VerilogАппаратное и программное обеспечениеВаш первый модульКомментарииУровни абстракции проектирования4Операторы. Часть 1
Арифметические операторыОператор взятия остаткаОператоры сравненияПовторение — простая математикаПобитовые операторы7Присваивание и логические элементы
Непрерывное присваиваниеПрисваивание с операторамиВстроенные примитивы логических элементовЭлементы И, ИЛИ и НЕЭлементы XOR и XNORПовторение — схема на логических элементах10Принятие решений
Оператор ifif—elseПовторение — простой компараторОператор casecaseх и casezПовторение — проектирование ALU5Операторы, часть 2
Логические операторыОператоры свёрткиОператоры сдвигаОператор конкатенацииУсловный операторПовторение — задание на операторы11Циклы
Цикл forЦикл whileЦикл повторенияБесконечный циклОператор отключенияПовторение — шаблоны циклов3Система счисления
Двоичное представлениеЧисла заданной разрядностиЧисла без указания разрядностиОтрицательные числаСпециальные значения X и ZПовторение — форматы чисел6Модули
Структура модуляВходные и выходные портыДвунаправленные портыСоздание экземпляра модуляПодключение портов по имениПодключение портов по порядкуПовторение — создание модуля9Процедурные блоки
Блок AlwaysБлок InitialСписок чувствительностиБлокирующее присваиваниеНеблокирующее присваиваниеПовторение: Always и InitialПотренируйтесь самостоятельно: Онлайн-компилятор Verilog