
Here’s an application note from Microchip describing how to make a button debouncer with the peripheral.
In this application note, a PIC10F322 is being used to implement a delay block/debouncer. The delay can be set between 2us and 193us. This can be used effectively as a noise discriminator, or for switch debouncing.

If you really want a bounce-less switch, use a SPDT button, where Vcc feeds the switch leg, button pushed contact feeds SET, and button released contact feeds RESET of an S/R flip flop. Even the crappiest button switch doesn’t bounce all the way over to the opposite contact, so contact bounce is forever zero. Even a zillion years ago, S/R flip flops were in quad packages, and more.
So this in kind of like CPLD function within the Micro?