I think balancing the clock is nothing but balancing the skew
and for that u need to check ur ctstch file
and control the skew to reduce the set up or hold violation
correct me if i am wrong
bye take care
I think your question is not clear,if you want balance all generated clk,you can define clock root pin if they generated from same source,and you can define clock groups if they come from different souces.if you just want to balance part of generated clock,you should generated cts in special paths
Your cts tool should be smart enough to know the parent of a generated clock and move the generating flop up the clock tree sufficient enough to balance the generated clock.
i feel balanceing the clock means, have to balanece the latenecies, in IP we generally add a source latency to the clk pin equal to the diff of the latency values between the clock so that every clock latency becomes equal