1. A method for optimized buffer placement based on timing and capacitance assertions in a functional chip unit comprising a single source and multiple macros, each having a sink, wherein the placement of the source and the macros with the sinks is pre-designed and the buffers are placed in branches connecting the source with the multiple sinks, the method comprising: calculating, by a processor, an estimated slack for each branch of the branches; arranging the branches according to the calculated slack to evaluate at least one most critical branch of the branches; inserting decoupling buffers in each branch of the branches except for the at least one most critical branch; globally routing the at least one most critical branch and fixing slew conditions within this branch; subsequently, globally routing at least one next branch of the branches as arranged according to the calculated slack and fixing slew conditions within this at least one next branch, wherein globally routing the at least one next branch comprises: performing an initial routing of the at least one next branch between the source and a sink of the at least one next branch; and based on a slack of the initial routing of the at least one next branch and a slack of the global routing of the at least one most critical branch, re-routing the at least one next branch between the source and the sink of the at least one next branch, wherein the re-routing of the at least one next branch comprises: removing a portion of the global routing of the at least one most critical branch between the source and an identified point on the global routing; removing the initial routing of the at least one next branch; and routing a replacement routing of the at least one next branch between the source and the sink of the at least one next branch via the identified point, wherein a portion of the replacement routing replaces the removed portion of the global routing of the at least one most critical branch; and routing at least one remaining branch of the branches.