Professional Documents
Culture Documents
SUDHAK AR JILLA
ARVIND NARAYANAN
MENTOR GRAPHICS
W H I T E P A P E R
I C D I G I T A L D E S I G N
w w w.m e n t o r.c o m
Advanced Floorplanning with Mentor Place and Route
INTRODUCTION
As the first step in a netlist-to-GDSII design flow, floorplanning presents the SoC designer with challenges and
opportunities that affect the rest of the design flow, from block implementation to chip assembly and top-
level closure. It is particularly important in hierarchical floorplanning to quickly solve macro and IO pad
placement, accurately estimate timing, power, and area, create top-level power networks, and to efficiently
partition the design. Floorplanning for large, complex ICs and SoCs depends on a high capacity solution that
allows early timing estimations in a multi-mode, multi-corner (MCMM) context, supports all varieties of multi-
Vdd flows, and offers wide flexibility between automatic and manual placements of all floorplan objects.
In this paper, we review floorplanning challenges and show how the Mentor place and route implementation
systems (Nitro-SoC and Olympus-SoC) comprehensively addresses all those challenges to produce the best
floorplan in the shortest time.
■■ Floorplanning — block placement, pin assignment, design partitioning, time budgeting, power and clock
planning
■■ Block implementation — placement, clock tree synthesis (CTS), routing, optimization
■■ Chip assembly — block instantiation, top-level glue logic optimization, top-level CTS/routing, global wire
buffering, power and clock routing, etc.
The decisions made during floorplanning about the location of pins, pads, blocks, and partitions, as well as
the overall power plan, carry through and impact the rest of the implementation. Floorplanning allows
designers to perform “what-if” analysis of critical design metrics such as performance, timing, power, and area
when there is more flexibility in the layout. Estimations are shared, and floorplanning modifications are often
done iteratively between the package or board designers, the chip-level designer, and the block-level
engineers.
The outcome of the floorplanning stage is a completed arrangement of macros and IO pads, a power plan, and
partitioned blocks that can then be implemented in parallel. After the block implementations are complete,
everything is reassembled for top-level routing and optimization. This is where errors from poor floorplanning and
block implementation are revealed, which leads to unnecessary iterations, late-cycle unpredictability, and missed
market opportunities.
To minimize the impact of surprises in chip assembly, design teams need floorplanning, block implementation, and
chip assembly tools that accommodate small changes without disrupting the design flow. The ability to efficiently
incorporate small ECOs (engineering change orders) between the SoC-level and block level greatly reduce the risks
associated with hierarchical flows, and shorten the time to design closure. We will elaborate more on the ECO
process later in this paper.
FLOORPLANNING CHALLENGES
Each design project has different challenges and goals, but there are some issues that commonly arise for physical
design teams.
w w w. m e nto r. co m
2
Advanced Floorplanning with Mentor Place and Route
Designers need a deep knowledge of the IC, but they also need the floorplanning tool to be flexible enough
to handle different use models and shapes (rectangular or rectilinear) for regions, while always respecting the
logical hierarchy of the input netlist. Challenges in floorplanning for multi-Vdd designs lie in defining the
voltage domains, creating multiple power grids, and in inserting the special cells such as switches, level
shifters, retention registers, and always-on buffers. Poorly shaped regions and broken logical hierarchy
contribute to delayed schedules and suboptimal timing, power, and area.
Once the regions are determined, the region/partition pins are assigned. The challenge is to create pin
placements that satisfy any number of design criteria, but most importantly the timing requirements between
blocks for all corner/mode scenarios. Typically, pin assignments are based on wire length only, as determined
by Steiner-based estimations. Poor pin assignments can wreak havoc on inter-partition timing paths, and lead
to costly ECOs between the block level and chip level late in the design cycle.
w w w. m e nto r. co m
3
Advanced Floorplanning with Mentor Place and Route
Power estimations at this stage need to correlate with more detailed analysis later in the flow. Inaccurate
power estimates can allow errors in the power plans to derail block and top-level closure. Multi-Vdd designs
also introduce additional power meshes, so the floorplanner must be capable of creating and connecting
multiple power domains
While it is tempting to believe that the block implementations will advance independently of one another, the
reality is that implementation requires at least some iterations and feedback loops at the chip-level, and there
will probably be interactions among blocks as well. When the blocks can only be represented with
abstractions at the top-level, optimizations are limited to top-level logic. This limitation usually occurs
because a complete full-chip flat representation exceeds the data capacity of most tools.
Changes based on block-level work, such as modifications to block placement, incremental re-assignment of
block pin locations, power routing, or block timing and power budgets, are usually difficult to incorporate at
the chip- level. Without flexibility in use models and a robust engineering change order (ECO) capability,
designers can be stuck with time-consuming and non-convergent iterations between levels of physical and
logical hierarchy. This is particularly frustrating when faced with frequent file transfers between different
point tools in the design flow
w w w. m e nto r. co m
4
Advanced Floorplanning with Mentor Place and Route
The Mentor place and route system also supports initial IO pad placement, followed by quick iterations
between prototype macro placement and IO pad refinement. Refinement can be done through automatic,
iterative re-placements, or through manually specifying constraints through the intuitive graphical user
interface.
Whether the IOs are placed before or after the standard cells and macros, designers must be able to easily add
and edit IO constraints to configure the side and order for the pads, and the layer and pitch for the pins.
Mentor place and route floorplanner provides the IO Constraint Editor, shown in Figure 2, which displays IOs
graphically and allows the user to assign sides, orders, layers, and pitches for the IO pins. It can also infer, or
derive, constraints based on an existing IO pad (and partition pin) placement, providing a useful starting place
for further constraint editing.
Figure 2: The IO Constraints Editor facilitates pin constraint editing with cross-probing, robust filtering, and flylines. IO ports can
be automatically aligned, and the Mentor place and route floorplanner can infer constraints based on current placements.
As the floorplan, or even the block implementation, progresses and more detailed information is available,
designers often find that the pin assignments need adjustment. Rather than re-assigning all pins, Mentor
place and route floorplanner supports incremental pin assignment. Designers can specify which pins to
re-assign, while keeping the rest of the pins fixed.
After placing the IO signal pins, the tool will place the IO filler cells and power/ground pads. The IO
placements can then be written out in industry-standard formats for use by board, package, or top-level SoC
planning purposes. This link between board, package, and SoC becomes more important at 45 nm and below
because of tighter design constraints and more pad-limited designs.
w w w. m e nto r. co m
5
Advanced Floorplanning with Mentor Place and Route
As regions are hardened into partitions, the fast timing-driven prototype placement and global routing
predicts where routes will cross the partition boundaries, and assigns partition pins based on that. The
placement and routing engines support multi-mode, multi-corner constraints, so pin assignments are
optimized based on timing and wire length that will satisfy all mode/corner scenarios, as shown in Figure 4.
w w w. m e nto r. co m
6
Advanced Floorplanning with Mentor Place and Route
The Mentor place and route system performs congestion and timing-aware pinning and feedthrough insertion
based on the unified Global Route congestion prediction. The tool performs congestion abstraction to
represent core congestion and accurate timing estimation for prioritization of feedthroughs and minimizing
port punch-throughs. The proprietary pinning and feedthrough insertion algorithm ensures minimal
feedthrough count, buffer count and wire length.
MCMM timing analysis performed during floorplaning produces better IO pad and block pin assignments and
generates more accurate timing estimations for paths that span blocks.
Figure 5: With the Multi-Voltage Browser, the power domains and the cells assigned to each domain can be easily navigated.
Items selected in the browser are highlighted in the chip view for cross-probing operation.
w w w. m e nto r. co m
7
Advanced Floorplanning with Mentor Place and Route
Regardless of the number of voltage domains, the floorplanner can create and connect all power routing at
the block or top level. Rings, stripes, and vias are automatically generated based on user configuration and
connected to follow pins. Users can manually choose which vias to use or let the tool determine the correct
vias. Users can also specify which kind of power connections to make: stripe-to-stripe, stripe-to-macro, and
stripe-to-cell. Mentor place and route system has the ability to create multiple power networks for multi-Vdd
designs.
Many IC flows also call for some amount of automatic or manual detail routing and wire editing of critical nets.
For manual editing, the wire editor provides a robust and intuitive environment, supporting automatic
preferred-layer routing, via creation, and non-adjacent layer wire creation. Mentor place and route system also
provides real-time, interactive DRC, giving instant feedback for all objects being manipulated (Figure 7).
w w w. m e nto r. co m
8
Advanced Floorplanning with Mentor Place and Route
CONCLUSION
Floorplanning is the foundation of a quality IC implementation. The decisions made regarding IO pad
placement, macro placement, partitioning, pin assignment, and power planning ripple through the place-and-
route flow. Designers need solutions that can handle extremely large data sets, design variability and
complexity, in addition to enabling fast, high-quality floorplanning.
The Mentor place and route system has a complete floorplanning solution with a flexible tool infrastructure
and large capacity. It generates high-quality floorplans and accurate early estimations of design constraints
based on MCMM timing. Flexible support for mixed-level hierarchy throughout the flow keeps ECOs to a
minimum and maintains physical and logical convergences between top and block levels. Mentor place and
route system is a complete, tapeout-proven, netlist-to- GDSII solution for very large, advanced-node SoCs.