Hello Frederic,
The way to determine the maximum frequency for a component is to look at all the signals going into this chip and their timings. Let's run through a quick example. Starting from the CPU, western design center gives you timings for the address bus / read-write, which are 10 to 30ns. That means RWB is valid between 10 to 30ns after the falling edge of the clock. You then need to look at the datasheet for all the chips in your glue logic and propagate those signals until your reach your component. Let's say you go through two 74HC00 NAND gates (as a fictious example), each take 0 to 19ns as per TI's datasheet, so that signal will reach the component between 10 and 30+19*2=68ns. Now the component will take some time to react to this. Let's say this is a AT28C256-15 EEPROM and we're talking about the Chip Enable signal. That chip takes between 0 and 150ns to react. So the data on the bus will be there between 10 and 68+150=218ns. And finally, the CPU has a setup time requirement for reads of let's say 10ns. This gives you the shortest period your clock can have, which is 218+10 = 228ns. That's 1000/218 = 4.58MHz in this fictious example. This is only looking at a given signal of a given component. You need to repeat this exercise for all the other signals reaching this component, figuring out where in the cycle they are valid, and what impact it has on that component's output.
I go into this process in much detail in my videos, for example here I'm talking about the ROM timings
https://youtu.be/ygr_uZ_kBh0?t=845 and here I go through a timing propagation exercise, to compute the timings of my address decoding circuit
https://youtu.be/8iGp9w-0JNQ?t=1342. I saw you in the comments before but just in case you haven't watched these particular episodes or for anyone else reading.
All in all, there is no easy formula to determine the maximum frequency you can run your clock at. It depends on all your components, how you design your circuit, and any change in your circuit can cascade to other parts and change the outcome. And even then, this is only a theoretical minimum based on the extended range of values given by the datasheets. Significant overclocking can be achieved on top of this number.
Hopefully this helps you get started! Let me know if you have any questions.