None of the switch debouncing methods that we have discussed are particularly well-suited to use with an FPGA and the push-button switches we have in lab. While not requiring discrete resistors, the software-like (counter based) method we settled on uses a lot of resources -- a least one flip flop for each bit of the counter. This is merely a field-expedient that we are using to get the job done in our particular case where we have lots of extra capacity on our FPGA. A better method (which you are not allowed to use until you can convince me that you understand it) is disussed here. We will cover the material that you need to understand this in several weeks, but you should know that there is a better way.

For more info on typical switch bounce, you should read this article.

Both EDN and embedded.com are excellent resources. Time spent browsing their web sites or print magazines is rarely wasted.