I like danny's PLL idea as the best here so far.
I'll offer this too: if it's purely digital and you don't care about pulse widths, just pulse counts, then you can simply use a small PIC12, input one side, output on the other, and drop 3 pulses for every 8 input pulses. 8 in, 5 out. You can do it all at once (i.e. reset a counter to 0, drop 3 pulses, then output the next 5, and start over), or you can intersperse it, so you count 8 pulses, but don't change the output bit on pulses #2, #5 and #7, then reset.
in: | 0 1 2 3 4 5 6 7 |
out: | 0 1 3 4 6 |
pulses 1, 4 and 6 are lengthened because of this, but the average frequency is now 5/8 of the input frequency.
@Jacques.. I think it's frequency too, due to the context. The poster mentioned a square-wave, and frequency in and divided-by 5/8 out. Generally we think of a square wave having fixed amplitude at digital logic levels, not needing to be divided down in amplitude, just level shifted between logic domains. So for level shifting it would have been worded differently, I think.