Professional Documents
Culture Documents
Too Many Macros
Too Many Macros
Broadcom
Synopsys,
Bangalore, India
www.broadcom.com
www.synopsys.com
ABSTRACT
Modern SoC designs have several complexities and one of the major challenges we see in our
designs is the number of macros we deal with. Optimal macro placement is critical in achieving
good quality of results. Manually placing such macros can be very iterative and it requires large
engineering efforts to get to design closure.
There are multiple issues that we need to deal with while placing the macros. Achieving optimal
channel size of the macros, connectivity of macros with modules to meet timing goals, dealing
with high percentage of macros which makes looking at multiple cost functions such as timing,
SNUG 2016
Table of Contents
1. Introduction .......................................................................................................................................................................... 4
2. Design details ........................................................................................................................................................................ 4
3. Flow ........................................................................................................................................................................................... 4
4. Results ...................................................................................................................................................................................... 9
5. Conclusions ......................................................................................................................................................................... 13
6. References ........................................................................................................................................................................... 13
1. Introduction
Today’s complex SoCs have several design challenges and one of them is to arrive at an optimal macro
placement. Manually placing the several hundreds of macros can be very iterative and error prone
and it can lead to an increase in the turn-around time. There are multiple cost functions that the
designers needs to keep in mind while placing the macros like channel spacing for the macros,
connectivity of the macro with other logic modules etc. in order to achieve good QoR. At lower
technology nodes there are added restrictions on the macro placement which adds to the complexity
of doing manual macro placement. In this paper we discuss on how we leveraged the IC Compiler II’s
automatic macro placement capability to achieve good QoR and reduce the turn- around time on
macro intensive blocks.
2. Design details
Design1:
Instance Count: ~1.5M
Technology: 16FF
Frequency: 700Mhz
Number of hard macros: 370
Number of scenarios: 4 (2 setup and 2 hold)
Number of clocks: 4
Major challenges:
• Macro intensive design
• Channel congestion
• Large turn-around time
• Timing closure
3. Flow
Macro placement flow diagram:
Macro Placement
Analyzing QoR
NO
QoR ok?
Yes
place_opt flow
Analyzing QoR
NO
QoR ok?
Yes
CTS and Routing
We started with the vanilla macro placement flow as a reference and then evaluated three different
macro placement flows using IC Compiler II for achieving the best QoR.
• Flow1: Vanilla macro placement flow.
• Flow2: DFA based macro placement.
• Flow3: DFA based macro placement + incremental macro placement post place_opt.
• Flow4: Manual macro placement.
place_opt place_opt
place_opt
Incremental
Macro Placement
4. Results
Flow1: Vanilla Macro placement results:
Flow 3.1 Unfixed all the lower L shapes macros with high congestion, added a larger keepout
margin on them and performed macro placement incrementally.
Flow 3.2 Flow 3.1 plus restricted channels to buffer only blockages with 50% blocked.
Fig5: 1st iteration manual macro placement
Fig7: Final iteration macro placement
18
16
14
12 Manual Macro Placement
10
8 Automatic Macro
6 Placement
4
2
0
Experiment1 Experiment2 Experiment3
Fig8: Run time comparison (hours) manual vs automatic macro placement
5. Conclusions
- On macro intensive designs, manual macro placement is iterative and can significantly
increases the overall turn-around time.
- At lower technology nodes additional constraints need to be followed, this makes manual
macro placement tedious.
- IC Compiler II’s automatic macro placement algorithm helps at arriving at an optimal macro
placement quickly which can significantly improve the design closure time.
- Several iterations can be tried to further refine the macro placement as the runtime is really
fast. This also ensures that we can further improve on the overall design QoR
6. References
[1] IC Compiler II Update Training Slides
[2] IC Compiler II User Guide.