Menu
Coddy logo textTech

Desafío - Suma acotada

Parte de la sección Diseño y verificación RTL del Journey de Verilog de Coddy. Lección 38 de 38.

challenge icon

Desafío

Intermedio

Acumula la muestra de 8 bits signed en q signed en los flancos ascendentes habilitados, saturando en -128 y 127. Establece clipped de forma persistente cada vez que ocurre una saturación; una vez establecido, permanece así hasta rst o clear. Ambos controles síncronos borran q y clipped y tienen prioridad sobre en. Los flancos deshabilitados mantienen ambos valores. Columnas de salida: q, clipped. Todos los controles y datos permanecen estables antes de cada flanco ascendente del reloj; los resultados se observan después.

Completa design.v y conserva sus nombres de módulo y puertos. El testbench.v bloqueado proporciona cambios de entrada e imprime las salidas una vez estabilizadas. Elige un escenario mediante un argumento del simulador como +CASE=1; no se requiere entrada estándar. No añadas impresiones, retardos ni terminación de la simulación al diseño. La salida esperada es una fila de valores decimales por observación, separados por un espacio y terminados con un salto de línea.

Pruébalo tú mismo

module dut (input clk, input rst, input clear, input en, input signed [7:0] sample, output reg signed [7:0] q, output reg clipped);
    // Reemplaza este marcador de posición con tu diseño.
    initial q = 0;
    initial clipped = 0;
endmodule

Todas las lecciones de Diseño y verificación RTL

Practica por tu cuenta: Compilador de Verilog online