This stage covers chip finishing: filler, tap, end-cap and decap insertion, metal and via fill for density closure, post-fill DRC and connectivity, antenna status after repair, post-fill timing, and readiness for stream-out.
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.
| Card | Check and when | Command | Healthy | Review | Hard stop |
|---|---|---|---|---|---|
| H-01 | Filler settings After last ECO |
getFillerModeaddFiller -cell {<filler cells>} -prefix FILLER |
Filler list matches the project; zero gaps. | Fillers inserted with DRC markers, or a few explained gaps. | Wrong filler list, or filler DRC left. |
| H-02 | Filler gaps After filler insertion |
checkFiller -file <f> |
Zero gaps, no stack violation. | A few gaps beside halos, each listed and approved. | Gaps between standard cells. |
| H-03 | Tap, end-cap, decap After filler and decap |
verifyWellTap -rule <um> -report <f>reportDeCap -area <llx> <lly> <urx> <ury> |
No missing taps, and end caps and decap match the plan. | Rows with halos or blockages are skipped. | Missing taps, or taps further apart than the rule. |
| H-04 | Placement with fill After filler and decap |
checkPlace <report_file> |
No violations, and the counts equal the baseline plus the cells you added. | Violations unchanged from the baseline. | Overlaps, cells off row or core, or placed count below the baseline. |
| H-05 | Metal fill record After metal fill |
get_metal_fill_signoff_modereport_metal_fill -fill_area -file <f> |
Every required layer has fill, with the recorded settings. | A required layer has few shapes, or the floating share changed. | No report, empty summary, or the wrong fill rule file. |
| H-06 | Metal and cut density After metal fill and after any trim |
verifyMetalDensity -report <f>verifyCutDensity -layer {<cut layers>} -report <f> |
No density violation against LEF or project values. | Clean only against internal defaults. | Violating windows, or fill-rule layers never checked. |
| H-07 | DRC and connectivity after fill After fill and trim |
verify_drc -limit 0 -report <f>verifyConnectivity -type all -report <f> |
Zero DRC with no limit, and no opens or unrouted nets. | Floating-metal entries with a recorded reason. | Any DRC on fill or filler, any open or short, or a count at the limit. |
| H-08 | Antenna status After repair |
verify_antenna -report <f> |
No antenna violation, and the LEF carries antenna rules. | Repaired with diodes, placement to recheck. | Antenna violations remain after repair. |
| H-09 | Post-fill timing After fill and trim |
timeDesign -postRoute -outDir <dir> -prefix <prefix> |
Slack within budget, with fill-aware extraction. | Slack worse but inside budget, or fill only assumed. | Fill unseen by extraction, or timing beyond budget. |
| H-10 | Streamout readiness Before hand-off |
streamOut <name>.gds -mapFile <map>defOut -floorplan -routing <name>.defgetStreamOutMode |
No errors, every layer mapped, and no unexpected renames. | Renamed merged cells, or fill written to a separate file. | An unmapped routing or fill layer, or a wrong unit. |
Command cheat sheet
Legacy UI commands. Angle brackets are placeholders, and values shown are examples, not project limits.
| Filler cells | |
|---|---|
getFillerMode | The current setFillerMode settings: filler list, prefix, gap fitting, DRC checking, stack limits. Record it with the filler run. |
checkFiller | The total number of gaps found in the core, meaning sites that are missing filler cells. |
checkFiller -horizontal_max_length -vertical_stack_max_length | Violations of the horizontal and vertical stack length limits. |
setFillerMode -core {{<filler cells>}} -corePrefix FILLER | Stores the filler list and prefix for later addFiller runs. Changes the session and is saved with the design. |
addFiller -cell {<filler cells>} -prefix FILLER | Filler instances in the gaps between standard cells, then a count of the gaps that remain. Changes the database. |
addFiller -fixDRC | Replaces fillers that cause DRC violations with adjacent cells found by verify_drc. It leaves a gap if no replacement is legal. Changes the database. |
addFillerGap <um> -effort low | Moves placed cells to open gaps of at least the given size, and by default deletes routing. For use before routing only. |
deleteFiller -prefix FILLER | Removes every physical instance whose name starts with the prefix, and by default also end-cap and well-tap cells. Changes the database. |
| Tap, end-cap and decap cells | |
verifyWellTap -rule <um> -report <f> | Markers and a report for missing well taps and for taps that break the distance rule. |
reportDeCap -area <llx> <lly> <urx> <ury> | The decoupling capacitance cells placed in the area. |
addEndCap -prefix ENDCAP | End-cap instances at the ends of the site rows. Changes the database. |
addWellTap -cell <tap cell> -cellInterval <um> -prefix WELLTAP | Well-tap instances in every row at the given maximum interval. Changes the database. |
addDeCap -totCap <fF> -cells <cell> -addFixAttr | Decoupling cells totalling the requested capacitance, placed FIXED. The cells must first be defined with addDeCapCellCandidates. Changes the database. |
| Placement and density of cells | |
checkPlace <report_file> | A violation report, markers, the number of placed instances and unplaced macros, and the placement density. |
check_design -type place -out_file <f> | Placement prerequisite findings, including misaligned well taps and missing termination cells. Documented as a check run before placement, so it does not verify the finished database. |
| Metal fill and via fill | |
get_metal_fill_signoff_mode | The stored signoff metal fill options. They are saved with the design. |
report_metal_fill -fill_area -file <f> | Per layer, the number and area of fill shapes, split into floating and total. |
report_metal_fill -fill_length -file <f> | Per layer, the number and length of fill shapes. |
add_metal_fill_signoff -fill | The signoff metal fill database, through Pegasus or PVS. Needs routed metal and a rule file or technology setting. Load it with -auto_load_fills, -view_fills or -flatten before checks that need the shapes. |
add_metal_fill_signoff -incremental | Incremental fill after an ECO. |
trimMetalFillNearNet -slackThreshold <ns> -spacing <um> -spacingAbove <um> -spacingBelow <um> | Trims fill to a halo around nets whose slack is below the threshold; -remove deletes whole shapes. The spacings default to 0. Does not check DRC. Changes the database. Run verifyMetalDensity afterwards. |
streamOut <gds> -mapFile <map> -signoff_fill | A GDS file that includes the signoff fill data attached to the database. Writes a file. |
| Density verification | |
verifyMetalDensity -report <f> | A metal density report for every routing layer and macro, and markers for violations. |
verifyCutDensity -layer {<cut layers>} -report <f> | A density report for the listed cut layers. |
| DRC and connectivity after fill | |
verify_drc -limit 0 -report <f> | Every DRC violation with no limit on the count, plus markers. |
verifyConnectivity -type all -report <f> | Opens, unconnected wires, unconnected pins, loops and unrouted nets, plus markers. |
ecoRoute -fix_filler_drc_with_patch_only | Patch metal that clears filler-related DRC without rerouting. Changes the database. |
| Antenna | |
verify_antenna -report <f> | Process antenna violations, with markers and a report. |
getNanoRouteMode -route_antenna_diode_insertion | Whether the router inserts antenna diodes, and with which settings. |
setNanoRouteMode -route_antenna_diode_insertion true | Lets the router add antenna diodes, even where filler already sits. Changes the session. |
| Post-fill extraction and timing | |
getExtractRCMode -engine -effortLevel -assumeMetFill -pvs_fill | The extraction engine and fill settings in force. |
setExtractRCMode -engine postRoute -effortLevel low -assumeMetFill 1 | Makes native extraction account for fill. At postRoute the value is ignored and the LEF fill active spacing is used (0.6 um if absent). Changes the session. |
setNanoRouteMode -extract_keep_fill_wires true | Imports fill wires so that extraction can see them. Changes the session. |
setExtractRCMode -pvs_fill true -signoff_stream_layer_map <f> | Sends the attached fill data to signoff Quantus extraction. Changes the session. |
extractRC | The RC database for the current routing and fill. Changes the database. |
timeDesign -postRoute -outDir <dir> -prefix <prefix> | Extraction, timing analysis and reports saved to the directory. Run once before and once after fill. |
| Streamout and export readiness | |
getStreamOutMode | The current setStreamOutMode settings, such as cell naming, OASIS and via-cell options. |
setStreamOutMode -check_map_file true | Makes the stream-out print objects that exist in the database but are not mapped in the map file. Changes the session. |
streamOut <name>.gds -mapFile <map> -mode ALL -units <n> -merge {<macro gds files>} -reportFile <f> | A GDSII file of the database, a log summary of errors and warnings, and a report of renamed cells. Writes files. |
streamOut <name>.oas -mapFile <map> -format oasis | The same content in OASIS format. Writes a file. |
defOut -floorplan -routing <name>.def | A DEF file with floorplan, cells and routing in the NETS section. Writes a file. |
saveNetlist <name>.v -includePhysicalInst -includePowerGround | A physical netlist including fillers and physical-only PG connections. Writes a file. |