A computer readable storage medium storing a computer program, the computer program is configured for loading in a computer system, and calculating a branch position of a clock tree, the clock tree comprises a plurality of clock pins, a plurality of weight values are set between any of the clock pins, the computer program is configured for performing a computer executing method, wherein the computer executing method comprises:
- establishing a graph model, wherein the graph model comprises a plurality of nodes and a plurality of edges, the nodes are corresponded to the clock pins and the edges are corresponded to the weight values;
- utilizing a force directed algorithm to calculate a branch position according to the weight values and a position of the clock pins;
- setting a guide buffer in the branch position and updating a netlist;
- performing a clock tree synthesis (CTS) and executing a post-CTS static timing analysis (STA);
- determining whether an analysis result of the post-CTS STA meets a setup time constraint or not;
- and
- if the analysis result does not meet the setup time constraint, re-calculating the weight values, and re-establishing a graph model according to the weight values.