Optikon, Both PIC's and AVR's can have their code tweaked down to the clock rate of the chip, I can't speak for other architectures. There are caveats though where with an FPGA you just tell it what your timing is and it synthesizes around that. A good ASM programmer can do some really low level control of the timing on a micro controller. On a price per pound sort of scale micro controllers win, also for ease of implementation, especially to a novice micro controllers are significantly simpler.