2 To 1 Mux Design
Часть раздела Основы путешествия по Verilog на Coddy. Урок 64 из 90.
Задание
Мультиплексор (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 выбирает один из двух входов и передаёт его на выход на основе сигнала выбора.
Таблица истинности
| sel | out |
|---|---|
| 0 | out = in0 |
| 1 | out = in1 |
Когда sel равен 0, выход повторяет значение in0. Когда sel равен 1, выход повторяет значение in1.
Что нужно сделать:
- Create модуль named
mux2to1 - Add input
in0(1 бит) - Add input
in1(1 бит) - Add input
sel(1 бит) - Add output
out(1 бит, typereg) - Add блок
always @(*) - Внутри Add оператор
if-else:- Если
sel == 0, установитьout = in0 - Else, установить
out = in1
- Если
- Завершить с помощью
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Все уроки раздела Основы
1Введение
Что такое VerilogАппаратное обеспечение и программное обеспечениеВаш первый модульКомментарииУровни абстракции проектирования4Operators Part 1
Arithmetic OperatorsModulo OperatorComparison OperatorsRecap - Simple MathBitwise Operators7Assign And Gates
Continuous AssignmentAssign With OperatorsBuilt In Gate PrimitivesAND OR NOT GatesXOR XNOR GatesRecap - Logic Gate Circuit10Decision Making
If StatementIf - ElseRecap - Simple ComparatorCase StatementCasex And CasezRecap - ALU Design5Operators Part 2
Logical OperatorsReduction OperatorsShift OperatorsConcatenation OperatorConditional OperatorRecap - Operator Challenge3Number System
Binary RepresentationSized NumbersUnsized NumbersNegative NumbersSpecial Values X And ZRecap - Number Formats6Modules
Module StructureInput And Output PortsInout PortsModule InstantiationPort Mapping By NamePort Mapping By OrderRecap - Build A Module9Procedural Blocks
Always BlockInitial BlockSensitivity ListBlocking AssignmentNon Blocking AssignmentRecap - Always vs Initial15Traffic Light Controller
Defining The StatesState Machine LogicПотренируйтесь самостоятельно: Онлайн-компилятор Verilog