Altifigence Academy
Цифровое проектированиеБесплатно · Начальный

Цифровые логические схемы

Начните с цифровых сигналов и элементов AND, OR, XOR, затем проектируйте комбинационные схемы, защёлки, триггеры, счётчики и конечные автоматы. Связывайте таблицы истинности, формулы, схемы и временные диаграммы и проверяйте результат в практикумах по RTL. Дополнительные разделы расширяют курс до трактов обработки данных и интерфейсов.

Комбинационная и последовательностная логикаSystemVerilogАнализ временных диаграмм
Моё обучение

Чему вы научитесь

  • Различать логические значения и напряжения; объяснять таблицы истинности, обозначения и эквивалентные схемы восьми видов логических элементов.
  • Проектировать комбинационные схемы по спецификации с помощью SOP, POS и карт Карно и проверять все входные комбинации.
  • Определять допустимые входные условия и граничные случаи для шифраторов, дешифраторов, MUX, DEMUX, сумматоров и компараторов.
  • Объяснять различие между защёлками и триггерами и проектировать правила обновления при reset, enable и тактировании.
  • Реализовывать счётчики, сдвиговые регистры и конечные автоматы на RTL; анализировать временные ограничения, асинхронные входы и подавление дребезга.
  • Проверять проект независимой эталонной моделью и завершить детектор перекрывающейся последовательности 101.
  • В дополнительных разделах перейти к АЛУ, памяти, FIFO, конвейерам и интерфейсам.

Перед началом

Упражнения в браузере используют учебные модели и не компилируют и не запускают HDL. Для отдельного запуска исходного кода следуйте руководству Digital Design Studio для вашей ОС и войдите в аккаунт, если этого требует операция.

Установка и первый запуск ↗ · Загрузки ↗

