Menu
Coddy logo textTech

Projeto de Mux 2 para 1

Parte da seção Fundamentos do Journey de Verilog da Coddy — lição 64 de 90.

challenge icon

Desafio

Um multiplexador (MUX) é um circuito digital que seleciona uma de várias entradas e a encaminha para uma única saída com base em um sinal de seleção. Pense nele como um seletor de dados — você tem várias entradas chegando e escolhe qual delas vai para a saída.

Neste projeto, você construirá multiplexadores de diferentes tamanhos usando declarações if-else e case.

Multiplexador 2 para 1

O multiplexador 2 para 1 é a forma mais simples. Ele possui duas entradas de dados (in0 e in1), uma entrada de seleção (sel) e uma saída (out). Quando sel é 0, a saída segue in0. Quando sel é 1, a saída segue in1. Você implementará isso usando uma declaração if-else dentro de um bloco always @(*).

Exemplo: Se in0 = 0, in1 = 1 e sel = 1, então out = 1.

Um multiplexador 2 para 1 seleciona uma de duas entradas e a passa para a saída com base em um sinal de seleção.

Tabela Verdade

 

selout
0out = in0
1out = in1

Quando sel é 0, a saída segue in0. Quando sel é 1, a saída segue in1.

O que fazer:

  1. Crie um módulo chamado mux2to1
  2. Adicione a entrada in0 (1 bit)
  3. Adicione a entrada in1 (1 bit)
  4. Adicione a entrada sel (1 bit)
  5. Adicione a saída out (1 bit, tipo reg)
  6. Adicione um bloco always @(*)
  7. Dentro dele, adicione uma declaração if-else:
    • Se sel == 0, defina out = in0
    • Caso contrário, defina out = in1
  8. Feche com endmodule

Experimente você mesmo

// Passo 1: Criar módulo chamado mux2to1


  // Passo 2: Adicionar entrada in0
  
  // Passo 3: Adicionar entrada in1
  
  // Passo 4: Adicionar entrada sel
  
  // Passo 5: Adicionar saída out (tipo reg)
  

  // Passo 6: Adicionar bloco always @(*)
  

    // Passo 7: Adicionar instrução if-else
    // Se sel == 0, out = in0
    // Caso contrário, out = in1
    

// Passo 8: Endmodule

Todas as lições de Fundamentos