Hi DN,Originally posted in cdnusers.org by EngHan
I have some idea on how it is done; but it is base on my understanding of the methodology, and so might be incorrect. Here it goes:
- Pre-specified clock tree is for the tool to recognise the clock gating cell. Placement of the clock gating cell is as important as the placement of the FF. This will result in a better clock tree
- At the end of the day, global placement is mainly congestion driven + optimise the wire length. Timing coming in as timing driven, but I think it is mostly an iterative improvement at the later stage of global placement.
- Cadence has a new approach call "virtual buffer tree" which you can see in the log file at the beginning of placeDesign. It will buffer the HFO, and thus signal like reset tree is not so bad as it is seen after placeDesign.
Personally, I prefer placeDesign to perform some type of sizing and buffering. By not doing so, it cannot more accurately identify critical path during global placment. As a result, it is more common to use region/fence for SOC (okay, it is my limited experience and may be very biased. Do correct me if you think otherwise).