Below are the basic steps of PNR
flow:
Import: All design related inputs like "Gatlevel
netlist, .libs, .lefs, SDC, UPF/CPF" are read by the tool. We perform
sanity checks like check_design and check_timing to know the netlist and
DSC related issues. At this stage we need to check that timing is compare
able with the synthesis results.
Floor planning: Based on the flyline analysis macros are arranged
towards the boundary of the design. We also add blockages like soft, hard
and partial blockages or density screens to ease the congestion.
Power planning: Power mesh is build by using the top metal layers on
the entire design.
Pre-placement: At this stage tap cells, power switches are placed.
Placement: Actual placement of standard cells is done.
Post placement optimization: Optimizations are done like upsizing, buffer insertion,
fanout splitting to meet setup, tran and cap violations.
Clock tree building: On clock path buffers are inserted in such a way that
skew is minimized and latency is within the target.
Post clock tree optimization: Once clock tree building is done setup timing may
impact due to skew changes and as actual clock nets routing is done, it
may results in clock tran and cap. After CTS we check hold timing as well.
So tool does optimization of the cells to meet setup, hold, tran and cap.
Signal routing: At this stage actual signal routing is done and
basically it happens in three stages like track assignment, global routing
and detailed routing.
Post routing optimization: After actual signal routing net lengths increases so it
may results in the timing violations. So again timing optimization is done
at this stage.
Standard cell filling: In this stage std cell fillers are added in the entire
design
Metal fill: Metal pieces are added at this stage to avoid the min
and max density violations.
No comments:
Post a Comment