Menu
Coddy logo textTech

Проектирование мультиплексора 2 в 1

Часть раздела Основы путешествия по Verilog на Coddy — урок 64 из 90.

challenge icon

Задание

Мультиплексор (MUX) — это цифровая схема, которая выбирает один из нескольких входов и перенаправляет его на один выход на основе селекторного сигнала. Представьте его как селектор данных: у вас есть несколько входящих сигналов, и вы выбираете, какой из них пойдет на выход.

В этом проекте вы создадите мультиплексоры разной разрядности, используя операторы if-else и case.

Мультиплексор 2 в 1

Мультиплексор 2 в 1 — это простейшая форма. Он имеет два информационных входа (in0 и in1), один селекторный вход (sel) и один выход (out). Когда sel равен 0, выход принимает значение in0. Когда sel равен 1, выход принимает значение in1. Вы реализуете это с помощью оператора if-else внутри блока always @(*).

Пример: Если in0 = 0, in1 = 1 и sel = 1, то out = 1.

Мультиплексор 2 в 1 выбирает один из двух входов и передает его на выход в зависимости от селекторного сигнала.

Таблица истинности

 

selout
0out = in0
1out = in1

Когда sel равен 0, выход принимает значение in0. Когда sel равен 1, выход принимает значение in1.

Что нужно сделать:

  1. Создайте модуль с именем mux2to1
  2. Добавьте вход in0 (1 бит)
  3. Добавьте вход in1 (1 бит)
  4. Добавьте вход sel (1 бит)
  5. Добавьте выход out (1 бит, тип reg)
  6. Добавьте блок always @(*)
  7. Внутри добавьте оператор if-else:
    • Если sel == 0, установите out = in0
    • Иначе установите out = in1
  8. Завершите с помощью endmodule

Попробуйте сами

// Шаг 1: Создайте модуль с именем mux2to1


  // Шаг 2: Добавьте вход in0
  
  // Шаг 3: Добавьте вход in1
  
  // Шаг 4: Добавьте вход sel
  
  // Шаг 5: Добавьте выход out (тип reg)
  

  // Шаг 6: Добавьте блок always @(*)
  

    // Шаг 7: Добавьте оператор if-else
    // Если sel == 0, out = in0
    // Иначе, out = in1
    

// Шаг 8: Endmodule

Все уроки раздела Основы