Think of set up time as being frequency dependent because it has to do with when the data arrives... We can't have the data arrive exactly when the rising edge of destination clock is approaching because it would lead to metastability. This is an important concept when you are crossing clock domains, where one domain is faster or slower than the other. Set up time is always before the rising edge of the destination flop.
Hold time has less to do with when the data arrives and more to do with once it has arrived (after the destination flop's active edge) let it remain steady for some time. The diagram should help you see this.
It would of great help if you explain with a setup and hold violation example, where by changing frequency we can avoid setup violations , whereas the same is not possible with hold violation elimanation.
Suppose you have a register to register path with each register clocked by a clock of frequency 10 MHz.Consider a clock edge at time 0 at reg1 and a clock edge at time 0.1us at reg2.The setup check would be between these two edges.But if the frequency varies the time available would be different from 0.1us.But for the hold check which is done for the clock edge at time 0 at reg2,even if the frequency changes, the hold check would still be at time 0.So frequency of the clock has an effect only on the setup and not the hold
I understand that in order not to violate setup time (tsu) of a flip flop, the clock frequency must not exceed a certain limit, i.e. there is a maximum frequency, Fmax. However, when refering to the external setup time (TSU) of a chip (i.e. the chip's external data and clock pin setup time), does the Fmax varies according to the setup time provided? Example: if TSU=5ns, Fmax=100MHz; TSU=8ns, Fmax=120MHz. Is this true?
Set up time is enough to determine the max operating frequency...
Max operating frequency is where the setup slack is zero for the critical path....
as the hold violation is frequency independent...