Cadence Innovus (Legacy UI) · stage 4 of 16

Floorplan, macro and pin qualification

Covers die and core geometry, floorplan legality and utilisation, macro placement and overlap, pin assignment, early routability, and a PG connectivity snapshot.

6 min read · Free, no login

Get Innovus + ICC2 Cheat Sheets at ₹199

This stage checks the floorplan before power planning and placement begin: die and core geometry, floorplan legality and utilisation, macro placement and overlap, pin assignment, early routability, readiness for power planning, and a snapshot of special-net connectivity.

Sanity check cheat sheet

One row per command card. Read left to right: the check, the command that answers it, then what a healthy result, a result to review and a hard stop look like.

CardCheck and whenCommandHealthyReviewHard stop
F-01 Die and core geometry
After floorplan
dbGet top.fplan.boxes
dbGet top.fplan.coreBox
Coordinates equal the specification. A core offset that differs from the specification by a small amount; snapping is one possible cause, not verified. Die size different from the specification, which changes everything downstream including the package or parent-level plan.
F-02 Floorplan legality and utilisation
After floorplan
getFPlanMode -checkTypes
setFPlanMode -checkTypes {blockOnly narrowChannel} -narrowChannelThreshold <w>
checkFPlan -reportUtil
No violations for the recorded check types. TU and EU within the project budget. EU noticeably higher than TU, which means blockages and other floorplan constraints remove more area than planned. Off-grid blocks, illegal row orientation, EU at or above 100 percent in a fence or region, or EU above the project limit.
F-03 Macro placement and overlap
After macro placement
dbGet -e -p top.insts.pStatus fixed
checkPlace <report_file>
checkPlace -macroBlockage <report_file>
Fixed count equals the macro list; no checkPlace violations for macros; no channel below the width. Fixed standard cells that the specification does not mention, such as preplaced taps or spare cells. A macro left unplaced or not fixed, any macro overlap, out-of-core or off-grid violation, or a channel below the budget width.
F-04 Pin assignment
After pin placement
checkPinAssignment -outFile <f> No violations, and the pin order and side match the pin plan where the plan is entered as pin guides or groups. Pins placed but not yet matched to the parent pin plan in a hierarchical flow. Unplaced or overlapping pins, pins off track, or pins on a side that the pin plan does not allow.
F-05 Early routability
After macro placement and an initial standard-cell placement
earlyGlobalRoute
reportCongestion -hotSpot -overflow
Hotspot score and overflow within the project budget. Tool guidance calls a maximum hotspot score below 100 typically routable; the budget is the gate. Within budget, but hotspots concentrated in one macro channel. Hotspot score or overflow above the project budget.
F-06 Ready for placement
Before power planning (Chapter 5) and placement (Chapter 6)
check_design -type place -out_file <f> No errors. Followpin, well-tap or termination-cell findings before those rails and cells exist; record them and recheck after power planning. Pin access issues or PG rail misalignment on rows where standard cells will be placed.
F-07 Special-net connectivity snapshot
After floorplan, before power planning
verifyConnectivity -net {VDD VSS} -type special -noAntenna -report <f> Recorded as a baseline; opens are expected until power planning. Some macro PG pins already show as connected because floorplan preroutes exist; record which. None at this stage; this snapshot is a baseline for Chapter 5.

Command cheat sheet

Legacy UI commands. Angle brackets are placeholders, and values shown are examples, not project limits.

