Menu
Coddy logo textTech

Desafio - Soma Limitada

Parte da seção Design e Verificação RTL do Journey de Verilog da Coddy. Lição 38 de 38.

challenge icon

Desafio

Médio

Acumule a amostra de 8 bits signed em q signed nas bordas de subida habilitadas, saturando em -128 e 127. Defina clipped persistente sempre que ocorrer saturação; uma vez definido, ele permanece definido até rst ou clear. Ambos os controles síncronos clear e rst limpam q e clipped e têm prioridade sobre en. Bordas desabilitadas mantêm ambos os valores. Colunas de saída: q, clipped. Todos os controles e dados permanecem estáveis antes de cada borda de subida do clock; os resultados são observados depois.

Complete design.v e preserve os nomes e as portas de seu módulo. O testbench.v bloqueado fornece alterações nas entradas e imprime as saídas depois que elas se estabilizam. Ele escolhe um cenário usando um argumento do simulador, como +CASE=1; não é necessária entrada padrão. 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 terminados por uma quebra de linha.

Experimente você mesmo

module dut (input clk, input rst, input clear, input en, input signed [7:0] sample, output reg signed [7:0] q, output reg clipped);
    // Substitua este placeholder pelo seu design.
    initial q = 0;
    initial clipped = 0;
endmodule

Todas as lições de Design e Verificação RTL

Pratique por conta própria: Compilador de Verilog online