Программа

  1. Цифровые сигналы и представление чисел
    • Цифровые сигналы: когда напряжение означает 0 или 1Теория

      Различайте логические значения и напряжения, рассчитывайте входные пороги, запас помехоустойчивости и задержку распространения.

    • Системы счисления и представление фиксированной разрядностиТеория

      Помимо перевода между системами счисления, рассчитывайте диапазон представления, нужную разрядность и ошибку усечения.

  2. Логические элементы и таблицы истинности
    • Основные элементы: AND, OR, NOT и BUFFERТеория

      Связывайте схемные обозначения с таблицами истинности и составляйте условия из нескольких элементов.

    • NAND, NOR и обозначения инверсииТеория

      Определяйте область действия отрицания и связывайте эквивалентные обозначения и выражения законами де Моргана.

    • XOR и XNOR: равенство, различие и чётностьТеория

      Различайте двухвходовый XOR и многовходовую чётность и объясняйте ограничения обнаружения ошибок.

    • Универсальные элементы: схема только из NANDТеория

      Покажите функциональную полноту NAND и NOR конструктивно и проверьте промежуточные сигналы XOR.

  3. От логических выражений к проектированию схем
    • Булева алгебра, эквивалентные преобразования и стоимость реализацииТеория

      Преобразуйте схемы законами де Моргана и вынесением общего множителя, различая логическую эквивалентность и временные свойства.

    • От таблицы истинности к выражению: минтермы, макстермы, SOP и POSТеория

      Выведите одну функцию по строкам с выходом 1 и по строкам с выходом 0 и свяжите обе формы с обозначениями карты Карно.

    • Карты Карно и условия don’t-careТеория

      Сокращайте выражения с помощью соседства кода Грея и явно задавайте предположения о неиспользуемых входах.

    • Практикум проектирования: от спецификации к трёхвходовому большинствуПрактика

      Преобразуйте словесную спецификацию в полную таблицу истинности и свяжите минимизацию, реализацию и исчерпывающую проверку.

  4. Адресация и схемы выбора
    • Дешифратор, one-hot-выбор и допустимые входыТеория

      Преобразуйте двоичный адрес в отдельные линии выбора и задайте enable, диапазон и инварианты выбора.

    • Шифратор и приоритет: выбор одного из нескольких запросовТеория

      Различайте условие one-hot для обычного шифратора и выходы приоритетного шифратора: valid и результат выбора.

    • DEMUX и дешифратор: передача данных по выбранному путиТеория

      Сравните направления и роли MUX, DEMUX и дешифратора, проверьте условия one-hot и one-hot-or-zero.

    • Сигналы и порты: контракт ширины, направления и времениТеория

      Читайте интерфейс и разделяйте критерии проверки комбинационного выхода и выхода состояния.

    • От таблицы истинности к MUX и разложению ШеннонаТеория

      Выведите правило выбора формулой и разложите произвольную логическую функцию с помощью MUX.

  5. Арифметические схемы и сравнение
    • Сумматоры и структуры распространения переносаТеория

      Выведите формулы полного сумматора и совместно проанализируйте функцию, разрядность и задержку последовательного переноса.

    • Дополнительный код, расширение знака и переполнениеТеория

      Различайте знаковую интерпретацию битовой строки и условия переполнения сложения с помощью формул и контрпримеров.

    • Компараторы и спецификация граничных значенийТеория

      Различайте unsigned- и signed-сравнение одинаковых битовых строк и проверяйте граничные условия.

  6. Защёлки, триггеры и хранение состояния
    • Основы хранения состояния: обратная связь, SR- и D-защёлкиТеория

      Разберите два устойчивых состояния перекрёстной связи, запрещённый вход SR и прозрачный интервал D-защёлки.

    • D-триггер: от уровня к фронтуТеория

      Сравните моменты обновления защёлки и триггера, свяжите понятия регистра, setup и hold.

    • Триггеры, enable и приоритет управленияТеория

      Задайте хранение, загрузку и сброс функцией следующего состояния и избегайте непреднамеренного стробирования такта.

    • Синхронные переходы состояния и роль тактаТеория

      Рассматривайте синхронную систему как набор регистров, читающих одно и то же предыдущее состояние.

  7. Реализация и проверка MUX на RTL
    • Комбинационный выбор и задержка выхода регистраТеория

      Проанализируйте изменение интерфейса и задержки при сохранении результата MUX в регистре.

    • Комбинационный RTL и полные присваиванияТеория

      Выразите одну функцию условным оператором и always_comb, найдите пропуски, создающие защёлку.

    • Практикум: исчерпывающая проверка MUX и анализ выхода регистраПрактика

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

    • Моменты выборки и причинность на временных диаграммахТеория

      Читайте диаграммы, разделяя установление комбинационной логики, захват тактом и порядок событий.

    • Проверка MUX: полный перебор и свойстваТеория

      Проверяйте покрытие комбинационных входов и хранение раздельно, минимизируйте контрпримеры.

    • Проверка проекта: эквивалентность выбора и момент наблюденияПроверка знаний

      Различайте проверки, для которых достаточно таблицы истинности, и проверки, требующие наблюдения такта.

  8. Счётчики и синхронное обновление состояния
    • Число состояний, ширина счётчика и неиспользуемые кодыТеория

      Рассчитайте разрядность по диапазону счёта и определите восстановление из недопустимых состояний.

    • Следующее состояние счётчика и приоритет сбросаТеория

      Объедините увеличение, хранение, сброс и переход через границу в одну спецификацию и рассчитайте каждый фронт.

    • Неблокирующие присваивания и одновременное обновление состоянияТеория

      Разделяйте прежние и следующие значения для точного понимания RTL конвейеров и счётчиков.

    • Практикум: сброс, циклический переход и инварианты счётчикаПрактика

      Сравните состояние на каждом положительном фронте с эталоном, разделите влияние начального значения, сброса и ширины.

    • Модульные и насыщающие счётчики, импульс завершенияТеория

      Задайте обработку максимума и точный цикл сигнала terminal-count.

    • Отладка счётчика и минимальные контрпримерыТеория

      Спроектируйте короткие тесты, различающие ошибки reset, enable и перехода через границу.

    • Проверка проекта: границы ширины, приоритета и циклического переходаПроверка знаний

      Оцените граничные значения и одновременные управления по заданной спецификации переходов.

  9. Сдвиговые регистры и потоки данных
    • Индексы векторов, порядок битов и знакТеория

      Читайте тракт данных, разделяя номера битов, порядок последовательной передачи и арифметическую интерпретацию.

    • Последовательный вход и границы кадраТеория

      Определите порядок входов и действительные фронты, рассчитайте размещение битов при последовательно-параллельном преобразовании.

    • Уравнение состояния сдвигового регистраТеория

      Представьте перемещение битов переходом векторного состояния и свяжите глубину хранения с задержкой выхода.

    • Ширина срезов, конкатенации и повторенияТеория

      Стройте тракт данных, рассчитывая суммарную ширину соединённых сигналов и условия сохранения значения.

    • Практикум: сдвиг последовательных данных и проверка порядка битовПрактика

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

    • Различие задержки в циклах и пропускной способностиТеория

      Задайте точки наблюдения N-ступенчатой линии задержки и количественно рассчитайте latency и throughput.

    • Проверка сдвиговых схем и выравнивание данных с validТеория

      Находите ошибки, скрытые симметричными шаблонами, и сдвиг valid на один цикл.

    • Проверка проекта: задержка, выравнивание и сохранение входовПроверка знаний

      Проверьте не только направление сдвига, но и число действительных перемещений и начало отсчёта наблюдения.

  10. Временные ограничения, реальные входы и конечные автоматы
    • Setup, hold и временной бюджетТеория

      Разделите максимальные и минимальные задержки путей и рассчитайте условие hold, независимое от частоты такта.

    • Логические состязания и пределы эквивалентных выраженийТеория

      Проанализируйте, как две эквивалентные в установившемся состоянии схемы дают разные переходные диаграммы из-за задержек.

    • Границы тактовых доменов и метастабильностьТеория

      Определите область применения двухступенчатого синхронизатора, различая один бит, короткие импульсы и многобитную передачу.

    • Реальная кнопка: синхронизация, подавление дребезга и одно событиеТеория

      Разделите синхронизацию асинхронного входа и подавление дребезга, спроектируйте фильтр по последовательным выборкам.

    • Конечный автомат: разделение состояния, переходов и выходовТеория

      Постройте FSM по таблице спецификации и сравните выходы Мура и Мили, недопустимые состояния и политику запросов.

    • План проверки, покрытие и независимый эталонТеория

      Различайте прохождение тестов и соответствие спецификации; включайте границы, пересечения условий и минимальные контрпримеры в план проверки.

    • Итоговый проект: детектор перекрывающейся последовательности 101Теория

      Объедините минимизацию состояний, действительность входа, выход регистра и независимую эталонную проверку.

  11. Дополнительно · арифметические тракты
    • АЛУ и флаги zero, negative, carry, overflowТеория

      Постройте ADD/SUB на общем сумматоре, разделите carry и знаковое переполнение и выведите условия сравнения.

    • Бочкообразный сдвигатель и каскады MUXТеория

      Реализуйте переменный сдвиг каскадами MUX на 1, 2, 4, 8 позиций, обработайте общую структуру направлений, знак и большие сдвиги.

    • Фиксированная точка, округление и насыщениеТеория

      Задайте диапазон форматом W,F, спроектируйте округление к чётному по guard/sticky и насыщение после округления.

    • Многоцикловый беззнаковый умножитель со сдвигом и сложениемТеория

      Распределите накопление частичных произведений на W тактов и проверьте приём, завершение, последнее сложение, ширину и инвариант.

  12. Дополнительно · память и FIFO
    • Синхронная память и контракт одновременного чтения и записиТеория

      Различайте момент ответа с выхода регистра, read-first, write-first, no-change и отдельные требования к valid и инициализации адресов.

    • Регистровый файл с двумя чтениями, одной записью и bypassТеория

      Реализуйте два независимых порта чтения и синхронную запись, проверьте bypass для каждой коллизии и правила инициализации и valid.

    • Указатели и граничная политика однотактового FIFOТеория

      Реализуйте указатели и occupancy FIFO глубины 4, явно определяя одновременные push/pop при empty и full.

    • План проверки FIFO и памяти, независимый scoreboardТеория

      Создайте queue-scoreboard независимо от указателей реализации и включите границы, reset, valid и неинициализированные чтения в план.

  13. Дополнительно · конвейеры и интерфейсы
    • Ready/valid и эластичный буфер на один элементТеория

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

    • Конвейер умножения и сложения, выравнивание данныхТеория

      Разделите вычисление регистрами и сохраните принадлежность данных, valid и вспомогательных операндов одной транзакции.

    • Останавливаемый конвейер и обратное давлениеТеория

      Вычисляйте ready каждой ступени, предотвращая потери, повторы и повторное вычисление при остановке и одновременном продвижении.

    • Регистровый интерфейс и момент побочных эффектовТеория

      Задайте адреса, побайтовую запись и остановку ответа, обеспечивая ровно одно изменение состояния на принятый запрос.

    • Итоговый практикум: передатчик UART и время кадраТеория

      Объедините делитель, сдвиговый регистр и управление потоком в кадр 8N1 и проверьте границы битов.

Выбор действует в этом браузере. Его можно изменить внизу страницы.