You could use a 555 timer, an oldie, but a goldie. See Figure 8 in the following:
**broken link removed**
If you need more sophistication Microchip's dsPIC30F2020 is a 16-bit micro designed for PWM applications.
In between are all kinds of things. Everybody from Analog Devices to Zilog makes something that works as a PWM. What is your application?