debouncing pushbuttons in verilog
I am not sure what you mean by main module, but I assume you mean that you are trying to include the debouncing module inside of your counter module??

If so, I would create two different verilog files, one with each module. In the counter module, to instantiate an instance of the debouncing module, you use the following syntax:

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


U0 is the name of the instance, and the variable names inside the parenthesis are wires and regs that you declare in the counter module.  The names with the periods in front are the I/Os of the debouncing module.

Regardless though, if you need to instantiate a module, the above syntax is the method to do so.