Say a ring oscillator which involves 9 inverters and outputs a frequency of 1Ghz. What would be the best way to get an oscillating output of say 10 Mhz from this. My initial thought is using D type flip flops as dividers but I thought the oscillator output may be too fast to act as a clock so they would not function correctly. (On Silicon)
If you are building the ring oscillator and the flip-flops on the same silicon then the flip flops should be fast enough to toggle at the ring oscillator's clock frequency. With 9 inverters you get a total period equal to 18 times the inverter delay, and the internal delays of a fast flip-flop should be on the order of 4 inverter delays.
However, what you really are asking about is running a synchronous counter at that frequency. So, you also need to account for the delay through the counter combinational logic. Because of this you may need a prescalar that divides the clock by say 4 or 8, and then use the clock out of the prescalar for your counter. On the other hand, if you don't need the low frequency clock to be synchronous with the ripple counter then you can just use 6 or 7 flip-flops in an asynchronous ripple counter, and take the output of the LSB as your low frequency clock.
A prescaler would be a good solution for this. There are many options out there in the marketplace but without knowing your actual signal conditions this one looks like a good choice for you:
It's maximum operating frequency is 1.1 GHz and it provides divisions of 10, 20, 40 and 80. Just Google "prescaler" to review other options with other supply levels, input/output conditions if this one is not a drop-in for you.