Does Xilinx/Vivado have something like Altera LPM?
With Vivado you can do this one of four ways:


Define the counter with HDL (uses fabric and LUTs)
Instance a DSP48 with HDL
Use block design Binary Counter, instance as 'fabric'
Use block design Binary Counter, instance as 'DSP48'


You can also define your own parameterized RTL blocks if you need something more exotic than that.