setup slack = data required time - data arrival time.
here, data req time = capture clk path delay + clk period - setup - uncertainity
data arr time = launch clk path delay + clk2Q delay + combinational delay(max)
hold slack = data arr time - data req time
here, data req time = capture clk path delay + clk period + hold + uncertainity
data arr time = launch clk path delay + clk2Q delay + combinational delay(min)