Projeto de Decodificador
Parte da seção Fundamentos do Journey de Verilog da Coddy — lição 85 de 90.
Desafio
Um decodificador recebe um número binário como entrada e ativa exatamente uma saída com base nesse número. A saída que é ativada é chamada de "one-hot" porque apenas um bit está quente (1), e todos os outros estão frios (0).
Tabela Verdade (Decodificador 2 para 4)
| Entrada (in) | out0 | out1 | out2 | out3 |
|---|---|---|---|---|
| 00 | 1 | 0 | 0 | 0 |
| 01 | 0 | 1 | 0 | 0 |
| 10 | 0 | 0 | 1 | 0 |
| 11 | 0 | 0 | 0 | 1 |
Interface do Módulo
| Porta | Direção | Largura | Descrição |
|---|---|---|---|
in | input | 2 bits | Entrada binária (0 a 3) |
out0 | output | 1 bit | Ativa quando in = 00 |
out1 | output | 1 bit | Ativa quando in = 01 |
out2 | output | 1 bit | Ativa quando in = 10 |
out3 | output | 1 bit | Ativa quando in = 11 |
Sua tarefa é completar o módulo abaixo usando uma instrução case.
O que fazer:
- Quando
in = 2'b00,out0 = 1, todos os outros 0 - Quando
in = 2'b01,out1 = 1, todos os outros 0 - Quando
in = 2'b10,out2 = 1, todos os outros 0 - Quando
in = 2'b11,out3 = 1, todos os outros 0
Experimente você mesmo
module decoder (
input [1:0] in,
output reg out0,
output reg out1,
output reg out2,
output reg out3
);
// TODO: Adicionar bloco always @(*) com case (in)
// 2'b00: out0=1, outros 0
// 2'b01: out1=1, outros 0
// 2'b10: out2=1, outros 0
// 2'b11: out3=1, outros 0
endmoduleTodas as lições de Fundamentos
1Introdução
O que é VerilogHardware vs SoftwareNíveis de Abstração de ProjetoSeu Primeiro MóduloComentários4Operadores Parte 1
Operadores AritméticosOperador de MóduloOperadores de ComparaçãoRecapitulação - Matemática SimplesOperadores Bitwise7Atribuição e Portas Lógicas
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ão
Instrução IfIf - ElseRecapitulação - Comparador SimplesInstrução CaseCasex e CasezRecapitulação - Projeto de ALU2Tipos de Dados
Tipo WireTipo RegInteger e RealVetoresArraysParâmetrosRecapitulação - Declarar Sinais5Operadores Parte 2
Operadores LógicosOperadores de ReduçãoOperadores de DeslocamentoOperador de ConcatenaçãoOperador CondicionalRecapitulação - Desafio de Operadores3Sistemas de Numeração
Representação BináriaNúmeros com Tamanho DefinidoNúmeros sem Tamanho DefinidoNúmeros NegativosValores Especiais X e ZRecapitulação - Formatos de Números6Módulos
Estrutura de MóduloPortas de Entrada e SaídaPortas InoutInstanciação de MóduloMapeamento de Portas por NomeMapeamento de Portas por OrdemRecapitulação - Construa um Módulo