debouncing pushbuttons in verilog

1

Tengo dos circuitos que he diseñado usando verilog. Uno es el circuito de contador y el otro es el circuito de pulsador de rebote. Pero ahora no sé cómo crear una instancia de un modelo para que el circuito de pulsador también esté incluido en el módulo principal del contador. Por favor, ayúdeme. Estoy usando un tablero Spartan Basys-2 Spartan de Digilent xc3s100e

 Counter Circuit
  module button_binary(
    input clock,
    input reset,
    input button,
    output led,
    output led2,
    output led3,
    output led4,
    output led5,
    output led6,
    output led7,
    output led8
    );

    reg [7:0]count;

    debouncing U1
    (
    .clock  (clock),
    .reset  (reset),
    .button  (button)
    );



 always @ (posedge clock or posedge reset)
   begin
    if (reset)
        count <= 0;
    else if (button)
        count <= count + 1;
    end

    assign led = count[0];
    assign led2 = count[1];
    assign led3 = count[2];
    assign led4 = count[3];
    assign led5 = count[4];
    assign led6 = count[5];
    assign led7 = count[6];
    assign led8 = count[7];
 endmodule 
    
pregunta raghav

1 respuesta

1

No estoy seguro de lo que quiere decir con el módulo principal, pero supongo que quiere decir que está tratando de incluir el módulo de rebote dentro de su módulo de contador.

Si es así, crearía dos archivos diferentes de verilog, uno con cada módulo. En el módulo de contador, para crear una instancia del módulo de desalojo, use la siguiente sintaxis:

debouncing U0(
    .clock(clock_input_to_module),
    .reset(reset_input_to_module),
    .button(button_input_to_module),
    .out(out_output_from_module)
);

U0 es el nombre de la instancia, y los nombres de las variables dentro del paréntesis son cables y registros que declara en el módulo del contador. Los nombres con los periodos en frente son las E / S del módulo de debouncing.

Sin embargo, si necesita crear una instancia de un módulo, la sintaxis anterior es el método para hacerlo.

    
respondido por el Dr. Watson

Lea otras preguntas en las etiquetas