Desafio - Eventos de Padrão
Parte da seção Design e Verificação RTL do Journey de Verilog da Coddy. Lição 37 de 38.
Desafio
MédioDetecte o padrão de bits 101 nas amostras de entrada aceitas. en=1 aceita bit_in na borda de subida; en=0 preserva o estado de correspondência parcial e produz hit=0. Defina o hit registrado como 1 somente quando um bit aceito completar 101. Correspondências sobrepostas são permitidas: 10101 produz dois pulsos. rst síncrono limpa o estado e hit, tendo prioridade sobre en. Colunas de saída: hit. Todos os controles e dados permanecem estáveis antes de cada borda de subida do clock; os resultados são observados depois dela.
Complete design.v e preserve os nomes dos módulos e as portas. O testbench.v bloqueado fornece as alterações de entrada e imprime as saídas depois que elas se estabilizam. Ele escolhe um cenário usando um argumento do simulador, como +CASE=1; nenhuma entrada padrão é necessária. Não adicione impressão, atrasos ou encerramento da simulação ao design. A saída esperada é uma linha de valores decimais por observação, separados por um espaço e terminando com uma nova linha.
Experimente você mesmo
module dut (input clk, input rst, input en, input bit_in, output reg hit);
// Substitua este placeholder pelo seu design.
initial hit = 0;
endmoduleTodas as lições de Design e Verificação RTL
1RTL Combinacional Confiável
Valores padrão evitam latchesCodificadores de prioridadeValidação One-HotDecodificação segura de caseRecapitulação - Roteador de requisições4RTL Sequencial Controlado
Prioridade de Reset e EnableContadores SaturantesPipeline de Dados e ValidDetecção de Bordas AmostradasRecapitulação - Contador de Eventos7Projeto - Monitor de Amostras
Acumular AmostrasAceitar Amostras Habilitadas2Larguras e Aritmética com Sinal
Preservando Bits de CarryComparações com SinalDeslocamentos Aritméticos à DireitaOverflow e SaturaçãoRecapitulação — Diferença com SinalPratique por conta própria: Compilador de Verilog online