Tengo que construir un circuito que almacene un número de 32 bits. El circuito cuenta con una señal de control inc que, cuando está activa, incrementa el valor almacenado en 3 en cada ciclo. Si inc es 0, el circuito simplemente almacena su valor actual sin modificación. El reloj de entrada gobierna las transiciones de estado en el circuito en cada flanco descendente, el borrado de entrada se usa como un restablecimiento asíncrono para el valor almacenado, la entrada inc es una señal de control que activa el incremento de valores y el valor de salida es de 32 bits. Señal que se puede utilizar para leer el valor almacenado en cualquier momento.
No tengo ni idea de cómo hacer un diagrama de circuito para esto, pero esto es lo que tengo para el código verilog hasta ahora:
module increment(input clock,
input clear,
input inc,
output [31:0] value);
reg [31:0] value;
always @ (posedge clock or negedge clear)
if (clear) begin
value=32'b0;
end
else if (inc == 1) begin
value = value + 2'b11;
end
else begin
value = value;
end
endmodule
¿Esto tendría sentido dados los parámetros? ¿Alguna ayuda sobre cómo hacer un circuito fuera de esto?