Assume your clock freq is 20MHz -> period 50ns. 70% is rise =35ns and 30% fall =15ns.
Assume 2 flops are there A and B both triggered by same clock. A launches clock with leading edge an B captures it with next leading edge. Now as you already know setup is calculated in next clock cycle so B will capture it and check for setup when the next clock leading edge arrives (rise to rise path). Let us say A launches at 0ns and B captures at 50ns.
Then your Required time is 50ns (assume no latency in clock path) and let us take Arrival time (data time) as 38ns. Therefore slack = RT-AT = 50 - 35 = 15ns so no violation. It does not matter where your fall edge comes. In this case the point is that the next rising edge comes at 50ns.
.
Now say A launches at leading edge but B captures at falling edge (rise to fall path). Arrival time is same 35ns, but now Required time = 35ns (since this is where the clock falls 70% duty cycle) So slack = RT -AT =35-35 =0 Just escaped the violation but imagine if the duty cycle would have been 50%-50% the falling edge would have come at 25ns. Thus slack would be = 25 -35 =-10 and it would violate.:roll::evil: