Usando a instrução Case
Parte da seção Fundamentos do Journey de Verilog da Coddy. Lição 66 de 90.
Desafio
Construa um multiplexador 4 para 1 usando uma instrução case em vez de if-else.
Tabela-verdade
| sel | out |
|---|---|
| 00 | out = in0 |
| 01 | out = in1 |
| 10 | out = in2 |
| 11 | out = in3 |
O que fazer:
- Crie um módulo chamado
mux4to1_case - Adicione as entradas
in0,in1,in2,in3(1 bit cada) - Adicione a entrada
sel(2 bits) - Adicione a saída
out(1 bit, tiporeg) - Adicione um bloco
always @(*) - Dentro dele, adicione uma instrução
case (sel) - Adicione casos para
2'b00,2'b01,2'b10,2'b11 - Adicione um caso
default - Feche com
endcaseeendmodule
Experimente você mesmo
// TODO: Criar módulo chamado mux4to1_case
// TODO: Adicionar entradas: in0, in1, in2, in3 (1 bit cada)
// TODO: Adicionar entrada sel (2 bits)
// TODO: Adicionar saída out (tipo reg)
// TODO: Adicionar bloco always @(*)
// TODO: Adicionar case (sel)
// TODO: Adicionar case 2'b00: out = in0;
// TODO: Adicionar case 2'b01: out = in1;
// TODO: Adicionar case 2'b10: out = in2;
// TODO: Adicionar case 2'b11: out = in3;
// TODO: Adicionar default: out = in0;
// TODO: Adicionar endcase
// TODO: Adicione endmoduleTodas as lições de Fundamentos
1Introdução
O que é VerilogHardware vs. SoftwareSeu primeiro móduloComentáriosNíveis de abstração de projeto4Operadores Parte 1
Operadores aritméticosOperador móduloOperadores de comparaçãoRecapitulação - Matemática simplesOperadores bit a bit7Atribuições e Portas
Atribuição ContínuaAtribuição com OperadoresPrimitivas de Portas IntegradasPortas AND, OR e NOTPortas XOR e XNORRecapitulação - Circuito de Portas Lógicas10Tomada de Decisões
Declaração IfIf - ElseRevisão - Comparador SimplesDeclaração CaseCasex e CasezRevisão - Projeto de ALU2Tipos de Dados
Tipo WireTipo RegInteiro e RealVetoresArraysParâmetrosRecapitulação - Declarar Sinais5Operadores - Parte 2
Operadores lógicosOperadores de reduçãoOperadores de deslocamentoOperador de concatenaçãoOperador condicionalRevisão - Desafio de operadores3Sistema Numérico
Representação BináriaNúmeros com Tamanho DefinidoNúmeros sem Tamanho DefinidoNúmeros NegativosValores Especiais X e ZRevisão - Formatos Numéricos6Módulos
Estrutura de MódulosPortas de Entrada e SaídaPortas InoutInstanciação de MódulosMapeamento de Portas por NomeMapeamento de Portas por OrdemRecapitulação — Construindo um MóduloPratique por conta própria: Compilador de Verilog online