Geometry and grids
dbGet top.fplan.boxesThe design shape coordinates.
dbGet top.fplan.coreBoxThe core box coordinates.
get_snap_grid_info -type placementThe current placement snap grid settings.
get_snap_grid_info -type manufacturingThe current manufacturing grid settings.
getAllLayers metalThe list of metal layers, to confirm the routing stack the floorplan uses.
Floorplan legality and utilisation
getFPlanMode -checkTypesThe check types checkFPlan will run. Record it with every checkFPlan report.
setFPlanMode -checkTypes {blockOnly narrowChannel} -narrowChannelThreshold <w>Selects the block-level types (basic, oddEvenSiteRow, macroPin, color) and the narrow-channel check. The threshold is in microns and is required for narrowChannel. macroPin is checked only with setFPlanMode -snapBlockGrid LayerTrack. Changes the session.
setFPlanMode -checkTypes allSelects every checkFPlan check type, including power domain, partition and fence types that add noise in a flat block. Changes the session. The default is basic.
checkFPlanFloorplan violation markers for the selected check types.
checkFPlan -outFile <f>The same with the detail written to a file.
checkFPlan -reportUtil -outFile <f>Adds target (TU) and effective (EU) utilisation for the design, fences and regions.
checkFPlanSpace -outfile <f>Floorplan spacing rule violations, with markers.
reportUnsnapBlocksBlocks that are not snapped according to the floorplan snap preferences.
checkDesign -floorplan -noHtml -outfile <f>Off-grid tracks, instances not snapped to row sites, unplaced I/O pins, off-grid PG preroutes.
check_design -type place -out_file <f>PG rail alignment, pin access issues, missing followpins, misaligned well-tap cells and missing termination cells. Stops the script on errors.
check_library -place -all_lib_cell -file <f>Library cells that cause problems against the existing preroutes, such as bad DRC geometry or bad pin access. Meaningful once preroutes exist.
violationBrowserReport -all -report <f>Every violation flagged so far by the verification commands, written to one file.
Macros and channels
dbGet top.insts.pHaloBoxThe halo box attribute of instances, to compare macro halos with the specification. The attribute name is listed by dbGet top.insts.? and the per-macro query was not run.
dbGet -p top.insts.pStatus fixedPointers to every fixed instance; compare the count with the macro list. With no match it prints 0x0, so use -e when counting.
checkPlace <report_file>Overlap, out-of-core, off-grid, orientation, region and fence violations, with markers, and the number of unplaced macros. Treats macros as fixed. Halos count in the overlap check.
checkPlace -macroBlockage <report_file>Adds overlap checks between hard macros and macro-only blockages, which are ignored by default.
checkPlace -noHalo <report_file>The overlap check without block halos, using the place-and-route boundary instead.
checkMacroLLOnTrackHard macros whose lower-left corner is not on a Metal1/Metal2 track intersection. The default assumes those layers run in opposite directions, so confirm the layer directions in your technology. Option usage not verified.
check_macro_place_constraintA check of the macro constraints that the macro placer will honour.
report_narrow_channel -width <w>A list of narrow channels between core, macros, halos and hard blockages (the default objects), judged against the given width. Returns the channel boxes.
report_narrow_channel -width <w> -direction xThe same check in the x direction only. The default checks both directions.
reportCellPad -file <f>The cells with user padding and their padding. Padding counts in checkPlace utilisation.
reportInstPad -allThe padding of every padded instance.
Pins
checkPinAssignment -outFile <f>Pins on wrong layers, off track, overlapping, unplaced, or too close to blockages and power. Writes <design>.checkPin.rpt when no file is named.
checkPinAssignment -report_violating_pin -outFile <f>The same report listing every violating pin.
checkPinAssignment -preCheckA feasibility check that finds why pins stay unplaced in a fully abutted design. No other option can be combined with it.
checkDesign -io -noHtml -outfile <f>Unplaced I/O cells and pins, floating I/O pad pins, I/O pins tied to core cells.
getPinAssignModeThe current pin assignment settings, such as the allowed layer range.
reportPinAssignStatistics -outFile <f>Pin QoR data per partition. For hierarchical flows.
Routability
earlyGlobalRouteEstimated routes in the database for congestion and parasitic estimates. Use after placement. Not DRC clean; not for SI.
reportCongestionAverage congestion and the local hotspot score. Needs a route to exist. Blockage area is left out of the hotspot report unless -includeBlockage is given.
reportCongestion -hotSpotThe maximum and total hotspot area, the contiguous gcells with overflow.
reportCongestion -hotSpot -num_hotspot 10The same, listing the given number of hotspots.
reportCongestion -overflowHorizontal and vertical overflow.
reportCongestion -3d -overflowLayer-based overflow from the 3D congestion map.
reportDensityMapA placement density map and report, threshold 0.75 by default. Use after placement.
reportDensityMap -threshold 0.85The same, reporting only grids above 0.85.
reportPinDensityMapA pin density map and report. Use after placement.
getDensityMapModeThe current density map settings, such as the threshold and grid.
Physical cells and power structure
verifyEndCap -report <f>Markers for missing end-cap cells and end caps of the wrong type. Run after addEndCap.
verifyEndCap -wrongLocation -report <f>Adds a check that end caps sit in the right location.
verifyWellTap -report <f>Markers for missing well-tap cells and taps that break the distance rule, with the actual and rule distance. Run after addWellTap.
report_pg_keepoutEvery PG keepout box in the design. Option form not verified.
reportPowerDomain -file <f>Power-domain information. For multi-supply designs; not applicable to a single-supply block.
PG snapshot
verifyConnectivity -net {VDD VSS} -type special -noAntenna -report <f>Opens and unconnected PG pins on the named PG nets, with markers.
verifyConnectivity -type special -noUnConnPin -report <f>Special-wire checks that ignore pins not connected to any other object.
verifyPowerVia -net {VDD VSS} -report <f>Missing power-grid vias where rails and stripes overlap. Meaningful once the grid exists.
checkDesign -powerGround -noHtml -outfile <f>Unconnected or wrongly tied PG pins.