Astro™ User Guide: Parameters Version Z-2007.03, September 2007 Comments? Send comments on the documentation by going to http://solvnet.synopsys.com, then clicking “Enter a Call to the Support Center.” Copyright Notice and Proprietary Information Copyright © 2007 Synopsys, Inc. All rights reserved. This software and documentation contain confidential and proprietary information that is the property of Synopsys, Inc. The software and documentation are furnished under a license agreement and may be used or copied only in accordance with the terms of the license agreement. No part of the software and documentation may be reproduced, transmitted, or translated, in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without prior written permission of Synopsys, Inc., or as expressly provided by the license agreement. Right to Copy Documentation The license agreement with Synopsys permits licensee to make copies of the documentation for its internal use only. Each copy shall include all copyrights, trademarks, service marks, and proprietary rights notices, if any. Licensee must assign sequential numbers to all copies. These copies shall contain the following legend on the cover page: “This document is duplicated with the permission of Synopsys, Inc., for the exclusive use of __________________________________________ and its employees. This is copy number __________.” Destination Control Statement All technical data contained in this publication is subject to the export control laws of the United States of America. Disclosure to nationals of other countries contrary to United States law is prohibited. It is the reader’s responsibility to determine the applicable regulations and to comply with them. Disclaimer SYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Registered Trademarks (®) Synopsys, AMPS, Cadabra, CATS, CRITIC, CSim, Design Compiler, DesignPower, DesignWare, EPIC, Formality, HSIM, HSPICE, iN-Phase, in-Sync, Leda, MAST, ModelTools, NanoSim, OpenVera, PathMill, Photolynx, Physical Compiler, PrimeTime, SiVL, SNUG, SolvNet, System Compiler, TetraMAX, VCS, Vera, and YIELDirector are registered trademarks of Synopsys, Inc. Trademarks (™) AFGen, Apollo, Astro, Astro-Rail, Astro-Xtalk, Aurora, AvanWaves, Columbia, Columbia-CE, Cosmos, CosmosEnterprise, CosmosLE, CosmosScope, CosmosSE, DC Expert, DC Professional, DC Ultra, Design Analyzer, Design Vision, DesignerHDL, Direct Silicon Access, Discovery, Encore, Galaxy, HANEX, HDL Compiler, Hercules, plus Hierarchical Optimization Technology, HSIM , HSPICE-Link, i-Virtual Stepper, iN-Tandem, Jupiter, Jupiter-DP, JupiterXT, JupiterXT-ASIC, Liberty, Libra-Passport, Library Compiler, Magellan, Mars, Mars-Xtalk, Milkyway, ModelSource, Module Compiler, Planet, Planet-PL, Polaris, Power Compiler, Raphael, Raphael-NES, Saturn, Scirocco, Scirocco-i, Star-RCXT, Star-SimXT, Taurus, TSUPREM-4, VCS Express, VCSi, VHDL Compiler, VirSim, and VMC are trademarks of Synopsys, Inc. Service Marks (SM) MAP-in, SVP Café, and TAP-in are service marks of Synopsys, Inc. SystemC is a trademark of the Open SystemC Initiative and is used under license. ARM and AMBA are registered trademarks of ARM Limited. Saber is a registered trademark of SabreMark Limited Partnership and is used under license. All other product or company names may be trademarks of their respective owners. Astro User Guide: Parameters, version Z-2007.03 ii Contents 1. What’s New in This Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxii About This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxii Customer Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxvi Clock Tree Parameters Clock Tree Synthesis General Behavior Parameters . . . . . . . . . . . . . . . . . . . . . . . . best condition, typical condition, worst condition . . . . . . . . . . . . . . . . . . . . . . . . cto: buffer sizing cto: buffer relocation cto: cell sizing cto: cell relocation cto: level adjustment cto: delay insertion cto: dummy load insertion cto: reconfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . delay insertion before gate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . gated clock tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . move clock gates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . size up clock gates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clock Tree Synthesis Legalization-Controlling Placement Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ECO placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ECO weight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . legalize placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 1-4 1-5 1-7 1-8 1-9 1-9 1-10 1-11 1-11 1-12 1-13 iii iv set OV maximum displacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13 Clock Tree Synthesis Effort-Related Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . clustering effort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . reclustering iterations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . synthesis effort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14 1-15 1-16 1-16 Clock Tree Synthesis Clock Constraint Targets Parameters . . . . . . . . . . . . . . . . . . . target: best transition delay fall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . target: best transition delay rise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . target: clock insertion delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . target: clock skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . target: load capacitance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . target fanout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . target load relax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . target: transition delay fall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . target: transition delay rise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . target: worst transition delay fall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . target: worst transition delay rise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17 1-18 1-19 1-20 1-20 1-21 1-21 1-22 1-22 1-23 1-24 1-25 Clock Tree Synthesis Clock Constraint Rules Parameters . . . . . . . . . . . . . . . . . . . . rule: maximum capacitance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rule: maximum insertion delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rule: maximum skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rule: maximum transition delay fall. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rule: maximum transition delay rise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rule: maximum wire length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rule: minimum insertion delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rule: minimum transition delay fall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rule: minimum transition delay rise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rule maximum buffer levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rule maximum fanout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26 1-27 1-28 1-28 1-29 1-29 1-30 1-31 1-31 1-32 1-32 1-33 Clock Optimization Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cto: FF relocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cto: FF sizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cto: latch relocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cto: latch sizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . optimization level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-34 1-34 1-35 1-35 1-35 1-36 Clock Routing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ECO Route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set default route rule on bottom level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set default route rule on leaf net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-37 1-37 1-38 1-38 Stand-Alone Clock Optimization Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . delay balance: clock skew offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . delay balance: insertion delay offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fix load cap violation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fix transition violation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . minimize placement changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . minimize placement changes effort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-39 1-39 1-40 1-40 1-41 1-41 1-42 Other Clock Tree Synthesis Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . clock tree root minimum fanout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . explore clock tree. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fix ignore pins violations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . leaf net transition constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . length fixed buffer insertion on top. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . logic level balance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . number of hookup pins per cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . real clock useful skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . skew type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . update congestion map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . use global route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wire capacitance accuracy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-43 1-44 1-44 1-45 1-46 1-46 1-47 1-47 1-48 1-48 1-49 1-49 1-50 1-51 Changing Standard Naming Convention Parameters . . . . . . . . . . . . . . . . . . . . . . . . bottom level buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . buffer instance prefix name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . configuration output file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . file name: buffer instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . file name: clock tree timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . file name: cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . file name: FF relationship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . file name: re-synthesis nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . file name: synthesized clock tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-52 1-53 1-53 1-54 1-54 1-55 1-56 1-56 1-56 1-57 v 2. 3. vi file name: synthesized nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . net prefix name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-57 1-58 Changing Default Interpretation of Clock Constraint Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ignore library constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ignore library maximum capacitance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ignore library maximum fanout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ignore library maximum transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ignore SDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ignore SDC maximum capacitance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ignore SDC maximum fanout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ignore SDC maximum transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ignore set_clock_latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ignore set_clock_transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ignore set_clock_uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-59 1-60 1-60 1-61 1-61 1-62 1-62 1-63 1-63 1-63 1-64 1-65 Common Graph Parameters CGHIER_ENABLE_FAST_REPAIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 cg_opt_context_flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 disable_escape_char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 dont_touch_nets_connecting_ls_and_io . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 dont_use_means_dont_touch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 enable_ibt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 enable_connection_class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 max_boolean_syntax_warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 optimize_mix_signal_net. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 replace_backslash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 save_cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 Crosstalk Parameters xtDeltaDelayScale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 xtDeltaTransScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 4. xtEnableRailToRailDeltaDelay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 xtNoAdaptiveInMediumEffort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 xtNumOfTopAggr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 xtTimingWindowHighEffort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 xtUseAdaptiveDetailWvfmThresh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 xtUseNoiseWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 xtXtalkDetailWvfmThreshold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 Detail Route Parameters accessPolyPin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24 accumFloatingWireArea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24 adjustLineViaArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25 advancedRouteLoops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26 advRouteLoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27 areaNeedDoubleVia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28 areaNeedDoubleViaDRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29 areaSrLoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29 autoSaveInterval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30 autoSrLoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31 avoidWireOverlap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-32 blockageAsFatWire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33 breakAntennaToTopPin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34 checkAntennaOnPG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35 checkCellPinMinArea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36 checkIsoViaByNetType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-38 checkMergedFatWire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-38 checkTopPinMinArea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40 checkViaArrayMaxStackLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-41 vii viii connBrokenNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-42 connTieOff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-43 connTieRail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-44 cornerSpacingMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45 defaultDiodeProtect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45 defaultGateSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-46 defaultTopPinExtAntennaArea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-47 defaultTopPinExtGateSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-47 defaultViaExceedFatContactThreshold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-48 defaultWidthForStub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-49 diagonalDRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-50 diagonalMinWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-51 doAntennaConx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-52 doMaxCapConx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-54 doMaxTransConx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-55 dontMakePinFat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-55 dontMergeGateForAntenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-57 dontRotateVia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-57 dontShortDiffEEQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-59 doProbeConx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-59 doSelectedNetAntennaConx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-60 doXtalkConx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-61 dropVia1InsideM1Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-61 ecoListToFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-62 ecoMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-63 ecoScope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-64 ecoSrLoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-65 eolEnclosureOnVia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-66 expandFillTracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-67 fatSpacingToSameNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-68 feedThruPinTaper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-69 fillDataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-70 fillEndByMinSpcPercent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-71 fillMetalCloseToMinDensityValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-72 fillMetalUniformly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-73 fillNotch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-73 fillViaDataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-74 fixMinEdgeLengthByFilling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-75 floatingWireIsGateDischarge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-76 floatingWireMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-77 followPolyTrkForPolyFill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-78 groupSrLoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-78 hardMaxLayerConx. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-79 hardMinLayerConx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-80 highEffortViaDoubling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-81 ignoreFloatingWireSpacing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-82 ignoreFloatingWireToBlockageSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-83 ignoreFrozenNetDRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-84 ignoreMetalExtensionRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-85 ignoreNotchDRC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-86 ignoreSameNetAdjacentViaDRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-87 ignoreTopBndy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-87 ignoreVarSpacingToPG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-88 ignoreViaRegion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-90 isolatedViaQuadrantSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-91 isolatedViaSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-92 ix x layerLengthLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-92 lessMinAreaStackCost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-93 limitPolyLength limitM1Length limitM2Length limitM3Length limitM4Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-94 lineViaFollowPrefDir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-96 lowSkewClkRoute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-97 M1EolTip2SideSpacing M2EolTip2SideSpacing M3EolTip2SideSpacing M4EolTip2SideSpacing M5EolTip2SideSpacing M6EolTip2SideSpacing M7EolTip2SideSpacing M8EolTip2SideSpacing M9EolTip2SideSpacing M10EolTip2SideSpacing M11EolTip2SideSpacing M12EolTip2SideSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-97 m1FloatingWireArea m2FloatingWireArea m3FloatingWireArea m3FloatingWireArea m4FloatingWireArea m5FloatingWireArea m6FloatingWireArea m7FloatingWireArea m8FloatingWireArea m9FloatingWireArea m10FloatingWireArea m11FloatingWireArea m12FloatingWireArea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-99 M1FloatingWirePLength1 M2FloatingWirePLength1 M3FloatingWirePLength1 M4FloatingWirePLength1 M5FloatingWirePLength1 M6FloatingWirePLength1 M7FloatingWirePLength1 M8FloatingWirePLength1 M9FloatingWirePLength1 M10FloatingWirePLength1 M11FloatingWirePLength1 M12FloatingWirePLength1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-100 M1FloatingWirePLength2 M2FloatingWirePLength2 M3FloatingWirePLength2 M4FloatingWirePLength2 M5FloatingWirePLength2 M6FloatingWirePLength2 M7FloatingWirePLength2 M8FloatingWirePLength2 M9FloatingWirePLength2 M10FloatingWirePLength2 M11FloatingWirePLength2 M12FloatingWirePLength2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-102 M1FloatingWirePLength3 M2FloatingWirePLength3 M3FloatingWirePLength3 M4FloatingWirePLength3 M5FloatingWirePLength3 M6FloatingWirePLength3 M7FloatingWirePLength3 M8FloatingWirePLength3 M9FloatingWirePLength3 M10FloatingWirePLength3 M11FloatingWirePLength3 M12FloatingWirePLength3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-104 xi xii M1FloatingWirePLength4 M2FloatingWirePLength4 M3FloatingWirePLength4 M4FloatingWirePLength4 M5FloatingWirePLength4 M6FloatingWirePLength4 M7FloatingWirePLength4 M8FloatingWirePLength4 M9FloatingWirePLength4 M10FloatingWirePLength4 M11FloatingWirePLength4 M12FloatingWirePLength4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-106 M1FloatingWirePLength5 M2FloatingWirePLength5 M3FloatingWirePLength5 M4FloatingWirePLength5 M5FloatingWirePLength5 M6FloatingWirePLength5 M7FloatingWirePLength5 M8FloatingWirePLength5 M9FloatingWirePLength5 M10FloatingWirePLength5 M11FloatingWirePLength5 M12FloatingWirePLength5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-108 M1FloatingWirePLMinSpc1 M2FloatingWirePLMinSpc1 M3FloatingWirePLMinSpc1 M4FloatingWirePLMinSpc1 M5FloatingWirePLMinSpc1 M6FloatingWirePLMinSpc1 M7FloatingWirePLMinSpc1 M8FloatingWirePLMinSpc1 M9FloatingWirePLMinSpc1 M10FloatingWirePLMinSpc1 M11FloatingWirePLMinSpc1 M12FloatingWirePLMinSpc1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-110 M1FloatingWirePLMinSpc2 M2FloatingWirePLMinSpc2 M3FloatingWirePLMinSpc2 M4FloatingWirePLMinSpc2 M5FloatingWirePLMinSpc2 M6FloatingWirePLMinSpc2 M7FloatingWirePLMinSpc2 M8FloatingWirePLMinSpc2 M9FloatingWirePLMinSpc2 M10FloatingWirePLMinSpc2 M11FloatingWirePLMinSpc2 M12FloatingWirePLMinSpc2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-112 M1FloatingWirePLMinSpc3 M2FloatingWirePLMinSpc3 M3FloatingWirePLMinSpc3 M4FloatingWirePLMinSpc3 M5FloatingWirePLMinSpc3 M6FloatingWirePLMinSpc3 M7FloatingWirePLMinSpc3 M8FloatingWirePLMinSpc3 M9FloatingWirePLMinSpc3 M10FloatingWirePLMinSpc3 M11FloatingWirePLMinSpc3 M12FloatingWirePLMinSpc3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-114 M1FloatingWirePLMinSpc4 M2FloatingWirePLMinSpc4 M3FloatingWirePLMinSpc4 M4FloatingWirePLMinSpc4 M5FloatingWirePLMinSpc4 M6FloatingWirePLMinSpc4 M7FloatingWirePLMinSpc4 M8FloatingWirePLMinSpc4 M9FloatingWirePLMinSpc4 M10FloatingWirePLMinSpc4 M11FloatingWirePLMinSpc4 M12FloatingWirePLMinSpc4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-116 xiii xiv M1FloatingWirePLMinSpc5 M2FloatingWirePLMinSpc5 M3FloatingWirePLMinSpc5 M4FloatingWirePLMinSpc5 M5FloatingWirePLMinSpc5 M6FloatingWirePLMinSpc5 M7FloatingWirePLMinSpc5 M8FloatingWirePLMinSpc5 M9FloatingWirePLMinSpc5 M10FloatingWirePLMinSpc5 M11FloatingWirePLMinSpc5 M12FloatingWirePLMinSpc5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-118 m1FloatingWireSpacing m2FloatingWireSpacing m3FloatingWireSpacing m4FloatingWireSpacing m5FloatingWireSpacing m6FloatingWireSpacing m7FloatingWireSpacing m8FloatingWireSpacing m9FloatingWireSpacing m10FloatingWireSpacing m11FloatingWireSpacing m12FloatingWireSpacing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-120 m1PinNoOffsetVia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-121 M1StubMode M2StubMode M3StubMode M4StubMode M5StubMode M6StubMode M7StubMode M8StubMode M9StubMode M10StubMode M11StubMode M12StubMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-122 m1WireCost m2WireCost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-124 macroPinCenterConn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-125 maxAntennaPinCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-126 maxAntennaRatio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-127 maxAntennaRatioScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-128 maxCutAntennaRatio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-129 maxOffGridTrack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-130 maxStackRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-131 maxTieOffDistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-132 metalFillDensityIncrement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-133 minAntennaRatioScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-133 minLengthCheckCutMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-134 minShieldLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-135 neighboringLayerFatExtensionRange. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-136 neighboringLayerFatThreshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-137 neighboringLayerM1RecommendedSpacing neighboringLayerM2RecommendedSpacing neighboringLayerM3RecommendedSpacing neighboringLayerM4RecommendedSpacing neighboringLayerM5RecommendedSpacing neighboringLayerM6RecommendedSpacing neighboringLayerM7RecommendedSpacing neighboringLayerM8RecommendedSpacing neighboringLayerM9RecommendedSpacing neighboringLayerM10RecommendedSpacing neighboringLayerM11RecommendedSpacing neighboringLayerM12RecommendedSpacing. . . . . . . . . . . . . . . . . . . . . . . . . . 4-138 noOffGridRouting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-140 noOffsetFatVia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-142 numCPUs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-143 offGridCost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-143 offsetFillTrack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-144 optDelaySlackTarget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-145 optDelaySrLoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-145 optimizeRouteGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-146 xv xvi optSetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-147 optSrLoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-148 optViaHoldTimeThreshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-149 optViaReportExcludedNets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-150 optViaSetupSlackThreshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-151 optViaSrLoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-152 optViaTimingDriven. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-152 outputPinDischarge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-153 parallelLengthMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-154 pinTaperLengthLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-155 pinTaperMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-156 polyContIsolatedViaQuadrantSpacing via1IsolatedViaQuadrantSpacing via2IsolatedViaQuadrantSpacing via3IsolatedViaQuadrantSpacing via4IsolatedViaQuadrantSpacing via51IsolatedViaQuadrantSpacing via6IsolatedViaQuadrantSpacing via7IsolatedViaQuadrantSpacing via8IsolatedViaQuadrantSpacing via9IsolatedViaQuadrantSpacing via10IsolatedViaQuadrantSpacing via11IsolatedViaQuadrantSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-157 polyContIsolatedViaSpacing via1IsolatedViaSpacing via2IsolatedViaSpacing via3IsolatedViaSpacing via4IsolatedViaSpacing via5IsolatedViaSpacing via6IsolatedViaSpacing via7IsolatedViaSpacing via81IsolatedViaSpacing via9IsolatedViaSpacing via10IsolatedViaSpacing via11IsolatedViaSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-158 polycontMacroDensity via1MacroDensity via2MacroDensity via3MacroDensity via4MacroDensity via5MacroDensity via6MacroDensity via7MacroDensity via8MacroDensity via9MacroDensity via10MacroDensity via11MacroDensity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-160 polyMacroDensity m1MacroDensity m2MacroDensity m3MacroDensity m4MacroDensity m5MacroDensity m6MacroDensity m7MacroDensity m8MacroDensity m9MacroDensity m10MacroDensity m11MacroDensity m12MacroDensity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-161 polyWireCost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-163 portSingleConn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-164 readMetalBlockageLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-165 removeObsoleteStub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-166 reportLimit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-166 rerouteUserWire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-167 rerunDRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-168 resetMinMaxLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-168 rotateLineViaArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-169 shieldRerouteSignalNets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-170 shieldViaMinSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-171 shiftVarWidthWire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-172 xvii xviii smallJogMinLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-173 srLoop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-173 stdCellBlockageAsThin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-174 stopIfNoLicense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-176 stub2stubOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-177 timeLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-177 timingDriven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-178 timingSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-179 topAntennaFixRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-180 treatTiedFillAsFillToFillSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-181 trimUserAntenna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-182 ultraWideWireMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-183 useSideWallForAntenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-183 V1NoOffGridRouting V2NoOffGridRouting V3NoOffGridRouting V4NoOffGridRouting V5NoOffGridRouting V6NoOffGridRouting V7NoOffGridRouting V8NoOffGridRouting V9NoOffGridRouting V10NoOffGridRouting V11NoOffGridRouting V12NoOffGridRouting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-184 varSpacingToSameNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-186 viaOverMaxLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-187 wideMacroPinAsFatWire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-188 wideWireToInputPin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-189 wideWireToMacroPin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-190 wideWireToOutputPin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-191 wideWireToPadPin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-192 5. wideWireToTopPin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-193 wideWireWidthAsMin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-194 wireWidenForceWrongWay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-195 wireWidenIgnoreMinEdgeLengthVio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-196 wireWidenPieceWise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-197 wireWidenSrLoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-198 wireWidenTimingDriven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-198 wireWidenWidthScheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-199 wrongWayExtraCost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-200 wrongWayNoVia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-201 Global Route Parameters accessPolyPin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 avoidCouplingUser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 avoidXtalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 blncdToSkewCntrlRatio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 blockEdgeAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 brokenNetsThresholdPercent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 clockBalanced. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 clockComb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10 combDistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10 combMaxConnections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11 compactMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12 congestionWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12 densityDriven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13 detourLimitMinNetLen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14 extraCostsApplyPercent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14 extraWireLengthOpt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15 xix xx forceUpperLayersForCritNets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15 horReserveTracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16 ignoreViaBlockage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16 incremental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17 macroBndryDir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18 macroBndryExt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19 macroBndryTrkUtil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19 macroBndryWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20 macroCornerTrkUtil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21 mapOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21 maxDetourPercent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22 netCriticality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22 noTopLevelBusFeedThroughs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23 paEqPinNetMaxPort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24 powerDriven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24 rcOptByLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25 reportDemandOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25 reportEffectiveOverflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-26 reportGCellDensity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-26 reportNetOrdering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-27 reserveTracksForPowerFile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28 skewControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28 skewControlNetBBLowBound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29 skewControlWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29 speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-30 timingDriven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31 timingWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31 turboMode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-32 6. VABoundaryToLSWeight. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-32 verReserveTracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-33 xtalkWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-33 Layout Parasitic Extraction Parameters BlockEdgeAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 capMultiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 diaGlinkRCMultFactor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5 drOptContEstimate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5 ekIgnoreShieldNDRinDR ekShieldNDRinDRPro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6 ignoreVrClockNetSpanScalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7 ignoreVrNetSpanLengthScalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8 includePinGeomRes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8 incRCExtraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9 lengthPerVia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10 longPinGeomSpec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10 MetalnUtil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11 mixedRCExtraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12 orthCoupleMultiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12 paraCoupleMultiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13 resMultiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13 split . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14 splitThreshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14 starRCExtraction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15 usePreCalCap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16 usePreroutedSegsInVR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16 useRouteSegsFileInVR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17 useRuleCapTab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-18 xxi 7. xxii viasPerEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-18 vrCheckUseLumpPinBoxNumLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19 Placement-Driven Synthesis Optimization Parameters aggOpt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5 buf_ins_hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5 flag_cr_opt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 hfn_fanout_threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 hfn_max_fanouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7 max_iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7 max_level_buffer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8 max_runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8 max_utilization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9 move_flip_flop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9 no_new_instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10 ov_max_displaced_cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10 ov_max_displacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11 pds_message_level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11 pr_use_fpclass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12 routeOpt_fast_level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13 slack_range_hold_max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13 slack_range_hold_min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14 slack_range_setup_max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14 slack_range_setup_min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-15 target_hold_slack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-16 target_setup_slack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-16 target_utilization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-17 topo_only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-17 8. use_child_router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-18 use_global_cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19 wire_delay_model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19 xtalk_noise_limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-20 Placement Parameters allowOnSoftMacro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 autoMacroPadding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 clockMode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11 clusterGap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 clusterMaxMove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 clusterOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13 clusterSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13 congDriven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14 cornerProtect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14 createMap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15 detailMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16 doMove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16 doSwap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17 ecoBalance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-18 ecoHonorPadding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-18 ecoMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19 ecoWinsize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 enableLefDefRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 extraSpaceM2Strap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21 extraSpaceM3Strap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 fcNetWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 fcSMNetWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-23 xxiii xxiv firstCut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-23 fixMHTile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24 gradPlaceInForce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25 gradPlaceMove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25 gradPlaceMoveMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26 gradPlaceResolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27 gradPlaceRestoreBest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-28 gradPlacerIter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-28 gradPlacerOutForce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-29 guardBandX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-29 guardBandY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-30 highlightCell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31 horIOPinLayer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31 idealSlack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-32 includeSoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-32 instPadding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-33 IOnetWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-34 ioPlace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-34 ipoRegionByConn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-35 macroExpandFactor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-36 macroNetWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-36 macroPadBlkType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-37 magnetPlacebyWt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-37 magnetPlaceForce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-38 magnetPlaceIgnoreSoftBlk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-39 magnetPlaceLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-39 magnetPlaceMoveFix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-40 magnetPlaceMoveSoftFix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-40 magnetPlaceStatus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-41 magnetPlaceStopPullingAtSeq. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-42 mapOffsetH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-42 mapOffsetV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-43 markCellSoftFix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-43 masterPadding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-44 maxSorIter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-45 minLocalUtil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-46 minMacroGap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-46 minMacroPad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-47 NetlistOpt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-47 noCellUnderM0 noCellUnderM1 noCellUnderM2 noCellUnderM3 noCellUnderM4 noCellUnderM5 noCellUnderM6 noCellUnderM7 noCellUnderM8 noCellUnderM9 noCellUnderM10 noCellUnderM11 noCellUnderM12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-48 noCellUnderV01 noCellUnderV12 noCellUnderV23 noCellUnderV34 noCellUnderV45 noCellUnderV56 noCellUnderV67 noCellUnderV78 noCellUnderV87 noCellUnderV98 noCellUnderV1011 noCellUnderV1112 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-49 xxv xxvi noShortAtM0 noShortAtM1 noShortAtM2 noShortAtM3 noShortAtM4 noShortAtM5 noShortAtM6 noShortAtM7 noShortAtM8 noShortAtM9 noShortAtM10 noShortAtM11 noShortAtM12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-50 noUserSetPinUnderM1 noUserSetPinUnderM2 noUserSetPinUnderM3 noUserSetPinUnderM4 noUserSetPinUnderM5 noUserSetPinUnderM6 noUserSetPinUnderM7 noUserSetPinUnderM8 noUserSetPinUnderM9 noUserSetPinUnderM10 noUserSetPinUnderM11 noUserSetPinUnderM12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-51 oneSMPerIsland . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-53 onGrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-53 optPinHorLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-54 optPinVerLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-54 padMacro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-55 partUtilMinUpperBound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-55 pinAccessHorz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-56 pinAccessVert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-56 placeFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-57 predictPgStackVia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-58 preRouteMergeLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-58 preserveCouplingMap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-59 readPlanGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-59 regionConst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-60 regRigidity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-61 reportECO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-61 restoreFillerSnapShot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-62 secondCut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-63 seeBus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-63 seeClkRing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-64 seeClkStrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-65 seeContactArr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-66 seePath. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-66 seePGPinCon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-67 seePGRing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-68 seePGStrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-69 seeRect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-69 seeUser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-70 skipPrelim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-71 slackTarget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-71 sortObjByID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-72 spacingWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-72 speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-73 strongExclusiveness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-73 summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-74 thermConduct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-75 timingDriven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-75 timingWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-76 triNetWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-76 unitTileOrient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-77 xxvii 9. useDHCell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-77 verIOPinLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-78 voltDriven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-79 windowOV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-79 Rectilinear Parameters allowMovePG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4 controlparameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4 core2Bottom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5 core2Left. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6 core2Right . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6 core2Top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7 doubleBack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7 flipfirst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8 forceTrackAlignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8 lengthMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9 macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9 rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10 rowDirction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11 rowRatio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11 rpinECO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12 startfirst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12 stdcells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13 utilization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13 10. Timing Parameters all_macro_as_VR_block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5 ata_crp_transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5 ata_crpr_threshold_ps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6 xxviii capture_path_propagate_worst_slew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7 case_analysis_disable_entire_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8 case_analysis_sequential_propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9 clock_cell_has_multiple_edge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9 clock_gating_propagate_enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10 disable_cond_default_arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11 driving_cell_include_cell_delay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12 early_launch_at_borrowing_latches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12 group_path_opt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-14 late_recycle_memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-14 max_RG_size_multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-15 multicycle_hold_follow_setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-16 non_unate_clock_compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17 print_Clock_Timing_For_Mixed_Edges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17 pulse_latch_as_ICG_cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-18 rc_degrade_min_slew_when_rd_less_than_rnet . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-19 remove_Escape_From_Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-19 report_timing_through_sync_pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-20 rpt_max_cap_multiplier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-21 rpt_max_tran_multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-21 rpt_min_cap_multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-22 rpt_min_tran_multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-22 splitEK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-23 11. Track Assignment Parameters densityDriven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3 evenSpaceAdjustment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4 m n LayerLengthLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4 xxix xxx minimizeJog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5 netLayerLengthLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5 noiseThreshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-6 noOffGridRouting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7 parallelLimit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7 parallelLimitMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-8 runTimeMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-8 runTimingMode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-9 runXTalkIter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-10 runXTalkMode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-10 timingCost. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-11 tryGlobalLayerFirst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-12 tryGlobalLayerOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-12 variableWidthAdjustment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-13 XTalkParam. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-14 Preface FIX ME! This preface includes the following sections: • What’s New in This Release • About This Guide • Customer Support xxxi What’s New in This Release Information about new features, enhancements, and changes; known problems and limitations; and resolved Synopsys Technical Action Requests (STARs) is available in the Astro Release Notes in SolvNet. To see the Astro Release Notes, 1. Go to http://solvnet.synopsys.com/ReleaseNotes. (If prompted, enter your user name and password. If you do not have a Synopsys user name and password, follow the instructions to register with SolvNet.) 2. Click Astro, then click the release you want in the list that appears at the bottom. About This Guide This user guide describes the Astro parameters. Astro is an advanced physical design system for optimization, placement, and routing from Synopsys. It uses a specialized architecture that concurrently accounts for physical effects while optimizing the design. Audience This user guide is for design engineers who use Astro to implement designs. To use Astro, • Preface xxxii You need to have general knowledge of the Scheme programming language or the tool command language (Tcl) • You need to be familiar with physical design principles • You must be familiar with the UNIX operation system Using Swish-e With Physical Implementation Online Help The Swish-e program, which is provided for online Help, is not “Licensed Software” or “Licensed Product” in your license agreement with Synopsys. The Swish-e program is subject to the license provisions found at http://swish-e.org, where you can also find the source code for Swish-e. Related Publications For additional information about Astro, see • Synopsys Online Documentation (SOLD), which is included with the software for CD users or is available to download through the Synopsys Electronic Software Transfer (EST) system • Documentation on the Web, which is available through SolvNet at http://solvnet.synopsys.com • The Synopsys MediaDocs Shop, from which you can order printed copies of Synopsys documents, at http://mediadocs.synopsys.com You might also want to refer to the documentation for Milkyway and the following related Synopsys products: • Library Compiler • Design Compiler Preface xxxiii • IC Compiler • Physical Compiler • PrimeTime • Astro-Rail and PrimeRail • Astro Interactive Ultra • Star-RCXT • JupiterXT See also Physical Implementation Online Help, the Astro User Guide, and the Astro User Guide: Advanced Topics. Preface xxxiv Conventions The following conventions are used in Synopsys documentation. Convention Description Courier Indicates command syntax. Courier italic Indicates a user-defined value in Synopsys syntax, such as object_name. (A user-defined value that is not Synopsys syntax, such as a user-defined value in a Verilog or VHDL statement, is indicated by regular text font italic.) Courier bold Indicates user input—text you type verbatim— in Synopsys syntax and examples. (User input that is not Synopsys syntax, such as a user name or password you enter in a GUI, is indicated by regular text font bold.) [] Denotes optional parameters, such as pin1 [pin2 ... pinN] | Indicates a choice among alternatives, such as low | medium | high (This example indicates that you can enter one of three possible values for an option: low, medium, or high.) _ Connects terms that are read as a single term by the system, such as set_annotated_delay Control-c Indicates a keyboard combination, such as holding down the Control key and pressing c. \ Indicates a continuation of a command line. / Indicates levels of directory structure. Edit > Copy Indicates a path to a menu command, such as opening the Edit menu and choosing Copy. Preface xxxv Customer Support Customer support is available through SolvNet online customer support and through contacting the Synopsys Technical Support Center. Accessing SolvNet SolvNet includes an electronic knowledge base of technical articles and answers to frequently asked questions about Synopsys tools. SolvNet also gives you access to a wide range of Synopsys online services including software downloads, documentation on the Web, and “Enter a Call With the Support Center.” To access SolvNet, 1. Go to the SolvNet Web page at http://solvnet.synopsys.com. 2. If prompted, enter your user name and password. (If you do not have a Synopsys user name and password, follow the instructions to register with SolvNet.) If you need help using SolvNet, click HELP in the top-right menu bar or in the footer. Preface xxxvi Contacting the Synopsys Technical Support Center If you have problems, questions, or suggestions, you can contact the Synopsys Technical Support Center in the following ways: • Open a call to your local support center from the Web by going to http://solvnet.synopsys.com (Synopsys user name and password required), then clicking “Enter a Call With the Support Center.” • Send an e-mail message to your local support center. - E-mail support_center@synopsys.com from within North America. - Find other local support center e-mail addresses at http://www.synopsys.com/support/support_ctr. • Telephone your local support center. - Call (800) 245-8005 from within the continental United States. - Call (650) 584-4200 from Canada. - Find other local support center telephone numbers at http://www.synopsys.com/support/support_ctr. Preface xxxvii Preface xxxviii 1 Clock Tree Parameters 1 You use the clock tree parameters to fine-tune the clock tree synthesis, clock tree optimization, and clock net routing processes, as well to define the constraints that affect clock tree synthesis and optimization and the naming conventions that affect clock tree synthesis. This chapter contains the following sections: • Clock Tree Synthesis General Behavior Parameters • Clock Tree Synthesis Legalization-Controlling Placement Parameters • Clock Tree Synthesis Effort-Related Parameters • Clock Tree Synthesis Clock Constraint Targets Parameters • Clock Tree Synthesis Clock Constraint Rules Parameters 1-1 • Clock Optimization Parameters • Clock Routing Parameters • Stand-Alone Clock Optimization Parameters • Other Clock Tree Synthesis Parameters • Changing Standard Naming Convention Parameters • Changing Default Interpretation of Clock Constraint Parameters Chapter 1: Clock Tree Parameters 1-2 Clock Tree Synthesis General Behavior Parameters Table 1-1 summarizes the clock tree synthesis general behavior parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. Table 1-1 Clock Tree Synthesis General Behavior Parameters Parameter Description best condition typical condition worst condition The best condition parameter optimizes the skew for best operating conditions. The typical condition parameter optimizes the skew for typical operating conditions. The worst condition parameter optimizes the skew for worst operating conditions. cto: buffer sizing cto: buffer relocation cto: cell sizing cto: cell relocation cto: level adjustment cto: delay insertion cto: dummy load insertion cto: reconfiguration These parameters determine the order of operations during embedded clock tree optimization. delay insertion before gate Enables or disables clock tree synthesis to add any delay cells before clock gate. gated clock tree Turns gated clock tree synthesis on or off. move clock gates When set to 1, forces all clock gates to move to the center of their fanout. size up clock gates When set to 1, forces all clock gates to the largest size. Clock Tree Synthesis General Behavior Parameters 1-3 best condition, typical condition, worst condition The best condition parameter optimizes the skew for best operating conditions. The typical condition parameter optimizes the skew for typical operating conditions. The worst condition parameter optimizes the skew for worst conditions. These three parameters determine the relative weight given to each operating condition. A value of nonzero means that skew needs to be optimized for the corresponding condition during clock tree synthesis. A value of zero means that no optimization effort is expended for the corresponding condition. Note: If an operating condition is deselected in the clock tree synthesis dialog box, its weight will be set to zero irrespective of the setting in this parameter. These three parameter values indicate relative priority among the three conditions during clock tree synthesis, with higher values indicating higher priority. The absolute value of the parameters carries no meaning; only the order of the values affects the behavior of the tool. Usage axSetIntParam "acts" "best condition" 1 axSetIntParam "acts" "typical condition" 1 axSetIntParam "acts" "worst condition" 1 Chapter 1: Clock Tree Parameters 1-4 Range The valid values of best condition, typical condition, and worst condition range between 0 and 999999. The default is 1. cto: buffer sizing cto: buffer relocation cto: cell sizing cto: cell relocation cto: level adjustment cto: delay insertion cto: dummy load insertion cto: reconfiguration These parameters determine the order of operations in embedded clock tree synthesis: • The cto: buffer sizing parameter sets the order of buffer sizing in optimization. • The cto: buffer relocation parameter sets the order of buffer relocation in optimization. • The cto: cell sizing parameter sets the order of cell sizing in optimization. • The cto: cell relocation parameter sets the order of cell relocation in optimization. • The cto: level adjustment parameter sets the order of level adjustment in optimization. • The cto: delay insertion parameter sets the order of delay insertion in optimization. Clock Tree Synthesis General Behavior Parameters 1-5 • The cto: dummy load insertion parameter sets the order of dummy load insertion in optimization. • The cto: reconfiguration parameter sets the order of reconfiguration in optimization. The value of each parameter determines the order of the corresponding operation in optimization. If -1 or 8 is set, the corresponding type of optimization is not performed. If more than one of these parameters have the same value, the highest priority operation among them, as determined by this list, is performed: BS>CS>BR>CR>LA>DI>ReCon>DL. The other operations with the same value will be omitted. These parameters are only for embedded clock tree optimization. Usage axSetIntParam "acts" "cto: buffer sizing" 4 axSetIntParam "acts" "cto: buffer relocation" 6 axSetIntParam "acts" "cto: cell sizing" 3 axSetIntParam "acts" "cto: cell relocation" 5 axSetIntParam "acts" "cto: level adjustment" 0 axSetIntParam "acts" "cto: delay insertion" 1 axSetIntParam "acts" "cto: dummy load insertion" 7 axSetIntParam "acts" "cto: reconfiguration" 2 Range The valid values of all these parameters range between -1 and 8. Chapter 1: Clock Tree Parameters 1-6 Table 1-2 lists the default values of these parameters. Table 1-2 Default Values of Parameters Parameter name Default value cto: buffer sizing 4 cto: buffer relocation 6 cto: cell sizing 3 cto: cell relocation 5 cto: level adjustment 0 cto: delay insertion 1 cto: dummy load insertion 7 cto: reconfiguration 2 delay insertion before gate The delay insertion before gate parameter enables or disables clock tree synthesis to add any delay cells before clock gate. Astro clock tree synthesis builds the clock tree one gate level at a time. That is, for every clock-gating cell pre-existing in the clock tree, Astro clock tree synthesis will first do a clock tree synthesis of its fanout and hook up the clock-gating cell to the next higher level subtree as appropriate. These clock-gating cells, as well as any cells that are connected to the clock tree having a synchronous pin but not being a register or latch, are called hookup pins. Clock Tree Synthesis General Behavior Parameters 1-7 When this parameter is set to 0, clock tree synthesis is not allowed to add any delay cells before a hookup pin, which it might otherwise do in order to delay-balance the buffer-level driving the hookup pin; all hookup pins will be connected directly to the driver of that buffer level. Usage To enable clock tree synthesis to add delay cells before a clock gate, enter the following: axSetIntParam "acts" "delay insertion before gate" 1 Range The valid values are 0 or 1. The default is 1. gated clock tree The gated clock tree parameter can be used to turn on or turn off gated clock tree synthesis. If it is turned off, all cells in the fanout of the root clock net will be treated as clock sinks. Usage To turn on gated clock tree synthesis, enter the following: axSetIntParam "acts" "gated clock tree" 1 When set to 0, gated clock tree synthesis is turned off. Range The valid values are 0 or 1. The default is 1. Chapter 1: Clock Tree Parameters 1-8 move clock gates When set to 1, the move clock gates parameter forces all clock gates to move to the center of their fanout. It can be used to preprocess the clock tree for pre-existing gates. The effect of this parameter is different from the Clock Common Options dialog box setting for gate relocation. Using this parameter, all gating cells in the clock tree are moved and then located at the center of their fanout before any other processing. With the dialog box option, the clock gates will be moved only if necessary. Usage To force all clock gates to move to the center of their fanout, enter the following: axSetIntParam "acts" "move clock gates" 1 Range The valid values are 0 or 1. The default is 1. size up clock gates When set to 1, the size up clock gates parameter forces all clock gates to the largest available size. It can be used to preprocess the clock tree for pre-existing gates. The effect of this parameter is different from the Clock Common Options dialog box setting for gate sizing. Clock Tree Synthesis General Behavior Parameters 1-9 Using this parameter, all gating cells in the clock tree are sized to their largest available drive strength before any other processing. Using the dialog box option, the clock gates will be sized only if necessary. Usage To force all clock gates to the largest size, enter the following: axSetIntParam "acts" "size up clock gates" 1 Range The valid values are 0 or 1. The default is 1. Clock Tree Synthesis Legalization-Controlling Placement Parameters Table 1-3 summarizes the clock tree synthesis legalization-controlling placement parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. Table 1-3 Legalization-Controlling Placement Parameters Parameter Description ECO placement Used to perform a global ECO placement after initial clock tree synthesis. ECO weight Defines an ECO weight that is given to all cells connected to the clock tree. legalize placement Controls whether placement legalization for cells added by clock tree synthesis is performed. Chapter 1: Clock Tree Parameters 1-10 Table 1-3 Legalization-Controlling Placement Parameters (Continued) Parameter Description OV Controls whether overlap removal is used to legalize clock buffers added by Astro. set OV maximum displacement Sets the maximum displacement during overlap. ECO placement The ECO placement parameter is used to perform a global ECO placement after initial clock tree synthesis; that is, before embedded clock tree optimization. While this parameter is set to 1 by default, the ECO placement may not actually be performed because the overlap removal switch is also set to 1 by default—which turns off the effect of this parameter. Usage To perform a global ECO placement after initial clock tree synthesis, enter the following: axSetIntParam "acts" "ECO placement" 1 Range The valid values are 0 or 1. The default is 1. ECO weight The ECO weight parameter defines an ECO weight that is given to all cells connected to the clock tree (sinks, inverters, or buffers) to give preference to clock-related cells during overlap removal. Clock Tree Synthesis Legalization-Controlling Placement Parameters 1-11 Usage axSetIntParam "acts" "ECO weight" 2 Range The valid values of this parameter range between 0 and 6. The default is 2. legalize placement The legalize placement parameter controls whether placement legalization for cells added by clock tree synthesis is performed or not. Disabling legalization makes the switches for overlap and ECO placement ineffective. Without legalization, buffers will be dropped exactly at the location deemed optimal by clock tree synthesis. Therefore, not performing legalization can be useful for debugging to get an upper bound on quality of results (QoR) and to separate legalization problems from other issues. Usage To control whether placement legalization is performed for the cells added by clock tree synthesis, use the following syntax: axSetIntParam "acts" "legalize placement" 1 Range The valid values are 0 or 1. The default is 1. Chapter 1: Clock Tree Parameters 1-12 OV The OV parameter controls whether overlap removal is used to legalize clock buffers added by Astro. If overlap removal is used, every buffer will be individually legalized as soon as it gets created. If overlap removal is turned on, ECO placement will be automatically turned off. If legalize placement is turned on but overlap removal is turned off, the lock buffer locations will be chosen to take advantage of available space but no legalization will be performed to move other cells. Usage To control whether overlap removal is used to legalize clock buffers added by Astro, use the following syntax: axSetIntParam "acts" "OV" 1 Range The valid values are 0 or 1. The default is 1. set OV maximum displacement The set OV maximum displacement parameter sets the maximum displacement during overlap. The unit is μm in the database. Clock Tree Synthesis Legalization-Controlling Placement Parameters 1-13 Usage To set the maximum displacement during overlap, use the following syntax: axSetIntParam "acts" "set OV maximum displacement" 2147483647 Range The valid values of this parameter range between 0 and 999999999. The default is 2147483647. Clock Tree Synthesis Effort-Related Parameters Table 1-4 summarizes the clock tree synthesis effort-related parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. Table 1-4 Effort-Related Parameters Parameter Description clustering effort Sets the clustering effort during clock tree synthesis. reclustering iterations Sets the minimum number of iterations that the clustering algorithm takes during clock tree construction. synthesis effort The value of this parameter is multiplied by the reclustering iterations to determine the number of reclustering iterations actually used. Chapter 1: Clock Tree Parameters 1-14 clustering effort The clustering effort parameter sets the clustering effort during clock tree synthesis. Clustering effort is orthogonal to the number of reclustering iterations. For example, if effort is set to high, the high-effort clustering will be executed for the number of iterations determined by the reclustering iterations and synthesis effort parameters. Low and medium effort are the same. If high effort is selected, a more involved clustering algorithm based on pairing is invoked. Usage To set the effort to low, enter the following: axSetIntParam "acts" "clustering effort" 1 Range The valid values of this parameter range between 1 and 3. The default is 1. Table 1-5 lists the valid values of the clustering effort parameter. Table 1-5 Valid Values of the clustering effort Parameter Value Description 1 Low effort 2 Medium effort 3 High effort Clock Tree Synthesis Effort-Related Parameters 1-15 reclustering iterations The reclustering iterations parameter sets the minimum number of iterations that the clustering algorithm takes during clock tree construction. The actual number of iterations is determined by the product of synthesis effort and reclustering iterations. Usage To set the minimum number of iterations taken by the clustering algorithm during clock tree construction, use the following syntax: axSetIntParam "acts" "reclustering iterations" 4 Range The valid values of this parameter range between 0 and 999999. The default is 4. synthesis effort The synthesis effort parameter sets the synthesis effort. This parameter is equivalent to the Synthesis Effort option in the Clock Common Options dialog box. Setting the value in the Clock Common Options dialog box overwrites the value of the parameter and setting the parameter after using the dialog box overwrites the dialog box value. The value of this parameter is multiplied by the value of reclustering iterations to determine the number of reclustering iterations actually used. Chapter 1: Clock Tree Parameters 1-16 Usage To set a value for synthesis effort, use the following syntax: axSetIntParam "acts" "synthesis effort" 2 Range The valid values of this parameter range between 1 and 3. The default is 2. Clock Tree Synthesis Clock Constraint Targets Parameters Table 1-6 summarizes the clock constraint targets parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. Table 1-6 Clock Constraint Targets Parameters Parameter Description target: best transition delay fall Sets the target of the best transition delay fall of each clock net. target: best transition delay rise Sets the target of the best rise transition time of each clock net. target: clock insertion delay Sets a target for the overall insertion delay of the clock tree. target: clock skew Sets a target for the overall skew of the clock tree. target: load capacitance Sets the load capacitance target. target fanout Sets the fanout target. target load relax Enables (or disables) relaxation of the target load with each buffer level. Clock Tree Synthesis Clock Constraint Targets Parameters 1-17 Table 1-6 Clock Constraint Targets Parameters (Continued) Parameter Description target: transition delay fall Sets the target of the fall transition time of each clock net. target: transition delay rise Sets the target of the rise transition time of each clock net. target: worst transition delay fall Sets the target of the worst fall transition time of each clock net. target: worst transition delay rise Sets the target of the worst rise transition time of each clock net. target: best transition delay fall The target: best transition delay fall parameter sets the target of the best transition delay fall of each clock net. It is directly used by clock tree synthesis when creating the tree topology. The clustering and buffer-level creation will be done such that each resulting clock net has a transition time close to the target. This means that the actual transition time can be slightly bigger or smaller than the target. If the clock tree analyzer is used, the target transition value will be overridden by clock tree analyzer. This best fall transition target will override the target: transition delay fall. Usage To set the target of the best transition delay fall of each clock net, use the following syntax: axSetRealParam "acts" "target: best transition delay fall" 0.000 Chapter 1: Clock Tree Parameters 1-18 Range The valid values range between 0.000 and 999999.000. The default is 0.0. target: best transition delay rise The target: best transition delay rise parameter sets the target of the best rise transition time of each clock net. It is directly used by clock tree synthesis when creating the tree topology. The clustering and buffer-level creation is done such that each resulting clock net has a transition time close to the target. This means that the actual transition time can be slightly bigger or smaller than the target. If the clock tree analyzer is used, the target transition value will be overridden by the clock tree analyzer. This best rise transition target will override the target: transition delay rise. Usage To set the target of the best rise transition time of each clock net, use the following syntax: axSetRealParam "acts" "target: best transition delay rise" 0.000 Range The valid values range between 0.000 and 999999.000. The default is 0.0. Clock Tree Synthesis Clock Constraint Targets Parameters 1-19 target: clock insertion delay This target: clock insertion delay parameter sets the clock insertion delay target. It is equivalent to the Clock Common Options dialog box setting for clock insertion delay. This parameter is used as a target for the overall insertion delay of the clock tree; that is, if the tree generated by clock tree synthesis has smaller insertion delay, delay insertion will be performed to meet the target. This target value will be overridden by a target specified through the set_clock_latency setting in the Synopsys Design Contraints (SDC) file. Usage To set the clock insertion delay, use the following syntax: axSetRealParam "acts" "target: clock insertion delay" 0.000 Range The valid values range between 0.000 and 999999.000. The default is 0.0. target: clock skew The target: clock skew parameter sets the clock skew target. It is equivalent to the Clock Common Options dialog box setting for skew target. It is used as a target for the overall skew of the clock tree. However, it has an effect only if the clock tree analyzer is used. If the SDC file specifies the set_clock_uncertainty constraint, the smaller of the targets in the dialog box and the SDC file is used. Chapter 1: Clock Tree Parameters 1-20 Usage To set the skew target, use the following syntax: axSetRealParam "acts" "target: clock skew" 0.000 Range The valid values range between 0.000 and 999999.000. The default is 0.0. target: load capacitance The target: load capacitance parameter sets the load capacitance target. It is directly used by clock tree synthesis when creating the tree topology. The clustering and buffer-level creation is done such that the load capacitance (wire and pin) of each clock buffer is close to the target. This means that the actual load can deviate by a few units from the specified target. Usage axSetRealParam "acts" "target: load capacitance" 0.000 Range The valid values range between 0.000 and 999999.000. The default is 0.0. target fanout The target fanout parameter sets the fanout target. It can be used directly by clock tree synthesis when creating the tree topology. The clustering and buffer-level creation will be done such that the fanout of each clock buffer is close to the target. This means that the actual fanout can deviate by a few fanouts from the specified target. Clock Tree Synthesis Clock Constraint Targets Parameters 1-21 Usage To set the fanout target, use the following syntax: axSetIntParam "acts" "target fanout" 32 Range The valid values range between 0 and 999999. The default is 32. target load relax The target load relax parameter turns controls relaxation of the target load with each buffer level. When this parameter is set, the target load is used only for the leaf level of the clock tree. For all higher buffer levels, the actual target load is calculated as target load actual = target load*(1+targetLoad_relax(buffer_level-1)) Usage To control relaxation of the target load with each buffer level, use the following syntax: axSetRealParam "acts" "target load relax" 1.000 Range The valid values range between 0.000 and 999999.000. The default is 0.0. target: transition delay fall The target: transition delay fall parameter sets the target of the fall transition time of each clock net. It is directly used by clock tree synthesis when creating the tree topology. The clustering Chapter 1: Clock Tree Parameters 1-22 and buffer-level creation is done such that each resulting clock net has a transition time close to the target. This means that the actual transition time can be slightly bigger or smaller than the target. If the clock tree analyzer is used, the target transition value will be overridden by the clock tree analyzer. This fall transition target will be overridden if the fall targets for best and worst are specified separately. Usage axSetRealParam "acts" "target: transition delay fall" 0.000 Range The valid values range between 0.000 and 999999.000. The default is 0.0. target: transition delay rise The target: transition delay rise parameter sets the target of the rise transition time of each clock net. It is directly used by clock tree synthesis when creating the tree topology. The clustering and buffer-level creation will be done such that each resulting clock net has a transition time close to the target. This means that the actual transition time can be slightly bigger or smaller than the target. If the clock tree analyzer is used, the target transition value will be overridden by the clock tree analyzer. This rise transition target will be overridden if the rise targets for best and worst are specified separately. Clock Tree Synthesis Clock Constraint Targets Parameters 1-23 Usage To set the target of the rise transition time of each clock net, use the following syntax: axSetRealParam "acts" "target: transition delay rise" 0.000 Range The valid values range between 0.000 and 999999.000. The default is 0.0. target: worst transition delay fall The target: worst transition delay fall parameter sets the target of the worst fall transition time of each clock net. It is directly used by clock tree synthesis when creating the tree topology. The clustering and buffer-level creation is done such that each resulting clock net has a transition time close to the target. This means that the actual transition time can be slightly bigger or smaller than the target. If the clock tree analyzer is used, the target transition value will be overridden by the clock tree analyzer. This worst fall transition target will override target: transition delay fall. Usage To set the target of the worst fall transition time of each clock net, use the following syntax: axSetRealParam "acts" "target: worst transition delay fall" 0.000 Chapter 1: Clock Tree Parameters 1-24 Range The valid values range between 0.000 and 999999.000. The default is 0.0. target: worst transition delay rise The target: worst transition delay rise parameter sets the target of the worst rise transition time of each clock net. It is directly used by clock tree synthesis when creating the tree topology. The clustering and buffer-level creation will be done such that each resulting clock net has a transition time close to the target. This means that the actual transition time can be slightly bigger or smaller than the target. If the clock tree analyzer is used, the target transition value will be overridden by the clock tree analyzer. This worst rise transition target will override target: transition delay rise. Usage To set the target of the worst rise transition time of each clock net, use the following syntax: axSetRealParam "acts" "target: worst transition delay rise" 0.000 Range The valid values range between 0.000 and 999999.000. The default is 0.0. Clock Tree Synthesis Clock Constraint Targets Parameters 1-25 Clock Tree Synthesis Clock Constraint Rules Parameters Table 1-7 summarizes the clock constraints rules parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. Table 1-7 Clock Constraint Rules Parameters Parameter Description rule: maximum capacitance Limits the load capacitance (wire and pin) each buffer in the clock tree may drive. rule: maximum insertion delay Limits the maximum insertion delay time of each clock net. rule: maximum skew Sets one of the global timing/clock tree constraints. rule: maximum transition delay fall Limits the maximum fall transition time of each clock net. rule: maximum transition delay rise Limits the maximum rise transition time of each clock net. rule: maximum wire length Used in topology-based buffer insertion with global route. rule: minimum insertion delay Limits the minimum insertion delay time of each clock net. rule: minimum transition delay fall Limits the minimum fall transition time of each clock net. rule: minimum transition delay rise Limits the minimum rise transition time of each clock net. Chapter 1: Clock Tree Parameters 1-26 Table 1-7 Clock Constraint Rules Parameters (Continued) Parameter Description rule maximum buffer levels Limits the level of buffers clock tree synthesis might add to the value specified. rule maximum fanout Limits the fanout each buffer in the clock tree may drive. rule: maximum capacitance The rule: maximum capacitance parameter limits the load capacitance (wire and pin) each buffer in the clock tree may drive. This parameter is equivalent to the Maximum Load Capacitance option in the Clock Tree Constraints dialog box. If rule: maximum capacitance is smaller than the target load capacitance, the rule: maximum capacitance parameter will be used as the target capacitance. Target will be 80 percent of constraint if the constraint is smaller than the target. Usage To limit the load capacitance (wire and pin) each buffer in the clock tree may drive, use the following syntax: axSetRealParam "acts" "rule: maximum capacitance" -0.500 Range The valid values of this parameter range between 0.000 and 999999.000. The default is -0.5. Clock Tree Synthesis Clock Constraint Rules Parameters 1-27 rule: maximum insertion delay The rule: maximum insertion delay parameter limits the maximum insertion delay time of each clock net. It is overwritten by the Maximum Insertion Delay option in the Clock Tree Constraints dialog box. Usage To limit the maximum insertion delay time of each clock net, use the following syntax: axSetRealParam "acts" "rule: maximum insertion delay" 0.000 Range The valid values of this parameter range between 0.000 and 999999.000. The default is 0.0. rule: maximum skew The rule: maximum skew parameter sets one of the global timing/ clock tree constraints. Usage To set one of the global timing/clock tree constraints, use the following syntax: axSetRealParam "acts" "rule: maximum skew" 0.000 Range The valid values of this parameter range between 0.000 and 999999.000. The default is 0.0. Chapter 1: Clock Tree Parameters 1-28 rule: maximum transition delay fall The rule: maximum transition delay fall parameter limits the maximum fall transition time of each clock net. It is overwritten by the Maximum Transition Delay option in the Clock Tree Constraints dialog box. If rule: maximum transition delay fall is smaller than the target transition time, then rule: maximum transition delay fall will be used as target transition time. Target will be 80 percent of constraint if the constraint is smaller than the target. Usage To limit the maximum fall transition time of each clock net, use the following syntax: axSetRealParam "acts" "rule: maximum transition delay fall" -0.500 Range The valid values of this parameter range between 0.000 and 999999.000. The default is -0.5. rule: maximum transition delay rise The rule: maximum transition delay rise parameter limits the maximum rise transition time of each clock net. It is overwritten by the Maximum Transition Delay option in the Clock Tree Constraints dialog box. Clock Tree Synthesis Clock Constraint Rules Parameters 1-29 If rule: maximum transition delay rise is smaller than the target transition time, then rule: maximum transition delay rise will be used as target transition time. Target will be 80 percent of constraint if the constraint is smaller than the target. Usage To limit the maximum rise transition time of each clock net, use the following syntax: axSetRealParam "acts" "rule: maximum transition delay rise" -0.500 Range The valid values of this parameter range between 0.000 and 999999.000. The default is -0.5. rule: maximum wire length The rule: maximum wire length parameter is used in topology-based buffer insertion with global route. Usage To use topology-based buffer insertion with global route, use the following syntax: axSetRealParam "acts" "rule: maximum wire length" 0.000 Range The valid values of this parameter range between 0.000 and 999999.000. The default is 0, which will use a default value (2000 μm). Chapter 1: Clock Tree Parameters 1-30 rule: minimum insertion delay The rule: minimum insertion delay parameter limits the minimum insertion delay time of each clock net. It is overwritten by the Minimum Insertion Delay option in the Clock Tree Constraints dialog box. Usage To limit the minimum insertion delay time of each clock net, use the following syntax: axSetRealParam "acts" "rule: minimum insertion delay" 0.000 Range The valid values of this parameter range between 0.000 and 999999.000. The default is 0. rule: minimum transition delay fall The rule: minimum transition delay fall parameter limits the minimum fall transition time of each clock net. Usage To limit the minimum fall transition time of each clock net, use the following syntax: axSetRealParam "acts" "rule: minimum transition delay fall" 0.000 Range The valid values of this parameter range between 0.000 and 999999.000. The default is 0.0. Clock Tree Synthesis Clock Constraint Rules Parameters 1-31 rule: minimum transition delay rise The rule: minimum transition delay rise parameter limits the minimum rise transition time of each clock net. Usage To limit the minimum rise transition time of each clock net, use the following syntax: axSetRealParam "acts" "rule: minimum transition delay rise" 0.000 Range The valid values of this parameter range between 0.000 and 999999.000. The default is 0.0. rule maximum buffer levels The rule maximum buffer levels parameter specifies the maximum number of buffer levels that clock tree synthesis is allowed to add. It is equivalent to the Maximum Buffer Level option in the Clock Tree Constraints dialog box. It is important to understand that this constraint will be applied per gate level; that is, if your clock tree has several serial gating cells, each subtree can have up to 99 rule maximum buffer levels levels. Another thing to note is that when the maximum number of levels is reached clock tree synthesis will stop any further processing; that is, if an unrealistic constraint is specified, the resulting tree will still contain DRC violations. Chapter 1: Clock Tree Parameters 1-32 Usage To limit the level of buffers clock tree synthesis might add, use the following syntax: axSetIntParam "acts" "rule maximum buffer levels" 20 Range The valid values range between 0 and 99. The default is 20. rule maximum fanout The rule maximum fanout parameter limits the fanout that each buffer in the clock tree may drive. It is equivalent to the Maximum Fanout option in the Clock Tree Constraints dialog box. If rule maximum fanout is smaller than the target fanout, the rule maximum fanout parameter will be used as target fanout. Usage To limit the fanout that each buffer in the clock tree may drive, use the following syntax: axSetIntParam "acts" "rule maximum fanout" 64 Range The valid values range between 0 and 999999. The default is 64. Clock Tree Synthesis Clock Constraint Rules Parameters 1-33 Clock Optimization Parameters Table 1-8 summarizes the clock optimization parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. Table 1-8 Clock Optimization Parameters Parameter Description cto: FF relocation Enables (or disables) flip-flop relocation during optimization. cto: FF sizing Enables (or disables) flip-flop sizing during optimization. cto: latch relocation Enables (or disables) latch relocation during optimization. cto: latch sizing Enables (or disables) latch sizing during optimization. optimization level Sets the optimization level. cto: FF relocation The cto: FF relocation parameter enables or disables flip-flop relocation during optimization. This parameter is used only for embedded clock tree optimization. Usage To turn on flip-flop relocation during optimization, enter the following: axSetIntParam "acts" "cto: FF relocation" 1 Range The valid values are 0 or 1. The default is 0. Chapter 1: Clock Tree Parameters 1-34 cto: FF sizing The cto: FF sizing parameter enables or disables flip-flop sizing during optimization. This parameter is used only for embedded clock tree optimization. Usage To turn on flip-flop sizing during optimization, enter the following: axSetIntParam "acts" "cto: FF sizing" 1 Range The valid values are 0 or 1. The default is 0. cto: latch relocation The cto: latch relocation parameter enables or disables latch relocation during optimization. This parameter is used only for embedded clock tree optimization. Usage To turn on latch relocation during optimization, enter the following: axSetIntParam "acts" "cto: latch relocation" 1 Range The valid values are 0 or 1. The default is 0. cto: latch sizing The cto: latch sizing parameter enables or disables latch sizing during optimization. This parameter is used only for embedded clock tree optimization. Clock Optimization Parameters 1-35 Usage To turn on latch sizing during optimization, enter the following: axSetIntParam "acts" "cto: latch sizing" 1 Range The valid values are 0 or 1. The default is 0. optimization level The optimization level parameter sets the optimization level. It is the same as the Optimization Effort option in the Clock Common Options dialog box. Higher values correspond to higher effort. Usage To set the optimization level, use the following syntax: axSetIntParam "acts" "optimization level" 3 Range The valid values of this parameter range between 0 and 999999. The default is 3. Chapter 1: Clock Tree Parameters 1-36 Clock Routing Parameters Table 1-9 summarizes the clock routing parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. Table 1-9 Clock Routing Parameters Parameter Description ECO Route Determines whether ECO route is performed after postroute clock tree optimization. set default route rule on bottom level Resets the variable route rule applied to the sub clock tree nets for the bottom n nets. set default route rule on leaf net Resets the variable route rule applied to the sub clock tree nets for the lowest-level nets (leaf nets) only. ECO Route The ECO Route parameter determines whether ECO route is performed after postroute clock tree optimization. Usage To perform ECO route after postroute clock tree optimization, enter the following: axSetIntParam "acts" "ECO Route" 1 Range The valid values are 0 or 1. The default is 0. Clock Routing Parameters 1-37 set default route rule on bottom level By default, clock tree synthesis propagates a variable route rule applied to the root clock net before clock tree synthesis to all its sub clock tree nets. The set default route rule on bottom level parameter resets the variable route rule applied to the sub clock tree nets for the bottom n nets, where n is the value of the parameter. Usage axSetIntParam "acts" "set default route rule on bottom level" 0 Range The valid values of this parameter range between 0 and 999999. The default is 0. set default route rule on leaf net By default, clock tree synthesis propagates a variable route rule applied to the root clock net before clock tree synthesis to all its sub clock tree nets. The set default route rule on leaf net parameter resets the variable route rule applied to the sub clock tree nets for the lowest-level nets (leaf nets) only. Usage axSetIntParam "acts" "set default route rule on leaf net" 0 Range The valid values are 0 or 1. The default is 0. Chapter 1: Clock Tree Parameters 1-38 Stand-Alone Clock Optimization Parameters Table 1-10 summarizes the stand-alone clock optimization parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. Table 1-10 Stand-alone Clock Optimization Parameters Parameter Description delay balance: clock skew offset Sets stand-alone CTO allowed percentage change of individual clock's skew for delay balance. delay balance: insertion delay offset Sets stand-alone clock tree optimization allowed insertion delay offset (percentage) difference for delay balance. fix load cap violation Turns on (or off) stand-alone clock tree optimization to fix load capacitance violations. fix transition violation Turns on (or off) stand-alone clock tree optimization to fix transition violations. minimize placement changes Turns on (or off) stand-alone clock tree optimization to minimize placement changes. minimize placement changes effort Sets effort for minimizing placement changes. delay balance: clock skew offset The delay balance: clock skew offset parameter sets the allowed percentage change of individual clock's skew for delay balance during stand-alone clock tree optimization. Stand-Alone Clock Optimization Parameters 1-39 Usage axSetRealParam "aco" "delay balance: clock skew offset" 0.050 Range The valid values of this parameter range between 0.000 and 1.000. The default is 0.05. delay balance: insertion delay offset The delay balance: insertion delay offset parameter sets the allowed insertion delay offset (percentage) difference for delay balance during stand-alone clock tree optimization. Usage axSetRealParam "aco" "delay balance: insertion delay offset" 0.010 Range The valid values of this parameter range between 0.000 and 1.000. The default is 0.01. fix load cap violation The fix load cap violation parameter turns on (or off) stand-alone clock tree optimization to fix load capacitance violations. Usage To turn on stand-alone clock tree optimization to fix load capacitance violation, enter the following: axSetIntParam "aco" "fix load cap violation" 1 Chapter 1: Clock Tree Parameters 1-40 Range The valid values are 0 or 1. The default is 1. fix transition violation The fix transition violation parameter turns on (or off) stand-alone clock tree optimization to fix transition violations. Usage To turn on stand-alone clock tree optimization to fix transition violations, enter the following: axSetIntParam "aco" "fix transition violation" 1 Range The valid values are 0 or 1. The default is 1. minimize placement changes The minimize placement changes parameter turns on (or off) stand-alone clock tree optimization to minimize placement changes. Usage To turn on stand-alone clock tree optimization to minimize placement changes, enter the following: axSetIntParam "aco" "minimize placement changes" 1 Range The valid values are 0 or 1. The default is 1. Stand-Alone Clock Optimization Parameters 1-41 minimize placement changes effort The minimize placement changes effort parameter sets the level of effort for minimizing placement changes. Usage To set medium effort for minimizing placement changes, enter the following: axSetIntParam "aco" "minimize placement changes effort" 2 Range The valid values of this parameter range between 0 and 3. The default is 2. Table 1-11 lists the valid values of the minimize placement changes effort parameter and their description. Table 1-11 Valid Values of the minimize placement changes effort Parameter Value Description 1 Low effort 2 Medium effort 3 High effort Chapter 1: Clock Tree Parameters 1-42 Other Clock Tree Synthesis Parameters Table 1-12 summarizes other clock tree synthesis parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. Table 1-12 Other Clock Tree Synthesis Parameters Parameter Description clock tree root minimum fanout Used as part of the stop criteria for clustering when building the tree. CTA Enables or disables the clock tree analyzer. explore clock tree Set to turn on clock tree synthesis search for the optimal buffer and target load to be used by a search of the solution space. fix ignore pins violations Enables or disables DRC fixing beyond an implicit ignore pin on data-mixing clock gate. leaf net transition constraint Uses the tightest clock transition of the leaf net. length fixed buffer insertion on top Set to run the top-mode clock tree synthesis. logic level balance Set to use logic-level balance for clock tree synthesis. number of hookup pins per cluster Sets the maximum number of hookup pins per cluster. real clock useful skew Enables useful clock skew for clock tree synthesis. skew type Sets the skew type. Other Clock Tree Synthesis Parameters 1-43 Table 1-12 Other Clock Tree Synthesis Parameters (Continued) Parameter Description update congestion map Set to force clock tree synthesis to update the placement-based congestion map at various points while it runs. use global route Set to use global route for clock tree synthesis. wire capacitance accuracy Toggles to and from less accurate capacitance estimation. clock tree root minimum fanout The clock tree root minimum fanout parameter is used as one of the stop criteria for clustering when building the tree. No further buffer levels are added to the tree if number of fanouts at the current level is already smaller than this minimum fanout. Usage axSetIntParam "acts" "clock tree root minimum fanout" 1 Range The valid values range between 0 and 99999999. The default is 1. CTA The CTA parameter enables or disables the clock tree analyzer. Clock tree synthesis buffer selection and clustering is driven by target capacitance and target transition parameters. If the CTA parameter is set to 1, the user-supplied targets for skew and Chapter 1: Clock Tree Parameters 1-44 insertion delay will be converted to target transition and target capacitance values that meet the skew and insertion delay targets with the best overall QoR of the tree. If the CTA parameter is turned off, the user-supplied or default settings for target capacitance and target transition will be used. Usage To enable the clock tree analyzer, enter the following: axSetIntParam "acts" "CTA" 1 Range The valid values are 0 or 1. The default is 1. explore clock tree The explore clock tree parameter turns on (or off) clock tree synthesis search for the optimal buffer and target load to be used by a search of the solution space. For each buffer available as a clock buffer according to dialog box settings and astSetClockCell, you can explore eight different target capacitance values between a minimum of two x input capacitance of the buffer and a maximum defined by max_capacitance for the buffer. The default is disabled because of runtimes. Usage To turn on clock tree synthesis search for the optimal buffer and target load, enter the following: axSetIntParam "acts" "explore clock tree" 1 Other Clock Tree Synthesis Parameters 1-45 Range The valid values are 0 or 1. The default is 0. fix ignore pins violations The fix ignore pins violations parameter enables or disables DRC fixing beyond an implicit ignore pin on data-mixing clock gate. If some deep combinational logic is hooked up to the clock tree (for example, in clock data mixing), and clock tree synthesis cannot trace to the next sync/ignore/stop pin, it will identify an implicit ignore pin automatically. This allows clock tree synthesis to proceed. However, other optimizations will consider all cells and nets in the transitive fanout of the implicit ignore pin as clocks and will not touch them. If the fix ignore pins violations parameter is set to 1, clock tree synthesis will do a DRC fix for these nets and cells. Usage To enable DRC fixing beyond an implicit ignore pin on data mixing clock gate, enter the following: axSetIntParam "acts" "fix ignore pins violations" 1 Range The valid values are 0 or 1. The default is 1. leaf net transition constraint The leaf net transition constraint parameter uses the tightest clock transition of the leaf net. Chapter 1: Clock Tree Parameters 1-46 Usage To use the tightest clock transition of the leaf net, enter the following: axSetIntParam "acts" "leaf net transition constraint" 1 Range The valid values are 0 or 1. The default is 0. length fixed buffer insertion on top The length fixed buffer insertion on top parameter is set to run the top mode clock tree synthesis as it runs in version V-2004.06 and earlier. Usage To run the top mode clock tree synthesis, enter the following: axSetIntParam "acts" "length fixed buffer insertion on top" 1 Range The valid values are 0 or 1. The default is 0. logic level balance The logic level balance parameter is set to use logic-level balance for clock tree synthesis. Usage To use logic-level balance for clock tree synthesis, enter the following: axSetIntParam "acts" "logic level balance" 1 Other Clock Tree Synthesis Parameters 1-47 Range The valid values are 0 or 1. The default is 0. number of hookup pins per cluster The number of hookup pins per cluster parameter sets the maximum number of hookup pins per cluster. Usage To set the maximum number of hookup pins per cluster as 32, enter the following: axSetIntParam "acts" "number of hookup pins per cluster" 32 Range The valid values range between 0 and 999999. The default is 32. real clock useful skew The real clock useful skew parameter enables or disables useful clock skew for clock tree synthesis. In the case of useful skew, it is actually executed only if both this switch and the skew type switch are set for useful skew. The Clock Tree Synthesis dialog box sets both switches if useful skew is selected. Usage To enable useful clock skew for clock tree synthesis, enter the following: axSetIntParam "acts" "real clock useful skew" 1 Chapter 1: Clock Tree Parameters 1-48 Range The valid values are 0 or 1. The default is 1. skew type The skew type parameter used to set the skew type. It is equivalent to the skew type selection in the Clock Tree Synthesis dialog box. Usage To set the skew type as global, enter the following: axSetIntParam "acts" "skew type" 0 Range The valid values of this parameter range between 0 and 2. The default is 0. Table 1-13 lists the valid values of the skew type parameter and their description. Table 1-13 Valid Values of the skew type Parameter Value Description 0 Global 1 Local 2 Useful update congestion map The update congestion map parameter, when set to 1, forces clock tree synthesis to update the placement-based congestion map at various points while it runs. This decreases capacitance Other Clock Tree Synthesis Parameters 1-49 estimation error induced by congestion map and layout getting out of sync by added clock tree synthesis buffers. It increases the chance of convergence issues and causes longer runtime, especially for clock tree optimization. If switched on, the congestion map is updated after initial clock tree synthesis and after embedded clock tree optimization. However, if the debug mode parameter is on, the congestion map will always be updated at the end of clock tree synthesis. Usage To force clock tree synthesis to update the placement-based congestion map at various points, enter the following: axSetIntParam "acts" "update congestion map" 1 Range The valid values are 0 or 1. The default is 0. use global route The use global route parameter is set to use global route for clock tree synthesis. Usage To use global route for clock tree synthesis, enter the following: axSetIntParam "acts" "use global route" 1 Range The valid values are 0 or 1. The default is 1. Chapter 1: Clock Tree Parameters 1-50 wire capacitance accuracy The wire capacitance accuracy parameter determines the accuracy of capacitance estimation. For medium and high effort, there is no difference and clock tree synthesis calls the Astro extraction engine to perform net capacitance estimation from a virtual route. For low effort, a crude estimation based on Steiner weights and bounding box of net fanout is used. Usage To control the accuracy of capacitance estimation, use the following syntax: axSetIntParam "acts" "wire capacitance accuracy" 2 Range The valid values of this parameter range between 1 and 3. The default is 2. Table 1-14 lists the valid values of the wire capacitance accuracy parameter and their description. Table 1-14 Valid Values of the wire capacitance accuracy Parameter Value Description 1 Low 2 Medium 3 High Other Clock Tree Synthesis Parameters 1-51 Changing Standard Naming Convention Parameters Table 1-15 summarizes the standard naming convention parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. Table 1-15 Standard Naming Convention Parameters Parameter Description bottom level buffer Determines the cell master used to build the lowest-level buffers. buffer instance prefix name Sets a prefix for naming the clock buffers inserted by clock tree synthesis. configuration output file If the configuration output file parameter is set to specify a file name, clock tree synthesis will dump a hard configuration file specifying the tree it created. file name: buffer instances Sets the output file name for additional buffers and inverters that are created to build the clock tree during clock tree synthesis. file name: clock tree timing Sets the output file name of the detailed timing report of the tree created after clock tree synthesis. file name: cluster When this parameter is set, clock tree synthesis will dump a file with the coordinates of the bounding boxes of the clusters it used in its internal clustering. file name: FF relationship If this parameter is set to specify a file name, clock tree synthesis will dump a file with the data dependency graph outlining which flip-flops are related via a datapath for local skew. Chapter 1: Clock Tree Parameters 1-52 Table 1-15 Standard Naming Convention Parameters (Continued) Parameter Description file name: re-synthesis nets Used to specify a file with a list of root clock nets for which clock tree synthesis should be performed even if the clock tree had already been synthesized earlier. file name: synthesized clock tree By default, clock tree synthesis dumps the structure of the tree it created to a file called tree.acts after clock tree synthesis is completed. Using the file name: synthesized clock tree parameter, the file name can be changed. file name: synthesized nets During clock tree synthesis, additional nets are created to build the clock tree. After these nets are created, all these nets are dumped into a file. By default the file is called net.acts. Using the file name: synthesized nets parameter, this file name can be changed. net prefix name Sets a prefix for naming the clock nets added by clock tree synthesis. bottom level buffer The bottom level buffer parameter is set to the name of a cell master such that the lowest-level buffers in the tree are built only by using this cell master. Usage axSetStringParam "acts" "bottom level buffer" "" buffer instance prefix name The buffer instance prefix name parameter sets a prefix for naming the clock buffers inserted by clock tree synthesis. Changing Standard Naming Convention Parameters 1-53 By default clock tree synthesis uses local_name = cell master name*gatelevel*bufferlevel*index as the name for newly added instances. If this variable is set to a value prefix, the new instances will be called prefix*local_name. This parameter is deprecated. Use the Scheme variable actBufferNameFormat instead. Usage axSetStringParam "acts" "buffer instance prefix name" "" configuration output file If the configuration output file parameter is set to specify a file name, clock tree synthesis will dump a hard configuration file specifying the tree it created. This file can be used to recreate exactly the same tree in incremental runs. This parameter is deprecated. Use the Scheme variable actFileNameConfigurationOutput instead. Usage axSetStringParam "acts" "configuration output file" "" file name: buffer instances The file name: buffer instances parameter sets the output file name for additional buffers and inverters that are created to build the clock tree during clock tree synthesis. When a clock tree is created, it dumps a file with all these instances. By default, the file is called buffer.acts. Chapter 1: Clock Tree Parameters 1-54 This feature might be particularly useful if executing several clock tree synthesis runs to avoid having files from different runs overwrite each other. This parameter is deprecated. Use the Scheme variable actFileNameBufferInstances instead. Usage axSetStringParam "acts" "file name: buffer instances" "buffer.acts" file name: clock tree timing The file name: clock tree timing parameter sets the output file name of the detailed timing report of the tree created after clock tree synthesis. By default, the detailed timing report of the tree created after clock tree synthesis is dumped to a file called timing.acts. This report is identical to the report you get from astDumpClockTiming. Using the file name: clock tree timing parameter, the file name can be changed. This feature might be particularly useful if executing several clock tree synthesis runs to avoid having files from different runs overwrite each other. This parameter is deprecated. Use the Scheme variable actFileNameClockTreeTiming instead. Usage axSetStringParam "acts" "file name: clock tree timing" "timing.acts" Changing Standard Naming Convention Parameters 1-55 file name: cluster If the file name: cluster parameter is set to specify a file name, clock tree synthesis will dump a file with the coordinates of the bounding boxes of the clusters it used in its internal clustering. This feature might be particularly useful if executing several clock tree synthesis runs to avoid having files from different runs overwrite each other. This parameter is deprecated. Use the Scheme variable actFileNameCluster instead. Usage axSetStringParam "acts" "file name: cluster" "" file name: FF relationship If this parameter is set to specify a file name, clock tree synthesis will dump a file with the data dependency graph outlining which flip-flops are related via a datapath for local skew. This parameter is deprecated, use the Scheme variable actFileNameFFRelationship instead. Usage axSetStringParam "acts" "file name: FF relationship" "" file name: re-synthesis nets The file name: re-synthesis nets parameter can be used to specify a file with a list of root clock nets for which clock tree synthesis should be performed even if the clock tree had already been synthesized earlier. Chapter 1: Clock Tree Parameters 1-56 This parameter is deprecated. Use the Scheme variable actFileNameResynthesisNets instead. Usage axSetStringParam "acts" "file name: re-synthesis nets" "" file name: synthesized clock tree The file name: synthesized clock tree parameter sets the output file name of clock tree structure created by clock tree synthesis. By default, clock tree synthesis dumps the structure of the tree it created to a file called tree.acts after clock tree synthesis is completed. Using the file name: synthesized clock tree parameter, the file name can be changed. This feature might be particularly useful if executing several clock tree synthesis runs to avoid having files from different runs overwrite each other. This parameter is deprecated. Use the Scheme variable actFileNameSynthesizedClockTree instead. Usage axSetStringParam "acts" "file name: synthesized clock tree" "tree.acts" file name: synthesized nets During clock tree synthesis, additional nets are created to build the clock tree. After these nets are created, all these nets are dumped into a file. By default the file is called net.acts. Using the file name: synthesized nets parameter, this file name can be changed. Changing Standard Naming Convention Parameters 1-57 This feature might be particularly useful if executing several clock tree synthesis runs and to avoid having files from different runs overwrite each other. This parameter is deprecated. Use the Scheme variable actFileNameSynthesizedNets instead. Usage axSetStringParam "acts" "file name: synthesized nets" "net.acts" net prefix name The net prefix name parameter sets a prefix for naming the clock nets added by clock tree synthesis. By default, clock tree synthesis uses local_name=gatelevel*bufferlevel*index as the name for newly added clock nets. If this variable is set to a value prefix, the new instances will be called prefix*local_name. If the root clock net has the form of a bus, local_name will be bus base name=gatelevel*bufferlevel*index[busindex]. This parameter is deprecated. Use the Scheme variable actNetNameFormat instead. Usage axSetStringParam "acts" "net prefix name" "" Chapter 1: Clock Tree Parameters 1-58 Changing Default Interpretation of Clock Constraint Parameters Table 1-16 summarizes the clock constraint parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. Table 1-16 Clock Constraint Parameters Parameter Description ignore library constraints Using this parameter, the DRC constraints coming from the library can be switched off. ignore library maximum capacitance Ignores the maximum capacitance set in a library. ignore library maximum fanout Ignores the maximum fanout set in a library. ignore library maximum transition Ignore the maximum transition set in a library. ignore SDC Ignores the constraint setting in the SDC file. ignore SDC maximum capacitance Ignores maximum capacitance set in the SDC file. ignore SDC maximum fanout Ignores the maximum fanout set in the SDC file. ignore SDC maximum transition Ignores the maximum transition set in the SDC file. ignore set_clock_latency Ignores the clock latency set in the SDC file. Changing Default Interpretation of Clock Constraint Parameters 1-59 Table 1-16 Clock Constraint Parameters (Continued) Parameter Description ignore set_clock_transition Ignores the clock latency set in the SDC file. ignore set_clock_uncertainty Ignores the clock latency set in the SDC file. ignore library constraints By default, clock tree synthesis will respect any maximum transition, capacitance, and fanout constraint set in the library. In some cases, this might not be desired for clock tree synthesis. Using the ignore library constraints parameter, the DRC constraints coming from the library can be turned off. Usage To turn off DRC constraints coming from the library, enter the following: axSetIntParam "acts" "ignore library constraints" 1\ Range The valid values are 0 or 1. The default is 0. ignore library maximum capacitance The ignore library maximum capacitance parameter is set to ignore the maximum capacitance set in a library. Chapter 1: Clock Tree Parameters 1-60 Usage To ignore the maximum capacitance set in a library, enter the following: axSetIntParam "acts" "ignore library maximum capacitance" 1 Range The valid values are 0 or 1. The default is 0. ignore library maximum fanout The ignore library maximum fanout parameter is set to ignore the maximum fanout set in a library. Usage To ignore the maximum fanout set in a library, enter the following: axSetIntParam "acts" "ignore library maximum fanout" 1 Range The valid values are 0 or 1. The default is 1. ignore library maximum transition The ignore library maximum transition parameter is used to ignore the maximum transition set in a library. Usage To ignore the maximum transition set in a library, enter the following: axSetIntParam "acts" "ignore library maximum transition" 1 Changing Default Interpretation of Clock Constraint Parameters 1-61 Range The valid values are 0 or 1. The default is 0. ignore SDC The ignore SDC parameter is set to ignore the constraint setting in the SDC file (DRC set_max_xxx and target values set_clock_xxx). Usage To ignore constraint setting in the SDC file, enter the following: axSetIntParam "acts" "ignore SDC" 1 Range The valid values are 0 or 1. The default is 0. ignore SDC maximum capacitance The ignore SDC maximum capacitance parameter is set to ignore maximum capacitance set in the SDC file. Usage To ignore maximum capacitance set in the SDC file, enter the following: axSetIntParam "acts" "ignore SDC maximum capacitance" 1 Range The valid values are 0 or 1. The default is 0. Chapter 1: Clock Tree Parameters 1-62 ignore SDC maximum fanout The ignore SDC maximum fanout parameter is set to ignore maximum fanout set in the SDC file. Usage To ignore maximum fanout set in the SDC file, enter the following: axSetIntParam "acts" "ignore SDC maximum fanout" 1 Range The valid values are 0 or 1. The default is 1. ignore SDC maximum transition The ignore SDC maximum transition parameter is set to ignore the maximum transition set in the SDC file. Usage To ignore the maximum transition set in the SDC file, enter the following: axSetIntParam "acts" "ignore SDC maximum transition" 1 Range The valid values are 0 or 1. The default is 0. ignore set_clock_latency When set to 1, the ignore set_clock_latency parameter causes the clock latency set in the SDC file to be ignored. Clock tree synthesis can use set_clock_latency to specify an insertion delay target for clock tree synthesis. If the ignore Changing Default Interpretation of Clock Constraint Parameters 1-63 set_clock_latency parameter is set to 1, this target will not be applied and the insertion delay will be minimized or the target specified in the dialog box will be used. This feature is useful to achieve delay balancing and to avoid pre- to post-clock tree synthesis differences in IO timing. If both the dialog box and SDC target are given and this parameter is set to 0, the SDC setting will override the dialog box. Usage To ignore the clock latency set in the SDC file, enter the following: axSetIntParam "acts" "ignore set_clock_latency" 1 Range The valid values are 0 or 1. The default is 0. ignore set_clock_transition When set to 1, the ignore set_clock_transition parameter causes the clock transition set in the SDC file to be ignored. Clock tree synthesis can use set_clock_transition to specify a target for the clock net transition times clock tree synthesis needs to achieve at the sink pins. If the ignore set_clock_transition parameter is set to 1, the target will not be applied and transition times are built according to the cell library and global limits. In other words, the transition times at the clock buffers in the tree will adhere only to the rule: max transition value and stay close to the target: max transition value. Even if the parameter is set to 1, the set_clock_transition value will be considered only at the clock sink pins. Chapter 1: Clock Tree Parameters 1-64 Usage To ignore the clock transition set in the SDC file, enter the following: axSetIntParam "acts" "ignore set_clock_transition" 1 Range The valid values are 0 or 1. The default is 0. ignore set_clock_uncertainty When set to 1, the ignore set_clock_uncertainty parameter causes the clock uncertainty set in the SDC file to be ignored. Clock tree synthesis can use set_clock_uncertainty to specify a skew target for clock tree synthesis. If the ignore set_clock_uncertainity parameter is set to 1, the target will not be applied and the skew will be minimized. If using the set_clock_uncertainty from SDC is turned on, the SDC constraint and the dialog box setting are compared, and the tighter constraint is applied. Therefore, to ensure that the SDC value is used, set the dialog box to a large dummy value. Usage To ignore clock uncertainty set in the SDC file, enter the following: axSetIntParam "acts" "ignore set_clock_uncertainty" 1 Range The valid values are 0 or 1. The default is 1. Changing Default Interpretation of Clock Constraint Parameters 1-65 Chapter 1: Clock Tree Parameters 1-66 2 Common Graph Parameters 2 You use the common graph parameters to fine-tune the common graph information in the database during the design flow, such as hierarchy preservation, placement, clock tree synthesis, saving the design, and so on. Table 2-1 summarizes common graph parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. Table 2-1 Common Graph Parameters Summary Parameter Description CGHIER_ENABLE_FAST_REPAIR Determines whether to skip the hierarchy net uniqueness check and hierarchy cell unification during astRepairHierPreservation. cg_opt_context_flag Controls connection class constraint and instance-based target library usage in optimization. 2-1 Table 2-1 Common Graph Parameters Summary (Continued) Parameter Description disable_escape_char Determines whether the enable/ disable escape character is added to the local name of a hierarchy net. dont_touch_nets_connecting_ls_and_io Controls the marking of level_shifter/isolation_cell connected flat nets as dont_touch. dont_use_means_dont_touch Determines whether to size cell instances whose masters are marked as dont_use to other usable cells. enable_ibt Controls instance-based target usage in Astro. enable_connection_class Controls connection class constraint usage in Astro. max_boolean_syntax_warnings Sets a threshold number of warnings before a summary warning message is issued. optimize_mix_signal_net Turned on when optimization needs to take care of the mixed-signal paths. replace_backslash Determines whether to replace a backslash (\) with an underscore (_) during postroute optimization. save_cell Determines whether to save cells. Chapter 2: Common Graph Parameters 2-2 CGHIER_ENABLE_FAST_REPAIR The CGHIER_ENABLE_FAST_REPAIR parameter is set to skip the hierarchy net uniqueness check and hierarchy cell unification during astRepairHierPreservation. Usage axSetIntParam "cg" "CGHIER_ENABLE_FAST_REPAIR" 0 Range The valid values are 0 or 1. The default is 0. cg_opt_context_flag The cg_opt_context_flag parameter controls connection class constraint and instance-based target library usage in optimization. Usage To turn on the connection class constraint in optimization, enter the following: axSetIntParam "cg" "cg_opt_context_flag" 1 Range The valid values of this parameter range between 0 and 3. The default is 0. CGHIER_ENABLE_FAST_REPAIR 2-3 Table 2-2 lists the valid values of this parameter and their description. Table 2-2 Valid Values of the cg_opt_context_flag Parameter Value Description 0 Turn off the connection class constraint and instance-based target 1 Turn on the connection class constraint 2 Turn on instance-based target 3 Turn on both the connection class constraint and instance-based target disable_escape_char The disable_escape_char parameter determines whether the enable/disable escape character will be added to the local name of a hierarchy net. When set to 1, the escape character is added. The escape character is “\” by default. Usage axSetIntParam "cg" "disable_escape_char" 0 Range The valid values are 0 and 1. The default is 0. dont_touch_nets_connecting_ls_and_io The dont_touch_nets_connecting_ls_and_io parameter controls the marking of level_shifter/isolation_cell connected flat nets as dont_touch. Chapter 2: Common Graph Parameters 2-4 Usage To mark level_shifter/isolation_cell connected flat nets as dont_touch, enter the following: axSetIntParam "cg" "dont_touch_nets_connecting_ls_and_io" 1 Range The valid values are 0 or 1. The default is 0. dont_use_means_dont_touch When the dont_use_means_dont_touch parameter is set to 0, the cell instances whose masters are marked as dont_use are sized to other usable cells. Usage axSetIntParam "cg" "dont_use_means_dont_touch" 1 Range The valid values are 0 or 1. The default is 1. enable_ibt The enable_ibt parameter controls instance-based target usage in Astro. Usage To turn on instance-based target usage, enter the following: axSetIntParam "cg" "enable_ibt" 1 dont_use_means_dont_touch 2-5 When set to 0, instance-based target usage is turned off. Setting this parameter to 1 has the same effect as setting cg_opt_context_flag to 2. Range The valid values are 0 or 1. The default is 0. enable_connection_class The enable_connection_class parameter controls connection class constraint usage in Astro. Usage To turn on connection class constraint usage, enter the following: axSetIntParam "cg" "enable_connection_class" 1 When this parameter is set to 1, the effect is the same as setting cg_opt_context_flag to 1. Range The valid values are 0 or 1. The default is 0. max_boolean_syntax_warnings The max_boolean_syntax_warnings parameter causes a warning message to be printed if the number of warnings is greater than the specified value. The following warning message appears as a result of setting this parameter: "CG: warn_number Invalid syntax warnings." Chapter 2: Common Graph Parameters 2-6 Usage axSetIntParam "cg" "max_boolean_syntax_warnings" 5 Range The valid values of this parameter range between 0 and 1000000. The default is 5. optimize_mix_signal_net The optimize_mix_signal_net parameter is turned on to consider mixed-signal paths during optimization. Usage To consider mixed-signal paths during optimization, enter the following: axSetIntParam "cg" "optimize_mix_signal_net" 1 Range The valid values are 0 or 1. The default is 0. replace_backslash The replace_backslash parameter determines whether to replace a backslash (\) with an underscore (_) in bus net names during postroute optimization. This is done for compatibility with PrimeTime. optimize_mix_signal_net 2-7 Usage To replace a backslash (\) with an underscore (_) during postroute optimization, enter the following: axSetIntParam "cg" "replace_backslash" 1 Range The valid values are 0 or 1. The default is 0. save_cell The save_cell parameter determines whether to save cells. Usage To save cells, enter the following: axSetIntParam "cg" "save_cell" 1 When set to 0, common graph does not save any cell. Range The valid values are 0 or 1. The default is 1. Chapter 2: Common Graph Parameters 2-8 3 Crosstalk Parameters 3 You use the crosstalk parameters to fine-tune the settings used by crosstalk analysis. Table 3-1 summarizes crosstalk parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. Table 3-1 Crosstalk Parameters Summary Parameter Description xtDeltaDelayScale Controls delta delay scaling. xtDeltaTransScale Controls delta transition time scaling. xtEnableRailToRailDeltaDelay Multiplies delta delay by 1/ (upper_slew_threshold lower_slew_threshold). xtNoAdaptiveInMediumEffort Lets crosstalk analysis run faster in the medium-effort mode. 3-1 Table 3-1 Crosstalk Parameters Summary (Continued) Parameter Description xtNumOfTopAggr Controls the number of effective aggressors to be included in crosstalk analysis. xtTimingWindowHighEffort Invokes crosstalk-induced delay analysis with better timing correlation, which requires more runtime. xtUseAdaptiveDetailWvfmThresh Improves the transition time correlation with PrimeTime SI. xtUseNoiseWidth Controls whether noise width is used in the noise prune. xtXtalkDetailWvfmThreshold Controls the switching noise bump height threshold above which a net qualifies for detailed waveform-based crosstalk analysis. Chapter 3: Crosstalk Parameters 3-2 xtDeltaDelayScale The xtDeltaDelayScale parameter is used to control delta delay scaling. It works only in the low-effort mode during crosstalk-induced delay calculation. In the low-effort mode, the scaling factor is 1.0 by default, which means no adjustment on delta delay. In the medium-effort mode, the delta delay is calculated more accurately and this parameter setting is not required. You can set the scaling factor between 0.0 and 1.0 for better correlation with PrimeTime SI. Syntax axSetRealParam "xt" "xtDeltaDelayScale" float The valid values of this parameter range between 0.0 to 1.0. The default is 1.0. Example To set the delta delay scaling to 0.3, enter axSetRealParam "xt" "xtDeltaDelayScale" 0.3 xtDeltaTransScale The xtDeltaTransScale parameter controls the delta transition time scaling. It works only in the low-effort mode during crosstalk-induced delay calculation. In the low-effort mode, the scaling factor is zero by default, which indicates no delta transition time. In the medium-effort mode, the delta transition is calculated more accurately and this parameter setting is not required. xtDeltaDelayScale 3-3 Beginning with version W-2004.12-SP5, you can set the scaling factor between 0.0 and 1000.0 for better correlation with PrimeTime SI. Syntax axSetRealParam "xt" "xtDeltaTransScale" float The valid values of this parameter range between 0.0 and 1000.0. The default is 0.0. Example To set the delta transition time scaling factor to 600, enter axSetRealParam "xt" "xtDeltaTransScale" 600 xtEnableRailToRailDeltaDelay The xtEnableRailToRailDeltaDelay parameter multiplies delta delay by 1/(upper_slew_threshold lower_slew_threshold). This option is turned off by default. When the design’s slew thresholds are really close (such as 40 percent-60 percent) and PrimeTime SI is more pessimistic than Astro, setting this parameter to 1 improves correlation. Syntax axSetIntParam "xt" "xtEnableRailToRailDeltaDelay" value The valid values are 0 or 1. The default is 0. Chapter 3: Crosstalk Parameters 3-4 Example To enable this parameter, enter axSetIntParam "xt" "xtEnableRailToRailDeltaDelay" 1 xtNoAdaptiveInMediumEffort The xtNoAdaptiveInMediumEffort parameter lets crosstalk analysis run faster in the medium-effort mode and provides equally accurate results. This is achieved by choosing the right model adaptively. This was the medium effort used in W-2004.12 and earlier versions. Syntax axSetIntParam "xt" "xtNoAdaptiveInMediumEffort" value Value Description 0 Normal medium effort is used (the default). 1 Adaptive medium effort is used which runs faster. Example To switch to adaptive medium effort, enter axSetIntParam "xt" "xtNoAdaptiveInMediumEffort" 1 xtNoAdaptiveInMediumEffort 3-5 xtNumOfTopAggr The xtNumOfTopAggr parameter controls the number of effective aggressors to be included in crosstalk noise analysis or induced delay analysis. Syntax axSetIntParam "xt" "xtNumOfTopAggr" value The valid values of this parameter range between 0 and 2147483647. The default is 0. When set to a nonzero value, n, only the top n effective aggressors are included. When set to zero, all effective aggressors are included in crosstalk analysis. Example To specify that only top four aggressors are to be included in the crosstalk noise or induced delay analysis, enter axSetIntParam "xt" "xtNumOfTopAggr" 4 xtTimingWindowHighEffort The xtTimingWindowHighEffort parameter is used to perform crosstalk-induced delay analysis with better timing window correlation. This requires more runtime. This parameter is effective only when timing window is turned on during crosstalk analysis. Chapter 3: Crosstalk Parameters 3-6 Syntax axSetIntParam "xt" "xtTimingWindowHighEffort" value Value Description 0 Turns off the high-effort mode of the timing window during crosstalk analysis (the default). 1 - The tool performs two iterations of timing propagation with crosstalk effect. - Infinite timing window is used during first iteration. Example To perform crosstalk-induced delay analysis with better timing window correlation, enter axSetIntParam "xt" "xtTimingWindowHighEffort" 1 xtUseAdaptiveDetailWvfmThresh The xtUseAdaptiveDetailWvfmThresh parameter is used to improve transition time correlation with PrimeTime SI. It is effective in both low and medium effort crosstalk models. Syntax axSetIntParam "xt" "xtUseAdaptiveDetailWvfmThresh" Value Description 0 This parameter is turned off (the default). 1 Improves the transition time correlation with PrimeTime SI. value xtUseAdaptiveDetailWvfmThresh 3-7 Low effort: The potentially optimistic delta transition of low effort is a known problem of Astro-Xtalk. Optimistic estimates tend to occur more often in maximum corner calculations when the switching noise bumps are large, for example, 0.35. When the xtUseAdaptiveDetailWvfmThresh parameter is set to 1, Astro-Xtalk calculates the delta transition based on waveforms, on qualified nets. A net is qualified for the new calculation when the switching noise bump height is greater than the absolute difference of the transition upper threshold and the delay threshold. This variable is effective only in maximum corner calculations. With this parameter set to 1, it is guaranteed that the delta transition is more pessimistic than the default mode. For low effort, the variable is effective to treat optimism of delta transitions for maximum corner only and there is no noticeable performance penalty. Medium effort: The xtUseAdaptiveDetailWvfmThresh parameter is used to provide better correlation with PrimeTime SI on both delta delay and delta transition. In medium effort, qualification of a net for detailed waveform calculation is based on the absolute difference between upper transition threshold and the delay threshold for maximum corner, and the difference between lower transition threshold and the delay threshold for minimum corner. When the switching noise bump height is larger than the difference, the delta delay and delta slew are calculated based on the detailed waveform. Enabling the xtUseAdaptiveDetailWvfmThresh parameter might slow down the medium effort by 20 percent depending on the library thresholds. When this parameter is turned off, the detailed waveform calculation is activated only when the switching bump height is larger than 0.35. However, there is a way to change this default value (see xtXtalkDetailWvfmThreshold). Chapter 3: Crosstalk Parameters 3-8 For medium effort, the variable is effective for both delta delay and delta transition in both minimum and maximum corners and it has some runtime penalty. Example To enable this parameter, enter axSetIntParam "xt" "xtUseAdaptiveDetailWvfmThresh" 1 xtUseNoiseWidth The xtUseNoiseWidth parameter controls whether noise width is used during noise prune. It works only in the low-effort mode. In low effort, the noise width is not calculated by default. In medium effort, the noise width is always calculated and used for pruning when information is available. Syntax axSetIntParam "xt" "xtUseNoiseWidth" value Value Description 0 Noise width is not used in the noise pruning operation. 1 Noise width is used in the noise pruning operation (the default). Example To specify that the noise width is to be estimated and checked against the internal estimated noise width constraints for pruning, enter axSetIntParam "xt" "xtUseNoiseWidth" 1 xtUseNoiseWidth 3-9 xtXtalkDetailWvfmThreshold The xtXtalkDetailWvfmThreshold parameter controls the switching noise bump height threshold above which a net qualifies for detailed waveform-based crosstalk analysis. This parameter is effective only in the medium-effort mode. Syntax axSetRealParam "xt" "xtXtalkDetailWvfmThreshold" value The valid values are 0.000 to 1.000. The default is 0.35 Example To change the value of switching noise bump height as 0.35, enter axSetRealParam "xt" "xtXtalkDetailWvfmThreshold" 0.35 With this setting, all the nets with switching noise bump height greater than 0.35 are analyzed with detailed waveform-based crosstalk analysis. If xtUseAdaptiveDetailWvfmThresh is set to 1, the algorithm is activated when the switching noise bump height is greater than minimum (the slew and trip point difference, xtXtalkDetailWvfmThreshold). Chapter 3: Crosstalk Parameters 3-10 4 Detail Route Parameters 4 You use detail parameters to fine-tune the detail routing process. Detail routing uses the general pathways suggested by the global routing and track assignment processes to route the nets. Table 4-1 summarizes detail route parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. Table 4-1 Detail Route Parameters Summary Parameter Description accessPolyPin Specifies whether poly pins can be used during detail routing for connections accumFloatingWireArea Specifies maximum allowable accumulated area for floating wire antenna. adjustLineViaArray Specifies how to connect to line-shaped via arrays. 4-1 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description advancedRouteLoops Specifies number of loops for the IC Compiler command route_advanced. advRouteLoop Specifies number of loops for Astro command axgAdvRouteOpt and astPostRouteOpt in advanced routing. areaNeedDoubleVia Specifies the area that requires 100% double via coverage. areaNeedDoubleViaDRC Specifies whether to insert redundant via and then check DRC violations or check DRC violations only. areaSrLoop Specifies the number of search and repair loops during area optimization and routing in the axgAreaRoute command. autoSaveInterval Specifies how frequent checkpoints (intermediate results) are saved during detail routing. autoSrLoop Sets the number of search and repair loops to be carried out after initial routing. avoidWireOverlap Specifies whether overlapping same-net parallel wires is allowed. blockageAsFatWire Specifies whether fat blockages in macros and pads are to be treated as fat wires for spacing calculation. Chapter 4: Detail Route Parameters 4-2 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description breakAntennaToTopPin Specifies how top-level pins are to be treated for antenna considerations. checkAntennaOnPG Turns on or off antenna check and fixing on power and ground nets. checkCellPinMinArea Specifies how minimum area rules are checked against cell pins in current design. checkIsoViaByNetType Specifies the net types for isolated vias checking and fixing. checkMergedFatWire Specifies what types of wires can be merged to form fat wires for fat wire spacing check. checkTopPinMinArea Specifies whether top-level pins in current design are subject to minimum-area rule check. checkViaArrayMaxStackLevel Specifies whether to include via arrays when checking maxStackLevel DRC violation. connBrokenNet Specifies whether broken nets are to be left broken or are to be reconnected. connTieOff Specifies whether power/ground/ clock tie-offs are to be connected by detail routing. connTieRail Specifies where to connect tie-off pins. cornerSpacingMode Specifies diagonal or Manhattan mode to check corner spacing. 4-3 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description defaultDiodeProtect Specifies the default diode protection value for all unspecified output ports except top cell ports. defaultGateSize Specifies the default gate size for all unspecifies input ports. defaultTopPinExtAntennaArea Specifies the default extAntennaArea (external antenna area) value for top cell pins without defineExtAntennaArea in TDF. defaultTopPinExtGateSize Specifies default extGateSize (external gate size) value for top cell pins without defineExtGateSize in TDF. defaultViaExceedFatContactThreshold Specifies whether to merge metals to check fat contact rule. defaultWidthForStub Specifies the stub width to be used. diagonalDRC Specifies whether diagonal distance or rectilinear distance is to be used for DRC violation analysis. diagonalMinWidth Specifies how shape width is measured when checked against the minimum width rule. doAntennaConx Enables and disables the antenna check and fixing, and sets the antenna checking mode when enabled. Chapter 4: Detail Route Parameters 4-4 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description doMaxCapConx Specifies whether maximum capacitance constraints should be met during in-route optimization. doMaxTransConx Specifies whether maximum transition constraints should be met during in-route optimization. dontMakePinFat Specifies whether wires and vias connecting to pins are allowed to create new fat shapes that might trigger fat via rule violations or minimum enclosed area (metal hole) violations. dontMergeGateForAntenna Specifies whether connected gate areas are to be added together in antenna ratio computation. dontRotateVia Specifies whether rotated vias can be used to access standard cell pins. dontShortDiffEEQ Specifies if pins from different EEQ classes can be connected together. doProbeConx Specifies whether nets with top-layer probe constraints are to be routed to top layer for probing. doSelectedNetAntennaConx Controls whether all antenna violations should be fixed or antenna violations for specified nets only should be fixed. 4-5 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description doXtalkConx Specifies whether crosstalk constraints (such as static noise voltage constraints and capacitance constraints) are to be honored during inroute optimization. dropVia1InsideM1Pin Specifies whether force to via1 is being dropped inside Metal1 (M1) pin or not. ecoListToFile Specifies whether to save routing ECO list to the ecoRoute.list file ecoMode Specifies what nets are to be routed in the ECO mode, and how they are to be rerouted. ecoScope Specifies whether to use global or local scope during ECO routing. ecoSrLoop Sets the number of search and repair loops to be carried out after ECO routing in the axgECORouteDesign or astPostRT command eolEnclosureOnVia Specifies when endOfLineEnclosure from technology file, and the DesignRule section needs to be applied to vias. expandFillTracks Chapter 4: Detail Route Parameters 4-6 Specifies whether track region for metal fill should be expanded or not. Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description fatSpacingToSameNet Specifies whether to apply fat metal spacing rules on the same nets. feedThruPinTaper Specifies whether pin tapering is needed for pins with multiple connections (using pins as feedthroughs). fillDataType Specifies the audiotape of filled metals. The value N is the audiotape of filled metals. fillEndByMinSpcPercent Specifies the spacing requirement between the routing wires and the ends of fill metal. fillMetalCloseToMinDensityValue Specifies the target metal density for metal fill insertion. fillMetalUniformly Specifies whether to fill dummy metals uniformly. fillNotch Specifies whether metal shapes can be used to fill notch or minimum edge violations. fillViaDataType Specifies the data type of filled vias. fixMinEdgeLengthByFilling Specifies whether to allow filling metals to fix minEdgeLength violations during search and repair. floatingWireIsGateDischarge Specifies whether to treat gate as discharge path. floatingWireMode Specifies whether to fix floating wire antennas. 4-7 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description followPolyTrkForPolyFill Specifies whether tracks on poly layer are used for poly fills. groupSrLoop Specifies the number of search and repair loops in the axgRouteGroup command. hardMaxLayerConx Specifies the allowed wire usage above maximum routing layer (maxLayer) set in top cell. hardMinLayerConx Specifies the allowed wire usage below minimum routing layer (minLayer) set in top cell. highEffortViaDoubling Specifies whether double via array should be shifted to improve double via coverage. ignoreFloatingWireSpacing Specifies whether to check spacing for the floating wire antenna. ignoreFloatingWireToBlockageSpacing Specifies whether to check spacing to blockages for the floating wire antenna. ignoreFrozenNetDRC Specifies whether to check same net DRCs and opens for frozen nets. ignoreMetalExtensionRule Specifies whether to ignore endOfLineEncTbl and eolTShapeEnc rules. ignoreNotchDRC Specifies whether notch violations are to be ignored or resolved in coming routing steps. Chapter 4: Detail Route Parameters 4-8 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description ignoreSameNetAdjacentViaDRC Specifies whether vias on same net are included or not when counting adjacent vias ignoreTopBndy Specifies whether top cell boundary constrains routing wires and contacts, and if they do, how it constrains routing wires and contacts. ignoreVarSpacingToPG Specifies whether the variable spacing rule defined in varRouteRule is to be applied between signal and clock nets, and power and ground nets. ignoreViaRegion Specifies whether via regions defined on pins are to be ignored during routing. isolatedViaQuadrantSpacing Defines an isolated via rule by specifying spacing between an isolated via and its adjacent vias. It requires adjacent vias to cover all four quadrants within a certain distance from isolated via. isolatedViaSpacing Specifies maximum spacing between an isolated via and its adjacent vias. layerLengthLimit Sets the total length limit on the flagged routing layers for each two point connection by routing search. lessMinAreaStackCost Specifies stacked via usage and cost when stacked via does not satisfy minimum area rules. 4-9 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description limitPolyLength limitM1Length limitM2Length limitM3Length limitM4Length Specifies the layers that should be included for layerLengthLimit constraint computation lineViaFollowPrefDir Specifies default orientation of a line via array. lowSkewClkRoute Specifies how many changes are allowed on nets from clock tree synthesis during detail routing. M1EolTip2SideSpacing M2EolTip2SideSpacing M3EolTip2SideSpacing M4EolTip2SideSpacing M5EolTip2SideSpacing M6EolTip2SideSpacing M7EolTip2SideSpacing M8EolTip2SideSpacing M9EolTip2SideSpacing M10EolTip2SideSpacing M11EolTip2SideSpacing M12EolTip2SideSpacing Specifies spacing between line-end and line-side for metalx layer m1FloatingWireArea m2FloatingWireArea m3FloatingWireArea m3FloatingWireArea m4FloatingWireArea m5FloatingWireArea m6FloatingWireArea m7FloatingWireArea m8FloatingWireArea m9FloatingWireArea m10FloatingWireArea m11FloatingWireArea m12FloatingWireArea Specifies maximum allowable metal area for floating wire antenna. Chapter 4: Detail Route Parameters 4-10 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description M1FloatingWirePLength1 M2FloatingWirePLength1 M3FloatingWirePLength1 M4FloatingWirePLength1 M5FloatingWirePLength1 M6FloatingWirePLength1 M7FloatingWirePLength1 M8FloatingWirePLength1 M9FloatingWirePLength1 M10FloatingWirePLength1 M11FloatingWirePLength1 M12FloatingWirePLength1 Specifies the value of floating wire parallel length1 for metalx layer. M1FloatingWirePLength2 M2FloatingWirePLength2 M3FloatingWirePLength2 M4FloatingWirePLength2 M5FloatingWirePLength2 M6FloatingWirePLength2 M7FloatingWirePLength2 M8FloatingWirePLength2 M9FloatingWirePLength2 M10FloatingWirePLength2 M11FloatingWirePLength2 M12FloatingWirePLength2 Specifies the value of floating wire parallel length2 for metalx layer. M1FloatingWirePLength3 M2FloatingWirePLength3 M3FloatingWirePLength3 M4FloatingWirePLength3 M5FloatingWirePLength3 M6FloatingWirePLength3 M7FloatingWirePLength3 M8FloatingWirePLength3 M9FloatingWirePLength3 M10FloatingWirePLength3 M11FloatingWirePLength3 M12FloatingWirePLength3 Specifies the value of floating wire parallel length3 for metalx layer. 4-11 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description M1FloatingWirePLength4 M2FloatingWirePLength4 M3FloatingWirePLength4 M4FloatingWirePLength4 M5FloatingWirePLength4 M6FloatingWirePLength4 M7FloatingWirePLength4 M8FloatingWirePLength4 M9FloatingWirePLength4 M10FloatingWirePLength4 M11FloatingWirePLength4 M12FloatingWirePLength4 Specifies the value of floating wire parallel length4 for metalx layer. M1FloatingWirePLength5 M2FloatingWirePLength5 M3FloatingWirePLength5 M4FloatingWirePLength5 M5FloatingWirePLength5 M6FloatingWirePLength5 M7FloatingWirePLength5 M8FloatingWirePLength5 M9FloatingWirePLength5 M10FloatingWirePLength5 M11FloatingWirePLength5 M12FloatingWirePLength5 Specifies the value of floating wire parallel length5 for metalx layer. M1FloatingWirePLMinSpc1 M2FloatingWirePLMinSpc1 M3FloatingWirePLMinSpc1 M4FloatingWirePLMinSpc1 M5FloatingWirePLMinSpc1 M6FloatingWirePLMinSpc1 M7FloatingWirePLMinSpc1 M8FloatingWirePLMinSpc1 M9FloatingWirePLMinSpc1 M10FloatingWirePLMinSpc1 M11FloatingWirePLMinSpc1 M12FloatingWirePLMinSpc1 Specifies the value of floating wire parallel length spacing1 for metalx layer. Chapter 4: Detail Route Parameters 4-12 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description M1FloatingWirePLMinSpc2 M2FloatingWirePLMinSpc2 M3FloatingWirePLMinSpc2 M4FloatingWirePLMinSpc2 M5FloatingWirePLMinSpc2 M6FloatingWirePLMinSpc2 M7FloatingWirePLMinSpc2 M8FloatingWirePLMinSpc2 M9FloatingWirePLMinSpc2 M10FloatingWirePLMinSpc2 M11FloatingWirePLMinSpc2 M12FloatingWirePLMinSpc2 Specifies the value of floating wire parallel length spacing2 for metalx layer. M1FloatingWirePLMinSpc3 M2FloatingWirePLMinSpc3 M3FloatingWirePLMinSpc3 M4FloatingWirePLMinSpc3 M5FloatingWirePLMinSpc3 M6FloatingWirePLMinSpc3 M7FloatingWirePLMinSpc3 M8FloatingWirePLMinSpc3 M9FloatingWirePLMinSpc3 M10FloatingWirePLMinSpc3 M11FloatingWirePLMinSpc3 M12FloatingWirePLMinSpc3 Specifies the value of floating wire parallel length spacing3 for metalx layer. M1FloatingWirePLMinSpc4 M2FloatingWirePLMinSpc4 M3FloatingWirePLMinSpc4 M4FloatingWirePLMinSpc4 M5FloatingWirePLMinSpc4 M6FloatingWirePLMinSpc4 M7FloatingWirePLMinSpc4 M8FloatingWirePLMinSpc4 M9FloatingWirePLMinSpc4 M10FloatingWirePLMinSpc4 M11FloatingWirePLMinSpc4 M12FloatingWirePLMinSpc4 Specifies the value of floating wire parallel length spacing4 for metalx layer. 4-13 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description M1FloatingWirePLMinSpc5 M2FloatingWirePLMinSpc5 M3FloatingWirePLMinSpc5 M4FloatingWirePLMinSpc5 M5FloatingWirePLMinSpc5 M6FloatingWirePLMinSpc5 M7FloatingWirePLMinSpc5 M8FloatingWirePLMinSpc5 M9FloatingWirePLMinSpc5 M10FloatingWirePLMinSpc5 M11FloatingWirePLMinSpc5 M12FloatingWirePLMinSpc5 Specifies the value of floating wire parallel length spacing5 for metalx layer. m1FloatingWireSpacing m2FloatingWireSpacing m3FloatingWireSpacing m4FloatingWireSpacing m5FloatingWireSpacing m6FloatingWireSpacing m7FloatingWireSpacing m8FloatingWireSpacing m9FloatingWireSpacing m10FloatingWireSpacing m11FloatingWireSpacing m12FloatingWireSpacing Specifies metal spacing for floating wire antenna. m1PinNoOffsetVia Specifies whether to allow offset via on m1 pin. M1StubMode M2StubMode M3StubMode M4StubMode M5StubMode M6StubMode M7StubMode M8StubMode M9StubMode M10StubMode M11StubMode M12StubMode Specifies how to check end-of-line spacing rule for each metal layer. m1WireCost m2WireCost Specifies metal layer usage and wire cost for metal1 and metal2 layers macroPinCenterConn Specifies how macro and pad cell pins are connected. Chapter 4: Detail Route Parameters 4-14 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description maxAntennaPinCount Specifies pin count threshold for a net to be considered for antenna checking and fixing. maxAntennaRatio Specifies the maximum tolerable antenna ratio. maxAntennaRatioScale Specifies maximum antenna ratio scale for diode mode 11 and diode mode 12. maxCutAntennaRatio Enables and disables the cut antenna check and fix. maxOffGridTrack Specifies how off-grid tracks are to be added for off-grid pins and off-grid feedthroughs. maxStackRange Specifies the separating distance between two cuts to be considered as stacking when checking for maxStackLevel constraint from technology file. metalFillDensityIncrement Specifies increment value for metal fill. minAntennaRatioScale Specifies minimum antenna ratio scale for diode mode 11 and diode mode 12. minLengthCheckCutMode Specifies how to compute minimum length when a polygon completely encloses a via. minShieldLength Specifies minimum length for a wire to be shielded in the unit of pitches. 4-15 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description neighboringLayerFatExtensionRange Specifies the fat extension range for recommended metal spacing on adjacent upper layer. neighboringLayerFatThreshold Specifies the fat threshold for metal spacing on adjacent upper layer. neighboringLayerM1RecommendedSpacing neighboringLayerM2RecommendedSpacing neighboringLayerM3RecommendedSpacing neighboringLayerM4RecommendedSpacing neighboringLayerM5RecommendedSpacing neighboringLayerM6RecommendedSpacing neighboringLayerM7RecommendedSpacing neighboringLayerM8RecommendedSpacing neighboringLayerM9RecommendedSpacing neighboringLayerM10RecommendedSpacing neighboringLayerM11RecommendedSpacing neighboringLayerM12RecommendedSpacing Specifies recommended spacing for wires on neighboring upper layer. noOffGridRouting Specifies the type of off-grid routing. noOffsetFatVia Specifies the relative positions of fat vias and wires that they land on. numCPUs Specifies the number of CPUs to be used for distributed routing. offGridCost Specifies extra off-grid routing cost. offsetFillTrack Specifies how to offset metal fill track. optDelaySlackTarget Specifies slack target for delay optimization during in-route optimization. Chapter 4: Detail Route Parameters 4-16 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description optDelaySrLoop Specifies the number of search and repair loops after delay optimization in axgAdvRouteOpt or astPostRouteOpt command. optimizeRouteGroup Specifies whether optimization is to be run in axgRouteGroup command. optSetup Specifies whether setup slack is to be maintained or improved during in-route optimization. optSrLoop Specifies the number of search and repair loops after route optimization in axgRoutOpt command. optViaHoldTimeThreshold Specifies the hold time threshold for contact optimization. optViaReportExcludedNets Specifies whether to report the timing-critical nets during contact optimization. optViaSetupSlackThreshold Specifies the setup slack threshold for contact optimization. optViaSrLoop Specifies search and repair loops after contact optimization. optViaTimingDriven Specifies whether to preserve timing for critical nets with timing violations. outputPinDischarge Flags whether output pins and diodes can discharge unlimited static charge, or cannot discharge any static charge at all. 4-17 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description parallelLengthMode Specifies how to compute parallel length for fat metal spacing rule. pinTaperLengthLimit Specifies the limit for pin tapering length. pinTaperMode Specifies pin tapering width. If the value is set to 0, the tapering width is the default width. polyContIsolatedViaQuadrantSpacing via1IsolatedViaQuadrantSpacing via2IsolatedViaQuadrantSpacing via3IsolatedViaQuadrantSpacing via4IsolatedViaQuadrantSpacing via51IsolatedViaQuadrantSpacing via6IsolatedViaQuadrantSpacing via7IsolatedViaQuadrantSpacing via8IsolatedViaQuadrantSpacing via9IsolatedViaQuadrantSpacing via10IsolatedViaQuadrantSpacing via11IsolatedViaQuadrantSpacing Specifies maximum spacing between an isolated via and its adjacent vias. polyContIsolatedViaSpacing via1IsolatedViaSpacing via2IsolatedViaSpacing via3IsolatedViaSpacing via4IsolatedViaSpacing via5IsolatedViaSpacing via6IsolatedViaSpacing via7IsolatedViaSpacing via81IsolatedViaSpacing via9IsolatedViaSpacing via10IsolatedViaSpacing via11IsolatedViaSpacing Specifies maximum spacing between an isolated via and its adjacent vias. Chapter 4: Detail Route Parameters 4-18 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description polycontMacroDensity via1MacroDensity via2MacroDensity via3MacroDensity via4MacroDensity via5MacroDensity via6MacroDensity via7MacroDensity via8MacroDensity via9MacroDensity via10MacroDensity via11MacroDensity Specifies macro’s via density. polyMacroDensity m1MacroDensity m2MacroDensity m3MacroDensity m4MacroDensity m5MacroDensity m6MacroDensity m7MacroDensity m8MacroDensity m9MacroDensity m10MacroDensity m11MacroDensity m12MacroDensity Specifies macro’s metal density. polyWireCost Specifies poly layer usage and poly wire cost during routing. portSingleConn Specifies how many points a port can be connected to routes. readMetalBlockageLayer Specifies whether shapes on user-created metal blockage layers are to be read in or ignored. removeObsoleteStub Specifies whether to remove the obsolete stub. reportLimit Specifies the maximum number of DRC violations that the router reports. rerouteUserWire Specifies whether user-created wires and vias are to be treated as fixed or reroutable. rerunDRC Specifies whether DRC violations are regenerated before search and repair. 4-19 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description resetMinMaxLayer Resets minimum-maximum rule constraints defined by axgSetMinMaxLayer and axgSetNetConstraint commands before search and repair. rotateLineViaArray Specifies how line-shaped via arrays are rotated. shieldRerouteSignalNets Specifies whether to re-route signal nets during shielding. shieldViaMinSpacing Specifies the spacing requirement on shielded vias. shiftVarWidthWire Specifies whether wide wires are to be put on routing tracks, or to be shifted by half pitch if it improves routability. smallJogMinLength Specifies the minimum length of a small jog. srLoop Sets the number of search and repair loops in search and repair phase in axgSearchRepair command. stdCellBlockageAsThin Specifies whether fat blockages in standard cells are to be treated as fat wires for spacing calculation. stopIfNoLicense Flags whether to stop the router or continue if the tool cannot obtain the option license. stub2stubOnly Specifies the shapes to which stubSpacing is applied. Chapter 4: Detail Route Parameters 4-20 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description timeLimit Specifies corresponding detail routing step runtime limit. timingDriven Specifies whether timing-critical nets with setup violations are to be optimized during initial detail routing. timingSpace Specifies whether detailed router should try to allocate extra same layer spacing to timing-critical net wires. topAntennaFixRange Specifies when to resolve top routing layer antenna violation by pushing down top-level wires. treatTiedFillAsFillToFillSpacing Specifies whether fill-to-fill spacing is applied to tied fills. trimUserAntenna Determines how user-created dangling wires are handled. ultraWideWireMode Specifies the routing grids used for ultra wide wire routing. useSideWallForAntenna Specifies whether wire top area or side wall area is used for antenna ratio computation. V1NoOffGridRouting V2NoOffGridRouting V3NoOffGridRouting V4NoOffGridRouting V5NoOffGridRouting V6NoOffGridRouting V7NoOffGridRouting V8NoOffGridRouting V9NoOffGridRouting V10NoOffGridRouting V11NoOffGridRouting V12NoOffGridRouting Specifies whether to allow off-grid routing for vias. varSpacingToSameNet Specifies whether variable spacing rule defined in varRouteRule is to be applied to same-net shapes 4-21 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description viaOverMaxLayer Specifies the allowed via usage above maximum routing layer (maxLayer) set in top cell wideMacroPinAsFatWire Specifies how macro and pad cell pin shapes are treated for fat wire spacing computation. wideWireToInputPin Specifies the wires and vias to be used to connect to input pins wideWireToMacroPin Specifies the wires and vias to be used to connect to macro cell pins. wideWireToOutputPin Specifies the wires and vias to be used to connect to output pins wideWireToPadPin Specifies the wires and vias to be used to connect to pad cell pins. wideWireToTopPin Specifies the wires and vias to be used to connect to top cell pins. wideWireWidthAsMin Specifies how to handle wide wire width rule with varRouteRule if it is specifies for a net. wireWidenForceWrongWay Specifies whether to force widened wires on wrong way. wireWidenIgnoreMinEdgeLengthVio Specifies whether to ignore minimum edge length rule during wire widening. wireWidenPieceWise Specifies whether to widen a wire segment uniformly or to widen it piece by piece. Chapter 4: Detail Route Parameters 4-22 Table 4-1 Detail Route Parameters Summary (Continued) Parameter Description wireWidenSrLoop Specifies number of search and repair loops after wire widening. wireWidenTimingDriven Specifies whether to widen wires on timing-critical nets. wireWidenWidthScheme Specifies how many different widths are used for wire widening. wrongWayExtraCost Specifies extra wrong-way wire cost. wrongWayNoVia Specifies whether contacts can be used to connect to wrong-way wires. 4-23 accessPolyPin The accessPolyPin parameter specifies whether poly pins can be used during detail routing for connections. This parameter has no effect if the current design does not contain poly pins, which is the case in most designs. Syntax axSetIntParam "droute" "accessPolyPin" value Value Description 0 Ignores poly pins. 1 Accesses poly pins (the default) Example To enable the router to use poly pins during detail routing, enter axSetIntParam "droute" "accessPolyPin" 1 If the value is set to 0, router cannot use poly pins. See Also polyWireCost accumFloatingWireArea The accumFloatingWireArea parameter specifies maximum allowable accumulated area for floating wire antenna. If the value is set to N, it means that N is the maximum allowable accumulated area for floating wire antenna. Chapter 4: Detail Route Parameters 4-24 Syntax axSetRealParam "droute" "accumFloatingWireArea" value The valid values of this parameter range between 0 and 1,000,000. The default is 0. Example To specify maximum allowable accumulated area for floating wire antenna as 100, enter axSetRealParam "droute" "accumFloatingWireArea" 100 See Also m1FloatingWireArea m2FloatingWireArea m3FloatingWireArea m3FloatingWireArea m4FloatingWireArea m5FloatingWireArea m6FloatingWireArea m7FloatingWireArea m8FloatingWireArea m9FloatingWireArea m10FloatingWireArea m11FloatingWireArea m12FloatingWireArea, m1FloatingWireSpacing m2FloatingWireSpacing m3FloatingWireSpacing m4FloatingWireSpacing m5FloatingWireSpacing m6FloatingWireSpacing m7FloatingWireSpacing m8FloatingWireSpacing m9FloatingWireSpacing m10FloatingWireSpacing m11FloatingWireSpacing m12FloatingWireSpacing adjustLineViaArray The adjustLineViaArray parameter specifies how to connect to line-shaped via arrays. A line-shaped via array is a via array of size 1 by N or N by 1. If the value is set to 0, the connections are made to the center of line-shaped via arrays. adjustLineViaArray 4-25 If the value is set to 1, the line-shaped via arrays are shifted and/or rotated to optimize the connection. The rotation of via arrays depends on the value of the rotateLineViaArray parameter. Syntax axSetIntParam "droute" "adjustLineViaArray" value Value Description 0 Connects to the center of line-shaped (1 x N and x 1) via array for nets with VarRouteRule (the default). 1 Shifts and/or rotates the line-shaped via array to optimize connection. Example To shift and/or rotate line-shaped via arrays for optimizing connection, enter the following: axSetIntParam "droute" "adjustLineViaArray" 1 When set to 0, connection is done to the center of line-shaped (1 x N and N x 1) via arrays for nets with VarRouteRule. See Also rotateLineViaArray, lineViaFollowPrefDir advancedRouteLoops The advancedRouteLoops parameter specifies the number of loops for the IC Compiler command route_advanced. If the value is set to N, it means that the route_advanced command stops after N loops. Chapter 4: Detail Route Parameters 4-26 Syntax axSetIntParam "droute" "advancedRouteLoops" value The valid values of this parameter range between 0 and 50. The default is 3. Example To stop route_advanced after 15 loops, enter axSetIntParam "droute" "advancedRouteLoops" 15 See Also advRouteLoop advRouteLoop The advRouteLoop parameter specifies the number of loops for Astro command axgAdvRouteOpt and astPostRouteOpt in advanced routing. If the value is set to N, it means that the Astro command axgAdvRouteOpt and astPostRouteOpt stop after N loops. Syntax axSetIntParam "droute" "advRouteLoop" value The valid values of this parameter range between 0 and 50. The default is 10. Example To ensure that Astro commands stop after 25 loops, enter axSetIntParam "droute" "advRouteLoop" 25 advRouteLoop 4-27 See Also advancedRouteLoops areaNeedDoubleVia The areaNeedDoubleVia parameter specifies the area that requires 100 percent double via coverage. If the value is set to 0, there is no restriction on the double via in the specified area. If the value is set to 1, the router reports a violation if there is a single via in the area defined by the route guide. Syntax axSetIntParam "droute" "areaNeedDoubleVia" value Value Description 0 No restriction on double via in terms of area (the default). 1 The area defined by route guide that needs 100 percent double vias. Reports violation if single via found. Example To specify the area that requires 100 percent double via coverage, enter axSetIntParam "droute" "areaNeedDoubleVia" 1 See Also areaNeedDoubleViaDRC Chapter 4: Detail Route Parameters 4-28 areaNeedDoubleViaDRC The areaNeedDoubleViaDRC parameter specifies whether to insert redundant via and then check DRC violations or check DRC violatons only. If the value is set to 0, the router inserts redundant via and check DRCs. If the value is set to 1, the router skips inserting redundant via and only checks the DRCs if there is needDoubleVia route guides in a design. Syntax axSetIntParam "droute" "areaNeedDoubleViaDRC" value Value Description 0 Insert redundant via first and then do DRC check (the default). 1 Skip the redundant via insertion and perform DRC check if there are needDoubleVia route guides. Example To skip the redundant via insertion and perform DRC check, enter axSetIntParam "droute" "areaNeedDoubleViaDRC" 1 See Also areaNeedDoubleVia areaSrLoop The areaSrLoop parameter specifies the number of search and repair loops during area optimization and routing in the axgAreaRoute command. areaNeedDoubleViaDRC 4-29 The search and repair loop terminates if DRC count reaches 0 even if the specified number of iterations are not reached. If the DRC number is still converging (reducing) after reaching the specified number of iterations, specifying more iterations could help reducing DRC count further, at the cost of more runtime. Syntax axSetIntParam "droute" "areaSrLoop" value The valid values of this parameter range between 0 and 200. The default is 20. Example To specify the number of search and repair loops during area optimization and routing as 50, enter axSetIntParam "droute" "areaSrLoop" 50 See Also autoSrLoop, ecoSrLoop, optSrLoop, srLoop, optDelaySrLoop, groupSrLoop autoSaveInterval The autoSaveInterval parameter specifies how frequent checkpoints (intermediate results) are saved during detail routing. If the value is set to 0, no checkpoint is saved during detail routing. Otherwise, the parameter sets the time interval in minutes for each checkpoint to be saved. Syntax axSetIntParam "droute" "autoSaveInterval" value Chapter 4: Detail Route Parameters 4-30 The valid values of this parameter range between 0 and 14400. The default is 120. Example To specify how frequent checkpoints (intermediate results) are saved during detail routing, enter axSetIntParam "droute" "autoSaveInterval" 150 autoSrLoop The autoSrLoop parameter sets the number of search and repair loops to be carried out after initial routing. The search and repair loop terminates if a DRC violation count reaches 0 even if the specified number of iterations is not reached. If the DRC violation number is still converging (reducing) after reaching the specified number of iterations, specifying more iterations could further help in reducing the DRC violation count at the cost of more runtime. Syntax axSetIntParam "droute" "autoSrLoop" value The valid values of this parameter range between 0 and 500. The default is 0. Example To set the number of search and repair loops to be carried out after initial routing as 100, enter axSetIntParam "droute" "autoSrLoop" 100 autoSrLoop 4-31 See Also autoSrLoop, ecoSrLoop, optSrLoop, srLoop, optDelaySrLoop, groupSrLoop avoidWireOverlap The avoidWireOverlap parameter specifies whether overlapping of same-net-parallel wires is allowed. If the value is set to 0, overlapping same-net parallel wires is allowed. If the value is set to 1, overlapping same-net parallel wires is not allowed. Note that by allowing overlapping same-net parallel wires, the router still generates DRC violation clean designs with respect to the final merged polygons. For example, if two overlapping same-net parallel wires form a fat wire, the fat wire spacing rule is observed on the resulting wires. It is recommended to leave avoidWireOverlap with its default value of 0 to give the router more flexibility to find routing solutions. Syntax axSetIntParam "droute" "avoidWireOverlap" value Value Description 0 Allows same-net parallel wires to overlap (the default). 1 Does not allow parallel wires to overlap. Chapter 4: Detail Route Parameters 4-32 Example To allow same-net parallel wires to overlap, enter the following: axSetIntParam "droute" "avoidWireOverlap" 0 When set to 1, the parallel wires are not allowed to overlap. blockageAsFatWire The blockageAsFatWire parameter specifies whether fat blockages in macros and pads are to be treated as fat wires for the spacing calculation. Note that this flag applies only to blockages in macros and pads, and it has no effect on standard cell blockages. Blockage types set in FRAM view overwrites the value by blockageAsFatWire. This flag is not relevant if there is no fat spacing rule in the design. If you know that the fat blockage shapes do not correspond to any fat wires, blockageAsFatWire can be set to 0 to avoid unnecessary spacing around blockages. Otherwise, this flag should be left to its default value of 1 to guarantee proper spacing, even though it might be conservative in certain cases. blockageAsFatWire 4-33 Syntax axSetIntParam "droute" "blockageAsFatWire" value Value Description 0 The router treats fat blockages in macros/pads as thin wires 1 The router treats fat blockages in macros/pads as fat wires (the default). Example To treat fat blockages in macro/pad as fat wires, enter the following: axSetIntParam "droute" "blockageAsFatWire" 1 When set to 0, fat blockages are treated as thin wires in macro/pad. See Also stdCellBlockageAsThin, wideMacroPinAsFatWire, checkMergedFatWire breakAntennaToTopPin The breakAntennaToTopPin parameter specifies how top-level pins are to be treated for antenna considerations. If the value is set to 0, top-level pins are treated as floating wires. If the value is set to 1, top-level pins are treated as a huge antenna, which need to be broken with a wire jumper at the net top metal layer. If the value is set to 2, input pins can only be connected to top-level pins through the highest routing layer of the nets. Chapter 4: Detail Route Parameters 4-34 Syntax axSetIntParam "droute" "breakAntennaToTopPin" value The valid values of this parameter range between 0 and 2. The default is 0. Value Description 0 Top-level pins are treated as floating (the default) 1 Top-level pins are treated as connected to a huge antenna and break the antenna (requiring a jumper at top metal layer) 2 All the input pins can be connected to top-level pins only through the highest routing layer of the net. Example To ensure that all the input pins can be connected to top-level pins only through the highest routing layer of the net, enter axSetIntParam "droute" "breakAntennaToTopPin" 2 See Also doAntennaConx, checkAntennaOnPG, maxAntennaPinCount, maxAntennaRatio, maxCutAntennaRatio, useSideWallForAntenna, dontMergeGateForAntenna, outputPinDischarge, defaultTopPinExtAntennaArea. checkAntennaOnPG The checkAntennaOnPG parameter turns on or off antenna check and fixing on power and ground nets. If the value is set to 0, antenna checking and fixing is turned off for power and ground nets. If the value is set to 1, antenna checking and fixing is turned on for power and ground nets. checkAntennaOnPG 4-35 This parameter overwrites maxAntennaPinCount for power and ground nets. For some large fanout nets like power and ground nets, antenna analysis can take an excessive amount of time, and antennas are usually prevented by using diodes during net construction. It is best to skip antenna analysis and fixing for such nets. Syntax axSetIntParam "droute" "checkAntennaOnPG" value Value Description 0 Does not check antenna on power and ground nets (the default). 1 Checks antenna on power and ground nets. Example To check the antenna on power and ground nets, enter the following: axSetIntParam "droute" "checkAntennaOnPG" 1 checkCellPinMinArea The checkCellPinMinArea parameter specifies how minimum -area rules are checked against cell pins in current design. If the value is set to 0, it is assumed that cell pins always satisfy minimum-area rules, and minimum-area rules are not checked against cell pins and the wires connecting to pins on the same layer. If the value is set to 1, minimum-area rules are checked against non-floating pins (pins have wires and vias connected to them) and respective connecting wires. Chapter 4: Detail Route Parameters 4-36 Note that even when the value is set to 1, the minimum-area rules are not checked against floating pins (pins with no connection to them). In most libraries, the minimum-area rules are already satisfied in cells, and checkCellPinMinArea should be left at its default value of 0 for these libraries. If minimum-area rules might be violated on cell pins in the library, you might want to set checkCellPinMinArea to 1. Note that pins might not include all connected wires in cells, and minimum-area rule check on cell pins at design level might be conservative and can give false minimum-area rule violations. Syntax axSetIntParam "droute" "checkCellPinMinArea" value Value Description 0 Assumes pins on cell instance always meet minimum-area rules (the default). 1 Checks minimum-area violation of non-floating pins of cell instances. Example To check minimum-area violation of non-floating pins of cell instances, enter the following: axSetIntParam "droute" "checkCellPinMinArea" 1 When set to 0, it is assumed that pins on cell instance always meet minimum-area rules. See Also checkTopPinMinArea checkCellPinMinArea 4-37 checkIsoViaByNetType The checkIsoViaByNetType parameter specifies the net types for isolated vias checking and fixing. If the value is set to 0, the router checks and fixes isolated vias for all nets. If the value is set to 1, the router checks and fixes isolated vias for power and ground nets only. If the value is set to 2, the router checks and fixes isolated vias for clock nets only. Syntax axSetIntParam "droute" "checkIsoViaByNetType" value Value Description 0 Checks and fixes isolated vias for all net type (the default) 1 Checks and fixes isolated vias for power and ground nets 2 Checks and fixes isolated vias for clock nets Example To check and fix isolated vias for power and ground nets, enter axSetIntParam "droute" "checkIsoViaByNetType" 1 checkMergedFatWire The checkMergedFatWire parameter specifies what types of wires can be merged to form fat wires for fat wire spacing check. If the value is set to 0, wires are not merged to form fat wires (for example, if there are two thin wires abutting each other, they are not Chapter 4: Detail Route Parameters 4-38 merged to form a fat wire). If the value is set to 1, only fixed preroute wires are merged to form fat wires. If the value is set to 2, wires of all types are merged to form fat wires. If the value is set to 3, metal blockages inside standard cell are also merged to form fat wires. This flag is not relevant if there is no fat spacing rule in the design. In general, to allow a proper fat wire spacing check, this flag should be left with the default value of 2, which allows all types of wires to be merged. In previous releases, the router ran slower with value 2 so this parameter was created. The overhead of using value 2 in the latest router should be minimized, and it is the default setting now. Syntax axSetIntParam "droute" "checkMergedFatWire" value Value Description 0 Does not merge thin wires into fat wires 1 Checks fat wires formed by merging two or more fixed preroute wires 2 Checks fat wires formed by merging two or more signal wires (the default) 3 Checks fat wires formed by merging blockages between standard cells Example To check fat wires formed by merging two or more fixed preroute wires, enter the following: axSetIntParam "droute" "checkMergedFatWire" 1 See Also stdCellBlockageAsThin, blockageAsFatWire, wideMacroPinAsFatWire, parallelLengthMode checkMergedFatWire 4-39 checkTopPinMinArea The checkTopPinMinArea parameter specifies whether top-level pins in current design are subject to minimum-area rule check. If the value is set to 0, minimum-area rules are not checked against top-level pins. If the value is set to 1, the minimum-area rules are checked against top-level pins. This parameter is applied only to non-floating pins (connected to wires), and minimum-area rules are not checked on floating pins. For most block level designs, the top-level pins represent crossing points for wires going across block boundaries, and the block pins are deleted once the design is flattened in the top-level design. In such cases, you might not want to worry about minimum-area violations on block-level pins (for example, minimum-area rules might be satisfied on the top level), and can set checkTopPinMinArea to 0. Syntax axSetIntParam "droute" "checkTopPinMinArea" value Value Description 0 Ignores minimum-area violation of top-cell pins. 1 Checks minimum-area violation of top-cell pins (the default). Example To ignore minimum-area violation of top-cell pins, enter the following: axSetIntParam "droute" "checkTopPinMinArea" 0 See Also checkCellPinMinArea Chapter 4: Detail Route Parameters 4-40 checkViaArrayMaxStackLevel The checkViaArrayMaxStackLevel parameter specifies whether to include via arrays when checking maxStackLevel DRC violation. If the value is set to 0, it ignores the maxStackLevel DRC violation if all stacked vias are via arrays. If the value is set to 1, it includes stacked via arrays for maxStackLevel checking. If the value is set to 2, it ignores the maxStackLevel DRC violation if at least one stacked via is via array. If the value is set to 3, it ignores maxStackLevel DRC violation if all stacked vias are aligned with the via array (overlapped with at least two cuts). Syntax axSetIntParam "droute" "checkViaArrayMaxStackLevel" value Value Description 0 Ignores the maxStackLevel DRC violation if all stacked vias are via arrays (the default) 1 Checks the maxStackLevel DRC violation for stacked via arrays 2 Ignores the maxStackLevel DRC violation if at least one stacked via is a via array 3 Ignores the maxStackLevel DRC violation if all stacked vias are aligned with the via array (overlapped with at least two cuts) Example To ignore the maxStackLevel DRC violation if all stacked vias are via arrays, enter axSetIntParam "droute" "checkViaArrayMaxStackLevel" 0 checkViaArrayMaxStackLevel 4-41 connBrokenNet The connBrokenNet parameter specifies whether broken nets are to be left broken or are to be reconnected. A broken net is a net that is not totally connected by glinks, preroutes, wires, or vias. If the value is set to 0, broken nets are ignored during detail routing. If the value is set to 1, broken nets are to be reconnected by detail routing. This parameter does not affect tie-off connections, which are controlled by the connTieOff parameter. Syntax axSetIntParam "droute" "connBrokenNet" value Value Description 0 Ignores broken nets 1 Reconnects broken nets (the default) Example To ignore broken nets, enter axSetIntParam "droute" "connBrokenNet" 0 When set to 1, the broken nets are reconnected. See Also connTieOff, connTieRail Chapter 4: Detail Route Parameters 4-42 connTieOff The connTieOff parameter specifies whether power and ground power and ground/clock tie-offs are to be connected by detail routing. In normal flow, tie-offs are not connected before detail routing. If the value is set to 0, power/ground/clock tie-off connections are skipped during detail routing. If the value is set to 1, power/ground/clock tie-offs are connected during detail routing even if they are not connected during global routing. Syntax axSetIntParam "droute" "connTieOff" value Value Description 0 Skips tie-off for power and ground clock nets. 1 Performs tie-off for power and ground clock nets (the default). Example To skip tie-off for power and ground clock nets, enter axSetIntParam "droute" "connTieOff" 0 When set to 1, tie-off is done. See Also connBrokenNet, connTieRail connTieOff 4-43 connTieRail The connTieRail parameter specifies where to connect tie-off pins. If the value is set to 0, the router connects tie-off pins anywhere on power and ground nets. If the value is set to 1, the router connects tie-off pins to power and ground rails and power and ground pins only. Syntax axSetIntParam "droute" "connTieRail" value Value Description 0 Connects tie-off pins anywhere (the default). 1 Connects tie pins only to power and ground rail, and power and ground pins. Example To connect tie pins only to power and ground rails and power and ground pins, enter axSetIntParam "droute" "connTieRail" 1 When set to 0, the tie-off pins can be connected anywhere. See Also connBrokenNet, connTieOff Chapter 4: Detail Route Parameters 4-44 cornerSpacingMode The cornerSpacingMode parameter specifies diagonal or Manhattan mode to check corner spacing. If the value is set to 0, the router checks corner spacing by diagonal distance. If the value is set to 1, the router checks corner spacing by Manhattan distance. Syntax axSetIntParam "droute" "cornerSpacingMode" value Value Description 0 Checks corner spacing by diagonal distance (the default). 1 Checks corner spacing by Manhattan distance. Example To check corner spacing by Manhattan distance, enter axSetIntParam "droute" "cornerSpacingMode" 1 defaultDiodeProtect The defaultDiodeProtect parameter specifies default diode protection value for all unspecified output ports except top-cell ports. If an output port has its diode protection value set, the value of defaultDiodeProtect is ignored for this port. This parameter is used only when doAntennaConx is set to 4. Syntax axSetRealParam "droute" "defaultDiodeProtect" value cornerSpacingMode 4-45 The valid values of this parameter range between 0 and 1,000,000. The default is 0. Example To specify default diode protection value for all unspecified output ports except top cell ports, enter axSetRealParam "droute" "defaultDiodeProtect" 50.000 See Also doAntennaConx, defaultGateSize, defaultTopPinExtGateSize, defaultTopPinExtAntennaArea defaultGateSize The defaultGateSize parameter specifies the default gate size for all unspecifies input ports. If the gate size for an input port is set, the value of defaultGateSize is ignored for this gate. Syntax axSetRealParam "droute" "defaultGateSize" value The valid values of this parameter range between 0 and 1,000,000. The default is 0. Example To specify the gate size for all unspecifies input ports as 100, enter xSetRealParam "droute" "defaultGateSize" 100 See Also doAntennaConx, defaultDiodeProtect, defaultTopPinExtGateSize, defaultTopPinExtAntennaArea Chapter 4: Detail Route Parameters 4-46 defaultTopPinExtAntennaArea The defaultTopPinExtAntennaArea parameter specifies default extAntennaArea (external antenna area) value for top-cell pins without defineExtAntennaArea in TDF. If a top cell pin has its definExtAntennaArea in TDF, the defaultTopPinExtAntennaArea value is ignored for this pin. Syntax axSetRealParam "droute" "defaultTopPinExtAntennaArea" value The valid values of this parameter range between 0 and 1,000,000. The default is 0. Example To specify default extAntennaArea value for top cell pins without defineExtAntennaArea in TDF, enter axSetRealParam "droute" "defaultTopPinExtAntennaArea" 100 See Also breakAntennaToTopPin, doAntennaConx, defaultDiodeProtect, defaultGateSize, defaultTopPinExtGateSize. defaultTopPinExtGateSize The defaultTopPinExtGateSize parameter specifies default extGateSize (external gate size) value for top cell pins without defineExtGateSize in TDF. If a top cell pin has its extGateSize in TDF, the defaultTopPinExtGateSize value is ignored for this pin. defaultTopPinExtAntennaArea 4-47 Syntax axSetRealParam "droute" "defaultTopPinExtGateSize" value The valid values of this parameter range between 0 and 1,000,000. The default is 0. Example To specify the default extGateSize value for top cell pins without defineExtGateSize in TDF, enter axSetRealParam "droute" "defaultTopPinExtGateSize" 100 See Also doAntennaConx, defaultDiodeProtect, defaultGateSize, defaultTopPinExtAntennaArea. defaultViaExceedFatContactThreshold The defaultViaExceedFatContactThreshold parameter specifies whether to merge metals for checking fat contact rule. If the value is set to 0, the router merges all metals (including via’s metal enclosures and wires) to check fat contact rule. If the value is set to 1, the router checks the rule for wires only. Chapter 4: Detail Route Parameters 4-48 Syntax axSetIntParam "droute" "defaultViaExceedFatContactThreshold" value Value Description 0 Uses merged metal to check the NeedFatContact rule (the default). 1 Uses only wires to check the NeedFatContact rule. Example To use only wires to check the NeedFatContact rule, enter axSetIntParam "droute" "defaultViaExceedFatContactThreshold"1 defaultWidthForStub The defaultWidthForStub parameter specifies the stub width to be used. The stub is a piece of metal added to contact metal to satisfy minimum area rules. If the value is set to 0, the stub width is defined to the contact metal width. If the value is set to 1, the stub width is defined to be the default metal width. If the default metal width is the same as the default contact metal width, this parameter does not affect the results. Otherwise, it depends on technology; setting it one way or the other might make a difference in routing results. defaultWidthForStub 4-49 Syntax axSetIntParam "droute" "defaultWidthForStub" value Value Description 0 Uses stubs with contact metal width to fix minimum area violations (the default). 1 Uses stubs with default metal width to fix minimum area violations. Example To use stubs with default metal width to fix minimum area violations, enter axSetIntParam "droute" "defaultWidthForStub" 1 See Also lessMinAreaStackCost diagonalDRC The diagonalDRC parameter specifies whether diagonal distance or rectilinear distance is to be used for DRC violation analysis. If the value is set to 0, the rectilinear distance is used. If the value is set to 1, the diagonal distance is used. When the rectilinear distance is used for DRC violation analysis, the distances in at least one of the X and Y directions need to satisfy spacing requirement to avoid a DRC violation. Chapter 4: Detail Route Parameters 4-50 Rectilinear measurement is more restrictive than diagonal measurement at the corners of shapes, and could lead to routing difficulty and more DRC violations in some designs. This might be especially noticeable if the library cells are designed assuming diagonal spacing. Using diagonal spacing can lead to some runtime increase in detail routing. If technology permits, it is recommended to leave diagonalDRC to its default value of 1 to give the router more flexibility to avoid DRC violations. Syntax axSetIntParam "droute" "diagonalDRC" value Value Description 0 Checks violations with Manhattan (X and Y) distance. 1 Checks violations with diagonal distance (the default). Example To check violations with diagonal distance, enter axSetIntParam "droute" "diagonalDRC" 1 See Also diagonalMinWidth diagonalMinWidth The diagonalMinWidth parameter specifies how shape width is measured when checked against the minimum width rule. diagonalMinWidth 4-51 When the rectilinear width is measured, the minimum width rule is violated if both X and Y direction widths are less than minimum width requirements. The rectilinear width measurement is more conservative than diagonal width measurement, and could trigger more minimum width violations. If technology permits, it is recommended to leave diagonalMinWidth to its default value of 1. Syntax axSetIntParam "droute" "diagonalMinWidth" value Value Description 0 Checks minimum width for Manhattan (X and Y) size . 1 Checks min-width for diagonal size if (diagonalDRC == 1) (the default). Example To check the minimum width for Manhattan size, enter axSetIntParam "droute" "diagonalMinWidth" 0 See Also diagonalDRC doAntennaConx The doAntennaConx parameter enables and disables the antenna check and fixing, and sets the antenna checking mode when enabled. If the value is set to 0, antenna checking and fixing is disabled. Otherwise, antenna checking and fixing is enabled. Chapter 4: Detail Route Parameters 4-52 If the value is set to 1, only the wires on the current layer with a direct connection path to the input pin with intermediate layers no higher than the current layer are used to check for antenna violation. This mode is the least constraining antenna check (best for routability). If the value is set to 2, the wires on the current layer and below the direct connection path to the input pin with intermediate layers no higher than the current layer are used to check for antenna violation. If the value is set to 3, the wires on the current layer and below with a direct connection path to the input pin with intermediate layers no higher than the current layer are used to check for antenna violation, and this mode is the most aggressive antenna check (worst for routability). If the value is set to 4, a combination of antenna rules in mode 1, 2, and 3 defined in design libraries is used to check for antenna violation, and limited diode protection mode can be assumed. It is assumed that output pins and diodes offer either unlimited discharging capability or zero discharging capability in mode 1 to 3, set by outputPinDischarge. Syntax axSetIntParam "droute" "doAntennaConx" value Value Description 0 No charge-collecting antenna checking (the default) 1 Ignores all lower-layer segments 2 Includes lower-layer segments to the input pins 3 Includes all lower-layer segments 4 Uses antenna rules defined in libraries doAntennaConx 4-53 Example To ignore all lower-layer segments, enter axSetIntParam "droute" "doAntennaConx" 1 doMaxCapConx The doMaxCapConx parameter specifies whether maximum capacitance constraints should be met or ignored during in-route optimization (axgAdvRouteOpt). If the value is set to 0, the maximum capacitance constraints are ignored during in-route optimization. If the value is set to 1, in-route optimization tries to meet maximum capacitance constraints. Syntax axSetIntParam "droute" "doMaxCapConx" value Value Description 0 Ignores maximum capacitance constraints. 1 Tries to meet maximum capacitance constraints during in-route optimization (the default). Example To ignore maximum capacitance constraints, enter axSetIntParam "droute" "doMaxCapConx" 0 See Also optSetup, doXtalkConx, doMaxTransConx, optDelaySlackTarget Chapter 4: Detail Route Parameters 4-54 doMaxTransConx The doMaxTransConx parameter specifies whether maximum transition constraints should be met or ignored during in-route optimization (axgAdvRouteOpt). If the value is set to 0, the maximum transition constraints are ignored during in-route optimization. If the value is set to 1, in-route optimization tries to meet maximum transition constraints. Syntax axSetIntParam "droute" "doMaxTransConx" value Value Description 0 Ignores the maximum transition constraints. 1 Tries to meet the maximum transition constraints during in-route optimization (the default). Example To ignore maximum transition constraints, enter axSetIntParam "droute" "doMaxTransConx" 0 See Also optSetup, doXtalkConx, doMaxCapConx, optDelaySlackTarget dontMakePinFat The dontMakePinFat parameter specifies whether wires and vias connecting to pins are allowed to create new fat shapes that might trigger fat via rule violations or minimum enclosed area (metal hole) violations. If the value is set to 0, it is allowed to add wires and vias doMaxTransConx 4-55 that might trigger above violations. If the value is set to a value other than 0, it is not allowed to add wires and vias that might trigger above violations. It is recommended to leave this parameter at its default value 0 to start. If the router creates many DRC violations related to fat via rule violations and minimum enclosed area violations close to pins, you can try to set the value of this parameter to other values to see if the situation improves. Syntax axSetIntParam "droute" "dontMakePinFat" value Value Description 0 Performs normal checking only (the default) 1 Checks all the pin connections to avoid creating new fat-shapes that may cause fatVia or minEnclosedArea rule violations 2 Checks only standard cell pin connections to avoid creating new fat shapes 3 Flags violation only if the fat degree of pin increases Example To check only standard cell pin connections to avoid creating new fat shapes, enter axSetIntParam "droute" "dontMakePinFat" 0 Chapter 4: Detail Route Parameters 4-56 dontMergeGateForAntenna The dontMergeGateForAntenna parameter specifies whether connected gate areas are to be added together in antenna ratio computation. If the value is set to 0, the areas are added together in antenna ratio computation if the gates are connected by wires and vias no higher than the layer that is being analyzed. If the value is set to 1, the areas are not added together. The value of 1 is more constraining than the value of 0 for antenna analysis and fixing. Syntax axSetIntParam "droute" "dontMergeGateForAntenna" value Value Description 0 When 2 or more input gates are connected together, the router adds their areas together in computing antenna ratio. (the default). 1 The router does not add the areas of connected input gates. Example To disable the addition of connected input gates by the router, enter axSetIntParam "droute" "dontMergeGateForAntenna" 1 dontRotateVia The dontRotateVia parameter specifies whether rotated vias can be used to access standard cell pins. If the value is set to 0, rotated vias can be used to access pins if necessary. If the value is set to 1, only the default via can be used to access pins. dontMergeGateForAntenna 4-57 Allowing rotated vias gives the router more flexibility in accessing pins, and it is recommended to leave this parameter at its default value if technology permits. Some libraries are designed with tight space around pins, and forbidding rotated via can introduce irresolvable DRC violations for certain designs. Note that this parameter applies only to vias that are connected to standard cell pins which have via regions extracted from BPV for via rotation. For the vias connecting wires, no rotated vias are allowed. Syntax axSetIntParam "droute" "dontRotateVia" value Value Description 0 Uses rotated via to access pins if necessary. (the default). 1 Uses only default via to access pins. Example To use only the default via to access pins, enter axSetIntParam "droute" "dontRotateVia" 1 When set to 0, rotated vias are used to access pins if necessary. Chapter 4: Detail Route Parameters 4-58 dontShortDiffEEQ The dontShortDiffEEQ parameter specifies if pins from different EEQ classes can be connected together. If the value is set to 0, pins from different EEQ classes can be connected together. If the value is set to 1, pins from different EEQ classes cannot be connected together. Syntax axSetIntParam "droute" "dontShortDiffEEQ" value Value Description 0 Connects pins from different EEQ classes (the default). 1 Does not connect different EEQ pins together. Example To prevent connecting the pins together, enter axSetIntParam "droute" "dontShortDiffEEQ" 1 When set to 0, pins from different EEQ classes can be connected together. doProbeConx The doProbeConx parameter specifies whether nets with top-layer probe constraints are to be routed to top layer for probing. dontShortDiffEEQ 4-59 Syntax axSetIntParam "droute" "doProbeConx" value Value Description 0 Ignores top-layer probe constraints (the default). 1 Nets with top-layer probe constraints are routed to top layer for probing. Example To route the nets with top-layer probe constraints to the top layer for probing, enter axSetIntParam "droute" "doProbeConx" 1 doSelectedNetAntennaConx The doSelectedNetAntennaConx parameter controls whether all antenna violations should be fixed or whether only antenna violations for specified nets should be fixed. Syntax axSetIntParam "droute" "doSelectedNetAntennaConx" value Value Description 0 Fixes all antenna violations (the default) 1 Fixes antenna violations only for the specified nets Chapter 4: Detail Route Parameters 4-60 Example To fix antenna violation for specified nets only, enter axSetIntParam "droute" "doSelectedNetAntennaConx" 1 doXtalkConx The doXtalkConx parameter specifies whether crosstalk constraints (such as static noise voltage constraints and capacitance constraints) are to be honored during in-route optimization (axgAdvRouteOpt). Syntax axSetIntParam "droute" "doXtalkConx" value Value Description 0 Ignores crosstalk constraints (the default). 1 Honors crosstalk constraints. Example To honor cross-talk constraints, enter axSetIntParam "droute" "doXtalkConx" 1 dropVia1InsideM1Pin The dropVia1InsideM1Pin parameter specifies whether force to via1 is being dropped inside the M1 pin or not. If the value is set to 0, the router does not force via1 to be dropped inside the M1 pin. If doXtalkConx 4-61 the value is set to 1, the router forces via1 to be dropped inside the M1 pins and via’s M1 enclosure is completely enclosed within the M1 pin. Syntax axSetIntParam "droute" "dropVia1InsideM1Pin" value Value Description 0 The via region may cause via1 outside M1 pin (the default) 1 The via region is totally covered by M1 pin Example To ensure that the via region is totally covered by the M1 pin, enter axSetIntParam "droute" "dropVia1InsideM1Pin" 1 When set to 0, the via region might cause via1 to be placed outside M1 pin. See Also ignoreViaRegion ecoListToFile The ecoListToFile parameter specifies whether to save the routing ECO list to the ecoRoute.list file. Chapter 4: Detail Route Parameters 4-62 Syntax axSetIntParam "droute" "ecoListToFile" value Value Description 0 Routing ECO list is not saved to the file, but it can still be found in the log file (the default). 1 Routing ECO list is output to the ecoRoute.list file. Example To dump a list of modified nets to the ecoRoute.list file, enter axSetIntParam "droute" "ecoListToFile" 1 ecoMode The ecoMode parameter specifies what nets are to be routed in ECO mode, and how they are rerouted. If the value is set to 0, only modified nets can be rerouted. If the value is set to 1, modified nets are rerouted first, and other nets can be rerouted later. If the value is set to 2, any nets can be rerouted in any order. Mode 0 produces minimum routing change, but offers you the least freedom to resolve DRC violations. Mode 2 offers the most freedom to resolve DRC violations, but can introduce significant changes in the routing solution. ecoMode 4-63 Syntax axSetIntParam "droute" "ecoMode" value Value Description 0 Reroutes modified nets only 1 Reroutes modified nets first, then tries other nets later 2 Reroutes any nets freely; best for routability (the default) Example To reroute modified nets only, enter axSetIntParam "droute" "ecoMode" 0 See Also ecoScope ecoScope The ecoScope parameter specifies whether to use global or local scope during ECO routing. If the value set to 0, the router uses global scope mode. If the value is set to 1, the router uses local scope. Set this value to 0 if design has many violations. Set it to 1 to get better runtime if the design has very few violations. Chapter 4: Detail Route Parameters 4-64 Syntax axSetIntParam "droute" "ecoScope" value Value Description 0 Uses global scope if there are many violations all over the design (the default). 1 Uses local scope if there are very few localized violations (better runtime) Example To use local scope if there are very few localized violations, enter axSetIntParam "droute" "ecoScope" 1 See Also ecoMode ecoSrLoop The ecoSrLoop parameter sets the number of search and repair loops to be carried out after ECO routing in the axgECORouteDesign or astPostRT command. The search and repair loop terminates if DRC violation count reaches 0 even if the specified number of iterations are not reached. If the DRC violation number is still converging (reducing) after reaching specified number of iterations, specifying more iterations could help further reduce DRC violation count at the cost of more runtime. Syntax axSetIntParam "droute" "ecoSrLoop" value ecoSrLoop 4-65 The valid values of this parameter range between 0 and 500. The default is 20. Example To set the number of search and repair loops to be carried out after eco routing in axgECORouteDesign or astPostRT command as 90, enter the following: axSetIntParam "droute" "ecoSrLoop" 90 See Also autoSrLoop, areaSrLoop, optSrLoop, srLoop, optDelaySrLoop, groupSrLoop eolEnclosureOnVia The eolEnclosureOnVia parameter specifies when endOfLineEnclosure from technology file, DesignRule section needs to be applied to vias. If the value is set to 0, endOfLineEnclosure applies only to vias with wires connecting to them. If the value is set to 1, endOfLineEnclosure applies to all vias. In most technologies, endOfLineEnclosure needs to apply only to vias with wires connecting to them, and vias with no wires (stacked vias) usually have different rules. Chapter 4: Detail Route Parameters 4-66 Syntax axSetIntParam "droute" "eolEnclosureOnVia" value Value Description 0 endOfLineEnclosure from technology file applies only to vias with wires (the default). 1 endOfLineEnclosure applies to vias with no wire at both sides. Example To specify that endOfLineEnclosure applies to vias with no wire at both sides, enter axSetIntParam "droute" "eolEnclosureOnVia" 1 When set to 0, endOfLineEnclosure from the technology file applies only to vias with wires. expandFillTracks The expandFillTracks parameter specifies whether the track region for metal fill should be expanded or not. expandFillTracks 4-67 Syntax axSetIntParam "droute" "expandFillTracks" value Value Description 0 The router inserts metal fills in core area only (the default). 1 The router expands track region for metal fill to cover whole design area. Example To enable the router to expand the track region to cover the entire design area for metal fill, enter axSetIntParam "droute" "expandFillTracks" 1 See Also offsetFillTrack, fillEndByMinSpcPercent fatSpacingToSameNet The fatSpacingToSameNet parameter specifies whether to apply fat metal spacing rules on the same nets. If the value is set to 0, the router uses default spacing rule to check the same nets. If the value is set to 1, the router applies fat metal spacing rule for the same nets. Chapter 4: Detail Route Parameters 4-68 Syntax axSetIntParam "droute" "fatSpacingToSameNet" value Value Description 0 Uses default spacing rules instead of fat spacing rules for the same net. 1 Applies fat spacing rules between shapes of the same net (the default). Example To apply fat spacing rules between shapes of the same net, enter axSetIntParam "droute" "fatSpacingToSameNet" 1 When set to 0, the default spacing rules are used for the same net instead of fat spacing rules. feedThruPinTaper The feedThruPinTaper parameter specifies whether pin tapering is needed for pins with multiple connections (using pins as feedthroughs). If the value is set to 0, pin tapering is not needed for pins with multiple connections. If the value is set to 1, pin tapering is required even for pins with multiple connections. Be careful about allowing pin tapering while allowing multiple connections to the same pins because it might not be desirable for wire width to be small in the middle of a connection path. feedThruPinTaper 4-69 Syntax axSetIntParam "droute" "feedThruPinTaper" value Value Description 0 No pin tapering on pins with multiple connections (the default). 1 Allows pin tapering on pins with multiple connections Example To allow pin tapering on pins with multiple connections, enter axSetIntParam "droute" "feedThruPinTaper" 1 When set to 0, there is no pin tapering on pins with multiple connections. fillDataType The fillDataType parameter specifies a data type of filled metals. The value N is the data type of filled metals. Syntax axSetIntParam "droute" "fillDataType" value The valid values of this parameter range between 0 and 256. The default is 0. Example To specify the data type of filled metals as 90, enter axSetIntParam "droute" "fillDataType" 90 Chapter 4: Detail Route Parameters 4-70 See Also fillViaDataType fillEndByMinSpcPercent The fillEndByMinSpcPercent parameter specifies the spacing requirement between the routing wires and the ends of fill metal. If the value is set to -1, the normal required spacing is used between the routing wires and the ends of fill metal. Otherwise, the value sets the percentage of normal required spacing to be used between the routing wires and the ends of fill metal. Normally, this value is to be left at its default value of -1. It should only be changed if the user understands the impact of it on the yield, and the final verification should be set accordingly. Syntax axSetIntParam "droute" "fillEndByMinSpcPercent" value The valid values of this parameter range between -1 and 10,000. The default is -1. Example To use the same spacing for all sides between fill metal and routing wires as 500, enter axSetIntParam "droute" "fillEndByMinSpcPercent" 500 See Also offsetFillTrack, expandFillTracks fillEndByMinSpcPercent 4-71 fillMetalCloseToMinDensityValue The fillMetalCloseToMinDensityValue parameter specifies the target metal density for metal fill insertion. If the value is set to 0, the router tries to maximize dummy metals as long as maximum density is not violated. If the value is set to 1, the router tries to minimize dummy metals as long as minimum density is met. Syntax axSetIntParam "droute" "fillMetalCloseToMinDensityValue" value Value Description 0 Fills metal to have metal density a little less than the maximum density value (the default). 1 Fills metal to have metal density a little more than the minimum density value. Example For fill metal to have metal density a little more than minimum density value, enter axSetIntParam "droute" "fillMetalCloseToMinDensityValue" 1 See Also fillMetalUniformly, metalFillDensityIncrement Chapter 4: Detail Route Parameters 4-72 fillMetalUniformly The fillMetalUniformly parameter specifies whether to fill dummy metal uniformly. If the value is set to 0, the router fills dummy metal in contiguous tracks. If the value is set to 1, the router tries to fills dummy metal uniformly in each window to meet the density rule. Syntax axSetIntParam "droute" "fillMetalUniformly" value Value Description 0 Fills metal in contiguous tracks to meet density rule (the default). 1 Fills metal uniformly in each window to meet density rule. Example To specify fill metal uniformly in each window to meet the density rule, enter axSetIntParam "droute" "fillMetalUniformly" 1 See Also fillMetalCloseToMinDensityValue, metalFillDensityIncrement fillNotch The fillNotch parameter specifies whether metal shapes can be used to fill notch or minimum edge violations. The value 0 disables notch filling, and 1 enables notch filling. fillMetalUniformly 4-73 If ignoreNotchDRC is enabled, metals are not used to fill notch violations, but might still be used to fill minimum edge violations if fillNotch is set to 1. If both ignoreNotchDRC and fillNotch are disabled, notch violation will be fixed by ripup and reroute. Syntax axSetIntParam "droute" "fillNotch" value Value Description 0 Does not use wire to fill notch or minimum edge violations. 1 Allows the router to use wire to fill notch or minimum edge violations (the default). Example To allow the router to use wire to fill notch or minimum edge violations, enter axSetIntParam "droute" "fillNotch" 1 When set to 0, notch filling is disabled. See Also ignoreNotchDRC fillViaDataType The fillViaDataType parameter specifies a data type of filled vias. If the value set to N, N is the data type of filled via. Chapter 4: Detail Route Parameters 4-74 Syntax axSetIntParam "droute" "fillViaDataType" value The valid values of this parameter range between 0 and 256. The default is 0. Example To specify the data type of filled vias, enter axSetIntParam "droute" "fillViaDataType" 70 See Also fillDataType fixMinEdgeLengthByFilling The fixMinEdgeLengthByFilling parameter specifies whether to allow filling metals to fix minEdgeLength violations during search and repair. Syntax axSetIntParam "droute" "fixMinEdgeLengthByFilling" value Value Description 0 No filling to resolve non-pin minEdgeLength violations during search and repair (the default). 1 Allow filling to resolve non-pin minEdgeLength violations during search and repair. fixMinEdgeLengthByFilling 4-75 Example To allow filling for resolving non-pin minEdgeLength violations during search and repair, enter axSetIntParam "droute" "fixMinEdgeLengthByFilling" 1 floatingWireIsGateDischarge The floatingWireIsGateDischarge parameter specifies whether to treat the gate as the discharge path. Syntax axSetIntParam "droute" "floatingWireIsGateDischarge" value Value Description 0 Gate is not discharge path (may be floating) (the default). 1 Gate is discharge path (is not floating). Example To treat gate as discharge path, enter axSetIntParam "droute" "floatingWireIsGateDischarge" 1 When set to 0, the gate is not treated as the discharge path. See Also floatingWireMode Chapter 4: Detail Route Parameters 4-76 floatingWireMode The floatingWireMode parameter specifies whether to fix floating wire antennas. If the value is set to 0, the router does not fix floating wire antennas. If the value is set to 1, the router tries to fix floating wire antennas. If the value is set to 2, the router fixes floating wire antennas but ignores floating antenna violations on user routes. When this mode is enabled, all other antenna checking and fixing is disabled; only floating antenna violations are checked and fixed. Syntax axSetIntParam "droute" "floatingWireMode" value Table 4-2 Valid Values of the breakAntennaToTopPin Parameter Value Description 0 Fixing based on antenna constraints (if any) 1 Fixing based on floating antenna constraints only 2 Fixing based on floating antenna constraints only (ignore violations on user routes) Example To fix floating wire antennas based on floating antenna constraints only, enter axSetIntParam "droute" "floatingWireMode" 1 See Also floatingWireIsGateDischarge floatingWireMode 4-77 followPolyTrkForPolyFill The followPolyTrkForPolyFill parameter specifies to whether tracks on poly layer are used for poly fills. If the value is set to 0, the router follows M2 tracks to fill poly layer. If the value is set to 1, the router follows poly tracks to fill poly layer. Syntax axSetIntParam "droute" "followPolyTrkForPolyFill" value Value Description 0 Follows M2 tracks for metal fill on poly layer (the default). 1 Follows poly tracks for metal fill on poly layer. Example To specify whether the router should follow poly tracks for metal fill on the poly layer, enter axSetIntParam "droute" "followPolyTrkForPolyFill" 1 groupSrLoop The groupSrLoop parameter specifies the number of search and repair loops in the axgRouteGroup command. The search and repair loop terminates if DRC violation count reaches 0 even if the specified number of iterations are not reached. If the DRC violation number is still converging (reducing) after Chapter 4: Detail Route Parameters 4-78 reaching specifies number of iterations, specifying more iterations could help reducing DRC violation count further at the cost of more runtime. Syntax axSetIntParam "droute" "groupSrLoop" value The valid values of this parameter range between 0 and 200. The default is 5. Example To specify five search and repair loops in the axgRouteGroup command, enter axSetIntParam "droute" "groupSrLoop" 5 See Also autoSrLoop, areaSrLoop, optSrLoop, srLoop, optDelaySrLoop, ecoSrLoop hardMaxLayerConx The hardMaxLayerConx parameter specifies the allowed wire usage above the maximum routing layer (maxLayer) set in top cell. If the value is set to 0, wires can be routed above maxLayer with some extra cost. If the value is set to 1, wires can only connect to pins above maxLayer with monotonically increasing layers. If the value is set to 2, no wires are allowed above maxLayer. This parameter has no effect if there is no pin or preroute in the design above maxLayer. The smaller the value, the more flexibility the router has to connect to pins and preroutes above maxLayer. hardMaxLayerConx 4-79 Syntax axSetIntParam "droute" "hardMaxLayerConx" value Value Description 0 The maxLayer constraints are soft. 1 No wires are allowed above maxLayer except for pin connections. 2 No wires are allowed above maxLayer even for pin connections (the default). Example To specify that no wires are allowed above maxLayer except for pin connections, enter axSetIntParam "droute" "hardMaxLayerConx" 1 See Also viaOverMaxLayer, hardMinLayerConx hardMinLayerConx The hardMinLayerConx parameter specifies the allowed wire usage below the minimum routing layer (minLayer) set in the top cell. If the value is set to 0, wires can be routed below minLayer with some extra cost. If the value is set to 1, wires can only connect to pins below minLayer with monotonically decreasing layers. If the value is set to 2, no wires are allowed below minLayer. This parameter has no effect if there is no pin or preroute in the design below minLayer. The smaller the value, the more flexibility the router has to connect to pins and preroutes below minLayer. Chapter 4: Detail Route Parameters 4-80 Syntax axSetIntParam "droute" "hardMinLayerConx" value Value Description 0 The minLayer constraints are soft (the default) 1 No wires are allowed below minLayer except for pin connections 2 No wires are allowed below minLayer even for pin connections Example To ensure that no wires are allowed below minLayer except for pin connections, enter axSetIntParam "droute" "hardMinLayerConx" 1 See Also hardMaxLayerConx highEffortViaDoubling The highEffortViaDoubling parameter specifies whether to shift the double via array to improve double via coverage. If the value is set to 0, the router does not shift the double via array. If the value is set to 1, the router tries to shift the the double via array to improve double via coverage. The shifted double via array might cause routing pattern lithography issues. highEffortViaDoubling 4-81 Syntax axSetIntParam "droute" "highEffortViaDoubling" value Value Description 0 No high effort (side shift) to avoid lithography issue. 1 Uses high effort (side shift) while inserting redundant via (the default). Example To specify that the router does not shift double via array, enter axSetIntParam "droute" "highEffortViaDoubling" 0 ignoreFloatingWireSpacing The ignoreFloatingWireSpacing parameter specifies whether to check spacing for the floating wire antenna. If the value is set to 0, the router checks spacing for the floating wire antenna. If the value is set to 1, the router does not check it. Syntax axSetIntParam "droute" "ignoreFloatingWireSpacing" value Value Description 0 Checks spacing for the floating wire antenna (the default). 1 Does not check spacing for the floating wire antenna. Chapter 4: Detail Route Parameters 4-82 Example To check spacing for the floating wire antenna, enter axSetIntParam "droute" "ignoreFloatingWireSpacing" 0 When set to 1, spacing is not checked for the floating wire antenna. See Also ignoreFloatingWireToBlockageSpacing ignoreFloatingWireToBlockageSpacing The ignoreFloatingWireToBlockageSpacing parameter specifies whether to check spacing to blockages for the floating wire antenna. If the value is set to 0, the router checks spacing to blockages for the floating wire antenna. If the value is set to 1, the router does not check it. Syntax axSetIntParam "droute" "ignoreFloatingWireToBlockageSpacing" value Value Description 0 Checks spacing to blockages for the floating wire antenna (the default). 1 Does not check spacing to blockages for the floating wire antenna. ignoreFloatingWireToBlockageSpacing 4-83 Example To check spacing to blockages for the floating wire antenna, enter the following: axSetIntParam "droute" "ignoreFloatingWireToBlockageSpacing" 0 When set to 1, spacing to blockages is not checked for the floating wire antenna. See Also ignoreFloatingWireSpacing ignoreFrozenNetDRC The ignoreFrozenNetDRC parameter specifies whether to check same net DRC violations and opens for frozen nets. If the value is set to 0, router checks same net DRC violations and opens for frozen nets. If the value is set to 1, router does not check same-net DRC violations and opens for frozen nets. Syntax axSetIntParam "droute" " ignoreFrozenNetDRC" value Value Description 0 Checks the same-net DRC violation and opens for frozen nets. 1 Does not check same-net DRC violation and opens for frozen nets. Chapter 4: Detail Route Parameters 4-84 Example To specify whether to check same net DRCs and opens for frozen nets, enter axSetIntParam "droute" "ignoreFrozenNetDRC" 0 ignoreMetalExtensionRule The ignoreMetalExtensionRule parameter specifies whether to ignore endOfLineEncTbl and eolTShapeEnc rules. If the value is set to 0, the router honors these two rules that are defined in the technology file. If the value is set to 1, the router ignores these two rules. Syntax axSetIntParam "droute" "ignoreMetalExtensionRule" value Value Description 0 The endOfLineEncTbl and eolTShapeEnc rules from technology file will apply to single vias (the default). 1 The endOfLineEncTbl and eolTShapeEnc rules will be ignored. Example To ignore endOfLineEncTbl and eolTShapeEnc, enter axSetIntParam "droute" "ignoreMetalExtensionRule" 1 When set to 0, the endOfLineEncTbl and eolTShapeEnc rules from the technology file apply to single vias. ignoreMetalExtensionRule 4-85 ignoreNotchDRC The ignoreNotchDRC parameter specifies whether notch violations are to be ignored or resolved in upcoming routing steps. If the value is set to 0, notch violations will be flagged and resolved. If the value is set to 1, notch violations will be ignored. In this case, some later explicit step is needed to fill the notches if they need to be fixed. Note that unlike the fillNotch parameter, ignoreNotchDRC only apply to notch violations, not minimum edge violations. Syntax axSetIntParam "droute" "ignoreNotchDRC" value Value Description 0 Resolves notch violation (the default). 1 Ignore notch violations. Example To resolve notch violations, enter axSetIntParam "droute" "ignoreNotchDRC" 0 See Also fillNotch Chapter 4: Detail Route Parameters 4-86 ignoreSameNetAdjacentViaDRC The ignoreSameNetAdjacentViaDRC parameter specifies whether vias on same net are included or not when counting adjacent vias. If the value is set to 0, the router checks all vias. If the value is set to 1, the router does not check same-net vias when counting adjacent vias. Syntax axSetIntParam "droute" "ignoreSameNetAdjacentViaDRC" value Value Description 0 All vias will be included when counting the adjacent vias (the default). 1 The same-net vias are excluded when counting the adjacent vias. Example To specify that the same-net vias are excluded when counting the adjacent vias, enter axSetIntParam "droute" "ignoreSameNetAdjacentViaDRC" 1 ignoreTopBndy The ignoreTopBndy parameter specifies whether the top-cell boundary constrains routing wires and contacts, and if so, how it constrains routing wires and contacts. ignoreSameNetAdjacentViaDRC 4-87 If the value is set to -1, all wires and contacts need to stay at least half minimum spacing inside the top cell boundary. If the value is set to 0, wires and contacts need to stay inside the top cell boundary, but can go all the way to the cell boundary. If the value is set to 1, wires and contacts are allowed to go outside the top cell boundary to access pins. It is important for cells at different levels to have consistent assumptions about cell boundary constraints to guarantee the final design will be free of DRC violations across cell boundaries. Syntax axSetIntParam "droute" "ignoreTopBndy" value Value Description -1 Wires/contacts need to stay half minimum spacing inside top cell boundary 0 Wires/contacts not allowed outside top cell boundary (the default) 1 Wires/contacts can go outside top cell boundary Example To specify whether wires/contacts can go outside the top cell boundary, enter axSetIntParam "droute" "ignoreTopBndy" 1 ignoreVarSpacingToPG The ignoreVarSpacingToPG parameter specifies whether the variable spacing rule defined in varRouteRule is to be applied between the signal and clock nets, and the power and ground nets. Chapter 4: Detail Route Parameters 4-88 If the value is set to 0, the variable spacing rule is to be applied from the specified nets to the power and ground nets. If the value is set to 1, the default spacing rule is used between the non-power and ground nets, and the power and ground nets. If the value is set to 2, the default spacing rule is used between the non-power and ground nets to power and ground nets and blockages. Note that tie-low nets and tie-high nets that are routed during signal routing are treated as signal nets. Syntax axSetIntParam "droute" "ignoreVarSpacingToPG" value Value Description 0 Forces variable spacing rule on the specified net to power and ground nets (the default). 1 Does not apply variable spacing rule between nets and power and ground nets. 2 Does not apply variable spacing rule between nets, power and ground nets, and blockage. Example To disable variable spacing rule between the specified nets and the power and ground nets, enter axSetIntParam "droute" "ignoreVarSpacingToPG" 0 See Also varSpacingToSameNet ignoreVarSpacingToPG 4-89 ignoreViaRegion The ignoreViaRegion parameter specifies whether via regions defined on pins are to be ignored during routing. If the value is set to 0, via regions are used during routing to connect to pins. If the value is set to 1, via regions are ignored during routing to connect to pins. In general, via regions generated by BVP are helpful to the router to connect to pins, and it is recommended to leave the value of the parameter to 0 so via regions are used during routing. Syntax axSetIntParam "droute" "ignoreViaRegion" value Value Description 0 Reads via region (the default). 1 Does not use via region to connect to pins. Example If you do not want to use the via region to connect to pins, enter axSetIntParam "droute" "ignoreViaRegion" 1 When set to 0, the via region is read. See Also dropVia1InsideM1Pin Chapter 4: Detail Route Parameters 4-90 isolatedViaQuadrantSpacing The isolatedViaQuadrantSpacing parameter specifies maximum spacing between an isolated via and its adjacent vias. If the value is set to N, adjacent vias are required within distance N from isolated via. The adjacent vias must cover all four quadrants. The parameter, once defined, applies to all via layers. Syntax axSetRealParam "droute" "isolatedViaQuadrantSpacing" value The valid values of this parameter range between 0.000 and 50.000. The default is 10.000. Example To define isolated via rule by specifying spacing between an isolated via and its adjacent vias as 45, enter axSetRealParam "droute" "isolatedViaQuadrantSpacing" 45.000 See Also polyContIsolatedViaQuadrantSpacing via1IsolatedViaQuadrantSpacing via2IsolatedViaQuadrantSpacing via3IsolatedViaQuadrantSpacing via4IsolatedViaQuadrantSpacing via51IsolatedViaQuadrantSpacing via6IsolatedViaQuadrantSpacing via7IsolatedViaQuadrantSpacing via8IsolatedViaQuadrantSpacing via9IsolatedViaQuadrantSpacing via10IsolatedViaQuadrantSpacing via11IsolatedViaQuadrantSpacing isolatedViaQuadrantSpacing 4-91 isolatedViaSpacing The isolatedViaSpacing parameter specifies maximum spacing between an isolated via and its adjacent vias. If the value is set to N, at least one adjacent via is required within distance N from isolated via. The parameter, after being defined, applies to all metal layers. Syntax axSetIntParam "droute" "isolatedViaSpacing" value The valid values of this parameter range between 0.000 and 20.000. The default is 1. Example To define isolated via rule by specifying spacing as 15 between an isolated via and its adjacent vias, enter axSetRealParam "droute" "isolatedViaSpacing" 15.000 See Also polyContIsolatedViaSpacing via1IsolatedViaSpacing via2IsolatedViaSpacing via3IsolatedViaSpacing via4IsolatedViaSpacing via5IsolatedViaSpacing via6IsolatedViaSpacing via7IsolatedViaSpacing via81IsolatedViaSpacing via9IsolatedViaSpacing via10IsolatedViaSpacing via11IsolatedViaSpacing layerLengthLimit The layerLengthLimit parameter sets the total length limit on the flagged routing layers for each two point connection by routing search. If the value is set to -1, there is no length limit for the design. Chapter 4: Detail Route Parameters 4-92 Otherwise, the value sets the length limit. The included routing layers are flags by limitPolyLength, limitM1Length, limitM2Length, limitM3Length, and limitM4Length. Syntax axSetIntParam "droute" "layerLengthLimit" value The valid values of this parameter range between are -1 and 1073741824. The default is -1. Example To remove any limit on poly/metal wire length, enter axSetIntParam "droute" "layerLengthLimit" -1 See Also limitPolyLength limitM1Length limitM2Length limitM3Length limitM4Length lessMinAreaStackCost The lessMinAreaStackCost parameter specifies stacked via usage and cost when the stacked via does not satisfy minimum area rules. If the value is set to -1, the stacked via is not allowed if the stacked via does not satisfy minimum area rule in the middle layer. If the value is set to 0, stacked vias are used freely even when minimum area rules are violated, and the violations are fixed with extra metal stubs. If the value is set to N (between 1 and 10), stacked vias that violate minimum area rules can be used at increased cost of N with respect to the default value of 1, and the violations are fixed with extra metal stubs. lessMinAreaStackCost 4-93 In general, it is recommended to leave this parameter at its default value. If you see excessive DRC violations caused by minimum area rule stubs on stacked vias in the end results, you can set this parameter to a larger value to discourage usage of stacked vias with minimum area rule violations. Syntax axSetIntParam "droute" "lessMinAreaStackCost" value The valid values of this parameter range between -1 and 10. The default is 0. Example To ensure that there is no via stacking when minimum-area rule cannot be met, enter the following: axSetIntParam "droute" "lessMinAreaStackCost" -1 See Also defaultWidthForStub limitPolyLength limitM1Length limitM2Length limitM3Length limitM4Length These parameters specify the layers that should be included for layerLengthLimit constraint computation. If the value is set to 0, the corresponding layer is not included in wire length computation that is constrained by layerLengthLimit. If the value is set to 1, the corresponding layer is included in wire length computation that is Chapter 4: Detail Route Parameters 4-94 constrained by layerLengthLimit. The length is measured for each two point connection by routing search, which is constrained by layerLengthLimit. For multiple nets, multiple connections are made to connect all pins, and wires from multiple connections can add up to more than the length set by layerLengthLimit. Syntax axSetIntParam "droute" "limitPolyLength" value axSetIntParam "droute" "limitM1Length" value axSetIntParam "droute" "limitM2Length" value axSetIntParam "droute" "limitM3Length" value axSetIntParam "droute" "limitM4Length" value Value Description 0 No limits on poly wire and metal wire length (the default). 1 Limits the length of poly and metal wires. Example To limit the length of wires, enter the following: axSetIntParam "droute" "limitPolyLength" 1 axSetIntParam "droute" "limitM1Length" 1 axSetIntParam "droute" "limitM2Length" 1 axSetIntParam "droute" "limitM3Length" 1 When set to 0, there is no limit on the wire length. limitPolyLength limitM1Length limitM2Length limitM3Length limitM4Length 4-95 lineViaFollowPrefDir The lineViaFollowPrefDir parameter specifies the default orientation of a line via array. If the value set to 0, the line via array is 1 X N (column X row). If the value is set to 1, the orientation of the line via array follows the preferred direction of the lower metal layer. Syntax axSetIntParam "droute" "lineViaFollowPrefDir" value Value Description 0 Orientation of the line via array is 1 X N (the default). 1 Orientation of the line via array follows the preferred direction of the lower metal layer. Example To specify that the orientation of the line via array follows the direction of the lower metal layer, enter axSetIntParam "droute" "lineViaFollowPrefDir" 1 When set to 0, the orientation is 1 X N. See Also layerLengthLimit Chapter 4: Detail Route Parameters 4-96 lowSkewClkRoute The lowSkewClkRoute parameter specifies how many changes are allowed on nets from clock tree synthesis during detail routing.If the value is set to 0, nets from clock tree synthesis are treated the same as other nets. If the value is set to 1, minimal changes are to be made to nets from clock tree synthesis, if necessary. Syntax axSetIntParam "droute" "lowSkewClkRoute" value Value Description 0 Normal routing. 1 Minimize changes on nets from clock tree synthesis (the default). Example For normal routing, enter axSetIntParam "droute" "lowSkewClkRoute" 0 See Also Reroute0SkewClk M1EolTip2SideSpacing M2EolTip2SideSpacing M3EolTip2SideSpacing M4EolTip2SideSpacing M5EolTip2SideSpacing M6EolTip2SideSpacing lowSkewClkRoute 4-97 M7EolTip2SideSpacing M8EolTip2SideSpacing M9EolTip2SideSpacing M10EolTip2SideSpacing M11EolTip2SideSpacing M12EolTip2SideSpacing These parameters specify spacing between line-end and line-side for the metalx layer. If the value is set to N, spacing N is required between line-end and line-side on metalx during signal routing. Syntax axSetRealParam "droute" "M1EolTip2SideSpacing" value axSetRealParam "droute" "M2EolTip2SideSpacing" value axSetRealParam "droute" "M3EolTip2SideSpacing" value axSetRealParam "droute" "M4EolTip2SideSpacing" value axSetRealParam "droute" "M5EolTip2SideSpacing" value axSetRealParam "droute" "M6EolTip2SideSpacing" value axSetRealParam "droute" "M7EolTip2SideSpacing" value axSetRealParam "droute" "M8EolTip2SideSpacing" value axSetRealParam "droute" "M9EolTip2SideSpacing" value axSetRealParam "droute" "M10EolTip2SideSpacing" value axSetRealParam "droute" "M11EolTip2SideSpacing" value axSetRealParam "droute" "M12EolTip2SideSpacing" value The valid values of this parameter range between 0.000 and 10.000. The default is 0.000. Example To specify spacing between line-end and line-side for the metalx layer as 9, enter axSetRealParam "droute" "M5EolTip2SideSpacing" 9.000 Chapter 4: Detail Route Parameters 4-98 m1FloatingWireArea m2FloatingWireArea m3FloatingWireArea m3FloatingWireArea m4FloatingWireArea m5FloatingWireArea m6FloatingWireArea m7FloatingWireArea m8FloatingWireArea m9FloatingWireArea m10FloatingWireArea m11FloatingWireArea m12FloatingWireArea These parameters specify maximum allowable metal area for floating wire antenna. If the value is set to N, N means maximum allowable metal area for the floating wire antenna. Syntax axSetRealParam "droute" "m1FloatingWireArea" value axSetRealParam "droute" "m2FloatingWireArea" value axSetRealParam "droute" "m3FloatingWireArea" value axSetRealParam "droute" "m4FloatingWireArea" value axSetRealParam "droute" "m5FloatingWireArea" value axSetRealParam "droute" "m6FloatingWireArea" value axSetRealParam "droute" "m7FloatingWireArea" value axSetRealParam "droute" "m8FloatingWireArea" value axSetRealParam "droute" "m9FloatingWireArea" value axSetRealParam "droute" "m10FloatingWireArea" value axSetRealParam "droute" "m11FloatingWireArea" value axSetRealParam "droute" "m12FloatingWireArea" value The valid values of this parameter range between 0 and 1,000,000. The default is 0.000. m1FloatingWireArea m2FloatingWireArea m3FloatingWireArea m3FloatingWireArea m4FloatingWireArea 4-99 Example To specify the maximum allowable metal area for floating wire antenna as 200, enter axSetRealParam "droute" "m2FloatingWireArea" 200 See Also m1FloatingWireSpacing m2FloatingWireSpacing m3FloatingWireSpacing m4FloatingWireSpacing m5FloatingWireSpacing m6FloatingWireSpacing m7FloatingWireSpacing m8FloatingWireSpacing m9FloatingWireSpacing m10FloatingWireSpacing m11FloatingWireSpacing m12FloatingWireSpacing M1FloatingWirePLength1 M2FloatingWirePLength1 M3FloatingWirePLength1 M4FloatingWirePLength1 M5FloatingWirePLength1 M6FloatingWirePLength1 M7FloatingWirePLength1 M8FloatingWirePLength1 M9FloatingWirePLength1 M10FloatingWirePLength1 M11FloatingWirePLength1 M12FloatingWirePLength1 These parameters specify the value of floating wire parallel length1 for the metalx layer. Chapter 4: Detail Route Parameters 4-100 Syntax axSetRealParam "droute" "M1FloatingWirePLength1" value axSetRealParam "droute" "M2FloatingWirePLength1" value axSetRealParam "droute" "M3FloatingWirePLength1" value axSetRealParam "droute" "M4FloatingWirePLength1" value axSetRealParam "droute" "M5FloatingWirePLength1" value axSetRealParam "droute" "M6FloatingWirePLength1" value axSetRealParam "droute" "M7FloatingWirePLength1" value axSetRealParam "droute" "M8FloatingWirePLength1" value axSetRealParam "droute" "M9FloatingWirePLength1" value axSetRealParam "droute" "M10FloatingWirePLength1" value axSetRealParam "droute" "M11FloatingWirePLength1" value axSetRealParam "droute" "M12FloatingWirePLength1" value The valid values of this parameter range between 0.000 and 10.000. The default is 0.000. Example To specify the value of floating wire parallel length1 for the M9 layer, enter axSetRealParam "droute" "M9FloatingWirePLength1" 6.000 See Also M1FloatingWirePLength2 M2FloatingWirePLength2 M3FloatingWirePLength2 M4FloatingWirePLength2 M5FloatingWirePLength2 M6FloatingWirePLength2 M7FloatingWirePLength2 M8FloatingWirePLength2 M9FloatingWirePLength2 M10FloatingWirePLength2 M11FloatingWirePLength2 M12FloatingWirePLength2, M1FloatingWirePLength3 M2FloatingWirePLength3 M3FloatingWirePLength3 M4FloatingWirePLength3 M5FloatingWirePLength3 M6FloatingWirePLength3 M7FloatingWirePLength3 M8FloatingWirePLength3 M9FloatingWirePLength3 M10FloatingWirePLength3 M11FloatingWirePLength3 M12FloatingWirePLength3, M1FloatingWirePLength1 M2FloatingWirePLength1 M3FloatingWirePLength1 M4FloatingWirePLength1 4-101 M1FloatingWirePLength4 M2FloatingWirePLength4 M3FloatingWirePLength4 M4FloatingWirePLength4 M5FloatingWirePLength4 M6FloatingWirePLength4 M7FloatingWirePLength4 M8FloatingWirePLength4 M9FloatingWirePLength4 M10FloatingWirePLength4 M11FloatingWirePLength4 M12FloatingWirePLength4, M1FloatingWirePLength5 M2FloatingWirePLength5 M3FloatingWirePLength5 M4FloatingWirePLength5 M5FloatingWirePLength5 M6FloatingWirePLength5 M7FloatingWirePLength5 M8FloatingWirePLength5 M9FloatingWirePLength5 M10FloatingWirePLength5 M11FloatingWirePLength5 M12FloatingWirePLength5 M1FloatingWirePLength2 M2FloatingWirePLength2 M3FloatingWirePLength2 M4FloatingWirePLength2 M5FloatingWirePLength2 M6FloatingWirePLength2 M7FloatingWirePLength2 M8FloatingWirePLength2 M9FloatingWirePLength2 M10FloatingWirePLength2 M11FloatingWirePLength2 M12FloatingWirePLength2 These parameters specify the value of floating wire parallel length2 for the metalx layer. Chapter 4: Detail Route Parameters 4-102 Syntax axSetRealParam "droute" "M1FloatingWirePLength2" value axSetRealParam "droute" "M2FloatingWirePLength2" value axSetRealParam "droute" "M3FloatingWirePLength2" value axSetRealParam "droute" "M4FloatingWirePLength2" value axSetRealParam "droute" "M5FloatingWirePLength2" value axSetRealParam "droute" "M6FloatingWirePLength2" value axSetRealParam "droute" "M7FloatingWirePLength2" value axSetRealParam "droute" "M8FloatingWirePLength2" value axSetRealParam "droute" "M9FloatingWirePLength2" value axSetRealParam "droute" "M10FloatingWirePLength2" value axSetRealParam "droute" "M11FloatingWirePLength2" value axSetRealParam "droute" "M12FloatingWirePLength2" value The valid values of this parameter range between 0.000 and 10.000. The default is 0.000. Example To specify the value of floating wire parallel length1 for the M9 layer as 4, enter axSetRealParam "droute" "M9FloatingWirePLength2" 4.000 See Also M1FloatingWirePLength1 M2FloatingWirePLength1 M3FloatingWirePLength1 M4FloatingWirePLength1 M5FloatingWirePLength1 M6FloatingWirePLength1 M7FloatingWirePLength1 M8FloatingWirePLength1 M9FloatingWirePLength1 M10FloatingWirePLength1 M11FloatingWirePLength1 M12FloatingWirePLength1 M1FloatingWirePLength3 M2FloatingWirePLength3 M3FloatingWirePLength3 M4FloatingWirePLength3 M5FloatingWirePLength3 M6FloatingWirePLength3 M7FloatingWirePLength3 M8FloatingWirePLength3 M9FloatingWirePLength3 M10FloatingWirePLength3 M11FloatingWirePLength3 M12FloatingWirePLength3 M1FloatingWirePLength2 M2FloatingWirePLength2 M3FloatingWirePLength2 M4FloatingWirePLength2 4-103 M1FloatingWirePLength4 M2FloatingWirePLength4 M3FloatingWirePLength4 M4FloatingWirePLength4 M5FloatingWirePLength4 M6FloatingWirePLength4 M7FloatingWirePLength4 M8FloatingWirePLength4 M9FloatingWirePLength4 M10FloatingWirePLength4 M11FloatingWirePLength4 M12FloatingWirePLength4, M1FloatingWirePLength5 M2FloatingWirePLength5 M3FloatingWirePLength5 M4FloatingWirePLength5 M5FloatingWirePLength5 M6FloatingWirePLength5 M7FloatingWirePLength5 M8FloatingWirePLength5 M9FloatingWirePLength5 M10FloatingWirePLength5 M11FloatingWirePLength5 M12FloatingWirePLength5 M1FloatingWirePLength3 M2FloatingWirePLength3 M3FloatingWirePLength3 M4FloatingWirePLength3 M5FloatingWirePLength3 M6FloatingWirePLength3 M7FloatingWirePLength3 M8FloatingWirePLength3 M9FloatingWirePLength3 M10FloatingWirePLength3 M11FloatingWirePLength3 M12FloatingWirePLength3 These parameters specify the value of floating wire parallel length3 for the metalx layer. Chapter 4: Detail Route Parameters 4-104 Syntax axSetRealParam "droute" "M1FloatingWirePLength3" value axSetRealParam "droute" "M2FloatingWirePLength3" value axSetRealParam "droute" "M3FloatingWirePLength3" value axSetRealParam "droute" "M4FloatingWirePLength3" value axSetRealParam "droute" "M5FloatingWirePLength3" value axSetRealParam "droute" "M6FloatingWirePLength3" value axSetRealParam "droute" "M7FloatingWirePLength3" value axSetRealParam "droute" "M8FloatingWirePLength3" value axSetRealParam "droute" "M9FloatingWirePLength3" value axSetRealParam "droute" "M10FloatingWirePLength3" value axSetRealParam "droute" "M11FloatingWirePLength3" value axSetRealParam "droute" "M12FloatingWirePLength3" value The valid values of this parameter range between 0.000 and 10.000. The default is 0.000. Example To specify the value of floating wire parallel length3 for the M9 layer as 6, enter axSetRealParam "droute" "M9FloatingWirePLength3" 6.000 See Also M1FloatingWirePLength1 M2FloatingWirePLength1 M3FloatingWirePLength1 M4FloatingWirePLength1 M5FloatingWirePLength1 M6FloatingWirePLength1 M7FloatingWirePLength1 M8FloatingWirePLength1 M9FloatingWirePLength1 M10FloatingWirePLength1 M11FloatingWirePLength1 M12FloatingWirePLength1 M1FloatingWirePLength2 M2FloatingWirePLength2 M3FloatingWirePLength2 M4FloatingWirePLength2 M5FloatingWirePLength2 M6FloatingWirePLength2 M7FloatingWirePLength2 M8FloatingWirePLength2 M9FloatingWirePLength2 M10FloatingWirePLength2 M11FloatingWirePLength2 M12FloatingWirePLength2 M1FloatingWirePLength3 M2FloatingWirePLength3 M3FloatingWirePLength3 M4FloatingWirePLength3 4-105 M1FloatingWirePLength4 M2FloatingWirePLength4 M3FloatingWirePLength4 M4FloatingWirePLength4 M5FloatingWirePLength4 M6FloatingWirePLength4 M7FloatingWirePLength4 M8FloatingWirePLength4 M9FloatingWirePLength4 M10FloatingWirePLength4 M11FloatingWirePLength4 M12FloatingWirePLength4, M1FloatingWirePLength5 M2FloatingWirePLength5 M3FloatingWirePLength5 M4FloatingWirePLength5 M5FloatingWirePLength5 M6FloatingWirePLength5 M7FloatingWirePLength5 M8FloatingWirePLength5 M9FloatingWirePLength5 M10FloatingWirePLength5 M11FloatingWirePLength5 M12FloatingWirePLength5 M1FloatingWirePLength4 M2FloatingWirePLength4 M3FloatingWirePLength4 M4FloatingWirePLength4 M5FloatingWirePLength4 M6FloatingWirePLength4 M7FloatingWirePLength4 M8FloatingWirePLength4 M9FloatingWirePLength4 M10FloatingWirePLength4 M11FloatingWirePLength4 M12FloatingWirePLength4 These parameters specify the value of floating wire parallel length4 for the metalx layer. Chapter 4: Detail Route Parameters 4-106 Syntax axSetRealParam "droute" "M1FloatingWirePLength4" value axSetRealParam "droute" "M2FloatingWirePLength4" value axSetRealParam "droute" "M3FloatingWirePLength4" value axSetRealParam "droute" "M4FloatingWirePLength4" value axSetRealParam "droute" "M5FloatingWirePLength4" value axSetRealParam "droute" "M6FloatingWirePLength4" value axSetRealParam "droute" "M7FloatingWirePLength4" value axSetRealParam "droute" "M8FloatingWirePLength4" value axSetRealParam "droute" "M9FloatingWirePLength4" value axSetRealParam "droute" "M10FloatingWirePLength4" value axSetRealParam "droute" "M11FloatingWirePLength4" value axSetRealParam "droute" "M12FloatingWirePLength4" value The valid values of this parameter range between 0.000 and 10.000. The default is 0.000. Example To specify the value of floating wire parallel length4 for the M9 layer as 6, enter axSetRealParam "droute" "M9FloatingWirePLength4" 6.000 See Also M1FloatingWirePLength1 M2FloatingWirePLength1 M3FloatingWirePLength1 M4FloatingWirePLength1 M5FloatingWirePLength1 M6FloatingWirePLength1 M7FloatingWirePLength1 M8FloatingWirePLength1 M9FloatingWirePLength1 M10FloatingWirePLength1 M11FloatingWirePLength1 M12FloatingWirePLength1, M1FloatingWirePLength2 M2FloatingWirePLength2 M3FloatingWirePLength2 M4FloatingWirePLength2 M5FloatingWirePLength2 M6FloatingWirePLength2 M7FloatingWirePLength2 M8FloatingWirePLength2 M9FloatingWirePLength2 M10FloatingWirePLength2 M11FloatingWirePLength2 M12FloatingWirePLength2, M1FloatingWirePLength4 M2FloatingWirePLength4 M3FloatingWirePLength4 M4FloatingWirePLength4 4-107 M1FloatingWirePLength3 M2FloatingWirePLength3 M3FloatingWirePLength3 M4FloatingWirePLength3 M5FloatingWirePLength3 M6FloatingWirePLength3 M7FloatingWirePLength3 M8FloatingWirePLength3 M9FloatingWirePLength3 M10FloatingWirePLength3 M11FloatingWirePLength3 M12FloatingWirePLength3, M1FloatingWirePLength5 M2FloatingWirePLength5 M3FloatingWirePLength5 M4FloatingWirePLength5 M5FloatingWirePLength5 M6FloatingWirePLength5 M7FloatingWirePLength5 M8FloatingWirePLength5 M9FloatingWirePLength5 M10FloatingWirePLength5 M11FloatingWirePLength5 M12FloatingWirePLength5 M1FloatingWirePLength5 M2FloatingWirePLength5 M3FloatingWirePLength5 M4FloatingWirePLength5 M5FloatingWirePLength5 M6FloatingWirePLength5 M7FloatingWirePLength5 M8FloatingWirePLength5 M9FloatingWirePLength5 M10FloatingWirePLength5 M11FloatingWirePLength5 M12FloatingWirePLength5 These parameters specify the value of floating wire parallel length5 for the metalx layer. Chapter 4: Detail Route Parameters 4-108 Syntax axSetRealParam "droute" "M1FloatingWirePLength5" value axSetRealParam "droute" "M2FloatingWirePLength5" value axSetRealParam "droute" "M3FloatingWirePLength5" value axSetRealParam "droute" "M4FloatingWirePLength5" value axSetRealParam "droute" "M5FloatingWirePLength5" value axSetRealParam "droute" "M6FloatingWirePLength5" value axSetRealParam "droute" "M7FloatingWirePLength5" value axSetRealParam "droute" "M8FloatingWirePLength5" value axSetRealParam "droute" "M9FloatingWirePLength5" value axSetRealParam "droute" "M10FloatingWirePLength5" value axSetRealParam "droute" "M11FloatingWirePLength5" value axSetRealParam "droute" "M12FloatingWirePLength5" value The valid values of this parameter range between 0.000 and 10.000. The default is 0.000. Example To specify the value of floating wire parallel length5 for the M9 layer as 3, enter axSetRealParam "droute" "M9FloatingWirePLength5" 3.000 See Also M1FloatingWirePLength1 M2FloatingWirePLength1 M3FloatingWirePLength1 M4FloatingWirePLength1 M5FloatingWirePLength1 M6FloatingWirePLength1 M7FloatingWirePLength1 M8FloatingWirePLength1 M9FloatingWirePLength1 M10FloatingWirePLength1 M11FloatingWirePLength1 M12FloatingWirePLength1, M1FloatingWirePLength2 M2FloatingWirePLength2 M3FloatingWirePLength2 M4FloatingWirePLength2 M5FloatingWirePLength2 M6FloatingWirePLength2 M7FloatingWirePLength2 M8FloatingWirePLength2 M9FloatingWirePLength2 M10FloatingWirePLength2 M11FloatingWirePLength2 M12FloatingWirePLength2, M1FloatingWirePLength5 M2FloatingWirePLength5 M3FloatingWirePLength5 M4FloatingWirePLength5 4-109 M1FloatingWirePLength3 M2FloatingWirePLength3 M3FloatingWirePLength3 M4FloatingWirePLength3 M5FloatingWirePLength3 M6FloatingWirePLength3 M7FloatingWirePLength3 M8FloatingWirePLength3 M9FloatingWirePLength3 M10FloatingWirePLength3 M11FloatingWirePLength3 M12FloatingWirePLength3, M1FloatingWirePLength4 M2FloatingWirePLength4 M3FloatingWirePLength4 M4FloatingWirePLength4 M5FloatingWirePLength4 M6FloatingWirePLength4 M7FloatingWirePLength4 M8FloatingWirePLength4 M9FloatingWirePLength4 M10FloatingWirePLength4 M11FloatingWirePLength4 M12FloatingWirePLength4 M1FloatingWirePLMinSpc1 M2FloatingWirePLMinSpc1 M3FloatingWirePLMinSpc1 M4FloatingWirePLMinSpc1 M5FloatingWirePLMinSpc1 M6FloatingWirePLMinSpc1 M7FloatingWirePLMinSpc1 M8FloatingWirePLMinSpc1 M9FloatingWirePLMinSpc1 M10FloatingWirePLMinSpc1 M11FloatingWirePLMinSpc1 M12FloatingWirePLMinSpc1 These parameters specify the value of floating wire parallel length spacing 1 for the metalx layer. Chapter 4: Detail Route Parameters 4-110 Syntax axSetRealParam "droute" "M1FloatingWirePLMinSpc1" value axSetRealParam "droute" "M2FloatingWirePLMinSpc1" value axSetRealParam "droute" "M3FloatingWirePLMinSpc1" value axSetRealParam "droute" "M4FloatingWirePLMinSpc1" value axSetRealParam "droute" "M5FloatingWirePLMinSpc1" value axSetRealParam "droute" "M6FloatingWirePLMinSpc1" value axSetRealParam "droute" "M7FloatingWirePLMinSpc1" value axSetRealParam "droute" "M8FloatingWirePLMinSpc1" value axSetRealParam "droute" "M9FloatingWirePLMinSpc1" value axSetRealParam "droute" "M10FloatingWirePLMinSpc1" value axSetRealParam "droute" "M11FloatingWirePLMinSpc1" value axSetRealParam "droute" "M12FloatingWirePLMinSpc1" value The valid values of this parameter range between 0 and 10.00. The default is 0.00. Example To specify the value of floating wire parallel length spacing 1 for the M11 layer as 7, enter axSetRealParam "droute" "M11FloatingWirePLMinSpc1" 7 See Also M1FloatingWirePLMinSpc2 M2FloatingWirePLMinSpc2 M3FloatingWirePLMinSpc2 M4FloatingWirePLMinSpc2 M5FloatingWirePLMinSpc2 M6FloatingWirePLMinSpc2 M7FloatingWirePLMinSpc2 M8FloatingWirePLMinSpc2 M9FloatingWirePLMinSpc2 M10FloatingWirePLMinSpc2 M11FloatingWirePLMinSpc2 M12FloatingWirePLMinSpc2, M1FloatingWirePLMinSpc3 M2FloatingWirePLMinSpc3 M3FloatingWirePLMinSpc3 M4FloatingWirePLMinSpc3 M5FloatingWirePLMinSpc3 M6FloatingWirePLMinSpc3 M7FloatingWirePLMinSpc3 M8FloatingWirePLMinSpc3 M9FloatingWirePLMinSpc3 M10FloatingWirePLMinSpc3 M11FloatingWirePLMinSpc3 M12FloatingWirePLMinSpc3, M1FloatingWirePLMinSpc1 M2FloatingWirePLMinSpc1 M3FloatingWirePLMinSpc1 4-111 M1FloatingWirePLMinSpc4 M2FloatingWirePLMinSpc4 M3FloatingWirePLMinSpc4 M4FloatingWirePLMinSpc4 M5FloatingWirePLMinSpc4 M6FloatingWirePLMinSpc4 M7FloatingWirePLMinSpc4 M8FloatingWirePLMinSpc4 M9FloatingWirePLMinSpc4 M10FloatingWirePLMinSpc4 M11FloatingWirePLMinSpc4 M12FloatingWirePLMinSpc4, M1FloatingWirePLMinSpc5 M2FloatingWirePLMinSpc5 M3FloatingWirePLMinSpc5 M4FloatingWirePLMinSpc5 M5FloatingWirePLMinSpc5 M6FloatingWirePLMinSpc5 M7FloatingWirePLMinSpc5 M8FloatingWirePLMinSpc5 M9FloatingWirePLMinSpc5 M10FloatingWirePLMinSpc5 M11FloatingWirePLMinSpc5 M12FloatingWirePLMinSpc5 M1FloatingWirePLMinSpc2 M2FloatingWirePLMinSpc2 M3FloatingWirePLMinSpc2 M4FloatingWirePLMinSpc2 M5FloatingWirePLMinSpc2 M6FloatingWirePLMinSpc2 M7FloatingWirePLMinSpc2 M8FloatingWirePLMinSpc2 M9FloatingWirePLMinSpc2 M10FloatingWirePLMinSpc2 M11FloatingWirePLMinSpc2 M12FloatingWirePLMinSpc2 These parameters specify the value of floating wire parallel length spacing2 for the metalx layer. Chapter 4: Detail Route Parameters 4-112 Syntax axSetRealParam "droute" "M1FloatingWirePLMinSpc2" value axSetRealParam "droute" "M2FloatingWirePLMinSpc2" value axSetRealParam "droute" "M3FloatingWirePLMinSpc2" value axSetRealParam "droute" "M4FloatingWirePLMinSpc2" value axSetRealParam "droute" "M5FloatingWirePLMinSpc2" value axSetRealParam "droute" "M6FloatingWirePLMinSpc2" value axSetRealParam "droute" "M7FloatingWirePLMinSpc2" value axSetRealParam "droute" "M8FloatingWirePLMinSpc2" value axSetRealParam "droute" "M9FloatingWirePLMinSpc2" value axSetRealParam "droute" "M10FloatingWirePLMinSpc2" value axSetRealParam "droute" "M11FloatingWirePLMinSpc2" value axSetRealParam "droute" "M12FloatingWirePLMinSpc2" value The valid values of this parameter range between 0 and 10.00. The default is 0.00. Example To specify the value of floating wire parallel length spacing2 for the M11 layer as 6, enter axSetRealParam "droute" "M11FloatingWirePLMinSpc2" 6 See Also M1FloatingWirePLMinSpc1 M2FloatingWirePLMinSpc1 M3FloatingWirePLMinSpc1 M4FloatingWirePLMinSpc1 M5FloatingWirePLMinSpc1 M6FloatingWirePLMinSpc1 M7FloatingWirePLMinSpc1 M8FloatingWirePLMinSpc1 M9FloatingWirePLMinSpc1 M10FloatingWirePLMinSpc1 M11FloatingWirePLMinSpc1 M12FloatingWirePLMinSpc1, M1FloatingWirePLMinSpc3 M2FloatingWirePLMinSpc3 M3FloatingWirePLMinSpc3 M4FloatingWirePLMinSpc3 M5FloatingWirePLMinSpc3 M6FloatingWirePLMinSpc3 M7FloatingWirePLMinSpc3 M8FloatingWirePLMinSpc3 M9FloatingWirePLMinSpc3 M10FloatingWirePLMinSpc3 M11FloatingWirePLMinSpc3 M12FloatingWirePLMinSpc3, M1FloatingWirePLMinSpc2 M2FloatingWirePLMinSpc2 M3FloatingWirePLMinSpc2 4-113 M1FloatingWirePLMinSpc4 M2FloatingWirePLMinSpc4 M3FloatingWirePLMinSpc4 M4FloatingWirePLMinSpc4 M5FloatingWirePLMinSpc4 M6FloatingWirePLMinSpc4 M7FloatingWirePLMinSpc4 M8FloatingWirePLMinSpc4 M9FloatingWirePLMinSpc4 M10FloatingWirePLMinSpc4 M11FloatingWirePLMinSpc4 M12FloatingWirePLMinSpc4, M1FloatingWirePLMinSpc5 M2FloatingWirePLMinSpc5 M3FloatingWirePLMinSpc5 M4FloatingWirePLMinSpc5 M5FloatingWirePLMinSpc5 M6FloatingWirePLMinSpc5 M7FloatingWirePLMinSpc5 M8FloatingWirePLMinSpc5 M9FloatingWirePLMinSpc5 M10FloatingWirePLMinSpc5 M11FloatingWirePLMinSpc5 M12FloatingWirePLMinSpc5 M1FloatingWirePLMinSpc3 M2FloatingWirePLMinSpc3 M3FloatingWirePLMinSpc3 M4FloatingWirePLMinSpc3 M5FloatingWirePLMinSpc3 M6FloatingWirePLMinSpc3 M7FloatingWirePLMinSpc3 M8FloatingWirePLMinSpc3 M9FloatingWirePLMinSpc3 M10FloatingWirePLMinSpc3 M11FloatingWirePLMinSpc3 M12FloatingWirePLMinSpc3 These parameters specify the value of floating wire parallel length spacing3 for the metalx layer. Chapter 4: Detail Route Parameters 4-114 Syntax axSetRealParam "droute" "M1FloatingWirePLMinSpc3" value axSetRealParam "droute" "M2FloatingWirePLMinSpc3" value axSetRealParam "droute" "M3FloatingWirePLMinSpc3" value axSetRealParam "droute" "M4FloatingWirePLMinSpc3" value axSetRealParam "droute" "M5FloatingWirePLMinSpc3" value axSetRealParam "droute" "M6FloatingWirePLMinSpc3" value axSetRealParam "droute" "M7FloatingWirePLMinSpc3" value axSetRealParam "droute" "M8FloatingWirePLMinSpc3" value axSetRealParam "droute" "M9FloatingWirePLMinSpc3" value axSetRealParam "droute" "M10FloatingWirePLMinSpc3" value axSetRealParam "droute" "M11FloatingWirePLMinSpc3" value axSetRealParam "droute" "M12FloatingWirePLMinSpc3" value The valid values of this parameter range between 0.00 and 10.00. The default is 0.00. Example To specify the value of floating wire parallel length spacing3 for the M11 layer as 9, enter axSetRealParam "droute" "M11FloatingWirePLMinSpc3" 9 See Also M1FloatingWirePLMinSpc2 M2FloatingWirePLMinSpc2 M3FloatingWirePLMinSpc2 M4FloatingWirePLMinSpc2 M5FloatingWirePLMinSpc2 M6FloatingWirePLMinSpc2 M7FloatingWirePLMinSpc2 M8FloatingWirePLMinSpc2 M9FloatingWirePLMinSpc2 M10FloatingWirePLMinSpc2 M11FloatingWirePLMinSpc2 M12FloatingWirePLMinSpc2, M1FloatingWirePLMinSpc1 M2FloatingWirePLMinSpc1 M3FloatingWirePLMinSpc1 M4FloatingWirePLMinSpc1 M5FloatingWirePLMinSpc1 M6FloatingWirePLMinSpc1 M7FloatingWirePLMinSpc1 M8FloatingWirePLMinSpc1 M9FloatingWirePLMinSpc1 M10FloatingWirePLMinSpc1 M11FloatingWirePLMinSpc1 M12FloatingWirePLMinSpc1, M1FloatingWirePLMinSpc3 M2FloatingWirePLMinSpc3 M3FloatingWirePLMinSpc3 4-115 M1FloatingWirePLMinSpc4 M2FloatingWirePLMinSpc4 M3FloatingWirePLMinSpc4 M4FloatingWirePLMinSpc4 M5FloatingWirePLMinSpc4 M6FloatingWirePLMinSpc4 M7FloatingWirePLMinSpc4 M8FloatingWirePLMinSpc4 M9FloatingWirePLMinSpc4 M10FloatingWirePLMinSpc4 M11FloatingWirePLMinSpc4 M12FloatingWirePLMinSpc4, M1FloatingWirePLMinSpc5 M2FloatingWirePLMinSpc5 M3FloatingWirePLMinSpc5 M4FloatingWirePLMinSpc5 M5FloatingWirePLMinSpc5 M6FloatingWirePLMinSpc5 M7FloatingWirePLMinSpc5 M8FloatingWirePLMinSpc5 M9FloatingWirePLMinSpc5 M10FloatingWirePLMinSpc5 M11FloatingWirePLMinSpc5 M12FloatingWirePLMinSpc5 M1FloatingWirePLMinSpc4 M2FloatingWirePLMinSpc4 M3FloatingWirePLMinSpc4 M4FloatingWirePLMinSpc4 M5FloatingWirePLMinSpc4 M6FloatingWirePLMinSpc4 M7FloatingWirePLMinSpc4 M8FloatingWirePLMinSpc4 M9FloatingWirePLMinSpc4 M10FloatingWirePLMinSpc4 M11FloatingWirePLMinSpc4 M12FloatingWirePLMinSpc4 These parameters specify the value of floating wire parallel length spacing 4 for the metalx layer. Chapter 4: Detail Route Parameters 4-116 Syntax axSetRealParam "droute" "M1FloatingWirePLMinSpc4" value axSetRealParam "droute" "M2FloatingWirePLMinSpc4" value axSetRealParam "droute" "M3FloatingWirePLMinSpc4" value axSetRealParam "droute" "M4FloatingWirePLMinSpc4" value axSetRealParam "droute" "M5FloatingWirePLMinSpc4" value axSetRealParam "droute" "M6FloatingWirePLMinSpc4" value axSetRealParam "droute" "M7FloatingWirePLMinSpc4" value axSetRealParam "droute" "M8FloatingWirePLMinSpc4" value axSetRealParam "droute" "M9FloatingWirePLMinSpc4" value axSetRealParam "droute" "M10FloatingWirePLMinSpc4" value axSetRealParam "droute" "M11FloatingWirePLMinSpc4" value axSetRealParam "droute" "M12FloatingWirePLMinSpc4" value The valid values of this parameter range between 0.00 and 10.00. The default is 0.00. Example To specify the value of floating wire parallel length spacing 4 for M10 layer as 2, enter axSetRealParam "droute" "M10FloatingWirePLMinSpc4" 2 See Also M1FloatingWirePLMinSpc2 M2FloatingWirePLMinSpc2 M3FloatingWirePLMinSpc2 M4FloatingWirePLMinSpc2 M5FloatingWirePLMinSpc2 M6FloatingWirePLMinSpc2 M7FloatingWirePLMinSpc2 M8FloatingWirePLMinSpc2 M9FloatingWirePLMinSpc2 M10FloatingWirePLMinSpc2 M11FloatingWirePLMinSpc2 M12FloatingWirePLMinSpc2, M1FloatingWirePLMinSpc3 M2FloatingWirePLMinSpc3 M3FloatingWirePLMinSpc3 M4FloatingWirePLMinSpc3 M5FloatingWirePLMinSpc3 M6FloatingWirePLMinSpc3 M7FloatingWirePLMinSpc3 M8FloatingWirePLMinSpc3 M9FloatingWirePLMinSpc3 M10FloatingWirePLMinSpc3 M11FloatingWirePLMinSpc3 M12FloatingWirePLMinSpc3, M1FloatingWirePLMinSpc4 M2FloatingWirePLMinSpc4 M3FloatingWirePLMinSpc4 4-117 M1FloatingWirePLMinSpc1 M2FloatingWirePLMinSpc1 M3FloatingWirePLMinSpc1 M4FloatingWirePLMinSpc1 M5FloatingWirePLMinSpc1 M6FloatingWirePLMinSpc1 M7FloatingWirePLMinSpc1 M8FloatingWirePLMinSpc1 M9FloatingWirePLMinSpc1 M10FloatingWirePLMinSpc1 M11FloatingWirePLMinSpc1 M12FloatingWirePLMinSpc1, M1FloatingWirePLMinSpc5 M2FloatingWirePLMinSpc5 M3FloatingWirePLMinSpc5 M4FloatingWirePLMinSpc5 M5FloatingWirePLMinSpc5 M6FloatingWirePLMinSpc5 M7FloatingWirePLMinSpc5 M8FloatingWirePLMinSpc5 M9FloatingWirePLMinSpc5 M10FloatingWirePLMinSpc5 M11FloatingWirePLMinSpc5 M12FloatingWirePLMinSpc5 M1FloatingWirePLMinSpc5 M2FloatingWirePLMinSpc5 M3FloatingWirePLMinSpc5 M4FloatingWirePLMinSpc5 M5FloatingWirePLMinSpc5 M6FloatingWirePLMinSpc5 M7FloatingWirePLMinSpc5 M8FloatingWirePLMinSpc5 M9FloatingWirePLMinSpc5 M10FloatingWirePLMinSpc5 M11FloatingWirePLMinSpc5 M12FloatingWirePLMinSpc5 These parameters specify the value of floating wire parallel length spacing 5 for the metalx layer. Chapter 4: Detail Route Parameters 4-118 Syntax axSetRealParam "droute" "M1FloatingWirePLMinSpc5" value axSetRealParam "droute" "M2FloatingWirePLMinSpc5" value axSetRealParam "droute" "M3FloatingWirePLMinSpc5" value axSetRealParam "droute" "M4FloatingWirePLMinSpc5" value axSetRealParam "droute" "M5FloatingWirePLMinSpc5" value axSetRealParam "droute" "M6FloatingWirePLMinSpc5" value axSetRealParam "droute" "M7FloatingWirePLMinSpc5" value axSetRealParam "droute" "M8FloatingWirePLMinSpc5" value axSetRealParam "droute" "M9FloatingWirePLMinSpc5" value axSetRealParam "droute" "M10FloatingWirePLMinSpc5" value axSetRealParam "droute" "M11FloatingWirePLMinSpc5" value axSetRealParam "droute" "M12FloatingWirePLMinSpc5" value The valid values of this parameter range between 0.00 and 10.00. The default is 0.00. Example To specify the value of floating wire parallel length spacing 5 for the M10 layer as 1, enter axSetRealParam "droute" "M10FloatingWirePLMinSpc5" 1 See Also M1FloatingWirePLMinSpc2 M2FloatingWirePLMinSpc2 M3FloatingWirePLMinSpc2 M4FloatingWirePLMinSpc2 M5FloatingWirePLMinSpc2 M6FloatingWirePLMinSpc2 M7FloatingWirePLMinSpc2 M8FloatingWirePLMinSpc2 M9FloatingWirePLMinSpc2 M10FloatingWirePLMinSpc2 M11FloatingWirePLMinSpc2 M12FloatingWirePLMinSpc2, M1FloatingWirePLMinSpc3 M2FloatingWirePLMinSpc3 M3FloatingWirePLMinSpc3 M4FloatingWirePLMinSpc3 M5FloatingWirePLMinSpc3 M6FloatingWirePLMinSpc3 M7FloatingWirePLMinSpc3 M8FloatingWirePLMinSpc3 M9FloatingWirePLMinSpc3 M10FloatingWirePLMinSpc3 M11FloatingWirePLMinSpc3 M12FloatingWirePLMinSpc3 M1FloatingWirePLMinSpc5 M2FloatingWirePLMinSpc5 M3FloatingWirePLMinSpc5 4-119 M1FloatingWirePLMinSpc4 M2FloatingWirePLMinSpc4 M3FloatingWirePLMinSpc4 M4FloatingWirePLMinSpc4 M5FloatingWirePLMinSpc4 M6FloatingWirePLMinSpc4 M7FloatingWirePLMinSpc4 M8FloatingWirePLMinSpc4 M9FloatingWirePLMinSpc4 M10FloatingWirePLMinSpc4 M11FloatingWirePLMinSpc4 M12FloatingWirePLMinSpc4 M1FloatingWirePLMinSpc1 M2FloatingWirePLMinSpc1 M3FloatingWirePLMinSpc1 M4FloatingWirePLMinSpc1 M5FloatingWirePLMinSpc1 M6FloatingWirePLMinSpc1 M7FloatingWirePLMinSpc1 M8FloatingWirePLMinSpc1 M9FloatingWirePLMinSpc1 M10FloatingWirePLMinSpc1 M11FloatingWirePLMinSpc1 M12FloatingWirePLMinSpc1 m1FloatingWireSpacing m2FloatingWireSpacing m3FloatingWireSpacing m4FloatingWireSpacing m5FloatingWireSpacing m6FloatingWireSpacing m7FloatingWireSpacing m8FloatingWireSpacing m9FloatingWireSpacing m10FloatingWireSpacing m11FloatingWireSpacing m12FloatingWireSpacing These parameters specify metal spacing for the floating wire antenna. If the value is set to N, N means metal spacing for the floating wire antenna. Chapter 4: Detail Route Parameters 4-120 Syntax axSetRealParam "droute" "m1FloatingWireSpacing" value axSetRealParam "droute" "m2FloatingWireSpacing" value axSetRealParam "droute" "m3FloatingWireSpacing" value axSetRealParam "droute" "m4FloatingWireSpacing" value axSetRealParam "droute" "m5FloatingWireSpacing" value axSetRealParam "droute" "m6FloatingWireSpacing" value axSetRealParam "droute" "m7FloatingWireSpacing" value axSetRealParam "droute" "m8FloatingWireSpacing" value axSetRealParam "droute" "m9FloatingWireSpacing" value axSetRealParam "droute" "m10FloatingWireSpacing" value axSetRealParam "droute" "m11FloatingWireSpacing" value axSetRealParam "droute" "m12FloatingWireSpacing" value The valid values of this parameter range between 0 and 1,000,000. The default is 0. Example To specify metal spacing for floating wire antenna as 500, enter axSetRealParam "droute" "m4FloatingWireSpacing" 500 See Also accumFloatingWireArea, m1FloatingWireArea m2FloatingWireArea m3FloatingWireArea m3FloatingWireArea m4FloatingWireArea m5FloatingWireArea m6FloatingWireArea m7FloatingWireArea m8FloatingWireArea m9FloatingWireArea m10FloatingWireArea m11FloatingWireArea m12FloatingWireArea m1PinNoOffsetVia The m1PinNoOffsetVia parameter specifies whether to allow an offset via on the m1 pin. If the value set to 0, an offset via on the m1 pin is allowed. If the value is set to 1, an offset via on m1 is not allowed. m1PinNoOffsetVia 4-121 Syntax axSetIntParam "droute" "m1PinNoOffsetVia" value Value Description 0 Offset via on m1 pin is allowed (the default). 1 Offset via on m1 pin is not allowed Example To allow an offset via on the m1 pin, enter axSetIntParam "droute" "m1PinNoOffsetVia" 0 When set to 1, an offset via on m1 pin is not allowed. See Also noOffsetFatVia M1StubMode M2StubMode M3StubMode M4StubMode M5StubMode M6StubMode M7StubMode M8StubMode M9StubMode Chapter 4: Detail Route Parameters 4-122 M10StubMode M11StubMode M12StubMode These parameters specify how to check the end-of-line spacing rule for each metal layer. If the value is set to 0, the router does not check the end-of-line spacing rule for the metalx layer. If the value is set to 1, the router checks the end-of-line spacing rule for metalx. If the value is set to 2, the router checks one side spacing for metalx. If the value is set to 3, the router checks two sides spacing for metalx. If the value is set to 4, the router checks one side and corner spacings for metalx. Syntax axSetIntParam "droute" "M1StubMode" value axSetIntParam "droute" "M2StubMode" value axSetIntParam "droute" "M3StubMode" value axSetIntParam "droute" "M4StubMode" value axSetIntParam "droute" "M5StubMode" value axSetIntParam "droute" "M6StubMode" value axSetIntParam "droute" "M7StubMode" value axSetIntParam "droute" "M8StubMode" value axSetIntParam "droute" "M9StubMode" value axSetIntParam "droute" "M10StubMode" value axSetIntParam "droute" "M11StubMode" value axSetIntParam "droute" "M12StubMode" value Value Description 0 No end of line spacing for metal layer (the default) 1 End of line spacing for metal layer 2 End of line spacing with one side spacing for metal layer 3 End of line spacing with two side spacing for metal layer 4 End of line spacing with one side spacing and corner check for metal layer M1StubMode M2StubMode M3StubMode M4StubMode M5StubMode M6StubMode M7StubMode 4-123 Example To ensure that there is end-of-line spacing for metal layer 1 to metal layer 12, enter axSetIntParam "droute" "M1StubMode" 1 axSetIntParam "droute" "M2StubMode" 1 axSetIntParam "droute" "M3StubMode" 1 axSetIntParam "droute" "M4StubMode" 1 axSetIntParam "droute" "M5StubMode" 1 axSetIntParam "droute" "M6StubMode" 1 axSetIntParam "droute" "M7StubMode" 1 axSetIntParam "droute" "M8StubMode" 1 axSetIntParam "droute" "M9StubMode" 1 axSetIntParam "droute" "M10StubMode" 1 axSetIntParam "droute" "M11StubMode" 1 axSetIntParam "droute" "M12StubMode" 1 m1WireCost m2WireCost These parameters specify metal layer usage and wire cost for metal1 and metal2 layers. If the value is set to 0, wires on the corresponding layer are forbidden during routing, but vias can still be dropped to the corresponding layer. Positive integer between 1 and 5 specifies the relative wire cost to the default wire cost (which is 1). For example, if m1WireCost is set to 3, metal1 wire cost is set to be three times the default wire cost. These parameters are useful to discourage or forbid metal usage on metal1 and metal2 layers. Syntax axSetIntParam "droute" "m1WireCost" value axSetIntParam "droute" "m2WireCost" value Chapter 4: Detail Route Parameters 4-124 The valid values of this parameter range between 0 and 5. The default is 1. Example To specify the metal layer usage and wire cost for metal1 layer and metal2 layer, enter axSetIntParam "droute" "m1WireCost" 1 axSetIntParam "droute" "m2WireCost" 1 When set to 0, the metal wires are not created. See Also polyWireCost macroPinCenterConn The macroPinCenterConn parameter specifies how connections to macro and pad cell pins are to be made. If the value is set to 0, connections to macro and pad cell pins can be made with offset. If the value is set to 1, connections to macro and pad cell pins must be centered on the pins. If the value is set to 2, and connections to macro and pad cell pins must be centered on the pins, and only one wire can touch each pin. Syntax axSetIntParam "droute" "macroPinCenterConn" value Value Description 0 Macro/pad pins can be connected with offset (the default) 1 Connection to macro/pad pins has to be centered. macroPinCenterConn 4-125 Value Description 2 Enforce stronger rule so only one wire can touch the pin Example To enforce a stronger rule to specify that only one wire can touch the pin, enter axSetIntParam "droute" "macroPinCenterConn" 2 See Also portSingleConn maxAntennaPinCount The maxAntennaPinCount parameter specifies pin count threshold for a net to be considered for antenna checking and fixing. If the value is set to -1, all nets are considered for antenna checking and fixing. If the value is set to N between 0 and 1,000,000, only the nets with less than and equal to N pins are checked and fixed for antenna violations. For some clock nets, antenna analysis can take an excessive amount of time, and antennas are usually prevented by using diodes during net construction. For these nets, it is best to skip antenna analysis and fixing. Syntax axSetIntParam "droute" "maxAntennaPinCount" value The valid values of this parameter range between -1 and 1,000,000. The default is -1. Chapter 4: Detail Route Parameters 4-126 Example To check antennas on all nets, enter the following: axSetIntParam "droute" "maxAntennaPinCount" -1 See Also doAntennaConx, checkAntennaOnPG, maxAntennaRatio, maxCutAntennaRatio, useSideWallForAntenna, dontMergeGateForAntenna, outputPinDischarge, breakAntennaToTopPin. maxAntennaRatio The maxAntennaRatio parameter specifies the maximum tolerable antenna ratio. The antenna ratio is defined to be the ratio between the total charge-collecting antenna wire area to the total gate size. This ratio is used only when doAntennaConx has a value between 1 and 3, and it is ignored if doAntennaConx has value of 4, where the ratio is defined in its own combination rules. The maxAntennaRatio parameter should be set to be larger than 0. Note that the antenna ratio can be overwritten by maxPolyAntennaRatio. Syntax axSetIntParam "droute" "maxAntennaRatio" value The valid values of this parameter range between 0 and 1000000. The default is 1. maxAntennaRatio 4-127 Example To specify the maximum tolerable antenna ratio, enter axSetIntParam "droute" "maxAntennaRatio" 1000000 See Also doAntennaConx, checkAntennaOnPG, maxAntennaPinCount, maxCutAntennaRatio, useSideWallForAntenna, dontMergeGateForAntenna, outputPinDischarge, breakAntennaToTopPin. maxAntennaRatioScale The maxAntennaRatioScale parameter specifies the maximum antenna ratio scale for diode mode 11 and diode mode 12. If the value is set to N, N means maximum antenna ratio scale. Syntax axSetRealParam "droute" "maxAntennaRatioScale" value The valid values are 0 and 1. The default is 1. Example If you do not want to specify the maximum antenna ratio scale for diode mode11 and diode mode12, enter axSetRealParam "droute" "maxAntennaRatioScale" 0.000 See Also minAntennaRatioScale Chapter 4: Detail Route Parameters 4-128 maxCutAntennaRatio The maxCutAntennaRatio parameter enables and disables the cut antenna check and fix. It specifies the maximum tolerable cut antenna ratio when antenna check and fix is enabled, and when doAntennaConx is not set to 4. The cut antenna ratio is defined to be the ratio between the total charges collecting antenna cut area to the total gate size. This ratio is used only when doAntennaConx has a value between 1 and 3, and it is ignored if doAntennaConx has value of 4, where the ratio is defined in its own combination rules. Syntax axSetIntParam "droute" "maxCutAntennaRatio" value The valid values of this parameter range between 0 and 1000000. The default is 0. Example To ignore computing the cut area, enter axSetIntParam "droute" "maxCutAntennaRatio" 0 See Also doAntennaConx, checkAntennaOnPG, maxAntennaPinCount, maxAntennaRatio, useSideWallForAntenna, dontMergeGateForAntenna, outputPinDischarge, breakAntennaToTopPin. maxCutAntennaRatio 4-129 maxOffGridTrack The maxOffGridTrack parameter specifies how off-grid tracks are to be added for off-grid pins and off-grid feedthroughs. If the value is set to 0, off-grid tracks are added selectively in via regions, which are determined by the router. If the value is set to 1, as many off-grid tracks as possible are added for off-grid pins. If the value is set to 2, 3, or 4, more off-grid tracks are aggressively added in increasing order for off-grid feedthroughs and pins. By creating as many off-grid tracks as possible for off-grid pins, the router has the maximum flexibility in accessing these pins, at the cost of more routing time. It is recommended to leave maxOffGridTrack parameter at the default value of 0 to start with if the you do not know how bad the off-grid situation is, and gradually increase the value if the results suffer from off-grid pin access or off-grid feedthrough usage. If you know beforehand that there will be off-grid difficulty from previous experience, maxOffGridTrack can be set to higher value to start with. You can also set the value to -1. This lets the router start from 0 and then automatically and gradually increase to 1, 2, 3, 4 during search and repair. The side effect of setting maxOffGridTrack to a higher value is increased runtime. Chapter 4: Detail Route Parameters 4-130 Syntax axSetIntParam "droute" "maxOffGridTrack" value Value Description -1 This is a combination from 0 to 4. 0 Selectively adds off-grid tracks (the default) 1 Adds as many off-grid tracks as possible for off-grid pins. This should resolve problems caused by hard-to-access pins. 2 Adds more off-grid tracks for off-grid feedthroughs 3,4 Adds even more off-grid tracks for off-grid feedthroughs Example To selectively add off-grid tracks, enter axSetIntParam "droute" "maxOffGridTrack" 0 See Also noOffGridRouting, offGridCost maxStackRange The maxStackRange parameter specifies the separating distance between two cuts to be considered as stacking when checking for maxStackLevel constraint from technology file. If two cuts are less than the specified distance, they are considered as stacking. The unit of distance is a database unit. Syntax axSetIntParam "droute" "maxStackRange" value maxStackRange 4-131 The valid values of this parameter range between 0 and 1073741824. The default is 0. Example To specify the separating distance between two cuts as 9000, enter axSetIntParam "droute" "maxStackRange" 9000 maxTieOffDistance The maxTieOffDistance parameter specifies the search distance to connect tieoffs. If the value is set to -1, there is no search distance limit to connect tieoffs. Otherwise, the parameter specifies the search distance for the search engine to use in number of gcells to connect tieoffs. Syntax axSetIntParam "droute" "maxTieOffDistance" value The valid values of this parameter range between -1 and 20,000. The default is 10. Example To specify no limit on the search distance, enter axSetIntParam "droute" "maxTieOffDistance" -1 Chapter 4: Detail Route Parameters 4-132 metalFillDensityIncrement The metalFillDensityIncrement parameter specifies increment value for metal fill. If the value is set to N, the router targets metal density N percent higher than minimum density during dummy metal insertion. The value N specifies the increment from minDensity value for metal fill. It is used when fillMetalCloseToMinDensityValue is enabled. For example, if minDensity (in the technology file) is 20 percent and metalFillDensityIncrement is set as 10 percent, target density of metal fill will be 30 percent. Syntax axSetIntParam "droute" "metalFillDensityIncrement" value The valid values of this parameter range between 0 and 100. The default is 10. Example To specify increment value for metal fill as 50, enter axSetIntParam "droute" "metalFillDensityIncrement" 50 See Also fillMetalCloseToMinDensityValue, fillMetalUniformly minAntennaRatioScale The minAntennaRatioScale parameter specifies minimum antenna ratio scale for diode mode 11 and diode mode 12. If the value is set to N, N means minimum antenna ratio scale. metalFillDensityIncrement 4-133 Syntax axSetRealParam "droute" "minAntennaRatioScale" value The valid values are 0 or 1. The default is 0. Example To specify minimum antenna ratio scale for diode mode 11 and diode mode 12, enter axSetRealParam "droute" "minAntennaRatioScale" 1.000 See Also maxAntennaRatioScale minLengthCheckCutMode The minLengthCheckCutMode parameter specifies how to compute minimum length when a polygon completely encloses a via. If the value is set to 0, the router does not check whether a wire completely encloses via. If the value is set to 1, the router checks whether a wire completely encloses via. When a via connects more than one wire segment on the same metal layer, minimum length is checked against the longest wire that completely encloses the via. When a via connects only to single wire segment on one metal layer, the wire needs to be checked for minimum length rule. Chapter 4: Detail Route Parameters 4-134 Syntax axSetIntParam "droute" "minLengthCheckCutMode" value Value Description 0 Does not check overlapping cuts (the default). 1 Checks overlapping cuts on less than minLength segments. Example To check overlapping cuts on less than minimum length segments, enter axSetIntParam "droute" "minLengthCheckCutMode" 1 When set to 0, the overlapping cuts are not checked. minShieldLength The minShieldLength parameter specifies minimum length for a wire to be shielded in the unit of pitches. For example, if the parameter is left at its default value of 4, only the wires longer than 4 pitches are shielded. Syntax axSetIntParam "droute" "minShieldLength" value The valid values of this parameter range between 0 and 100. The default is 4. minShieldLength 4-135 Example To specify the minimum length for a wire to be shielded as 20, enter axSetIntParam "droute" "minShieldLength" 20 See Also shieldViaMinSpacing neighboringLayerFatExtensionRange The neighboringLayerFatExtensionRange parameter specifies the fat extension range for recommended metal spacing on the adjacent upper layer. If the value is set to N, the fat spacing rule on adjacent upper layer is recommended if wires on the adjacent upper layer are within extension range N of the fat wire. For example, if wires on metal3 locate within the extension range of the fat wire on metal2, fat spacing is recommended for those wires on metal3. Syntax axSetRealParam "droute" "neighboringLayerFatExtensionRange" value The valid values of this parameter range between 0.000 and 100.000. The default is 0.000. Example To specify the fat extension range for recommended metal spacing on the adjacent upper layer, enter axSetRealParam "droute" "neighboringLayerFatExtensionRange" 60.000 Chapter 4: Detail Route Parameters 4-136 See Also neighboringLayerFatThreshold, neighboringLayerM1RecommendedSpacing neighboringLayerM2RecommendedSpacing neighboringLayerM3RecommendedSpacing neighboringLayerM4RecommendedSpacing neighboringLayerM5RecommendedSpacing neighboringLayerM6RecommendedSpacing neighboringLayerM7RecommendedSpacing neighboringLayerM8RecommendedSpacing neighboringLayerM9RecommendedSpacing neighboringLayerM10RecommendedSpacing neighboringLayerM11RecommendedSpacing neighboringLayerM12RecommendedSpacing neighboringLayerFatThreshold The neighboringLayerFatThreshold parameter specifies the the fat threshold for metal spacing on the adjacent upper layer. If the value is set to N, the recommended fat spacing rule on the adjacent upper layer is triggered when wire width is larger than N. For example, if a wire on M2 layer is wider than N, fat spacing is recommended for wires on M3 if they are above the fat wire on M2. Syntax axSetRealParam "droute" "neighboringLayerFatThreshold" value The valid values of this parameter range between 0.000 and 100.000. The default is 0.000. neighboringLayerFatThreshold 4-137 Example To specify the fat threshold for metal spacing on the adjacent upper layer, enter axSetRealParam "droute" "neighboringLayerFatThreshold" 80.000 See Also neighboringLayerFatExtensionRange, neighboringLayerM1RecommendedSpacing neighboringLayerM2RecommendedSpacing neighboringLayerM3RecommendedSpacing neighboringLayerM4RecommendedSpacing neighboringLayerM5RecommendedSpacing neighboringLayerM6RecommendedSpacing neighboringLayerM7RecommendedSpacing neighboringLayerM8RecommendedSpacing neighboringLayerM9RecommendedSpacing neighboringLayerM10RecommendedSpacing neighboringLayerM11RecommendedSpacing neighboringLayerM12RecommendedSpacing neighboringLayerM1RecommendedSpacing neighboringLayerM2RecommendedSpacing neighboringLayerM3RecommendedSpacing neighboringLayerM4RecommendedSpacing neighboringLayerM5RecommendedSpacing neighboringLayerM6RecommendedSpacing neighboringLayerM7RecommendedSpacing neighboringLayerM8RecommendedSpacing neighboringLayerM9RecommendedSpacing Chapter 4: Detail Route Parameters 4-138 neighboringLayerM10RecommendedSpacing neighboringLayerM11RecommendedSpacing neighboringLayerM12RecommendedSpacing These parameters specify recommended spacing for wires on the neighboring upper layer. If the value is set to N, spacing N between wires on adjacent upper layer is recommended if they are directly above or within extension range of the fat wire. Syntax axSetRealParam "droute" "neighboringLayerM1RecommendedSpacing" value axSetRealParam "droute" "neighboringLayerM2RecommendedSpacing" value axSetRealParam "droute" "neighboringLayerM3RecommendedSpacing" value axSetRealParam "droute" "neighboringLayerM4RecommendedSpacing" value axSetRealParam "droute" "neighboringLayerM5RecommendedSpacing" value axSetRealParam "droute" "neighboringLayerM6RecommendedSpacing" value axSetRealParam "droute" "neighboringLayerM7RecommendedSpacing" value axSetRealParam "droute" "neighboringLayerM8RecommendedSpacing" value axSetRealParam "droute" "neighboringLayerM9RecommendedSpacing" value axSetRealParam "droute" "neighboringLayerM10RecommendedSpacing" value axSetRealParam "droute" "neighboringLayerM11RecommendedSpacing" value axSetRealParam "droute" "neighboringLayerM12RecommendedSpacing" value The valid values of this parameter range between 0.000 and 100.000. neighboringLayerM1RecommendedSpacing neighboringLayerM2RecommendedSpacing 4-139 Example To specify recommended spacing on the adjacent upper layer as 90, enter axSetRealParam "droute" "neighboringLayerM1RecommendedSpacing" 90.000 See Also neighboringLayerFatThreshold, neighboringLayerFatExtensionRange noOffGridRouting The noOffGridRouting parameter specifies the type of off-grid routing. If the value is set to 0, off-grid tracks can be used for routing. If the value is set to 1, all wires must be on grid. If the value is set to 2, all wires must be on-grid, including the two endpoints and vias. In general, allowing routing to go off-grid gives the router more flexibility, and it is recommended to leave this parameter at its default value of 0. You can use this parameter to restrict off-grid routing if undesirable effects are being observed with off-grid routing. If the value is set to 1, vias at the end of wires can go off grid. If the value is set to 2, all vias must be on-grid. Chapter 4: Detail Route Parameters 4-140 Syntax axSetIntParam "droute" "noOffGridRouting" value Value Description -1 Off-grid tracks can be used for routing but zrgMisalignedTrack must be disabled. So, all unified grids (all layers) will be used in maze route. 0 Off-grid tracks can be used for routing (the default) 1 Entire routing takes place on grid 2 All wires must be on-grid, including the two endpoints 3 All wires and vias must be on-grid, and the vias may not be shifted 4 All vias must be on-grid (pref-pref) 5 All vias must be on grid (pref-pref), wires must be on grid (centerline) 6 All vias must be on-grid (pref-pref), non-stub wires must be on -grid (center line and end points) Example To ensure that all the wires including two end points must be on grid, enter axSetIntParam "droute" "noOffGridRouting" 2 See Also offGridCost, maxOffGridTrack, V1NoOffGridRouting V2NoOffGridRouting V3NoOffGridRouting V4NoOffGridRouting V5NoOffGridRouting V6NoOffGridRouting V7NoOffGridRouting V8NoOffGridRouting V9NoOffGridRouting V10NoOffGridRouting V11NoOffGridRouting V12NoOffGridRouting noOffGridRouting 4-141 noOffsetFatVia The noOffsetFatVia parameter specifies the relative positions of fat vias and wires that they land on. If the value is set to 0, fat vias can overlap with fat preroute or pins with any offset. If the value is set to 1, fat vias have to be completely inside fat preroutes or pins. If the value is set to 2, fat vias have to be completely inside fat preroutes or pins, and no offset vias are allowed on thin straps as well. Do not specify value 2 if the shapes that the fat vias tap into are narrower than the fat vias. Syntax axSetIntParam "droute" "noOffsetFatVia" value Value Description 0 Fat via overlaps with fat preroute or pin with any offset (the default) 1 Fat via has to be completely inside fat preroute or pin 2 Fat via has to be completely inside fat preroute or pin and also no offset via on thin straps. Example To specify that the fat via can overlap with the fat preroute or pin with any offset, enter axSetIntParam "droute" "noOffsetFatVia" 0 See Also m1PinNoOffsetVia Chapter 4: Detail Route Parameters 4-142 numCPUs The numCPUs parameter specifies the number of CPUs to be used for distributed routing. Syntax axSetIntParam "droute" "numCPUs" value The valid values of this parameter range between 0 and 63. The default is 0. Example To use a single CPU mode, enter axSetIntParam "droute" "numCPUs" 1 offGridCost The offGridCost parameter specifies extra off-grid routing cost. The default on-grid unit wire cost is 1. Therefore, if the value is set to 0, off-grid routes have the same cost as on-grid cost, and wires are routed as in a gridless router. If the value is set to N, off grid unit wire cost becomes 1 + N. This parameter can be used to encourage or discourage off-grid routing against on-grid routing. Syntax axSetIntParam "droute" "offGridCost" value The valid values of this parameter range between 0 and 5. The default is 1. numCPUs 4-143 Example To route as a gridless router, enter axSetIntParam "droute" "offGridCost" 0 See Also noOffGridRouting, maxOffGridTrack offsetFillTrack The offsetFillTrack parameter specifies how to offset the metal fill track. Syntax axSetIntParam "droute" "offsetFillTrack" value Value Description 0 The router automatically determines the initial track for metal fill (the default). 1 The router offsets initial track by half fill-pitch. Example To enable the router to offset the initial track by half fill-pitch, enter axSetIntParam "droute" "offsetFillTrack" 1 See Also expandFillTracks, fillEndByMinSpcPercent Chapter 4: Detail Route Parameters 4-144 optDelaySlackTarget The optDelaySlackTarget parameter specifies slack target for delay optimization during in-route optimization (axgAdvRouteOpt). Syntax axSetRealParam "droute" "optDelaySlackTarget" value The valid values of this parameter range between -100.000 and 100.000. The default is 0.100. Example To specify slack target for delay optimization during in-route optimization as 90, enter axSetRealParam "droute" "optDelaySlackTarget" 90.000 See Also optSetup, doXtalkConx, doMaxTransConx, doMaxCapConx. optDelaySrLoop The optDelaySrLoop parameter specifies the number of search and repair loops after delay optimization in the axgAdvRouteOpt or astPostRouteOpt command. The search and repair loop terminates if DRC violation count reaches 0 even if the specified number of iterations is not reached. If the DRC violation number is still converging (reducing) after reaching the specified number of iterations, specifying more iterations could help reduce DRC violation count further at the cost of more runtime. optDelaySlackTarget 4-145 Syntax axSetIntParam "droute" "optDelaySrLoop" value The valid values of this parameter range between 0 and 200. The default is 5. Example To specify the number of search and repair loops as 5 after delay optimization in axgAdvRouteOpt or astPostRouteOpt command, enter the following: axSetIntParam "droute" "optDelaySrLoop" 5 See Also autoSrLoop, ecoSrLoop, optSrLoop, srLoop, areaSrLoop, groupSrLoop optimizeRouteGroup The optimizeRouteGroup parameter specifies whether optimization is to be run in the axgRouteGroup command. Skipping optimization at the end of the route net group could save some runtime. Chapter 4: Detail Route Parameters 4-146 Syntax axSetIntParam "droute" "optimizeRouteGroup" value Value Description 0 Optimization is skipped at the end of route net group command. 1 Optimization is run at the end of route net group command (the default). Example To skip optimization at the end of the route net group command, enter axSetIntParam "droute" "optimizeRouteGroup" 0 optSetup The optSetup parameter specifies whether setup slack is to be maintained or improved during in-route optimization. If the value is set to 0, the router tries to maintain setup slack, and does not try to improve the slack. If the value is set to 1, the router tries to improve setup slack. optSetup 4-147 Syntax axSetIntParam "droute" "optSetup" value Value Description 0 The router tries to maintain setup slack, and does not try to improve the slack. 1 The router tries to improve setup slack (the default). Example To maintain setup slack, enter axSetIntParam "droute" "optSetup" 0 See Also optDelaySlackTarget, doXtalkConx, doMaxTransConx, doMaxCapConx optSrLoop The optSrLoop parameter specifies the number of search and repair loops after route optimization in axgRoutOpt command. The search and repair loop terminates if DRC violation count reaches 0 even if the specified number of iterations is not reached. If the DRC violation number is still converging (reducing) after reaching specified number of iterations, specifying more iterations could help reduce DRC violation count further at the cost of more runtime. Chapter 4: Detail Route Parameters 4-148 Syntax axSetIntParam "droute" "optSrLoop" value The valid values of this parameter range between 0 and 200. The default is 20. Example To specify the number of search and repair loops after route optimization as 20, enter axSetIntParam "droute" "optSrLoop" 20 See Also autoSrLoop, ecoSrLoop, optDelaySrLoop, srLoop, areaSrLoop, groupSrLoop optViaHoldTimeThreshold The optViaHoldTimeThreshold parameter specifies the hold time threshold for contact optimization. If the value is set to N, the router tries to preserve hold time by not inserting redundant vias for the nets whose hold time is worse than N. Syntax axSetRealParam "droute" "optViaHoldTimeThreshold" value The valid values of this parameter range between -1000000.000 and 1000000.000. The default is 0.000. optViaHoldTimeThreshold 4-149 Example To specify the hold time threshold for contact optimization as 800, enter axSetRealParam "droute" "optViaHoldTimeThreshold" 800.000 See Also optViaSetupSlackThreshold optViaReportExcludedNets The optViaReportExcludedNets parameter specifies whether to report the timing-critical nets excluded during contact optimization. If the value set to 0, the router does not report the excluded timing-critical nets. If the value is set to 1, the router lists the names of all excluded timing-critical nets in the log file. Syntax axSetIntParam "droute" "optViaReportExcludedNets" value Value Description 0 Does not report excluded timing-critical nets (the default). 1 Lists the names of all excluded timing-critical nets. Example To list the names of all excluded timing-critical nets, enter axSetIntParam "droute" "optViaReportExcludedNets" 1 When set to 0, the excluded timing-critical nets are not reported. Chapter 4: Detail Route Parameters 4-150 See Also optViaSrLoop, optViaTimingDriven, optViaSetupSlackThreshold, optViaHoldTimeThreshold optViaSetupSlackThreshold The optViaSetupSlackThreshold parameter specifies the setup slack threshold for contact optimization. If the value is set to N, the router tries to preserve setup time by not inserting redundant vias for the nets whose setup slack is worse than N. Syntax axSetRealParam "droute" "optViaSetupSlackThreshold" value The valid values of this parameter range between -1000000.000 and 1000000.000. The default is -0.100. Example To specify the setup slack threshold for contact optimization as -800, enter axSetRealParam "droute" "optViaSetupSlackThreshold" -800.000 See Also optViaHoldTimeThreshold optViaSetupSlackThreshold 4-151 optViaSrLoop The optViaSrLoop parameter specifies search and repair loops after contact optimization. If the value set to N, the router runs N loops of search and repair after contact optimization. Syntax axSetIntParam "droute" "optViaSrLoop" value The valid values of this parameter range between 0 and 100. The default is 1. Example To specify search and repair loops after contact optimization as 40, enter axSetIntParam "droute" "optViaSrLoop" 40 See Also optViaTimingDriven, optViaSetupSlackThreshold,optViaReportExcludedNets optViaHoldTimeThreshold optViaTimingDriven The optViaTimingDriven parameter specifies whether to preserve timing for critical nets with timing violations. If the value is set to 0, the router does contact optimization for all nets. If the value is set to 1, the router tries to preserve timing for critical nets by not doing contact optimization on those nets. Chapter 4: Detail Route Parameters 4-152 Syntax axSetIntParam "droute" "optViaTimingDriven" value Value Description 0 Performs contact optimization for all nets (the default). 1 The router tries to preserve timing for critical nets by not doing contact optimization on those nets. Example To perform contact optimization for all nets, enter the following: axSetIntParam "droute" "optViaTimingDriven" 0 See Also optViaSrLoop, optViaSetupSlackThreshold,optViaReportExcludedNets optViaHoldTimeThreshold outputPinDischarge The outputPinDischarge parameter flags whether output pins and diodes can discharge unlimited static charge, or cannot discharge any static charge at all. If the value is set to 0, zero discharging capability is assumed. If the value is set to 1, unlimited discharging capability is assumed. This parameter is ignored if doAntennaConx is set to 4, where limited discharging can be modeled in its own rules. Note that limited discharging is not supported when doAntennaConx is set to 1, 2, or 3. outputPinDischarge 4-153 Syntax axSetIntParam "droute" "outputPinDischarge" value Value Description 0 Assumes output pin cannot discharge any static charge. 1 Assumes output pin can discharge unlimited static charge (the default). Example To enable the output pin discharge unlimited static charge, enter axSetIntParam "droute" "outputPinDischarge" 1 When set to 0, the output pin cannot discharge any static charge. See Also doAntennaConx, checkAntennaOnPG, maxAntennaPinCount, maxAntennaRatio, useSideWallForAntenna, dontMergeGateForAntenna, maxCutAntennaRatio, breakAntennaToTopPin. parallelLengthMode The parallelLengthMode parameter specifies how to compute parallel length for the fat metal spacing rule. If the value is set to 0, the router merges fat neighboring shapes only and determines parallel length based on the merged fat wire. If the value is set to 1, the router merges all neighboring (fat and thin) shapes and the total length of the merged wire will be used to compute the parallel length. Chapter 4: Detail Route Parameters 4-154 Syntax axSetIntParam "droute" "parallelLengthMode" value Value Description 0 Merges with fat neighboring shapes only (the default). 1 Merges with all neighboring shapes. Example To merge the router with all neighboring shapes, enter axSetIntParam "droute" "parallelLengthMode" 1 When set to 0, the router merges with fat neighboring shapes only. See Also checkMergedFatWire pinTaperLengthLimit The pinTaperLengthLimit parameter specifies the limit for pin tapering length. If the value is set to -1, there is no limit for tapering length, and tapering should go all the way to the Steiner point. Otherwise, this parameter specifies the tapering length limit in the units of routing pitches. Syntax axSetIntParam "droute" "pinTaperLengthLimit" value The valid values of this parameter range between -1 and 1,000,000. The default is 10. pinTaperLengthLimit 4-155 Example To specify the limit for pin tapering length as 20, enter axSetIntParam "droute" "pinTaperLengthLimit" 20 See Also pinTaperMode pinTaperMode The pinTaperMode parameter specifies pin tapering width. If the value is set to 0, the tapering width is the default width. If the value is set to 1, the tapering width is the pin width. Syntax axSetIntParam "droute" "pinTaperMode" value Value Description 0 Tapers to default width. 1 Tapers to pin width (the default). Example To specify tapering width as the default width, enter axSetIntParam "droute" "pinTaperMode" 0 See Also pinTaperLengthLimit Chapter 4: Detail Route Parameters 4-156 polyContIsolatedViaQuadrantSpacing via1IsolatedViaQuadrantSpacing via2IsolatedViaQuadrantSpacing via3IsolatedViaQuadrantSpacing via4IsolatedViaQuadrantSpacing via51IsolatedViaQuadrantSpacing via6IsolatedViaQuadrantSpacing via7IsolatedViaQuadrantSpacing via8IsolatedViaQuadrantSpacing via9IsolatedViaQuadrantSpacing via10IsolatedViaQuadrantSpacing via11IsolatedViaQuadrantSpacing These parameters specify maximum spacing between an isolated via and its adjacent vias. If the value is set to N, adjacent vias are required within distance N from the isolated via. The adjacent vias must cover all four quadrants. The difference between these parameters and isolatedViaQuadrantSpacing is that they are defined on a per layer basis while isolatedViaQuadrantSpacing is applied to all via layers. Syntax axSetRealParam "droute" "polyContIsolatedViaQuadrantSpacing" value axSetRealParam "droute" "via1IsolatedViaQuadrantSpacing" value axSetRealParam "droute" "via2IsolatedViaQuadrantSpacing" value axSetRealParam "droute" "via3IsolatedViaQuadrantSpacing" value axSetRealParam "droute" "via4IsolatedViaQuadrantSpacing" value axSetRealParam "droute" "via5IsolatedViaQuadrantSpacing" value polyContIsolatedViaQuadrantSpacing via1IsolatedViaQuadrantSpacing via2IsolatedViaQuadrantSpacing 4-157 axSetRealParam "droute" "via6IsolatedViaQuadrantSpacing" value axSetRealParam "droute" "via7IsolatedViaQuadrantSpacing" value axSetRealParam "droute" "via8IsolatedViaQuadrantSpacing" value axSetRealParam "droute" "via9IsolatedViaQuadrantSpacing" value axSetRealParam "droute" "via10IsolatedViaQuadrantSpacing" value axSetRealParam "droute" "via11IsolatedViaQuadrantSpacing" value The valid values of this parameter range between 0.000 and 50.000. The default is 0.000. Example To define the isolated via rule by specifying spacing between an isolated via and its adjacent vias on a per-layer basis as 20, enter axSetRealParam "droute" "via2IsolatedViaQuadrantSpacing" 20.000 See Also isolatedViaQuadrantSpacing polyContIsolatedViaSpacing via1IsolatedViaSpacing via2IsolatedViaSpacing via3IsolatedViaSpacing via4IsolatedViaSpacing via5IsolatedViaSpacing via6IsolatedViaSpacing via7IsolatedViaSpacing Chapter 4: Detail Route Parameters 4-158 via81IsolatedViaSpacing via9IsolatedViaSpacing via10IsolatedViaSpacing via11IsolatedViaSpacing These parameters specify maximum spacing between an isolated via and its adjacent vias. If the value is set to N, at least one adjacent via is required within distance N from isolated via. The difference between these parameters and isolatedViaSpacing is that they are defined per layer basis while isolatedViaSpacing is applied to all via layers. Syntax axSetRealParam "droute" "polyContIsolatedViaSpacing" value axSetRealParam "droute" "via1IsolatedViaSpacing" value axSetRealParam "droute" "via2IsolatedViaSpacing" value axSetRealParam "droute" "via3IsolatedViaSpacing" value axSetRealParam "droute" "via4IsolatedViaSpacing" value axSetRealParam "droute" "via5IsolatedViaSpacing" value axSetRealParam "droute" "via6IsolatedViaSpacing" value axSetRealParam "droute" "via7IsolatedViaSpacing" value axSetRealParam "droute" "via8IsolatedViaSpacing" value axSetRealParam "droute" "via9IsolatedViaSpacing" value axSetRealParam "droute" "via10IsolatedViaSpacing" value axSetRealParam "droute" "via11IsolatedViaSpacing" value The valid values of this parameter range between 0.000 and 20.000. The default is 0. Example To define isolated via rule by specifying spacing between an isolated via and its adjacent vias on a per-layer basis as 10, enter axSetRealParam "droute" "via2IsolatedViaSpacing" 10.000 polyContIsolatedViaSpacing via1IsolatedViaSpacing via2IsolatedViaSpacing via3IsolatedViaSpacing 4-159 See Also isolatedViaSpacing polycontMacroDensity via1MacroDensity via2MacroDensity via3MacroDensity via4MacroDensity via5MacroDensity via6MacroDensity via7MacroDensity via8MacroDensity via9MacroDensity via10MacroDensity via11MacroDensity These parameters specify the macro’s via density. If the value is set to N, the router counts the macro’s via density as N percent when computing via density. Syntax axSetRealParam "droute" "polycontMacroDensity" value axSetRealParam "droute" "via1MacroDensity" value axSetRealParam "droute" "via2MacroDensity" value axSetRealParam "droute" "via3MacroDensity" value axSetRealParam "droute" "via4MacroDensity" value axSetRealParam "droute" "via5MacroDensity" value axSetRealParam "droute" "via6MacroDensity" value axSetRealParam "droute" "via7MacroDensity" value axSetRealParam "droute" "via8MacroDensity" value axSetRealParam "droute" "via9MacroDensity" value axSetRealParam "droute" "via10MacroDensity" value axSetRealParam "droute" "via11MacroDensity" value Chapter 4: Detail Route Parameters 4-160 The valid values of this parameter range between -1.000 and 100.000. The default is -1.000. Example To specify the macro’s via density as 80, enter axSetRealParam "droute" "via2MacroDensity" 80.000 See Also polyMacroDensity m1MacroDensity m2MacroDensity m3MacroDensity m4MacroDensity m5MacroDensity m6MacroDensity m7MacroDensity m8MacroDensity m9MacroDensity m10MacroDensity m11MacroDensity m12MacroDensity polyMacroDensity m1MacroDensity m2MacroDensity m3MacroDensity m4MacroDensity m5MacroDensity m6MacroDensity m7MacroDensity m8MacroDensity m9MacroDensity polyMacroDensity m1MacroDensity m2MacroDensity m3MacroDensity m4MacroDensity m5MacroDensity 4-161 m10MacroDensity m11MacroDensity m12MacroDensity These parameters specify macro’s metal density. If the value is set to N, the router counts macro’s metal density as N percent when computing metal density. Syntax axSetRealParam "droute" "polyMacroDensity" value axSetRealParam "droute" "m1MacroDensity" value axSetRealParam "droute" "m2MacroDensity" value axSetRealParam "droute" "m3MacroDensity" value axSetRealParam "droute" "m4MacroDensity" value axSetRealParam "droute" "m5MacroDensity" value axSetRealParam "droute" "m6MacroDensity" value axSetRealParam "droute" "m7MacroDensity" value axSetRealParam "droute" "m8MacroDensity" value axSetRealParam "droute" "m9MacroDensity" value axSetRealParam "droute" "m10MacroDensity" value axSetRealParam "droute" "m11MacroDensity" value axSetRealParam "droute" "m12MacroDensity" value The valid values of this parameter range between -1.000 and 100.000. The default is -1.000. Example To specify macro’s metal density as 60, enter axSetRealParam "droute" "m3MacroDensity" 60.000 See Also polycontMacroDensity via1MacroDensity via2MacroDensity via3MacroDensity via4MacroDensity via5MacroDensity via6MacroDensity via7MacroDensity via8MacroDensity via9MacroDensity via10MacroDensity via11MacroDensity Chapter 4: Detail Route Parameters 4-162 polyWireCost The polyWireCost parameter specifies poly layer usage and poly wire cost during routing. If the value is set to -1, poly wires are forbidden during routing, and all poly contacts to connect to poly pins must be completely enclosed in poly pins. If the value is set to 0, poly wires are forbidden, but poly contacts that connect to poly pins do not have to be completely enclosed in poly pins. Otherwise, the parameter specifies the relative poly wire cost to default metal wire cost (which is 1). For example, if the value is set to 1, poly wires have the same default cost as metal wires. You should be careful about setting the usage of poly layer, as poly wires are highly resistive. Also, if the user wants to allow any poly usage that goes outside poly pins, user should be sure that poly layer blockages are extracted properly in the cells. Syntax axSetIntParam "droute" "polyWireCost" value The valid values of this parameter range between -1 and 9. The default is 0. Example To treat poly as metal layer as 1, enter axSetIntParam "droute" "polyWireCost" 1 See Also m1WireCost m2WireCost, accessPolyPin polyWireCost 4-163 portSingleConn The portSingleConn parameter specifies how many points at which a port can be connected to routes. If the value is set to 0, the port can connect to routes at multiple points, with port shapes as part of connecting shapes. If the value is set to 1, each port (of standard cells, macros, and pad cells) can only have only one connection point. If the value is set to 2, all standard cell ports can have one connection point, while other ports can still connect to routes at multiple points. Using value 0 gives the router more flexibility in completing routing. However, due to electronic requirements, more later libraries are beginning to require single port connection. User can overwrite this option by CLF command: DefinePortFeedthru "cellname" "portname" #t Syntax axSetIntParam "droute" "portSingleConn" value Value Description 0 One port can be connected at multiple points, with its internal routing used as feedthrough (the default). 1 Each port can have only one connection point. 2 All standard cell ports can have only one connection point Example To specify that each port can have only one connection point, enter axSetIntParam "droute" "portSingleConn" 1 Chapter 4: Detail Route Parameters 4-164 See Also macroPinCenterConn readMetalBlockageLayer The readMetalBlockageLayer parameter specifies whether shapes on user-created metal blockage layers are to be read in or ignored. If the value is set to 0, shapes on metalBlockage layers are ignored. If the value is set to 1, shapes on metalBlockage layers are read and honored. Syntax axSetIntParam "droute" "readMetalBlockageLayer" value Value Description 0 Ignores shapes on metal blockage layers (212, 218, 219, ..) (the default). 1 Read shapes on metal Blockage layers. Example To read shapes on metalBlockage layers, enter axSetIntParam "droute" "readMetalBlockageLayer" 1 When set to 0, shapes on metalBlockage layers (212, 218, 219, ..) are ignored. readMetalBlockageLayer 4-165 removeObsoleteStub The removeObsoleteStub parameter specifies whether to remove the obsolete stub. If the value is set to 0, the router leaves obsolete stubs in routing solution. If the value is set to 1, the router removes obsolete stubs at the end of each switch box routing. Syntax axSetIntParam "droute" "removeObsoleteStub" value Value Description 0 Leaves obsolete stubs in routing solution (the default). 1 Tries to remove obsolete stubs at the end of each switch box routing. Example To try removing obsolete stubs at the end of each switch box routing, enter axSetIntParam "droute" "removeObsoleteStub" 1 When set to 0, obsolete stubs are left in routing solution. reportLimit The reportLimit parameter specifies the maximum number of DRC violations that the router reports. Chapter 4: Detail Route Parameters 4-166 If the value is set to -1, no limit is set, and the router reports all DRC violations. Otherwise, the value specifies the maximum number of DRC violations to be reported. Syntax axSetIntParam "droute" "reportLimit" value The valid values of this parameter range between -1 and 10,000. The default is 200. Example To report 500 DRC violations, enter axSetIntParam "droute" "reportLimit" 500 rerouteUserWire The rerouteUserWire parameter specifies whether user-created wires and vias are to be treated as fixed or reroutable. Syntax axSetIntParam "droute" "rerouteUserWire" value Value Description 0 User-created wires and vias (such as the wires created in layout editor) are treated as fixed (the default). 1 User-created wires and vias are reroutable. Example To reroute user-created wires, enter axSetIntParam "droute" "rerouteUserWire" 1 rerouteUserWire 4-167 rerunDRC The rerunDRC parameter specifies whether DRC violations are regenerated before search and repair. Syntax axSetIntParam "droute" "rerunDRC" value Value Description 0 DRC violations from previous results are used by search and repair (the default). 1 DRC violations are regenerated before search and repair. Example To recheck violations before search and repair, enter axSetIntParam "droute" "rerunDRC" 1 resetMinMaxLayer The resetMinMaxLayer parameter resets minimum-maximum rule constraints defined by axgSetMinMaxLayer and axgSetNetConstraint commands before search and repair. Chapter 4: Detail Route Parameters 4-168 Syntax axSetIntParam "droute" "resetMinMaxLayer" value Value Description 0 Does not change layer of wires before search and repair (the default). 1 Resets the layer of all wires based on the minimum and maximum rule before starting search and repair. Example To reset the layer of all wires based on the minimum-maximum rule before starting search and repair, enter axSetIntParam "droute" "resetMinMaxLayer" 1 rotateLineViaArray This parameter specifies how line-shaped via arrays are rotated. A line-shaped via array is a via array of size 1 by N or N by 1. If the value is set to 0, 1 by N via array is treated as the rotated via array of N by 1 via array. If the value is set to 1, the line-shaped via arrays are physically rotated, including the cuts in the via arrays. The value of rotateLineViaArray affects the rotated via array usage in adjustLineViaArray and axDrouteOptimizeContact. rotateLineViaArray 4-169 Syntax axSetIntParam "droute" "rotateLineViaArray" value Value Description 0 Uses 1 x N and N x 1 via array as rotated equivalent via (the default). 1 Rotates line-via array, instead of swapping row/column numbers for both adjustLineViaArray and axDrouteOptimizeContact. Example To use 1 by N and N by 1 via array as rotated equivalent via, enter axSetIntParam "droute" "rotateLineViaArray" 0 When set to 1, line-via array is rotated instead of swapping row/ column numbers for both adjustLineViaArray and axDrouteOptimizeContact. See Also adjustLineViaArray, lineViaFollowPrefDir shieldRerouteSignalNets The shieldRerouteSignalNets parameter specifies whether to reroute signal nets during shielding. If the value is set to 0, the router does not reroute signal nets to improve shielding coverage. If the value is set to 1, the router reroutes signal nets and possibly creates minimized DRC violations as a tradeoff of improved shielding coverage. You need to run search and repair after shielding if DRC violations are created on signal nets. Chapter 4: Detail Route Parameters 4-170 Syntax axSetIntParam "droute" "shieldRerouteSignalNets" value Value Description 0 The router does not reroute signal nets to improve shielding coverage (the default). 1 The router reroutes signal nets and possibly creates minimized DRC violations as a trade-off of improved shielding coverage. Example To enable the router reroute signal nets and possibly create minimized DRC violations as a trade-off of improved shielding coverage, enter axSetIntParam "droute" "shieldRerouteSignalNets" 1 shieldViaMinSpacing The shieldViaMinSpacing parameter specifies the spacing requirement on shielded vias. If the value is set to 0, the specified spacing from the GUI form for shielding wires is used to shield vias. If the value is set to 1, minimum spacing is used to shield vias to minimize routing resource usage. Syntax axSetIntParam "droute" "shieldViaMinSpacing" value Value Description 0 Shields via with specifies spacing same as wires (the default). 1 Shields via with min-spacing only to minimize overhead. shieldViaMinSpacing 4-171 Example To shield vias with minimum spacing only to minimize overhead, enter axSetIntParam "droute" "shieldViaMinSpacing" 1 See Also minShieldLength shiftVarWidthWire The shiftVarWidthWire parameter specifies whether wide wires are to be put on routing tracks, or to be shifted by half pitch if doing so improves routability. If the value is set to 0, wide wires are placed on tracks just like regular wires. If the value is set to 1, wide wires may be shifted by half pitch if doing so blocks less tracks. If the value is set to 2, the NDR wires are shifted to optimize for minimum space, maximum space, and metal fill. Note that this is an experimental feature. The idea behind it is that a wide wire can block adjacent tracks on both sides. By shifting the wide wire, fewer tracks might be blocked thereby possibly creating more usable routing resources. Syntax axSetIntParam "droute" "shiftVarWidthWire" value Value Description 0 Puts wide wires on routing tracks (the default). 1 Wide wires are shifted by half pitch if necessary to improve routing. Chapter 4: Detail Route Parameters 4-172 Value Description 2 NDR wires are shifted to optimize for minimum space, maximum space, and metal fill. Example To shift wide wires by half pitch if necessary to improve routing, enter axSetIntParam "droute" "shiftVarWidthWire" 1 smallJogMinLength The smallJogMinLength parameter specifies the minimum length of a small jog. If the value is set to 0, the router does consider the small jog recommended rule. If the value is set to N, the router reports and fixes the small jog violation if the jog length is less than (N) times a quarter pitch. Syntax axSetIntParam "droute" "smallJogMinLength" value The valid values of this parameter range between 0 and 2. The default is 0. Example To specify the minimum length of a small jog as 1, enter axSetIntParam "droute" "smallJogMinLength" 1 srLoop The srLoop parameter sets the number of search and repair loops in the search and repair phase in axgSearchRepair command. smallJogMinLength 4-173 The search and repair loop terminates if DRC violation count reaches 0 even if the specified number of iterations is not reached. If the DRC violation number is still converging (reducing) after reaching specified number of iterations, specifying more iterations could help further reduce DRC violation count at the cost of more runtime. Syntax axSetIntParam "droute" "srLoop" value The valid values of this parameter range between 0 and 1000. The default is 50. Example To set the number of search and repair loops as 50 in the search and repair phase in axgSearchRepair command, enter axSetIntParam "droute" "srLoop" 50 See Also autoSrLoop, ecoSrLoop, optSrLoop, areaSrLoop, optDelaySrLoop, groupSrLoop stdCellBlockageAsThin The stdCellBlockageAsThin parameter specifies whether fat blockages in standard cells are to be treated as fat wires for spacing calculation. If the value is set to 0, the router treats fat blockages in standard cells as fat wires. If the value is set to 1, the router treats fat blockages in standard cells as thin wires. Chapter 4: Detail Route Parameters 4-174 Note that this flag applies only to blockages in the standard cells, and it has no effect on macro cell and pad cell blockages. This flag is not relevant if there is no fat spacing rule in the design. If blockages directly correspond to wires in standard cell, you should not set stdCellBlockageAsThin to 1 as it can lead to missed fat wire spacing violations. If you know that there is no fat wire in standard cell, and blockages might cover more than wires in the cells, you can set this flag to avoid unnecessary spacing around fat blockages. Note that the blockage types in standard cells might be set by BPV when the FRAM cells are generated, and stdCellBlockageAsThin overwrites the value set in standard cell blockages. Syntax axSetIntParam "droute" "stdCellBlockageAsThin" value Value Description 0 Treats fat blockages in standard cell as fat wires (the default). 1 Treats fat blockages in standard cell as thin wires. Example To treat fat blockages in standard cells as thin wires, enter axSetIntParam "droute" "stdCellBlockageAsThin" 0 When set to 1, fat blockages are treated as fat wires in standard cells. stdCellBlockageAsThin 4-175 See Also blockageAsFatWire, checkMergedFatWire, wideMacroPinAsFatWire stopIfNoLicense The stopIfNoLicense parameter flags whether to stop the router or continue if the tool cannot obtain the option license. If the value is set to 0, the router continues by ignoring certain constraints if the router fails to get the corresponding option license. If the value is set to 1, the router will exit if it fails to get the needed option license. Syntax axSetIntParam "droute" "stopIfNoLicense" value Value Description 0 Continues by ignoring certain constraints if the router fails to get option license (the default). 1 Exits router if the router fails to get option license. Example To ensure that the router exits if it fails to get the needed option license, enter axSetIntParam "droute" "stopIfNoLicense" 1 Chapter 4: Detail Route Parameters 4-176 stub2stubOnly The stub2stubOnly parameter specifies the shapes to which stubSpacing is applied. If the value is set to 0, stubSpacing applies to spacing between stub and all other shapes. If the value is set to 1, stubSpacing applies to spacing between the stubs only. The stubSpacing is defined in the technology file, which can be smaller than the normal spacing requirement. By using stubSpacing, it is possible to pack stubs closer to shapes, therefore using less routing resources. Because stubs are usually small, doing so usually does not hurt yield much. Syntax axSetIntParam "droute" "stub2stubOnly" value Value Description 0 Ensures that stubSpacing applies to spacing between stub and anything (the default). 1 stubSpacing applies to spacing between stub and stub only. Example To ensure that stubSpacing applies to spacing between stub and stub only, enter the following: axSetIntParam "droute" "stub2stubOnly" 1 timeLimit The timeLimit parameter specifies the corresponding detail routing step runtime limit. stub2stubOnly 4-177 If the value is set to -1, no runtime limit is set. Otherwise, the parameter sets the runtime limits in minutes. This is a very useful parameter if you have a time limit and do not care about the final number of DRC violations as much. For example, you might want to get the feeling of how "routable" a design is in a given amount of time. Not all detail routing steps support time limits, such as axgAutoRoute and axgGlobalRoute. You can check the GUI form to see which routing steps support time limits. Syntax axSetIntParam "droute" "timeLimit" value The valid values of this parameter range between -1 and 14400. The default is -1. Example To specify the corresponding detail routing step runtime limit as 1000, enter axSetIntParam "droute" "timeLimit" 1000 timingDriven The timingDriven parameter specifies whether timing-critical nets with setup violations are to be optimized during initial detail routing. If the value is set to 0, timing-critical nets with setup violations are not optimized. If the value is set to 1, timing-critical nets with setup violations are optimized. Chapter 4: Detail Route Parameters 4-178 By setting the value to 1, initial detail routing tries to generate routes with less resistance and capacitance (shorter wires and fewer vias) for timing-critical nets. Syntax axSetIntParam "droute" "timingDriven" value Value Description 0 Regular routing (the default). 1 Optimizes timing-critical (setup slack) nets. Example For regular routing, enter axSetIntParam "droute" "timingDriven" 1 timingSpace The timingSpace parameter specifies whether the detailed router should try to allocate extra same-layer spacing to timing-critical net wires. Syntax axSetIntParam "droute" "timingSpace" value Value Description 0 Normal routing (the default). 1 Reduce intra-layer capacitance on critical nets. timingSpace 4-179 Example To reduce intra-layer capacitance on critical nets, enter axSetIntParam "droute" "timingSpace" 1 topAntennaFixRange The topAntennaFixRange parameter specifies when to resolve a top routing layer antenna violation by pushing down top-level wires. If the value is set to -1, the top layer antenna violation is fixed by pushing top-layer wires down. If the value is set to N, the top-layer antenna violation is fixed by pushing top layer wires down if its ratio is less than safeRatio * (1 + 0.1 * N). The basic idea is to set a threshold for top metal wires to be pushed down to resolve top layer antenna violations. If the top layer antenna ratio is too big compared to safeRatio, try to resolve top-layer antenna violation by diode insertion instead of pushing down top layer wires. The bigger the value of N, the more aggressively the router will push down top layer wires to resolve top-layer antenna violations. This parameter is ignored if doAntennaConx is set to 1, 2, or 3 because there could be no antenna problem on the top layer due to unlimited discharging capability. Syntax axSetIntParam "droute" "topAntennaFixRange" value The valid values of this parameter range between -1 and 10. The default is -1. Chapter 4: Detail Route Parameters 4-180 Example To fix all top-layer antenna violations by pushing wires down, enter the following: axSetIntParam "droute" "topAntennaFixRange" -1 See Also doAntennaConx, checkAntennaOnPG, maxAntennaPinCount, maxAntennaRatio, outputPinDischarge, dontMergeGateForAntenna, maxCutAntennaRatio, breakAntennaToTopPin. treatTiedFillAsFillToFillSpacing The treatTiedFillAsFillToFillSpacing parameter specifies whether fill-to-fill spacing is applied to tied fills. If the value is set to 0, the router follows fill-to-route spacing for tied fills during metal fill. If the value is set to 1, the router follows fill-to-fill spacing for tied fills. Syntax axSetIntParam "droute" "treatTiedFillAsFillToFillSpacing" value Value Description 0 Uses fill2-route spacing for existing tied fill during metal fill (the default). 1 Uses fill2-fill spacing for existing tied fill during metal fill. treatTiedFillAsFillToFillSpacing 4-181 Example To use fill2-fill spacing for existing tied fill during metal fill, enter axSetIntParam "droute" "treatTiedFillAsFillToFillSpacing" 1 trimUserAntenna The trimUserAntenna parameter determines how user-created dangling wires are handled. This is useful for creating a long bus, and the router can trim the unused part after connecting pins to the bus. Note that antenna here means dangling wires. Syntax axSetIntParam "droute" "trimUserAntenna" value Value Description 0 User-created dangling wires are not deleted (the default). 1 User-created dangling wires (for example, prerouted bus) are trimmed after search and repair or route-net group. Example To trim user-created dangling wires after search and repair, enter axSetIntParam "droute" "trimUserAntenna" 1 Chapter 4: Detail Route Parameters 4-182 ultraWideWireMode The ultraWideWireMode parameter specifies the routing grids used for ultra wide wire routing. If the value is set to 0, regular routing grids are used. If the value is set to 1, wide routing grids are used. If the value is set to a larger value, even wider grids are used. Setting a large value for ultra wide wires can lead to fast routing time due to coarser grids for them. This is useful for the flip-chip designs. Syntax axSetIntParam "droute" "ultraWideWireMode" value Value Description 0 Regular routing (the default). 1 Uses wide grids to route ultra-wide wires. 2-4 Use even wider grids Example To use wide grids to route ultra-wide wires, enter axSetIntParam "droute" "ultraWideWireMode" 1 useSideWallForAntenna The useSideWallForAntenna parameter specifies whether the wire top area or side wall area is used for antenna ratio computation. If the value is set to 0, the wire top area is used for antenna ratio computation. If the value is set to 1, the wire side wall is used for ultraWideWireMode 4-183 antenna ratio computation. If the side wall area is used for antenna ratio computation, wire thickness is obtained from the technology file. Note that this parameter is ignored if doAntennaConx is set to 4, where the combination rules specify their own parameters. Syntax axSetIntParam "droute" "useSideWallForAntenna" value Value Description 0 Uses the wire area to compute antenna ratio (the default). 1 Uses the wire side-wall to compute antenna ratio. Example To use the wire side-wall to compute antenna ratio, enter axSetIntParam "droute" "useSideWallForAntenna" 1 See Also doAntennaConx, checkAntennaOnPG, maxAntennaPinCount, maxAntennaRatio, outputPinDischarge, dontMergeGateForAntenna, maxCutAntennaRatio, breakAntennaToTopPin. V1NoOffGridRouting V2NoOffGridRouting V3NoOffGridRouting V4NoOffGridRouting V5NoOffGridRouting V6NoOffGridRouting Chapter 4: Detail Route Parameters 4-184 V7NoOffGridRouting V8NoOffGridRouting V9NoOffGridRouting V10NoOffGridRouting V11NoOffGridRouting V12NoOffGridRouting This parameter specifies whether to allow off-grid routing for vias. If the value is set to 0, the router allows off-grid routing for vias. If the value is set to 1, the router forces all vias on vias layer on-grid. Syntax axSetIntParam "droute" "V1NoOffGridRouting" value axSetIntParam "droute" "V2NoOffGridRouting" value axSetIntParam "droute" "V3NoOffGridRouting" value axSetIntParam "droute" "V4NoOffGridRouting" value axSetIntParam "droute" "V5NoOffGridRouting" value axSetIntParam "droute" "V6NoOffGridRouting" value axSetIntParam "droute" "V7NoOffGridRouting" value axSetIntParam "droute" "V8NoOffGridRouting" value axSetIntParam "droute" "V9NoOffGridRouting" value axSetIntParam "droute" "V10NoOffGridRouting" value axSetIntParam "droute" "V11NoOffGridRouting" value Value Description 0 Enables off-grid routing for the V1 to V11 vias (the default). 1 The off-grid routing is disabled for these vias. Example To disable off-grid routing for V1 to V11 vias, enter axSetIntParam "droute" "V1NoOffGridRouting" 1 axSetIntParam "droute" "V2NoOffGridRouting" 1 axSetIntParam "droute" "V3NoOffGridRouting" 1 V1NoOffGridRouting V2NoOffGridRouting V3NoOffGridRouting V4NoOffGridRouting V5NoOffGridRouting 4-185 axSetIntParam "droute" "V4NoOffGridRouting" 1 axSetIntParam "droute" "V5NoOffGridRouting" 1 axSetIntParam "droute" "V6NoOffGridRouting" 1 axSetIntParam "droute" "V7NoOffGridRouting" 1 axSetIntParam "droute" "V8NoOffGridRouting" 1 axSetIntParam "droute" "V9NoOffGridRouting" 1 axSetIntParam "droute" "V10NoOffGridRouting" 1 axSetIntParam "droute" "V11NoOffGridRouting" 1 When set to1, the off-grid routing is disabled for these vias. See Also noOffGridRouting varSpacingToSameNet This parameter specifies whether the variable spacing rule defined in varRouteRule is to be applied to same net shapes. If the value is set to 0, default spacing rule is to be applied to same net shapes. If the value is set to 1, variable spacing rule is to be applied to same net shapes. Syntax axSetIntParam "droute" "varSpacingToSameNet" value Value Description 0 The default spacing rules are used for the same net instead of variable spacing rules (the default). 1 Applies variable spacing rule between shapes of the same net. Chapter 4: Detail Route Parameters 4-186 Example To apply variable spacing rule between shapes of the same net, enter axSetIntParam "droute" "varSpacingToSameNet" 1 See Also ignoreVarSpacingToPG viaOverMaxLayer The viaOverMaxLayer parameter specifies the allowed via usage above the maximum routing layer (maxLayer) set in the top cell. If the value is set to 0, no via is allowed above maxLayer. Value N (between 1 and 4) specifies the maximum level of stacked via that can be used to access pre-wires or pins above maxLayer. This parameter has no effect if there is no pin or preroute in the design above maxLayer. The larger the value, the more flexibility the router has to connect to pins and preroutes above maxLayer. Syntax axSetIntParam "droute" "viaOverMaxLayer" value The valid values of this parameter range between 0 and 4. The default is 1. Example To access pre-wire/pins over maxLayer with one stacked via, enter axSetIntParam "droute" "viaOverMaxLayer" 1 viaOverMaxLayer 4-187 See Also hardMaxLayerConx wideMacroPinAsFatWire The wideMacroPinAsFatWire parameter specifies how macro and pad cell pin shapes are treated for fat wire spacing computation. If the value is set to 0, the pin shape’s original dimension is used for spacing computation. If the value is set to 1, the pin shape’s depth is assumed to be at least as much as its width. In other words, if the pin shape width is fat, the pin shape is treated as fat despite the value of its depth. This flag is not relevant if there is no fat spacing rule in the design. If macro and pad cells are extracted in such a way that a fat wire shape’s depth can be trimmed to become thin wire, then set this parameter to 1. Syntax axSetIntParam "droute" "wideMacroPinAsFatWire" value Value Description 0 Treats the macro/pad pin as is (the default). 1 Assumes wide macro/pad pin has implicit depth same as its width so it will be treated as fat-wire even its depth is not 'fat'. Example To treat the macro/pad pin as is, enter axSetIntParam "droute" "wideMacroPinAsFatWire" 0 Chapter 4: Detail Route Parameters 4-188 See Also stdCellBlockageAsThin, blockageAsFatWire, checkMergedFatWire wideWireToInputPin The wideWireToInputPin parameter specifies the wires and vias that are to be used to connect to input pins. If the value is set to 0, default wires and vias can be used to connect input pins, depending on the DRC violation. If the value is set to 1, wide wires and vias from varRouteRule must be used to connect input pins. If a net does not have varRouteRule defined for it, the default rule is used for the net. Syntax axSetIntParam "droute" "wideWireToInputPin" value Value Description 0 Default wire/via can be also used to connect input pins (the default). 1 Only wide wire/via can be used. Example To use wide wire or via, enter the following: axSetIntParam "droute" "wideWireToInputPin" 1 When set to 0, the default wire/via can be also used to connect input pins. wideWireToInputPin 4-189 See Also wideWireToMacroPin, wideWireToOutputPin, wideWireToPadPin, wideWireToTopPin wideWireToMacroPin The wideWireToMacroPin parameter specifies the wires and vias to be used to connect to macro cell pins. If the value is set to 0, default wires and vias can be used to connect macro cell pins, depending on the DRC violation. If the value is set to 1, wide wires and vias from varRouteRule must be used to connect macro cell pins. If a net does not have varRouteRule defined for it, the default rule is used for the net. Syntax axSetIntParam "droute" "wideWireToMacroPin" value Value Description 0 Default wire/via can be also used to connect pins of the macro cells, pads, and top cells (the default). 1 Uses wide wire or via. Example To use wide wire or via, enter axSetIntParam "droute" "wideWireToMacroPin" 1 When set to 0, default wire or via can be also used to connect pins of the macro cells. Chapter 4: Detail Route Parameters 4-190 See Also wideWireToInputPin, wideWireToOutputPin, wideWireToPadPin, wideWireToTopPin wideWireToOutputPin The wideWireToOutputPin parameter specifies the wires and vias to be used to connect to output pins. If the value is set to 0, default wires and vias can be used to connect output pins, depending on the DRC violation. If the value is set to 1, wide wires and vias from varRouteRule must be used to connect output pins. If a net does not have varRouteRule defined for it, the default rule is used for the net. Syntax axSetIntParam "droute" "wideWireToOutputPin" value Value Description 0 Default wire/via can be also used to connect output pins (the default). 1 Uses wide wire or via. Example To use wide wire or via, enter axSetIntParam "droute" "wideWireToOutputPin" 1 When set to 0, default wire/via can be also used to connect output pins. wideWireToOutputPin 4-191 See Also wideWireToInputPin, wideWireToMacroPin, wideWireToPadPin, wideWireToTopPin wideWireToPadPin The wideWireToPadPin parameter specifies the wires and vias to be used to connect to pad cell pins. If the value is set to -1, wires and vias to pad cell pins connection are controlled by the wideWireToMacroPin parameter. If the value is set to 0, default wires and vias can be used to connect pad cell pins, depending on the DRC violation. If the value is set to 1, wide wires and vias from varRouteRule must be used to connect pad cell pins. If a net does not have varRouteRule defined for it, default rule is used for the net. Syntax axSetIntParam "droute" "wideWireToPadPin" value Table 4-3 Valid Values of the wideWireToPadPin Parameter Value Description -1 Value is controlled by wideWireToMacroPin (the default) 0 Default wire/via can be also used to connect pins of pad cells 1 Only wide wire/via can be used Example To ensure that value is controlled by wideWireToMacroPin, enter axSetIntParam "droute" "wideWireToPadPin" -1 Chapter 4: Detail Route Parameters 4-192 See Also wideWireToInputPin, wideWireToMacroPin, wideWireToOutputPin, wideWireToTopPin wideWireToTopPin The wideWireToTopPin parameter specifies the wires and vias to be used to connect to top cell pins. If the value is set to -1, wires and vias to top cell pin connection are controlled by the wideWireToMacroPin parameter. If the value is set to 0, default wires and vias can be used to connect top cell pins, depending on the DRC violation. If the value is set to 1, wide wires and vias from varRouteRule must be used to connect top cell pins. If a net does not have varRouteRule defined for it, the default rule is used for the net. Syntax axSetIntParam "droute" "wideWireToTopPin" value The valid values of this parameter range between -1 and 1. The default is -1. Value Description -1 Value is controlled by wideWireToMacroPin (the default) 0 Default wire/via can be also used to connect pins of top cells 1 Only wide wire/via can be used Example To use wide wire or via, enter axSetIntParam "droute" "wideWireToTopPin" 1 wideWireToTopPin 4-193 See Also wideWireToInputPin, wideWireToMacroPin, wideWireToPadPin, wideWireToOutputPin wideWireWidthAsMin The wideWireWidthAsMin parameter specifies how to handle wide-wire width rule with varRouteRule if it is specified for a net. If the value is set to 0, the default minimum width specified in technology file is used to check for the wire width requirement. If the value is set to 1, width requirement in varRouteRule is used to check for width, including places such as wide-wire turns and pin connections. Syntax axSetIntParam "droute" "wideWireWidthAsMin" value Value Description 0 Minimum width from technology file is used (the default). 1 Ensures the width of all wide-wire turn and pin connections meet the wire width, not just minimum width from the technology file. Example To ensure that the width of all wide-wire turn and pin connections meet the wire width, enter axSetIntParam "droute" "wideWireWidthAsMin" 1 When set to 0, the minimum width from the technology file is used. Chapter 4: Detail Route Parameters 4-194 wireWidenForceWrongWay The wireWidenForceWrongWay parameter specifies whether to force widened wrong-way wires. If the value is set to 0, the router does not force widened wrong-way wires. If the values is set to 1, the router forces widened wrong-way wires to improve coverage of widened wires. Syntax axSetIntParam "droute" "wireWidenForceWrongWay" value Value Description 0 Does not force widen wrong way wires (the default). 1 Force widen wrong way wires. Example To force widening wrong way wires, enter axSetIntParam "droute" "wireWidenForceWrongWay" 1 See Also wireWidenIgnoreMinEdgeLengthVio, wireWidenPieceWise, wireWidenSrLoop, wireWidenTimingDriven, wireWidenWidthScheme wireWidenForceWrongWay 4-195 wireWidenIgnoreMinEdgeLengthVio The wireWidenIgnoreMinEdgeLengthVio parameter specifies whether to ignore the minimum edge length rule during wire widening. If the value is set to 0, the router checks all DRC violations during wire widening. If the value is set to 1, the router does not check the minimum edge length violation during wire widening. Syntax axSetIntParam "droute" "wireWidenIgnoreMinEdgeLengthVio" value Value Description 0 Uses try mode to detect DRC violation when widening wire. Checks all DRC violation types (the default). 1 Closes minimum edge length DRC violation checking in try mode. Example To close minimum edge length DRC violation checking in try mode, enter axSetIntParam "droute" "wireWidenIgnoreMinEdgeLengthVio" 1 See Also wireWidenForceWrongWay, wireWidenPieceWise, wireWidenSrLoop, wireWidenTimingDriven, wireWidenWidthScheme Chapter 4: Detail Route Parameters 4-196 wireWidenPieceWise The wireWidenPieceWise parameter specifies whether to widen a wire segment uniformly or to widen it piece by piece. If the value is set to 0, the router will widen a wire segment uniformly. If the value is set to 1, the router first breaks a wire into several pieces according to its neighboring routing objects, then tries to widen each piece with different width. This nonuniform widening can improve coverage of widened wires. Syntax axSetIntParam "droute" "wireWidenPieceWise" value Value Description 0 Uniformly widens a wire (the default). 1 Breaks a wire according to its neighboring routing objects. Then it tries to widen each segment with different width. Example To break a wire according to its neighboring routing objects and then widen each segment with different width, enter axSetIntParam "droute" "wireWidenPieceWise" 1 See Also wireWidenIgnoreMinEdgeLengthVio, wireWidenForceWrongWay, wireWidenSrLoop, wireWidenTimingDriven, wireWidenWidthScheme wireWidenPieceWise 4-197 wireWidenSrLoop The wireWidenSrLoop parameter specifies the number of search and repair loops after wire widening. If the value is set to N, the router runs N loops of search and repair after wire widening to fix DRC violations created during wire widening. Syntax axSetIntParam "droute" "wireWidenSrLoop" value The valid values of this parameter range between 0 and 100. The default is 10. Example To specify 20 search and repair loops after wire widening, enter axSetIntParam "droute" "wireWidenSrLoop" 20 See Also wireWidenIgnoreMinEdgeLengthVio, wireWidenForceWrongWay, wireWidenPieceWise, wireWidenTimingDriven, wireWidenWidthScheme wireWidenTimingDriven The wireWidenTimingDriven parameter specifies whether to widen wires on timing-critical nets. If the value is set to 0, the router does wire widening on all signal wires. If the value is set to 1, the router does not widen wires on timing-critical nets. Chapter 4: Detail Route Parameters 4-198 Syntax axSetIntParam "droute" "wireWidenTimingDriven" value Value Description 0 Does wire widening on all signal wires (the default). 1 Freezes timing-critical nets when wire widening. Example To enable the router to freeze timing-critical nets while widening wires, enter axSetIntParam "droute" "wireWidenTimingDriven" 1 See Also wireWidenIgnoreMinEdgeLengthVio, wireWidenForceWrongWay, wireWidenPieceWise, wireWidenSrLoop, wireWidenWidthScheme wireWidenWidthScheme The wireWidenWidthScheme parameter specifies how many different widths are used for wire widening. If the value is set to N, the router tries N different widths during wire widening. Syntax axSetIntParam "droute" "wireWidenWidthScheme" value The valid values of this parameter ranges between 1 and 5. The default is 2. wireWidenWidthScheme 4-199 Example To specify four different widths during wire widening, enter axSetIntParam "droute" "wireWidenWidthScheme" 4 See Also wireWidenIgnoreMinEdgeLengthVio, wireWidenForceWrongWay, wireWidenPieceWise, wireWidenSrLoop, wireWidenTimingDriven wrongWayExtraCost The wrongWayExtraCost parameter specifies extra wrong-way wire cost. The default wrong-way unit distance cost is 2 (versus default right-way unit distance cost of 1). If the value is set to 0, no extra wrong-way cost is added. Otherwise, if the value is set to N, the wrong-way unit distance cost is 2 + N. Therefore, if the value is set to 2, the wrong-way cost is four times the right-way unit distance cost. This parameter can be used to further discourage wrong-way direction routing. It can be especially useful if you observe excessive wrong-way direction routing during the route net group command, where most nets are not routed yet. Syntax axSetIntParam "droute" "wrongWayExtraCost" value The valid values of this parameter range between 0 and 100. The default is 0. Chapter 4: Detail Route Parameters 4-200 Example To specify extra wrong-way wire cost as 40, enter axSetIntParam "droute" "wrongWayExtraCost" 40 wrongWayNoVia The wrongWayNoVia parameter specifies whether contacts can be used to connect to wrong way wires. If the value is set to 0, contacts can be used to connect to wrong way wires. If the value is set to 1, contacts cannot be used to connect to wrong-way wires. This parameter is normally used to avoid creating T-shaped connection to meet certain end-of-line rules. Syntax axSetIntParam "droute" "wrongWayNoVia" value Value Description 0 Contact can be used freely. (the default). 1 Does not drop contact to wrong-way routing wires, normally used to avoid creating T-shape connection when cross contacts are used. Example To use the contact freely for connecting wires, enter axSetIntParam "droute" "wrongWayNoVia" 0 When set to 1, the contact to wrong-way routing wires is not dropped. wrongWayNoVia 4-201 Chapter 4: Detail Route Parameters 4-202 5 Global Route Parameters 5 You use the global route parameters to fine-tune the global routing process. Global routing maps general pathways through the design for each unrouted net (signal nets and clock nets). The global router uses a two-dimensional array of global routing cells to model the demand and capacity of global routing. Table 5-1 summarizes the global route parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order Table 5-1 Global Route Parameters Summary Parameter Description accessPolyPin Specifies whether poly pins can be used during global routing for connections. avoidCouplingUser Enables the global router to space nets during routing. avoidXtalk Turns on or off crosstalk prevention during global routing. 5-1 Table 5-1 Global Route Parameters Summary (Continued) Parameter Description blncdToSkewCntrlRatio Sets a threshold for skew control mode, based on net aspect ratio. blockEdgeAccess Enables the global router to access pins on edges of hard macros. brokenNetsThresholdPercent Specifies whether incremental global routing should be performed. clockBalanced Turns on or off balanced routing over clock nets. clockComb Enables the global router to connect ports directly to the prerouted clock trunks to minimize clock skew. combDistance Sets a distance threshold for clock routing to connect clock pins directly to clock nets. combMaxConnections Controls the number of direct connections allowed to the clock pins from the same clock trunk. compactMode Determines the size of gcell used for global routing. congestionWeight Controls the effort to balance routing congestion relative to wire length. densityDriven Turns on or off density-driven global routing. detourLimitMinNetLen Controls the way the global router implements maxDetourPercent on nets. extraCostsApplyPercent Applies the wireCost and viaCost settings on the top n percent of nets in the design. extraWireLengthOpt Tells the global router to run an additional rerouting phase to reduce wire length on nets that have no congestion. Chapter 5: Global Route Parameters 5-2 Table 5-1 Global Route Parameters Summary (Continued) Parameter Description forceUpperLayersForCritNets Specifies the mode for upper layers usage. horReserveTracks Determines the number of horizontal free tracks reserved in each gcell. ignoreViaBlockage Specifies whether to honor a via blockage. incremental Controls whether the global router runs incrementally. macroBndryDir Controls the use of macroBndryTrkUtil differently for layers in different directions. macroBndryExt Defines the area in which the global router obeys macroCornerTrkUtil and macroBndryTrkUtil. macroBndryTrkUtil Sets the percentage of tracks available in the gcells near a macro boundary. macroBndryWidth Defines the distance from the corners of the macros. macroCornerTrkUtil Sets the percentage of tracks available in the gcells near a macro corner. mapOnly Specifies whether the router generates a congestion map based on global routing without creating the global wires. maxDetourPercent Directs the global router to have no more than the specified percentage of detours on any net. netCriticality Determines the order in which the global router routes the nets during initial route. noTopLevelBusFeedThroughs Specifies whether to allow feedthroughs on bus signals. paEqPinNetMaxPort Creates equivalent pins for nets with no more than n ports. 5-3 Table 5-1 Global Route Parameters Summary (Continued) Parameter Description powerDriven Turns on or off power-driven global routing. rcOptByLength Controls the choice of layers for the global router to reduce RC. reportDemandOnly Specifies whether to report demand only. reportEffectiveOverflow Specifies whether to generate an effective overflow report. reportGCellDensity Specifies whether to report gcell density for each layer. reportNetOrdering Specifies the number of nets to report, according to the routing order. reserveTracksForPowerFile Defines the percentage of routing tracks on each layer reserved for power routing. skewControl Turns on or off skew control during global routing. skewControlNetBBLowBound Determines the nets considered for skew control during global routing. skewControlWeight Determines the importance given to skew control on the net during global routing. speed Specifies the effort at which the global router should run. timingDriven Turns on or off timing-driven global routing. timingWeight Sets the weight given to timing relative to wire length during global routing. turboMode Improves runtime. VABoundaryToLSWeight Specifies the value to adjust the cost for level-shifter connection when switching from one voltage area to another. Chapter 5: Global Route Parameters 5-4 Table 5-1 Global Route Parameters Summary (Continued) Parameter Description verReserveTracks Determines the number of vertical free tracks reserved in each gcell. xtalkWeight Defines the weight given to crosstalk prevention during global routing. 5-5 accessPolyPin The accessPolyPin parameter specifies whether poly pins can be used during global routing for connections. If the value is set to 1, the router can route to poly pins. If the value is set to 0, the router cannot use poly pins. This parameter has no effect if the current design does not contain poly pins, as is the case in most designs. Usage To access poly pins, enter the following: axSetIntParam "groute" "accessPolyPin" 1 When set to 0, the poly pins cannot be accessed. Range The valid values are 0 or 1. The default is 1. Note: This is the only global route parameter that is saved into the Milkyway CEL view. It is persistent across different sessions. avoidCouplingUser The avoidCouplingUser parameter enables the global router to space nets during routing. The nets to be considered need to be set with the Set Net Constraints command. If this parameter is set to 1, timing spacing will be honored. Chapter 5: Global Route Parameters 5-6 Usage To turn on coupling avoidance on user selected nets, enter the following: axSetIntParam "groute" "avoidCouplingUser" 1 When set to 0, coupling avoidance is turned off on user selected nets. Range The valid values are 0 or 1. The default is 0. avoidXtalk The avoidXtalk parameter turns on/disables crosstalk prevention during global routing. If this parameter is set to 1, the global router tries to avoid assigning nets with coupling to the same gcell. Usage To turn on the crosstalk avoidance, enter the following: axSetIntParam "groute" "avoidXtalk" 1 When set to 0, crosstalk avoidance is turned off. Range The valid values are 0 or 1. The default is 0. avoidXtalk 5-7 blncdToSkewCntrlRatio The blncdToSkewCntrlRatio parameter sets a threshold for turning on the balanced skew control mode. For nets with an aspect ratio smaller than the parameter value, balanced skew control mode is enabled. The aspect ratio is calculated based on the bounding box formed by enclosing the pins. Usage To set the aspect-ratio threshold for balanced mode skew control, use the following syntax: axSetIntParam "groute" "blncdToSkewCntrlRatio" 3 Range The valid values of this parameter range between 0 and 100. The default is 3. blockEdgeAccess The blockEdgeAccess parameter allows the global router to access pins on edges of hard macros. By default, the global router reaches pins on edges of hard macros. When the parameter is set to 1, it allows the global router is allowed to access or drop vias on whole macro pins without edges limitation. Usage To turn on only macro block edge access, enter the following: axSetIntParam "groute" "blockEdgeAccess" 1 When set to 0, macro block edge access is turned off. Chapter 5: Global Route Parameters 5-8 Range The valid values are 0 or 1. The default is 1. brokenNetsThresholdPercent The brokenNetsThresholdPercent parameter specifies a threshold for incremental global routing to be performed. This is effective when incremental is set to 1. Usage To specify the maximum broken nets for incremental global route, enter the following: axSetIntParam "groute" "brokenNetsThresholdPercent" -1 Range The valid values of this parameter range between -1 and 100. The default is -1. clockBalanced The clockBalanced parameter turns balanced routing on clock nets on and off. Usage To turn on balanced routing for clock tree synthesized nets, enter the following: axSetIntParam "groute" "clockBalanced" 1 brokenNetsThresholdPercent 5-9 When set to 0, balanced routing is turned off for clock tree synthesized nets. Range The valid values are 0 or 1. The default is 0. clockComb The clockComb parameter enables the global router to connect ports directly to the prerouted clock trunks to minimize clock skew. Be aware that this requires greater routing resources, if the clock pins are not close to the clock trunks. The Comb mode works on designs with pre-existing clock nets. Usage To turn on comb routing for clock nets with mesh or trunk, enter the following: axSetIntParam "groute" "clockComb" 1 When set to 0, comb routing for clock nets with mesh or trunk is turned off. Range The valid values are 0 or 1. The default is 0. combDistance The combDistance parameter sets a distance threshold, in gcell units, for clock routing to connect clock pins directly to clock nets. Chapter 5: Global Route Parameters 5-10 Usage To set the threshold for connecting clock pins directly to clock nets, use the following syntax: axSetIntParam "groute" "combDistance" 2 Range The valid values of this parameter range between 0 and 50. The default is 2. combMaxConnections The combMaxConnections parameter limits the number of direct connections allowed to the clock pins from the same clock trunk. The default value of -1 allows a clock net to be connected to any number of clock pins. Usage To specify the maximum number of pin connections to any clock strap, use the following syntax: axSetIntParam "groute" "combMaxConnections" -1 Range The valid values of this parameter range between -1 and 1000. The default is -1. combMaxConnections 5-11 compactMode The compactMode parameter determines the size of gcell used for global routing. If it is set to 0, gcells of 1 cellrow height will be created. If it is set to 1, the global router automatically adjusts the global route cell size. Increasing the size of gcell will complete the global routing faster at the cost of quality as routing becomes coarser. Usage To specify the mode to adjust gcell size, enter the following: axSetIntParam "groute" "compactMode" 1 Range The valid values of this parameter range between -1 and 10. The default is 1. congestionWeight The congestionWeight parameter specifies the relative importance of routing congestion versus wire length. As the parameter value increases, the router tries harder to avoid routing congestion at the cost of increased wire length. Usage To balance routing congestion relative to the wire length, use the following syntax: axSetIntParam "groute" "congestionWeight" 4 Chapter 5: Global Route Parameters 5-12 Range The valid values of this parameter range between 1 and 12. The default is 4. densityDriven The densityDriven parameter turns density-driven global routing on or off. In the default mode, the router decides the weight given to density relative to wire length during global routing. If timing driven or crosstalk is turned on, global route turns on the densityDriven automatically. Usage To turn on the density-driven mode, enter the following: axSetIntParam "groute" "densityDriven" 1 Range The valid values of this parameter range between -1 and 2. The default is -1. Table 5-2 lists the valid values of this parameter and their effect. Table 5-2 Valid Values of the densityDriven Parameter Value Description -1 Program decides whether density-driven mode should be used 0 Turn off the density-driven mode 1 Turn on the density-driven mode 2 Turn on high effort density-driven mode densityDriven 5-13 detourLimitMinNetLen The detourLimitMinNetLen parameter controls the way the global router implements maxDetourPercent on nets. If the value is set to 0, the router forces maxDetourPercent on all nets. If the value is set to n, maxDetourPercent is applied only to nets of length greater than n gcells. Usage To apply maxDetourPercent to all nets, enter the following: axSetIntParam "groute" "detourLimitMinNetLen" 0 Range The valid values of this parameter range between 0 and 1000000. The default is 0. extraCostsApplyPercent The extraCostsApplyPercent parameter applies the wireCost and viaCost settings to the top n percent of nets in the design. The wireCost and viaCost parameters are route parameters. The route extra cost applies to global routing, track assignment and detail routing. This parameter applies the extra cost percentage only for global route. Usage To specify extra cost apply percentage on a wire and via, use the following syntax: axSetIntParam "groute" "extraCostsApplyPercent" 50 Chapter 5: Global Route Parameters 5-14 Range The valid values of this parameter range between 0 and 100. The default is 50. extraWireLengthOpt The extraWireLengthOpt parameter instructs the global router to run an additional rerouting phase to reduce wire length on nets that have no congestion. It does not perform any optimization. Usage To run an extra pass for optimizing the wire length, enter the following: axSetIntParam "groute" "extraWireLengthOpt" 1 When set to 0, no extra pass is performed to optimize wire length. Range The valid values are 0 or 1. The default is 0. forceUpperLayersForCritNets The forceUpperLayersForCritNets parameter specifies the mode for upper layers usage. To improve timing, Astro will route timing-critical nets on upper layers that have lower RC. extraWireLengthOpt 5-15 Usage To specify the mode for upper layers usage on critical nets, enter the following: axSetIntParam "groute" "forceUpperLayersForCritNets" 1 Range The valid values are 0 or 1. The default is 0. horReserveTracks The horReserveTracks parameter determines the number of horizontal free tracks reserved in each gcell. Usage To specify the number of horizontal free tracks reserved in each gcell, use the following syntax: axSetIntParam "groute" "horReserveTracks" 2 Range The valid values of this parameter range between 0 and 20. The default is 2. ignoreViaBlockage The ignoreViaBlockage parameter specifies the mode to honor a via blockage. By default, global route ignores via blockage. Chapter 5: Global Route Parameters 5-16 Usage To ignore via blockage, enter the following: axSetIntParam "groute" "ignoreViaBlockage" 1 When set to 0, via blockages are honored. Range The valid values are 0 or1. The default is 1. incremental The incremental parameter controls whether global router runs incrementally. Usage To specify the global route incremental mode, enter the following: axSetIntParam "groute" "incremental" 1 Range The valid values of this parameter range between 0 and 2. The default is 0. Table 5-3 provides the list of valid values of this parameter and their description. Table 5-3 Valid Values of the incremental Parameter Value Description 0 No incremental global routing 1 Performs incremental routing incremental 5-17 Table 5-3 Valid Values of the incremental Parameter Value Description 2 Route only broken nets macroBndryDir The macroBndryDir parameter controls the use of macroBndryTrkUtil for layers in different directions. If the value is set to 1, macroBndryTrkUtil will be applied to layers in both directions. Usage To apply macroBndryTrkUtil to the layers in both directions, enter the following: axSetIntParam "groute" "macroBndryDir" 1 If the value is set to 0, only the horizontal layers will have macroBndryTrkUtil applied at top and bottom sides and only the vertical layers will have macroBndryTrkUtil applied at the left and right sides. Range The valid values are 0 or 1. The default is 0. Chapter 5: Global Route Parameters 5-18 macroBndryExt The macroBndryExt parameter along with the macroBndryWidth defines the area in which the global router obeys macroCornerTrkUtil and macroBndryTrkUtil. By default, one row or column of gcells is included in the macro boundary. This value basically forms the width of the area, where length is defined by macroBndryWidth. Usage To define the area in which the global router obeys macroCornerTrkUtil and macroBndryTrkUtil, use the following syntax: axSetIntParam "groute" "macroBndryExt" -1 Range The valid values of this parameter range between -5 and 20. The default is -1. macroBndryTrkUtil The macroBndryTrkUtil parameter limits the utilization of tracks available in the gcells near a macro boundary to a specified percentage. This parameter is used to control the accessibility of pins and congestion at the macro boundaries. By default, the router uses 100 percent of available tracks in the macro boundary width. macroBndryExt 5-19 Usage To set the percent usage of tracks available in the gcells near the macro boundary, use the following syntax: axSetIntParam "groute" "macroBndryTrkUtil" 100 Range The valid values of this parameter range between 0 and 100. The default is 100. macroBndryWidth The macroBndryWidth parameter specifies a distance from the corners of macros. Within this distance, the global router obeys the limits on track utilization specified by macroCornerTrkUtil and macroBndryTrkUtil. By default, one row or column of gcells is considered from the corners of the macro. Usage To specify the distance from the corners of the macros within which limits on track utilization apply, use the following syntax: axSetIntParam "groute" "macroBndryWidth" 1 Range The valid values of this parameter range between -1 and 20. The default is 1. Chapter 5: Global Route Parameters 5-20 macroCornerTrkUtil The macroCornerTrkUtil parameter limits the utilization of tracks available in the gcells near a macro corner to a specified percentage. This parameter is used to control the accessibility of pins and congestion at the macro corners. By default, the router uses 100 percent of available tracks in the macro boundary width. Usage To set the percent usage of tracks available in the gcells near the macro corner, use the following syntax: axSetIntParam "groute" "macroCornerTrkUtil" 100 Range The valid values of this parameter range between 0 and 100. The default is 100. mapOnly The mapOnly parameter specifies whether the router generates the congestion map based on global routing without creating the global wires. Usage To generate the congestion map and the glinks, enter the following: axSetIntParam "groute" "mapOnly" 0 When set to 1, the router will not generate the glinks. macroCornerTrkUtil 5-21 Range The valid values are 0 or 1. The default is 0. maxDetourPercent The maxDetourPercent parameter directs the global router to have no more than the specified percentage of detours on any net. If the value is set to -1, the router is free to make any number of detours (or none). Usage To direct the global router to have no more than the specified percentage of detours on any net, use the following syntax: axSetIntParam "groute" "maxDetourPercent" -1 Range The valid values of this parameter range between -1 and 1000. The default is -1. netCriticality The netCriticality parameter determines the order in which the global router routes the nets during initial route. Net criticality can be set on nets in the design by using the Scheme function dbSetNetCriticality. If this parameter is set to 1, the global router first routes the nets with higher criticality value. If the value is set to 0, net criticality has no effect on routing order. However, net criticality always has an effect on the congestion cost. Chapter 5: Global Route Parameters 5-22 Usage To turn on the net-criticality mode, enter the following: axSetIntParam "groute" "netCriticality" 1 When set to 0, the net-criticality mode is turned off. Range The valid values are 0 or 1. The default is 1. noTopLevelBusFeedThroughs The noTopLevelBusFeedThroughs parameter determines whether feedthroughs are allowed on bus signals. Usage To allow feedthroughs on bus signals during pin assignment, enter the following: axSetIntParam "groute" "noTopLevelBusFeedThroughs" 1 When set to 0, feedthroughs are not allowed on bus signals during pin assignment. Range The default values are 0 or 1. The default is 0. noTopLevelBusFeedThroughs 5-23 paEqPinNetMaxPort Setting the paEqPinNetMaxPort parameter to 1 creates equivalent pins for nets with no more than n ports. Usage To specify the number of ports on nets, use the following syntax: axSetIntParam "groute" "paEqPinNetMaxPort" 20 Range The valid values of this parameter range between 0 and 1000. The default is 20. powerDriven The powerDriven parameter turns power-driven global routing on or off. Usage To turn on the power-driven mode, enter the following: axSetIntParam "groute" "powerDriven" 1 When set to 0, the power-driven mode is turned off. Range The valid values are 0 or 1. The default is 0. Chapter 5: Global Route Parameters 5-24 rcOptByLength The rcOptByLength parameter controls the choice of layers for global router to reduce RC. The global router chooses layers with lower RC values based on the value of this parameter. Usage To turn on RC-based layer bias mode, enter the following: axSetIntParam "groute" "rcOptByLength" 1 Range The valid values of this parameter range between 0 and 2. The default is 1. Table 5-4 lists the valid values of this parameter and their effect. Table 5-4 Valid Values of the rcOptbyLength Parameter Value Description 0 Turn off RC-based layer bias mode 1 Turn on RC-based layer bias mode 2 Turn on RC-based layer bias mode (strong) reportDemandOnly The reportDemandOnly parameter specifies the mode to report demand only. In this mode, Astro performs virtual route only, with no reroute phases. In the log file, it reports average gcell capacity per layer. rcOptByLength 5-25 Usage To report demand, enter the following: axSetIntParam "groute" "reportDemandOnly" 0 Range The valid values are 0 or 1. The default is 0. reportEffectiveOverflow The reportEffectiveOverflow parameter specifies the mode for generating an effective overflow report. Usage To report effective overflow, enter the following: axSetIntParam "groute" "reportEffectiveOverflow" 1 When set to 0, effective overflow is not reported. Range The valid values are 0 or 1. The default is 0. reportGCellDensity The reportGCellDensity parameter controls reporting of gcell density for each layer. In density-driven mode, the router generates a report of gcell density. However, this parameter is independent of the density-driven switch. Chapter 5: Global Route Parameters 5-26 Usage To specify the mode to generate a gcell density report, enter the following: axSetIntParam "groute" "reportGCellDensity" 1 When set to 0, gcell density is not reported. Range The valid values are 0 or 1. The default is 0. reportNetOrdering The reportNetOrdering parameter specifies the number of nets to be reported according to the routing order. By default, the global router does not report on net ordering. If this parameter is set to n, global route will report the first n nets in the order of routing. Usage To turn off report net ordering, enter the following: axSetIntParam "groute" "reportNetOrdering" -1 When set to 0, net ordering is reported for the first 100 nets. Range The valid values of this parameter range between -1 and 1000. The default is -1. reportNetOrdering 5-27 reserveTracksForPowerFile The file indicated by the reserveTracksForPowerFile parameter is used to define the percentage of routing tracks on each layer that are reserved for power routing. For example, reserveTracksForPowerFile = "reservedTracks.rc" Suppose the reservedTracks.rc file defines METAL1 layer as 20. Then, the router reserves 20 percent of available routing tracks in METAL1 for power routing later. Therefore, global route uses only 80 percent of the routing tracks. skewControl The skewControl parameter turns skew control on or off during global routing. If the value is set to 1, the global router tries to minimize the gross delay in net skew. Skew control applies to all signal nets (except for small nets) but skew control for clock nets occurs only when clockBalanced is set to 1. Usage To turn on skew control pattern routing, enter the following: axSetIntParam "groute" "skewControl" 1 When set to 0, the skew control pattern routing is turned off. Range The valid values are 0 or 1. The default is 0. Chapter 5: Global Route Parameters 5-28 skewControlNetBBLowBound The skewControlNetBBLowBound parameter determines which nets are considered for skew control during global routing. The choice is made based on the size of the net measured in number of gcells. Only nets with size greater than the specified value will be considered for skew control. Usage To specify the minimum size (in gcells) for nets to be subject to skew control, use the following syntax: axSetIntParam "groute" "skewControlNetBBLowBound" 5 Range The valid values of this parameter range between 1 and 100. The default is 5. skewControlWeight The skewControlWeight parameter determines the importance given to skew control on the net during global routing. You can set the skew control weight from 1 to 10 based on net criticality. Usage To specify the weight of skew control, enter the following: axSetIntParam "groute" "skewControlWeight" 5 Range The valid values of this parameter range between 0 and 10. The default is 5. skewControlNetBBLowBound 5-29 speed The speed parameter specifies the effort at which the global router should run. The global router runs a different number of phases, depending on the specified value. It is recommended you run the router in default mode. Usage To perform global routing in the medium-effort mode, enter the following: axSetIntParam "groute" "speed" 2 Range The valid values of this parameter range between 0 and 3. The default is 2. Table 5-5 lists the default values of this parameter and their effect. Table 5-5 Valid Values of the speed Parameter Value Description 0 Router performs initial global routing only 1 Router performs initial global routing and one rerouting phase 2 Router performs initial global routing and four rerouting phases 3 Router performs initial global routing and eight rerouting phases Chapter 5: Global Route Parameters 5-30 timingDriven The timingDriven parameter turns timing-driven global routing on or off. The timingWeight parameter controls the trade-off between timing and wire length during global routing. By default, timing-driven mode is turned off. Usage To turn on timing-driven mode, enter the following: axSetIntParam "groute" "timingDriven" 1 When set to 0, timing-driven mode is turned off. Range The valid values are 0 or 1. The default is 0. timingWeight The timingWeight parameter sets the weight given to the timing relative to wire length during global routing. This parameter is effective only in timing-driven mode. Usage To set the timing weight to 4, enter the following: axSetIntParam "groute" "timingWeight" 4 Range The valid values of this parameter range between 1 and 7. The default is 4. timingDriven 5-31 turboMode The turboMode parameter is used to improve runtime. Usage To turn on turbo mode, enter the following: axSetIntParam "groute" "turboMode" 1 Range The valid values of this parameter range between 0 and 3. The default is 1. Table 5-6 lists the values of this parameter and their effect. Table 5-6 Valid Values of the turboMode Parameter Value Description 0 Turns off the turbo mode 1 Turns on the turbo mode 3 Special turbo mode for congested designs (runs slower) VABoundaryToLSWeight The VABoundaryToLSWeight parameter is used in multivoltage mode. It specifies the value to adjust the cost for a level-shifter connection when switching voltage area from one to another. Chapter 5: Global Route Parameters 5-32 Usage To specify the cost value for level-shifter connection, enter the following: axSetIntParam "groute" "VABoundaryToLSWeight" 0 Range The valid values of this parameter range between 0 and 10, The default is 0. verReserveTracks The verReserveTracks parameter determines the number of vertical free tracks reserved in each gcell. Usage To specify the number of vertical free tracks reserved in each gcell, use the following syntax: axSetIntParam "groute" "verReserveTracks" 2 Range The valid values of this parameter range between 0 and 20. The default is 2. xtalkWeight The xtalkWeight parameter defines the weight given to crosstalk prevention during global routing. verReserveTracks 5-33 Usage To specify the weight given to crosstalk prevention during global routing, use the following syntax: axSetIntParam "groute" "xtalkWeight" 4 Range The valid values of this parameter range between 0 and 64. The default is 4. Chapter 5: Global Route Parameters 5-34 6 Layout Parasitic Extraction Parameters 6 You use the layout parasitic extraction (LPE) parameters to fine-tune the setting of layout parasitic extraction. Table 6-1 summarizes LPE parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. Table 6-1 LPE Parameters Summary Parameter Description BlockEdgeAccess Controls pin access capMultiplier It is the capacitance multiplier for prerouting estimation. diaGlinkRCMultFactor Specifies the diagonal glink RC multiplication factor. drOptContEstimate Estimates the increase of capacitance when using the axDrouteOptContact command. 6-1 Table 6-1 LPE Parameters Summary (Continued) Parameter Description ekIgnoreShieldNDRinDR ekShieldNDRinDRPro Enables the support of virtual shielding for capacitance extraction in virtual routing, global routing, track assignment, and detail routing modes. ignoreVrClockNetSpanScalar Uses the Steiner tree span length scale for clock nets. ignoreVrNetSpanLengthScalar Uses the Steiner tree span length scale. includePinGeomRes Extracts the pin geometry resistance. incRCExtraction Controls the extraction mode. lengthPerVia Specifies the length of vias for prerouting estimation. longPinGeomSpec Specifies the long pin geometry. MetalnUtil Specifies the utilization of metal tracks for prerouting estimation. mixedRCExtraction Specifies the utilization of metal tracks for prerouting estimation. orthCoupleMultiplier Specifies orthogonal coupling ratio multiplier for prerouting estimation. paraCoupleMultiplier Specifies parallel coupling ratio multiplier for prerouting estimation. resMultiplier It is the resistance multiplier for prerouting estimation. split Splits the extraction kernel. splitThreshold Splits the extraction threshold. starRCExtraction Controls the extraction mode. usePreCalCap Precalculates gcell-based capacitance. Chapter 6: Layout Parasitic Extraction Parameters 6-2 Table 6-1 LPE Parameters Summary (Continued) Parameter Description usePreroutedSegsInVR Switches to use the preroute wires while constructing the virtual route topology. useRouteSegsFileInVR Passes the prerouted segments found in the named file to virtual routing in virtual RC mode. useRuleCapTab Uses the dynamically calculated rule_cap_tab for capacitance calculation. viasPerEdge Specifies the number of vias per edge for prerouting estimation. vrCheckUseLumpPinBoxNumLimit Triggers to check if lump pin box is to be used or not. 6-3 BlockEdgeAccess The BlockEdgeAccess parameter is used to control pin access. Syntax axSetIntParam "ek" "BlockEdgeAccess" value Value Description 0 Does not control pin access. 1 Controls pin access (the default). Example To disable controlling pin access, enter axSetIntParam "ek" "BlockEdgeAccess" 0 capMultiplier The capMultiplier parameter is the capacitance multiplier for prerouting estimation. Change this value to control prerouting optimism versus postrouting pessimism from the capacitance point of view. Syntax axSetRealParam "ek" "capMultiplier" value The valid values of this parameter range between 0 and 10.0. The default is 1.05. Chapter 6: Layout Parasitic Extraction Parameters 6-4 Example To multiply the capacitance for prerouting estimation, enter axSetRealParam "ek" "capMultiplier" 5 diaGlinkRCMultFactor The diaGlinkRCMultFactor parameter is used to specify the diagonal glink RC multiplication factor. Syntax axSetRealParam "ek" "diaGlinkRCMultFactor" value The valid values of this parameter range between 0 and 10. The default is 1.0. Example To specify the diagonal glink RC multiplication factor, enter axSetRealParam "ek" "diaGlinkRCMultFactor" 7.0 drOptContEstimate The drOptContEstimate parameter is used to estimate the increase of capacitance when using the axDrouteOptContact command. diaGlinkRCMultFactor 6-5 Syntax axSetIntParam "ek" "drOptContEstimate" value Value Description 0 No estimation is done (the default). 1 Estimates the increase of capacitance while using the axDrouteOptContact command. Example To estimate the increase of capacitance while using the axDrouteOptContact command, enter axSetIntParam "ek" "drOptContEstimate" 1 ekIgnoreShieldNDRinDR ekShieldNDRinDRPro These parameters enable the support of virtual shielding for capacitance extraction in virtual routing, global routing, track assignment, and detail routing modes. Chapter 6: Layout Parasitic Extraction Parameters 6-6 Syntax axSetIntParam "ek" "ekIgnoreShieldNDRinDR" value axSetIntParam "ek" "ekShieldNDRinDRPro" value Value Description 0 Disables the support of virtual shielding for capacitance extraction in virtual routing, global routing, track assignment, and detail routing modes (the default). 1 Enables the support of virtual shielding for capacitance extraction in virtual routing, global routing, track assignment, and detail routing modes Example To enable the support of virtual shielding for capacitance extraction in virtual routing, global routing, track assignment, and detail routing modes, enter axSetIntParam "ek" "ekIgnoreShieldNDRinDR" 1 axSetIntParam "ek" "ekShieldNDRinDRPro" 1 ignoreVrClockNetSpanScalar The ignoreVrClockNetSpanScalar parameter uses the Steiner tree span length scale for clock nets. Syntax axSetIntParam "ek" "ignoreVrClockNetSpanScalar" value Value Description 0 Uses the Steiner tree span length scale for clock nets (the default). 1 Ignores Steiner tree span length scale for clock nets. ignoreVrClockNetSpanScalar 6-7 Example To ignore the Steiner tree span length scale for clock nets, enter axSetIntParam "ek" "ignoreVrClockNetSpanScalar" 1 ignoreVrNetSpanLengthScalar The ignoreVrNetSpanLengthScalar parameter uses the Steiner tree span length scale. Syntax axSetIntParam "ek" "ignoreVrNetSpanLengthScalar" value Value Description 0 Use Steiner tree span length scale (the default). 1 Ignores Steiner tree span length scale. Example To ignore the Steiner tree span length scale, enter axSetIntParam "ek" "ignoreVrNetSpanLengthScalar" 1 includePinGeomRes The includePinGeomRes parameter is used to extract the pin geometry resistance. Chapter 6: Layout Parasitic Extraction Parameters 6-8 Syntax axSetIntParam "ek" "includePinGeomRes" value Value Description 0 Does not extract the pin geometry resistance (the default). 1 Extracts the pin geometry resistance. Example To extract the pin geometry resistance, enter axSetIntParam "ek" "includePinGeomRes" 1 incRCExtraction The inRCExtraction parameter is used to control the extraction mode. Syntax axSetIntParam "ek" "incRCExtraction" value Value Description 0 Does not use the incremental RC extraction in real RC mode(the default). 1 Uses incremental RC extraction in real RC mode. incRCExtraction 6-9 Example To use incremental RC extraction in the real RC mode, enter axSetIntParam "ek" "incRCExtraction" 1 lengthPerVia The lengthPerVia parameter specifies the length of vias for prerouting estimation. Syntax axSetIntParam "ek" "lengthPerVia" value The valid values of this parameter range between 0 and 100000. The default is 100000. Example To specify the length of vias for prerouting estimation as 50000, enter axSetIntParam "ek" "lengthPerVia" 50000 longPinGeomSpec The longPinGeomSpec parameter is used to specify the long pin geometry. Syntax axSetRealParam "ek" "longPinGeomSpec" value The valid values of this parameter range between 5.0 and 40.0. The default is 40.0. Chapter 6: Layout Parasitic Extraction Parameters 6-10 Example To specify the long pin geometry as 30.0, enter axSetRealParam "ek" "longPinGeomSpec" 30.0 MetalnUtil The MetalnUtil parameter is used to specify the utilization of metal tracks for prerouting estimation. The value N represents the metal layers from 1 to 12. Syntax axSetRealParam "ek" "MetalnUtil" value The valid values of this parameter range between -1 and 1.0. The default is -1. Example To specify the utilization of the metal layers from Metal1 to Metal12, enter axSetRealParam "ek" "Metal1Util" 0.0 axSetRealParam "ek" "Metal2Util" 1.0 axSetRealParam "ek" "Metal3Util" -1.0 axSetRealParam "ek" "Metal4Util" 0.0 axSetRealParam "ek" "Metal5Util" 1.0 axSetRealParam "ek" "Metal6Util" 1.0 axSetRealParam "ek" "Metal7Util" 1.0 axSetRealParam "ek" "Metal8Util" 1.0 axSetRealParam "ek" "Metal9Util" 1.0 axSetRealParam "ek" "Metal10Util" 0.0 axSetRealParam "ek" "Metal11Util" 0.0 axSetRealParam "ek" "Metal12Util" -1.0 MetalnUtil 6-11 mixedRCExtraction The mixedRCextraction parameter is used to extract the open nets by reconnecting the net wiring topology using virtual route. Syntax axSetIntParam "ek" "mixedRCExtraction" value Value Description 0 Extracts the open nets (the default). 1 Extracts the open nets by reconnecting the net wiring topology using virtual route. Example To extract the open nets by reconnecting the net wiring topology using virtual route, enter axSetIntParam "ek" "mixedRCExtraction" 1 orthCoupleMultiplier The orthCoupleMultiplier parameter specifies the orthogonal coupling ratio multiplier for prerouting estimation. Syntax axSetRealParam "ek" "orthCoupleMultiplier" value The valid values of this parameter range between -1.0 and 10.0. The default is -1.0. Chapter 6: Layout Parasitic Extraction Parameters 6-12 Example To specify orthogonal coupling ratio multiplier for prerouting estimation, enter axSetRealParam "ek" "orthCoupleMultiplier" 9.0 paraCoupleMultiplier The paraCoupleMultiplier parameter specifies parallel coupling ratio multiplier for prerouting estimation. Syntax axSetRealParam "ek" "paraCoupleMultiplier" value The valid values of this parameter range between -1.0 and 10.0. The default is -1.0. Example To specify parallel coupling ratio multiplier for prerouting estimation, enter axSetRealParam "ek" "paraCoupleMultiplier" 8.0 resMultiplier The resMultiplier parameter is the resistance multiplier for prerouting estimation. Change this value to control prerouting optimism versus postrouting pessimism from the resistance point of view. Syntax axSetRealParam "ek" "resMultiplier" value paraCoupleMultiplier 6-13 The valid values of this parameter range between 0 and 10.0. The default is 1.05. Example To multiply the resistance for prerouting estimation as 5, enter axSetRealParam "ek" "resMultiplier" 5 split The split parameter is used to split the extraction kernel. Splitting the process will reduce the peak memory used by the Astro tool. Syntax axSetIntParam "ek" "split" value Value Description 0 Turns off the split process. 1 Turns on the split process (the default) Example To turn off the split process, enter axSetIntParam "ek" "split" 0 splitThreshold The splitThreshold parameter is used to split extraction threshold. It tells the tool when to split the extraction kernel process, by default for designs containing more than 150000 instances. Chapter 6: Layout Parasitic Extraction Parameters 6-14 Syntax axSetIntParam "ek" "splitThreshold" value The valid values of this parameter range between 0 and 150000. The default is 150000. Example To split the extraction threshold for a design containing 50000 instances, enter axSetIntParam "ek" "splitThreshold" 50000 starRCExtraction The starRCExtraction parameter is used to control the extraction mode. Syntax axSetIntParam "ek" "starRCExtraction" value Value Description 0 Does not use the Star-RCXT extraction in real RC mode(the default). 1 Uses Star-RCXT extraction in real RC mode. Example To use Star-RCXT extraction in real RC mode, enter axSetIntParam "ek" "starRCExtraction" 1 starRCExtraction 6-15 usePreCalCap The usePreCalCap parameter is used to precalculate gcell-based capacitance. Syntax axSetIntParam "ek" "usePreCalCap" value Value Description 0 Does not precalculate gcell-based capacitance. 1 Precalculates gcell-based capacitance (the default). Example To ignore precalculating the gcell-based capacitance, enter axSetIntParam "ek" "usePreCalCap" 0 usePreroutedSegsInVR The usePreroutedSegsInVR parameter switches to use the preroute wires while constructing the virtual route topology. Chapter 6: Layout Parasitic Extraction Parameters 6-16 Syntax axSetIntParam "ek" "usePreroutedSegsInVR" value Value Description 0 Does not attempt to use the prerouted wires while constructing the virtual routing topology (the default). 1 Attempts to use the prerouted wires while constructing the virtual routing topology. Example To use the preroute wires while constructing the virtual route topology, enter axSetIntParam "ek" "usePreroutedSegsInVR" 1 useRouteSegsFileInVR The useRouteSegsFileInVR parameter passes the prerouted segments found in the named file to virtual routing in virtual RC mode. Syntax axSetIntParam "ek" "useRouteSegsFileInVR "file_name" Example To pass the prerouted segments found in the myfile file to virtual routing in virtual RC mode, enter axSetIntParam "ek" "useRouteSegsFileInVR "myfile" useRouteSegsFileInVR 6-17 useRuleCapTab The useRuleCapTab command uses the dynamically calculated rule_cap_tab for capacitance calculation. Syntax axSetIntParam "ek" "useRuleCapTab" value Value Description 0 Does not use the dynamically calculated rule_cap_tab for the capacitance calculation. 1 Uses the dynamically calculated rule_cap_tab for the capacitance calculation (the default). Example To enable extraction not to use the calculated rule_cap_tab for capacitance calculation, enter axSetIntParam "ek" "useRuleCapTab" 0 viasPerEdge The viasPerEdge parameter specifies the number of vias per edge for prerouting estimation. Syntax axSetRealParam "ek" "viasPerEdge" value The valid values of this parameter range between 0.0 and 10.00. The default is 2.2. Chapter 6: Layout Parasitic Extraction Parameters 6-18 Example To number the vias per edge for prerouting estimation as 7.2, enter axSetRealParam "ek" "viasPerEdge" 7.2 vrCheckUseLumpPinBoxNumLimit The vrCheckUseLumpPinBoxNumLimit parameter triggers to check if lump pin box is to be used or not. When a port has multiple pins, these pins will be lumped together and treated as a big pin in the following extraction. Syntax axSetIntParam "ek" "vrCheckUseLumpPinBoxNumLimit" value The valid values of this parameter range between 0 and 100000. The default is 10. Example To ignore lump pins, enter axSetIntParam "ek" "vrCheckUseLumpPinBoxNumLimit" 0 vrCheckUseLumpPinBoxNumLimit 6-19 Chapter 6: Layout Parasitic Extraction Parameters 6-20 7 Placement-Driven Synthesis Optimization Parameters 7 You use the placement-driven synthesis (PDS) optimization parameters to fine-tune the PDS optimization settings. Table 7-1 summarizes PDS optimization parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order Table 7-1 Optimization Parameters Summary Parameter Description aggOpt Determines whether aggressors are optimized during postroute optimization signal integrity flow. buf_ins_hold Determines whether buffers are inserted during hold optimization. 7-1 Table 7-1 Optimization Parameters Summary (Continued) Parameter Description flag_cr_opt Determines whether critical regions are fixed during placement optimization. hfn_fanout_threshold Sets the threshold value for the number of fanouts to trigger high-fanout optimization. hfn_max_fanouts Sets the maximum number of fanouts for a buffer used for high-fanout optimization. max_iteration Sets the maximum number of iterations for setup and hold fixing while running astPostPS, astSetUpFix, astHoldFix, and pdsMoveCell. max_level_buffer Sets the maximum number of levels of buffers inserted in high-fanout optimization. max_runtime Sets a maximum runtime for setup and hold fixing while running astPostPS, astSetUpFix, astHoldFix, and pdsMoveCell. max_utilization Sets the maximum utilization of the design before PDS optimization stops. move_flip_flop Determines whether flip-flop movement is allowed for placement-driven synthesis optimization. no_new_instance Controls the addition of new instances while running astPostPS, astTranFix, astCapFix, and astHoldFix. Chapter 7: Placement-Driven Synthesis Optimization Parameters 7-2 Table 7-1 Optimization Parameters Summary (Continued) Parameter Description ov_max_displaced_cells Specifies the maximum number of cells to be moved during overlap. ov_max_displacement Specifies the distance of maximum displacement (in microns) during overlap. pds_message_level Controls the level of detail in the messaging report in the log file during optimization. pr_use_fpclass Set when you to want to use the footprint class. slack_range_hold_max Sets the maximum hold slack for slack range optimization. slack_range_hold_min Sets the minimum hold slack for slack range optimization. slack_range_setup_max Sets the maximum setup slack for slack range optimization. slack_range_setup_min Sets the minimum setup slack value for slack range optimization. target_hold_slack Sets the target hold time value for PDS optimization to stop. target_setup_slack Sets the target setup time value. target_utilization Sets the target utilization value for the area recovery to stop. topo_only Controls the use of topology-based techniques during postroute optimization flow. 7-3 Table 7-1 Optimization Parameters Summary (Continued) Parameter Description use_child_router Controls the use of a child router, to reduce peak memory usage in the routing engine when it is called during optimization. use_global_cost Turns the global cost function for astPostRouteOpt on or off. wire_delay_model Sets a wire delay model during optimization. xtalk_noise_limit Sets the noise limit value used by crosstalk optimization during pre/ post-placement optimization and post-clock tree synthesis optimization. Chapter 7: Placement-Driven Synthesis Optimization Parameters 7-4 aggOpt The aggOpt parameter determines whether aggressors are optimized during postroute optimization signal integrity flow. Usage To optimize the aggressors during postroute optimization signal integrity flow, enter the following: axSetIntParam "pds" "aggOpt" 1 Range The valid values are 0 or 1. The default is 1. buf_ins_hold The buf_ins_hold parameter controls the insertion of buffers during hold optimization that is performed in postroute optimization. Usage To insert buffers during hold optimization, enter the following: axSetIntParam "pds" "buf_ins_hold" 1 When set to 0, buffers are not inserted. Range The valid values are 0 or 1. The default is 0. aggOpt 7-5 flag_cr_opt The flag_cr_opt parameter controls whether critical regions are fixed during placement optimization. When this parameter is set, additional buffers are inserted. Usage To fix critical regions during placement optimization, enter the following: axSetIntParam "pds" "flag_cr_opt" 1 When set to 0, the critical regions are not fixed. Range The valid values are 0 or 1. The default is 1. hfn_fanout_threshold The hfn_fanout_threshold parameter sets the threshold value for the number of fanouts sufficient to trigger high-fanout optimization. This value is persistent and stored in the CEL view. Usage To specify the threshold value for the number of fanouts to trigger high-fanout optimization, use the following syntax: axSetIntParam "pds" "hfn_fanout_threshold" 40 Range The valid values of this parameter range between 2 and 10000000. The default is 40. Chapter 7: Placement-Driven Synthesis Optimization Parameters 7-6 hfn_max_fanouts The hfn_max_fanouts parameter is used to set the maximum number of fanouts for a buffer used for high-fanout optimization. Usage To specify the maximum number of fanouts for a buffer used for high-fanout optimization, use the following syntax: axSetIntParam "pds" "hfn_max_fanouts" 40 Range The valid values of this parameter range between 4 and 100. The default is 40. max_iteration The max_iteration parameter sets the maximum number of iterations for setup and hold fixing while running astPostPS, astSetUpFix, astHoldFix, and pdsMoveCell. Setup and hold fixing stops when the specified maximum number of iterations is reached. Usage To set the maximum number of iterations for setup and hold fixing, enter the following: axSetIntParam "pds" "max_iteration" 100000 Range The valid values range between 0 and 100000. The default is 100000. hfn_max_fanouts 7-7 max_level_buffer The max_level_buffer parameter is used to set the maximum number of levels of buffers inserted in high-fanout optimization. Do not change the default value of this parameter without specific design requirement. Usage To specify the level of buffers inserted in the high-fanout optimization, use the following syntax: axSetIntParam "pds" "max_level_buffer" 6 Range The valid values of this parameter range between 1 and 100. The default is 6. max_runtime The max_runtime parameter sets a maximum runtime for setup and hold fixing while running astPostPS, astSetupFix, astHoldFix, and pdsMoveCell. Setup and hold fixing stops on reaching the specified maximum runtime. Usage To set a maximum runtime for setup and hold fixing while running astPostPS, astSetupFix, astHoldFix, and pdsMoveCell, use the following syntax: axSetRealParam "pds" "max_runtime" 604800.000 Chapter 7: Placement-Driven Synthesis Optimization Parameters 7-8 Range The valid values range between 0.0 and 2419200.0. The default is 604800.0. max_utilization The max_utilization parameter sets a maximum utilization of the design before PDS optimization stops. You can control this parameter value if the chip design and congestion requirements are stringent. Usage To set maximum utilization of the design before PDS optimization stops, use the following syntax: axSetRealParam "pds" "max_utilization" 95.000 Range The valid values of this parameter range between 5.000 to 100.000. The default is 95.000. move_flip_flop The move_flip_flop parameter determines whether flip-flop movement is allowed for placement-driven synthesis (PDS) optimization (after clock tree synthesis). The flip-flop movement changes the clock tree; therefore, do not use this parameter after the clock tree is created. max_utilization 7-9 Usage To allow flip-flop movement for PDS optimization, enter the following: axSetIntParam "pds" "move_flip_flop" 1 When set to 0, the flip-flops do not move. Range The valid values are 0 or 1. The default is 0. no_new_instance The no_new_instance parameter is used to prevent the addition of new instances while running astPostPS, astTranFix, astCapFix, and astHoldFix. Usage To prevent the addition of new instances while running astPostPS, astTranFix, astCapFix, and astHoldFix, enter the following: axSetIntParam "pds" "no_new_instance" 0 Range The valid values are 0 or 1. The default is 0. ov_max_displaced_cells The ov_max_displaced_cells parameter specifies the maximum number of cells to be moved during overlap. Chapter 7: Placement-Driven Synthesis Optimization Parameters 7-10 Usage To specify the maximum number of cells to be moved during overlap, use the following syntax: axSetIntParam "pds" "ov_max_displacement" 500 Range The valid values range between -1 and 500. The default is -1. ov_max_displacement The ov_max_displacement parameter specifies the distance of maximum displacement (in microns) during overlap. Usage To define the distance of maximum displacement during overlap, use the following syntax: axSetIntParam "pds" "ov_max_displacement" 1000 Range The valid values range between -1 and 1000. The default is -1 pds_message_level The pds_message_level parameter controls the level of detail in the messaging report in the log file during optimization. ov_max_displacement 7-11 Usage To receive a messaging report in the log file during optimization for every buffer insertion, deletion, cell sizing, and so on, enter the following: axSetIntParam "pds" "pds_message_level" -1 Range The valid values range between -1 and 10. The default is -1. pr_use_fpclass Set the pr_use_fpclass parameter to 1 when you to want to use the footprint class. Two cells are defined as footprint-equivalent if they have identical physical layout, that is, the pin locations and names are identical, vias and blockages are identical, and they are of the same size. Usage To use the footprint class, enter the following: axSetIntParam "pds" "pr_use_fpclass" 1 By default, the LEQ classes are used. Range The valid values are 0 or 1. The default is 0. Chapter 7: Placement-Driven Synthesis Optimization Parameters 7-12 routeOpt_fast_level The routeOpt_fast_level parameter reduces postroute optimization runtime in setup-fixing iterations. Note that this parameter can be used only after the detail route stage of route optimization. There can be a slight impact on the QoR and there has been a significant improvement in the runtime reduction for the designs with higher setup violations. Usage To avoid reducing postroute optimization runtime in setup fixing iterations, enter the following: axSetIntParam "pds" "routeOpt_fast_level" 1 Range The valid values are 0 or 1. The default is 0. slack_range_hold_max The slack_range_hold_max parameter sets the maximum hold slack for slack range optimization. Usage To set the maximum hold slack for slack range optimization, use the following syntax: axSetRealParam "pds" "slack_range_hold_max" 0.000 routeOpt_fast_level 7-13 Range The valid values of this parameter range between -99999996802856924650656260769173209088.000 and 99999996802856924650656260769173209088.000. The default is 0.000. slack_range_hold_min The slack_range_hold_min parameter sets the minimum hold slack for slack range optimization. Usage To set the minimum hold slack for slack range optimization, use the following syntax: axSetRealParam "pds" "slack_range_hold_min" -100.000 Range The valid values of this parameter range between -99999996802856924650656260769173209088.000 and 99999996802856924650656260769173209088. The default is -100.000. slack_range_setup_max The slack_range_setup_max parameter sets the maximum setup slack for slack range optimization. Chapter 7: Placement-Driven Synthesis Optimization Parameters 7-14 Usage To set the maximum setup slack for slack range optimization, use the following syntax: axSetRealParam "pds" "slack_range_setup_max" 0.100 Range The valid values of this parameter range between -99999996802856924650656260769173209088.000 and 99999996802856924650656260769173209088.000. The default is 0.100. slack_range_setup_min The slack_range_setup_min parameter sets the minimum setup slack value for slack range optimization. Usage To set the minimum setup slack value for slack range optimization, use the following syntax: axSetRealParam "pds" "slack_range_setup_min" -100.000 Range The valid values of this parameter range between -99999996802856924650656260769173209088.000 and 99999996802856924650656260769173209088. The default is -100.000. slack_range_setup_min 7-15 target_hold_slack The target_hold_slack parameter sets the target hold time value for PDS optimization to stop. Usage To specify the target slack in hold time for PDS optimization to stop, use the following syntax: axSetRealParam "pds" "target_hold_slack" 0.000 Range The valid values of this parameter range between -1000.000 to 1000.000. The default is 0.000. target_setup_slack The target_setup_slack parameter specifies the target setup time value. This value controls PDS optimization that is recommended to do iterative change according to the slack requirement of the design during postrouting /postplacement optimization. Usage To specify the target slack in setup time for PDS optimization to stop, use the following syntax: axSetRealParam "pds" "target_setup_slack" 0.100 Range The valid values of this parameter range between -1000.000 to 1000.000. The default is 0.100. Chapter 7: Placement-Driven Synthesis Optimization Parameters 7-16 target_utilization The target_utilization parameter sets the target utilization value for area recovery to stop. In some cases, it can be used for controlling the congestion distribution effectively. Usage To set the target utilization for area recovery to stop, use the following syntax: axSetRealParam "pds" "target_utilization" 50.000 Range The valid values of target_utilization range between 0.000 and 100.000. The default is 50. topo_only The topo_only parameter controls the use of topology-based techniques during postroute optimization flow. Usage To use topology-based techniques during postroute optimization flow, enter the following: axSetIntParam "pds" "topo_only" 1 When set to 0, the topology-based technique is not used. Range The valid values are 0 or 1. The default is 1. target_utilization 7-17 use_child_router The use_child_router parameter controls the use of a child router to reduce peak memory usage in the routing engine when it is called during optimization. For example, as in ECO routing during postroute optimization. Usage To reduce peak memory usage in the routing engine when it is called during optimization, enter the following: axSetIntParam "pds" "use_child_router" 0 Range The valid values range between 0 and 2. The default is 0. Table 7-2 provides a description of the valid values of the use_child_router parameter. Table 7-2 Valid Values of the use_child_router Parameter Value Description 0 This is the default value. The child router is invoked only - on x32-bit machines as x64-bit machines allows you to access or utilize the entire accessible memory. - when the number of nets is above a certain threshold value. 1 When the value of the use_child_router parameter is set to 1, the child router is turned off. 2 When the value of the use_child_router parameter is set to 2, The child router is turned on. Chapter 7: Placement-Driven Synthesis Optimization Parameters 7-18 use_global_cost When set to 1, the use_global_cost parameter turns on the global cost function for astPostRouteOpt. Using this parameter, Astro performs optimization based on a cost function with each metric, such as setup, hold, trans, cap, and so on. The use_global_cost parameter performs optimization to accept or reject certain transforms. It can used only before astPostRouteOpt and does not have any user control to change the cost. Usage To turn on the global cost function for the astPostRouteOpt command, enter the following: axSetIntParam "pds" "use_global_cost" 1 Range The valid values are 0 or 1. The default is 0. wire_delay_model The wire_delay_model parameter sets a wire delay model during optimization. It overrides the GUI option in the Timing Setup dialog box. When the optimization is completed, the original delay model is restored. use_global_cost 7-19 The wire_delay_model parameter can be changed in each stage of optimization. As timing setup automatically takes care of the delay models to be used in each design stage, changing this parameter is not recommended. This parameter is persistent and stored in the CEL view. Usage To set a wire delay model during optimization, use the following syntax: axSetIntParam "pds" "wire_delay_model" 0 Range The valid values of this parameter range between 0 and 2. The default is 0. Table 7-3 lists the valid values of wire_delay_model and their associated delay models. Table 7-3 Valid Values of the wire_delay_model parameter Value Description 0 ATA_ELMORE_WIREDELAY 1 ATA_AWE_WIREDELAY 2 ATA_ARNOLDI_WIREDELAY xtalk_noise_limit The xtalk_noise_limit parameter determines the noise limit value used by crosstalk optimization during pre/postplacement optimization and post-clock tree synthesis optimization. It controls area recovery during these stages. Chapter 7: Placement-Driven Synthesis Optimization Parameters 7-20 Usage To set the noise limit value used by crosstalk optimization during pre/ postplacement optimization and post-clock tree synthesis optimization, use the following syntax: axSetRealParam "pds" "xtalk_noise_limit" 0.450 Range The valid values of this parameter range between 0.000 and 1.000. The default is 0.450. xtalk_noise_limit 7-21 Chapter 7: Placement-Driven Synthesis Optimization Parameters 7-22 8 Placement Parameters 8 You use the placement parameters to fine-tune the placement optimizations, including preplacement, in-placement, and postplacement optimization. Table 8-1 summarizes placement parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. Table 8-1 Placement Parameters Summary Parameter Description allowOnSoftMacro Controls whether cell instances are to be placed on the top of soft macros autoMacroPadding Enables or disables automatic macro padding clockMode Enables or disables the tree for constructing clock nets clusterGap Specifies the flip-chip cluster gap 8-1 Table 8-1 Placement Parameters Summary (Continued) Parameter Description clusterMaxMove Specifies the maximum flip-chip move to form a cluster clusterOn Enables or disables the flip-chip cluster placement clusterSize Specifies the flip-chip cluster size congDriven Enables or disables congestion reduction cornerProtect Enables or disables the macro corner protection createMap Enables or disables the creation and updating of congestion maps, timing maps, and so on detailMap Enables or disables the creation of a detailed but slower placement congestion map doMove Enables or disables the movement of cell instances during detail placement. doSwap Enables or disables cell instance swapping during detail placement ecoBalance Enables or disables the global cell density overflow balancing. ecoHonorPadding Enables or disables the overlap/ECO padding ecoMode Specifies the ECO mode to be used or specifies that Astro determines the mode. ecoWinsize Specifies the ECO window size enableLefDefRows Enables or disables the LEF/DEF rows Chapter 8: Placement Parameters 8-2 Table 8-1 Placement Parameters Summary (Continued) Parameter Description extraSpaceM2Strap Specifies the reservation of extra M2 tracks next to the M2 strap extraSpaceM3Strap Specifies extra M3 tracks next to the M3 strap fcNetWeight Specifies the driver bump net weight fcSMNetWeight Specifies the driver to soft macro net weight firstCut Specifies the direction of first cut or specifies that Astro determines the direction. fixMHTile Specifies multiheight masters tile pattern problem or specifies whether Astro fixes the multiheight tile pattern problem. gradPlaceInForce Specifies reduction in target local utilization for congested area during gradient placement gradPlaceMove Enables or disables auto or manual gradient placement gradPlaceMoveMethod Specifies the strategy of gradient placement gradPlaceResolution Specifies the partition size during gradient placement gradPlaceRestoreBest Controls whether the best placement is stored at the end of gradient placement gradPlacerIter Specifies the number of gradient placement iteration gradPlacerOutForce Specifies the reduction in target local utilization for congested area during gradient placement. guardBandX Specifies the flip-chip cluster guardband width X 8-3 Table 8-1 Placement Parameters Summary (Continued) Parameter Description guardBandY Specifies the flip-chip cluster guardband width Y highlightCell Controls whether moved cells are highlighted during ECO placement horIOPinLayer Specifies I/O pin placement by database layer idealSlack Specifies the importance of imposing weights on nets violating ideal slack includeSoft Enables or disables soft-fixed cell instances during overlap removal instPadding Specifies the instance padding or specifies that Astro determines the instance padding. IOnetWeight Specifies the weight of I/O nets ioPlace Enables or disables I/O pin placement with given side constraints ipoRegionByConn Enables or disables new cell assignment to the region by connectivity during in-place optimization macroExpandFactor Specifies the macro cell expansion by unit tile size macroNetWeight Specifies the weight of all macro nets macroPadBlkType Enables or disables space by soft blockage magnetPlacebyWt Controls whether magnet place honors net weight magnetPlaceForce Specifies the placement status of magnet placement magnetPlaceIgnoreSoftBlk Specifies whether magnet place honors soft blockage Chapter 8: Placement Parameters 8-4 Table 8-1 Placement Parameters Summary (Continued) Parameter Description magnetPlaceLevel Specifies the logical level of magnet placement magnetPlaceMoveFix Specifies whether magnetplace moves fixed cells magnetPlaceMoveSoftFix Controls whether magnet placement moves fixed cells magnetPlaceStatus Controls whether magnet placement moves soft-fixed cells magnetPlaceStopPullingAtSeq Controls whether sequential cells need to be pulled in magnet placement mapOffsetH Specifies horizontal adjustment to placement congestion map when placer creates it mapOffsetV Specifies vertical adjustment to placement congestion map when placer creates it markCellSoftFix Specifies whether magnet place marks cells under soft blockage as soft fixed or not masterPadding Enables or disables master padding minLocalUtil Specifies minimum local utilization for congestion-driven placement minMacroGap Specifies the gap elimination among macros minMacroPad Specifies the minimum protection area around macros over macro size 0.05 NetlistOpt Enables or disables netlist optimization during timing-driven design placement 8-5 Table 8-1 Placement Parameters Summary (Continued) Parameter Description noCellUnderM0 noCellUnderM1 noCellUnderM2 noCellUnderM3 noCellUnderM4 noCellUnderM5 noCellUnderM6 noCellUnderM7 noCellUnderM8 noCellUnderM9 noCellUnderM10 noCellUnderM11 noCellUnderM12 Enables or disables cell placement under poly pre-wires and M1 to M12 pre-wires noCellUnderV01 noCellUnderV12 noCellUnderV23 noCellUnderV34 noCellUnderV45 noCellUnderV56 noCellUnderV67 noCellUnderV78 noCellUnderV87 noCellUnderV98 noCellUnderV1011 noCellUnderV1112 Enables or disables cell placement under the following vias: via0, via12, via23, via34, via45, via56, via67, via 78, via 87, via98, via1011, and via1112 noShortAtM0 noShortAtM1 noShortAtM2 noShortAtM3 noShortAtM4 noShortAtM5 noShortAtM6 noShortAtM7 noShortAtM8 noShortAtM9 noShortAtM10 noShortAtM11 noShortAtM12 Controls whether short checking is performed against M0 to M12 pre-wires noUserSetPinUnderM1 noUserSetPinUnderM2 noUserSetPinUnderM3 noUserSetPinUnderM4 noUserSetPinUnderM5 noUserSetPinUnderM6 noUserSetPinUnderM7 noUserSetPinUnderM8 noUserSetPinUnderM9 noUserSetPinUnderM10 noUserSetPinUnderM11 noUserSetPinUnderM12 Enables or disables pin placement under poly pre-wires and M1 to M12 pre-wires oneSMPerIsland Enables or disables connection of drivers to the softmacro onGrid Enables or disables the off-grid via region Chapter 8: Placement Parameters 8-6 Table 8-1 Placement Parameters Summary (Continued) Parameter Description optPinHorLayer Controls the horizontal layer of axgOptimizePinLoc optPinVerLayer Controls the vertical layer of axgOptimizePinLoc. padMacro Enables or disables space reservation at macro proximity partUtilMinUpperBound Specifies the minimum upper bound for partitioning pinAccessHorz Specifies the horizontal pin access blockage value. pinAccessVert Specifies the vertical pin access blockage value placeFC Enables or disables flip-chip placement predictPgStackVia Controls whether to predict the effects of power and ground stacks via in placement congestion map even when the stacked vias do not exist. preRouteMergeLimit Specifies whether M2 tracks between two preroutes should be merged as one for pin-accessibility check preserveCouplingMap Specifies whether to preserve the coupling map if less than N percent placement has changed. readPlanGroup Specifies whether all plan group objects should be read. reportECO Enables or disables reporting ECO changes during placement in a text file place.eco.rpt restoreFillerSnapShot Controls whether the filler snapshot is to be restored 8-7 Table 8-1 Placement Parameters Summary (Continued) Parameter Description secondCut Specifies the direction of second cut or specifies that Astro determines the direction seeBus Controls whether all nets are considered as BUS type seeClkRing Controls whether CLK nets are considered as RING type seeClkStrap Controls whether CLK nets are considered as STRAP type seeContactArr Enables or disables all contact arrays seePath Controls whether all nets are considered as PATH type seePGPinCon Controls whether the power and ground nets are considered as PIN CON type seePGRing Controls whether power and ground nets are considered as RING type seePGStrap Controls whether the power and ground nets are considered as STRAP type seeRect Considers all metal rectangles seeUser Controls whether all signal net are considered as USER type skipPrelim Specifies whether the preliminary plain placement is skipped during timing-driven optimization slackTarget Specifies the slack target adjustment sortObjByID Enables or disables object sorting by DB indices spacingWeight Specifies the linear factor that affects cell spacing optimization Chapter 8: Placement Parameters 8-8 Table 8-1 Placement Parameters Summary (Continued) Parameter Description speed Specifies the placement runtime strongExclusiveness Controls whether the cell can enter the exclusive region during overlap summary Controls whether to print long/short version of placement summary thermConduct Specifies thermal conductivity considering the silicon material and packaging timingDriven Specifies timing optimization during placement timingWeight Specifies the timing weight triNetWeight Specifies the weight of all tri-state nets unitTileOrient Specifies the orientation of unit tiles useDHCell Controls whether double cells are used during optimization verIOPinLayer Specifies I/O pin placement by DB layer voltDriven Enables or disables IR drop optimization during placement windowOV Enables or disables windows-based overlap 8-9 allowOnSoftMacro The allowOnSoftMacro parameter controls whether cell instances can be placed on the top of soft macros. Syntax axSetIntParam "place" "allowOnSoftMacro" value Value Description 0 No cell instances can be placed on soft macros (the default). 1 Cell instances are allowed to be placed on top of soft macros. Example To control whether cell instances can be placed on the top of soft macros, enter axSetIntParam "place" "allowOnSoftMacro" 1 autoMacroPadding The autoMacroPadding parameter enables or disables automatic macro padding. When this parameter is set to 1, Astro automatically creates the placement blockage on the external edges of the macros’ boundaries. Chapter 8: Placement Parameters 8-10 Syntax axSetIntParam "place" "autoMacroPadding" value Value Description 0 No automatic macro padding. 1 Automatic macro padding (the default). Example To disable automatic macro padding, enter axSetIntParam "place" "autoMacroPadding" 0 clockMode The clockMode parameter enables or disables the tree for constructing clock nets. Syntax axSetIntParam "place" "clockMode" value Value Description 0 Uses mesh to construct clock nets (the default). 1 Uses tree to construct clock nets. Example To use the tree for constructing clock nets, enter axSetIntParam "place" "clockMode" 1 clockMode 8-11 clusterGap The clusterGap parameter specifies the flip-chip cluster gap. Cluster gap is the distance between two clusters. When two drivers are within this distance, they are considered in the same cluster. Syntax axSetIntParam "place" "clusterGap" value The valid values range between 0 and 100000. The default is 0. Example To specify the flip-chip cluster gap as 500, enter axSetIntParam "place" "clusterGap" 500 clusterMaxMove The clusterMaxMove parameter specifies the maximum distance a flip-chip can move to form a cluster (as multiple to clusterGap). ClusterMaxMove is the maximum distance to move a driver from its ideal location to form a cluster. Syntax axSetIntParam "place" "clusterMaxMove" value The valid values range between 0 and 100000. The default is 0. Example To specify the distance the flip-chip moves to form a cluster as 4000, enter axSetIntParam "place" "clusterMaxMove" 4000 Chapter 8: Placement Parameters 8-12 clusterOn The clusterOn parameter enables or disables the flip-chip cluster placement. Syntax axSetIntParam "place" "clusterOn" value Value Description 0 Disables the cluster flip-chip placement (the default). 1 Enables the cluster flip-chip placement. When set to 1, it enables cluster size, cluster gap, and the maximum number of flip-chips in the cluster. Example To perform cluster flip-chip placement, enter axSetIntParam "place" "clusterOn" 1 clusterSize The clusterSize parameter specifies the flip-chip cluster size. Syntax axSetIntParam "place" "clusterSize" value The valid values range between 1 and 100. The default is 1. clusterOn 8-13 Example To specify the flip-chip cluster size as 80, enter axSetIntParam "place" "clusterSize" 80 congDriven The congDriven parameter enables or disables the congestion reduction. Syntax axSetIntParam "place" "congDriven" value Value Description 0 Disables all congestion-driven options. 1 Uses means to reduce congestion (the default). Example To disable all congestion-driven options, enter axSetIntParam "place" "congDriven" 0 cornerProtect The cornerProtect parameter enables or disables the macro corner protection. Chapter 8: Placement Parameters 8-14 Syntax axSetIntParam "place" "cornerProtect" value Value Description 0 Macro corner is not protected. 1 Used to protect macro corner to macro dimension and position (the default). When set to 1, Astro will add padding to the corner of macros for the protection during astMacroPadding. The blockage can be edited manually. Example To disable the macro corner protection, enter axSetIntParam "place" "cornerProtect" 1 createMap The createMap parameter enables or disables the creation and updating of congestion maps, timing maps, and so on. Syntax axSetIntParam "place" "createMap" value Value Description 0 Maps are not created 1 Congestion maps and timing maps are created (the default) createMap 8-15 Example To disable the creation of congestion and timing maps, enter axSetIntParam "place" "createMap" 1 detailMap The detailMap parameter enables or disables the creation of detail placement congestion map. Syntax axSetIntParam "place" "detailMap" value Value Description 0 Creates fast placement congestion map (the default). 1 Creates a detailed but slower placement congestion map. Example To create a detail placement congestion map, enter axSetIntParam "place" "detailMap" 1 doMove The doMove parameter enables or disables the movement of cell instances during detail placement. Chapter 8: Placement Parameters 8-16 Syntax axSetIntParam "place" "doMove" value Value Description 0 Does not move cell instances. 1 Moves cell instances during detail placement (the default). Example To disable the movement of cell instances during detail placement, enter axSetIntParam "place" "doMove" 0 doSwap The doSwap parameter enables or disables the cell instance swapping during detail placement. Astro will swap two cell instances during the detail placement, ECO and optimization to achieve better timing. Syntax axSetIntParam "place" "doSwap" value Value Description 1 Swaps two cell instances during the detail placement, ECO and optimization to achieve better timing (the default) 0 Disables the cell instance swapping. doSwap 8-17 Example To disable swapping cell instances during detail placement, enter axSetIntParam "place" "doSwap" 0 ecoBalance The ecoBalance parameter enables or disables the global cell (gcell) density overflow balancing. Syntax axSetIntParam "place" "ecoBalance" value Value Description 0 The global cell density overflow balancing is disabled (the default). 1 The global cell density overflow balancing is enabled. Example To enable global cell density overflow balancing, enter axSetIntParam "place" "ecoBalance" 1 ecoHonorPadding The ecoHonorPadding parameter enables or disables the ECO placement and overlap to honor user padding. Chapter 8: Placement Parameters 8-18 Syntax axSetIntParam "place" "ecoHonorPadding" value Value Description 0 Disables the overlap/ECO padding (the default). 1 Enables the overlap/ECO padding. Example To enable the overlap/ECO padding, enter axSetIntParam "place" "ecoHonorPadding" 1 ecoMode The ecoMode parameter specifies the ECO mode to be used or specifies that Astro determines the mode. Syntax axSetIntParam "place" "ecoMode" value Value Description -1 Automatically decides which mode to use (the default) 0 Uses old ECO mode. Ideal for small and/or scattered changes 1 Uses new ECO mode. Ideal for large change/or localized changes ecoMode 8-19 Example To specify the old ECO mode, enter axSetIntParam "place" "ecoMode" 0 ecoWinsize The ecoWinsize parameter specifies the ECO window size. Syntax axSetIntParam "place" "ecoWinsize" value The valid values of this parameter range between 0 and 10. The default is 1. Example To specify the ECO window size as 5, enter axSetIntParam "place" "ecoWinsize" 1 enableLefDefRows The enableLefDefRows parameter enables or disables the LEF/ DEF rows. Chapter 8: Placement Parameters 8-20 Syntax axSetIntParam "place" "enableLefDefRows" value Value Description 0 Does not allow LEF/DEF style overlapping site array (rows). 1 Allows LEF/DEF style overlapping site array (rows) (the default). Example To disable LEF/DEF rows, enter axSetIntParam "place" "enableLefDefRows" 0 extraSpaceM2Strap The extraSpaceM2Strap parameter specifies the reservation of extra M2 tracks next to the M2 strap. Syntax axSetIntParam "place" "extraSpaceM2Strap" value The valid values range between 0 to 10. The default is 0. Example To reserve five extra M2 tracks next to M2 strap, enter axSetIntParam "place" "extraSpaceM2Strap" 5 extraSpaceM2Strap 8-21 extraSpaceM3Strap The extraSpaceM3Strap parameter specifies the reservation of extra M3 tracks next to M3 strap. Syntax axSetIntParam "place" "extraSpaceM3Strap" value The valid values range between 0 to 10. The default is 0. Example To reserve seven extra M3 tracks next to M3 strap, enter axSetIntParam "place" "extraSpaceM3Strap" 7 fcNetWeight The fcNetWeight parameter specifies the net weight on the nets connecting from the driver to bump in flip-chip designs. Syntax axSetIntParam "place" "fcNetWeight" value The valid values range between 0 and 1000. The default is 0. Example To specify the driver bump net weight as 300, enter axSetIntParam "place" "fcNetWeight" 300 Chapter 8: Placement Parameters 8-22 fcSMNetWeight The fcSMNetWeight parameter specifies the net weight on the nets connecting from the driver to the soft macro in flip-chip designs. Syntax axSetIntParam "place" "fcSMNetWeight" value This values range between 1 and 1000. The default is 1. Example To specify the driver to soft macro net weight as 550, enter axSetIntParam "place" "fcSMNetWeight" 550 firstCut The firstCut parameter specifies the direction of the first cut or specifies that Astro determines the direction. Syntax axSetIntParam "place" "firstCut" value Value Description -1 Automatically determines the direction of first cut (the default) 0 Specifies vertical first cut. 1 Specifies horizontal first cut fcSMNetWeight 8-23 Example To specify the vertical first cut, enter axSetIntParam "place" "firstCut" 0 fixMHTile The fixMHTile parameter specifies multiheight masters tile pattern problem or specifies that Astro fixes the multiheight tile pattern problem. Syntax axSetIntParam "place" "fixMHTile" value Value Description 0 The placer does not automatically fix multi-height masters tile pattern problem (the default). 1 The placer will automatically fix the multi-height masters tile pattern problem due to incorrect PR_boundary setting, incorrect tile pattern defined for the cell master, or wrong unit tile orientation defined was defined during library preparation. Example To automatically fix multi-height masters tile pattern problem, enter axSetIntParam "place" "fixMHTile" 1 Chapter 8: Placement Parameters 8-24 gradPlaceInForce The gradPlaceInForce parameter specifies the reduction in target local utilization for congested area during gradient placement. The gradient placement technique is based on the congestion gradient information of the congestion map. It reduces the utilization of the highly congested areas while increasing the utilization of the uncongested areas. The gradient of the congestion map is used to guide the migration of the cells. Syntax axSetIntParam "place" "gradPlacerInForce" value The valid values of this parameter range between 0 and 1000. The default is 250. Example To specify reduction in target local utilization for congested area during gradient placement as 350, enter axSetIntParam "place" "gradPlaceInForce" 350 gradPlaceMove The gradPlaceMove parameter enables or disables the auto or manual gradient placement. gradPlaceInForce 8-25 Syntax axSetIntParam "place" "gradPlaceMode" value Value Description 0 Performs auto gradient placement (the default). 1 Performs manual gradient placement. Example To enable the manual gradient placement, enter axSetIntParam "place" "gradPlaceMode" 1 gradPlaceMoveMethod The gradPlaceMoveMethod parameter specifies the strategy of gradient placement. Syntax axSetIntParam "place" "gradPlaceMoveMethod" value Value Description 0 Best wire length, when set to 0: cell that connected to the min wire length will be picked and moved (the default). 1 With most pins, when set to 1: cell that has the most pins will be picked and moved. 2 With least pins, when set to 2: cell that has the least pins will be picked and moved Chapter 8: Placement Parameters 8-26 Value Description 3 With big net, when set to 3: cell that connected to the max wire length will be picked and moved 4 Randomly, when set to 4: cell will be randomly picked and moved Example To specify strategy of gradient placement as reserved, enter axSetIntParam "place" "gradPlaceMoveMethod" 5 gradPlaceResolution The gradPlaceResolution parameter specifies the size of the partition in which gradient placement operates. When congestion spots are large, a larger partition is recommended. A lower value provides smaller partitions. Syntax axSetIntParam "place" "gradPlaceResolution" value The valid values of this parameter range between 1 and 100. The default is 2. Example To specify the partition size during gradient placement as 80, enter axSetIntParam "place" "gradPlaceResolution" 80 gradPlaceResolution 8-27 gradPlaceRestoreBest The gradPlaceRestoreBest parameter controls whether the best placement is stored at the end of gradient placement. Syntax axSetIntParam "place" "gradPlaceRestoreBest" value Value Description 0 Does not restore best placement at the end of gradient placement (the default). 1 Restores best placement at the end of gradient placement. Example To restore best placement at the end of gradient placement, enter axSetIntParam "place" "gradPlaceRestoreBest" 1 gradPlacerIter The gradPlacerIter parameter specifies the value of gradient placement iteration. Syntax axSetIntParam "place" "gradPlacerIter" value The valid values of this parameter range between 0 and 2147483647. The default is 0. Chapter 8: Placement Parameters 8-28 Example To specify the number of gradient placement iterations as 5000, enter axSetIntParam "place" "gradPlacerIter" 5000 gradPlacerOutForce The gradPlaceOutForce parameter specifies the reduction in target local utilization for congested area during gradient placement. Syntax axSetIntParam "place" "gradPlacerOutForce" value The valid values of this parameter range between 0 and 1000. The default is 250. Example To specify reduction in target local utilization for congested area during gradient placement as 250, enter axSetIntParam "place" "gradPlacerOutForce" 250 guardBandX The guardBandX parameter specifies the flip-chip cluster guardband width X. The guardbanding is needed when you place the flip-chip I/O drivers inside the core. It specifies the standard cell placement keepout area in the x direction from the driver cell boundary. This parameter will gradPlacerOutForce 8-29 apply the guardbands during standard cell placement so that no standard cell can be placed closer than the guardband dimensions to isolate standard cells from the I/O driver which draws large amount of current and generates noise. This guardband will be automatically removed after the placement is done. Syntax axSetIntParam "place" "guardBandX" value The valid values range between 0 and 100000. The default is 0. Example To specify the flip-chip cluster guardband width X as 5000, enter axSetIntParam "place" "guardBandX" 5000 guardBandY The guardBandX parameter specifies the flip-chip cluster guardband height Y. The guardbanding is needed when we place the flip-chip I/O drivers inside the core. It specifies the standard cell placement keep-out area in the y direction from the driver cell boundary. This parameter will apply the guardbands during standard cell placement so that no standard cell can be placed closer than the guardband dimensions thus isolating standard cells from the I/O driver, which draws large amount of current and generates noise. This guardband will be automatically removed after the placement is done. Syntax axSetIntParam "place" "guardBandY" value Chapter 8: Placement Parameters 8-30 The valid values range between 0 and 100000. The default is 0. Example To specify the flip-chip cluster height Y as 7000, enter axSetIntParam "place" "guardBandX" 7000 highlightCell The highlightCell parameter controls whether moved cells are highlighted during ECO placement. Syntax axSetIntParam "place" "highlightCell" value Value Description 0 Does not highlight moved cells during ECO placement. 1 Highlights moved cells during ECO placement (the default). Example If you do not want to highlight moved cells during ECO placement, enter axSetIntParam "place" "highlightCell" 0 horIOPinLayer The horIOPinLayer parameter enables the placer to place the I/O pins by the specified DB layer. highlightCell 8-31 Syntax axSetIntParam "place" "horIOPinLayer" value The valid values of this parameter range between -1 and 255. The default is -1. Example To place I/O pins by DB layer, enter axSetIntParam "place" "horIOPinLayer" -1 idealSlack The idealSlack parameter specifies the importance of imposing weights on nets violating ideal slack (only with in-place optimization). Syntax axSetRealParam "place" "idealSlack" value The valid values of this parameter range between 0.0 and 5.0. The default is 1.0. Example To specify the importance of imposing weights on nets violating ideal slack, enter axSetRealParam "place" "idealSlack" 3.0 includeSoft The includeSoft parameter enables or disables the inclusion of soft-fixed cell instances during overlap removal. Chapter 8: Placement Parameters 8-32 Syntax axSetIntParam "place" "includeSoft" value Value Description 0 Do not include soft fixed cell instances in overlap removal (the default). 1 Include soft fixed cell instances in overlap removal Example To include soft-fixed cell instances in overlap removal, enter axSetIntParam "place" "includeSoft" 1 instPadding The instPadding parameter specifies the instance padding or specifies that Astro determines the instance padding. Syntax axSetIntParam "place" "instPadding" value Value Description -1 Automatically determine whether to use instance padding or not (the default) 0 No padding on instance in a congested area 1 Pad instances in congested area, requires two passes instPadding 8-33 Example To ensure that there is no padding on instance in a congested area, enter axSetIntParam "place" "instPadding" 0 IOnetWeight The IOnetWeight parameter specifies the weight of I/O nets. Syntax axSetIntParam "place" "IOnetWeight" value The valid values of this parameter range between 1 and 1000. The default is 1. Example To specify the weight of I/O nets as 500, enter axSetIntParam "place" "IOnetWeight" 500 ioPlace The ioPlace parameter enables or disables the I/O placement with given side constraints such as timing driven, congestion driven, clock driven, heat driven and power driven. Chapter 8: Placement Parameters 8-34 Syntax axSetIntParam "place" "ioPlace" value Value Description 0 Pins remain unlaced (the default) 1 Places I/O pins with given side constraints Example To place I/O pins with given side constraints, enter axSetIntParam "place" "ioPlace" 1 ipoRegionByConn The ipoRegionByConn parameter enables or disables new cell assignment to the region by connectivity during in-place optimization. Syntax axSetIntParam "place" "ipoRegionByConn" value Value Description 0 Disables the assignment of new cell to region by connectivity (the default). 1 Assigns the new cell to region by connectivity during in-place optimization. ipoRegionByConn 8-35 Example To assign a new cell to region by connectivity during in-place optimization, enter axSetIntParam "place" "ipoRegionByConn" 1 macroExpandFactor The macroExpandFactor parameter specifies the macro cell expansion by unit tile size. Syntax axSetRealParam "place" "macroExpandFactor" value The valid values of this parameter range between 0 and 10. The default is 1.0. Example To enable the macro cell expansion by unit tile size, enter axSetRealParam "place" "macroExpandFactor" 4.0 macroNetWeight The macroNetWeight parameter specifies the weight of all macro nets. Syntax axSetIntParam "place" "macroNetWeight" value The valid values range between 1 and 1000. The default is 1. When set to 0, the weight of macro nets cannot be determined. Chapter 8: Placement Parameters 8-36 Example To determine the weight of all macro nets, enter axSetIntParam "place" "macroNetWeight" 600 macroPadBlkType The macroPadBlkType parameter enables or disables space by soft blockage. Syntax axSetIntParam "place" "macroPadBlkType" value Value Description 0 Space is reserved by hard blockage (the default). 1 Space is reserved by soft blockage. Example To enable space by soft blockage, enter axSetIntParam "place" "macroPadBlkType" 1 magnetPlacebyWt The magnetPlacebyWt parameter controls whether magnet place honors net weight. macroPadBlkType 8-37 Instead of using maximum magnetic force to pull a standard cell to the location of the magnet, you can specify that magnet placement takes into account net weight constraints by using the magnetPlacebyWT parameter. Syntax axSetIntParam "place" "magnetPlacebyWt" value Value Description 0 Magnet place does not honor net weight (the default). 1 Magnet place honors net weight. Example To ensure that magnet place honors net weight, enter axSetIntParam "place" "magnetPlacebyWt" 1 magnetPlaceForce The magnetPlaceForce parameter specifies the placement value of magnet placement. The higher the value, the closer the cells are moved to the magnet cells. Syntax axSetIntParam "place" "magnetPlaceForce" value The valid values of this parameter range between 1 and 10. The default is 5. Chapter 8: Placement Parameters 8-38 Example To specify the placement status of magnet placement as 7, enter axSetIntParam "place" "magnetPlaceForce" 7 magnetPlaceIgnoreSoftBlk The magnetPlaceIgnoreSoftBlk parameter specifies whether magnet place honors soft blockage. Syntax axSetIntParam "place" "magnetPlaceIgnoreSoftBlk" value Value Description 0 Magnet place does not honor soft blockage (the default). 1 Magnet place honors soft blockage. When set to 1, astMagnetPlace will not move cells in the soft blockage. Example To determine whether magnet place honors soft blockage, enter axSetIntParam "place" "magnetPlaceIgnoreSoftBlk" 1 magnetPlaceLevel The magnetPlaceLevel parameter specifies the logical level of magnet placement. Syntax axSetIntParam "place" "magnetPlaceLevel" value magnetPlaceIgnoreSoftBlk 8-39 The valid values of this parameter range between 1 and 1000. The default is 1. Example To determine the logical level of magnet placement, enter axSetIntParam "place" "magnetPlaceLevel" 1 magnetPlaceMoveFix The magnetPlaceMoveFix parameter controls whether magnetplace moves fixed cells. Syntax axSetIntParam "place" "magnetPlaceMoveFix" value Value Description 0 Magnetplace does not move the fixed cell (the default). 1 Magnetplace moves the fixed cell. Example To specify whether magnetplace moves a fixed cell, enter axSetIntParam "place" "magnetPlaceMoveFix" 1 magnetPlaceMoveSoftFix The magnetPlaceMoveSoftFix parameter controls whether placement moves soft fixed cells. Chapter 8: Placement Parameters 8-40 Syntax axSetIntParam "place" "magnetPlaceMoveSoftFix" value Value Description 0 Placement does not move soft fixed cells (the default). 1 Placement moves soft-fixed cells. Range To specify that placement moves soft fixed cells, enter axSetIntParam "place" "magnetPlaceMoveSoftFix" 1 magnetPlaceStatus The magnetPlaceStatus parameter specifies the placement status of magnet placement. Syntax axSetIntParam "place" "magnetPlaceStatus" value Value Description 1 Status of the cells is assigned to original (the default). 2 Status of the cells is assigned to fixed. 3 Status of the cells is assigned to soft-fixed. Example To assign the status of the cells as fixed, enter axSetIntParam "place" "magnetPlaceStatus" 2 magnetPlaceStatus 8-41 magnetPlaceStopPullingAtSeq The magnetPlaceStopPullingAtSeq parameter controls whether sequential cells need to be pulled in magnet place. Syntax axSetIntParam "place" "magnetPlaceStopPullingAtSeq" value Value Description 0 Used if you want sequential cells to be pulled in magnet place (the default). 1 Used if you want sequential cells not to be pulled in magnet place. Example If you do not want sequential cells to be pulled in magnet place, enter axSetIntParam "place" "magnetPlaceStopPullingAtSeq" 1 mapOffsetH The mapOffsetH parameter specifies horizontal adjustment to placement congestion map when the placer creates it. Syntax axSetRealParam "place" "mapOffsetH" value The valid values of this parameter range between -20.0 and 20.0. The default is 0. Chapter 8: Placement Parameters 8-42 Example To specify the horizontal adjustment to placement congestion map as 10, enter axSetRealParam "place" "mapOffsetH" 10 mapOffsetV The mapOffsetV parameter specifies vertical adjustment to placement congestion map when placer creates it. Syntax axSetRealParam "place" "mapOffsetV" value The valid values of this parameter range between -20.0 and 20.0. The default is 0. Example To specify the vertical adjustment to placement congestion map as 10, enter axSetRealParam "place" "mapOffsetV" 10 markCellSoftFix The markCellSoftFix parameter specifies whether magnet place marks cells under soft blockage as soft-fixed. mapOffsetV 8-43 Syntax axSetIntParam "place" "markCellSoftFix" value Value Description 0 Magnet place does not mark cells under soft blockage as soft fixed. 1 Magnet place marks cells under soft blockage as soft fixed (the default). Example To ensure that magnet place does not mark cells under soft blockage as soft fixed, enter axSetIntParam "place" "markCellSoftFix" 0 masterPadding The masterPadding parameter enables or disables master padding. Syntax axSetIntParam "place "masterPadding" value Value Description 0 No padding on masters. 1 When set to 1, it allows Astro to automatically determine the amount of master padding that yields the best placement result (the default). Chapter 8: Placement Parameters 8-44 Range To ensure that there is no padding on masters, enter axSetIntParam "place "masterPadding" 0 maxSorIter The maxSorIter parameter specifies the termination of SOR (successive over-relaxation) solver after too many iterations. SOR is an iterative method for solving linear equations, also known as the generalized Gauss-Seidel method. The placement and routing algorithms cost function (that takes into account constraints, connectivity, wire length, and so on) needs to be minimized and it utilizes the SOR algorithm in at least one the methods employed by Astro. The maxSorIter parameter allows you to control the maximum number of the iterations. The higher value of parameter will make the convergent criteria less strict. Syntax axSetIntParam "place" "maxSorIter" value The valid values of this parameter range between 20 and 2147483647. The default is 1000. Example To force the termination of SOR solver after 800 iterations, enter axSetIntParam "place" "maxSorIter" 800 maxSorIter 8-45 minLocalUtil The minLocalUtil parameter specifies minimum local utilization for congestion-driven placement. Syntax axSetRealParam "place" "minLocalUtil" value The valid values range between 0.0 and 0.50. The default is 0.280. Example To specify minimum local utilization for congestion-driven placement as 0.370, enter axSetRealParam "place" "minLocalUtil" 0.370 minMacroGap The minMacroGap parameter specifies the gap elimination among macros. Syntax axSetIntParam "place" "minMacroGap" value The valid values of this parameter range between 0 and 20. The default is 3. Example To specify the gap allowed between macros to be 15, enter axSetIntParam "place" "minMacroGap" 15 Chapter 8: Placement Parameters 8-46 minMacroPad The minMacroPad parameter specifies the minimum protection area around macros over macro size 0.05. Syntax axSetRealParam "place" "minMacroPad" value The valid values of this parameter range between 0.0 and 1.0. The default is 0.05. Example To specify the minimum protection area around macros over macro size 0.07, enter axSetRealParam "place" "minMacroPad" 0.07 NetlistOpt The NetlistOpt parameter enables or disables netlist optimization during timing-driven design placement. Syntax axSetIntParam "place" "NetlistOpt" value Value Description 0 Disables netlist optimization during timing-driven design placement (the default). 1 Enables netlist optimization during timing-driven design placement. minMacroPad 8-47 Example To enable netlist optimization during timing-driven design placement, enter axSetIntParam "place" "NetlistOpt" 1 noCellUnderM0 noCellUnderM1 noCellUnderM2 noCellUnderM3 noCellUnderM4 noCellUnderM5 noCellUnderM6 noCellUnderM7 noCellUnderM8 noCellUnderM9 noCellUnderM10 noCellUnderM11 noCellUnderM12 These parameters enable or disable cell placement under poly pre-wires and M1 to M12 pre-wires. Syntax axSetIntParam "place" "noCellUnderMvalue1" value2 Chapter 8: Placement Parameters 8-48 where value1 is the metal layer number and value2 is the parameter value. Value Description 0 Allow cells placed under poly, M1 to M12 pre-wires. 1 Avoid cells placed under poly, M1 to M12 pre-wires. Note: The default values of noCellUnderM1 and noCellUnderM1 is 1. The default value of the other parameters is 0. Example To place cells under M2 pre-wires, enter axSetIntParam "place" "noCellUnderM2" 1 noCellUnderV01 noCellUnderV12 noCellUnderV23 noCellUnderV34 noCellUnderV45 noCellUnderV56 noCellUnderV67 noCellUnderV78 noCellUnderV87 noCellUnderV01 noCellUnderV12 noCellUnderV23 noCellUnderV34 noCellUnderV45 noCellUnderV56 8-49 noCellUnderV98 noCellUnderV1011 noCellUnderV1112 These parameters control whether cells are placed under the following vias: via0, via12, via23, via34, via45, via56, via67, via 78, via 87, via98, via1011, and via1112. Syntax axSetIntParam "place" "noCellUnderV01" value Value Description 0 Enable cells to be placed under vias (the default). 1 Disable cells to be placed under vias. Example To disable cells to be placed under via78, enter axSetIntParam "place" "noCellunderV78" 1 noShortAtM0 noShortAtM1 noShortAtM2 noShortAtM3 noShortAtM4 noShortAtM5 noShortAtM6 noShortAtM7 noShortAtM8 noShortAtM9 Chapter 8: Placement Parameters 8-50 noShortAtM10 noShortAtM11 noShortAtM12 These parameters control whether the short checking is performed against M0 to M12 pre-wires. Syntax axSetIntParam "place" "noShortAtMvalue1" value2 where value1 is the layer number and value2 is the parameter value. Value Description -1 Behavior is the opposite of noCellUnderMx (M0 to M12). 0 Skip short-checking against M0 to M12 pre-wires. 1 Ensure that there is no shorting against M0 to M12 pre-wires. Note: The default value of noShortAtM3, noShortAtM4, noShortAtM5, and noShortAtM6 is 1. The default value is 0 for other parameters. Example To ensure that there is no shorting against M6 pre-wires, enter axSetIntParam "place" "noShortAtM6" 1 noUserSetPinUnderM1 noUserSetPinUnderM2 noUserSetPinUnderM3 noUserSetPinUnderM4 noUserSetPinUnderM1 noUserSetPinUnderM2 noUserSetPinUnderM3 noUserSetPinUnderM4 8-51 noUserSetPinUnderM5 noUserSetPinUnderM6 noUserSetPinUnderM7 noUserSetPinUnderM8 noUserSetPinUnderM9 noUserSetPinUnderM10 noUserSetPinUnderM11 noUserSetPinUnderM12 These parameters enable or disable pin placement under M1 to M12 pre-wires. Syntax axSetIntParam "place" "noUserSetPinUnderMvalue1" value2 where, value1 is the layer number and value2 is the parameter value. Value Description 0 Enables pin-placement under M1 to M12 pre-wires (the default). 1 Disables pin-placement under M1 to M12 pre-wires. Example To disable pin placement under M10 pre-wires, enter axSetIntParam "place" "noUserSetPinUnderM10" 1 Chapter 8: Placement Parameters 8-52 oneSMPerIsland The oneSMPerIsland parameter enables or disables the connection of the drivers of an island to the same soft macros in flip-chip designs. Syntax axSetIntParam "place" "oneSMPerIsland" value Value Description 0 Connects drivers to soft macros (the default). 1 Drivers in island must connect to the same soft macro. Example To enable connection between drivers in island to same soft macro, enter axSetIntParam "place" "oneSMPerIsland" 1 onGrid The onGrid parameter enables or disables the off-grid via region. Syntax axSetIntParam "place" "onGrid" value Value Description 0 Enables the off-grid via region (the default). 1 Disables the off-grid via region. oneSMPerIsland 8-53 Example To disable the off-grid via region, enter axSetIntParam "place" "onGrid" 1 optPinHorLayer The optPinHorlayer parameter controls the horizontal layer of axgOptimizePinLoc. Horizontal pin layer will be optimized and changed to the layer number specified by the parameter. Syntax axSetIntParam "place" "optPinHorLayer" value The valid values of this parameter range between 0 and 255. The default is 1. Example To control the horizontal layer of axgOptimizePinLoc, enter axSetIntParam "place" "optPinHorLayer" 1 optPinVerLayer The optPinVerlayer parameter controls the vertical layer of axgOptimizePinLoc. Vertical pin layer will be optimized and changed to the layer number specified by the parameter. Syntax axSetIntParam "place" "optPinVerLayer" value Chapter 8: Placement Parameters 8-54 The valid values of this parameter range between 0 and 255. The default is 1. Example To control the the vertical layer of axgOptimizePinLoc, enter axSetIntParam "place" "optPinverLayer" 1 padMacro The padMacro parameter enables or disables space reservation at macro proximity. Syntax axSetIntParam "place" "padMacro" value Value Description 0 No space reservation around macros. 1 Space reservation at macro proximity (the default). Example To ensure that there is no space reservation around macros, enter axSetIntParam "place" "padMacro" 0 partUtilMinUpperBound The partUtilMinUpperBound parameter specifies the minimum upper bound for partitioning. padMacro 8-55 Syntax axSetIntParam "place" "partUtilMinUpperBound" value The valid values of this parameter range between 0.0 and 0.950. The default is 0. Example To specify the minimum upper bound for partitioning as 0.7, enter axSetIntParam "place" "partUtilMinUpperBound" 0.7 pinAccessHorz The pinAccessHorz parameter specifies the pin access blockage value. Syntax axSetRealParam "place" "pinAccessHorz" value The valid values of this parameter range between 0.0 and 5.0. The default is 1.5. Example To specify the pin access blockage value as 3.5, enter axSetRealParam "place" "pinAccessHorz" 3.5 pinAccessVert The pinAccessVert parameter specifies the vertical pin access blockage value. Chapter 8: Placement Parameters 8-56 Syntax axSetRealParam "place" "pinAccessVert" value The valid values of this parameter range between 0.0 and 5.0. The default is 1.0. Example To specify the vertical pin access blockage value as 4.5, enter axSetRealParam "place" "pinAccessVert" 4.5 placeFC The placeFC parameter enables or disables the flip-chip placement. Syntax axSetIntParam "place" "placeFC" value Value Description 0 Does not perform the flip-chip placement (the default). 1 Performs flip-chip placement. Example To enable flip-chip placement, enter axSetIntParam "place" "placeFC" 1 placeFC 8-57 predictPgStackVia The predictPgStackVia parameter controls whether to predict the effects of power and ground stacked vias in placement congestion map even when the stacked vias do not exist. Syntax axSetIntParam "place" "predictPgStackVia" value Value Description 0 Does not predict predict the effects of power and ground stacked vias in placement congestion map (the default). 1 Predicts the effects of power and ground stacked vias in placement congestion map even when the stacked vias do not exist. Example To predict the effects of power and ground stacked vias in placement congestion map even when the stacked vias do not exist, enter axSetIntParam "place" "predictPgStackVia" 0 preRouteMergeLimit The preRouteMergeLimit parameter specifies whether M2 tracks between the two preroutes should be merged as one for pin-accessibility check. Syntax axSetIntParam "place" "preRouteMergeLimit" value Chapter 8: Placement Parameters 8-58 The valid values of this parameter range between 0 and 10. The default is 1. Example To merge M2 tracks as six for pin-accessibility check, enter axSetIntParam "place" "preRouteMergeLimit" 6 preserveCouplingMap The preserveCouplingMap parameter specifies whether the coupling map should be preserved if less than N percent placement has changed. Syntax axSetIntParam "place" "preserveCouplingMap" value The valid values range between 0 and 100. The default is 30. Example To preserve the coupling map if less than 40 percent placement has changed, enter axSetIntParam "place" "preserveCouplingMap" 40 readPlanGroup The readPlanGroup parameter specifies whether all plan group objects should be read. preserveCouplingMap 8-59 Syntax axSetIntParam "place" "readPlanGroup" value Value Description 0 Does not read plan group objects (the default). 1 Reads all plan group objects 2 Reads fixed plan group objects only (for planning) Example To read all plan group objects, enter axSetIntParam "place" "readPlanGroup" 1 regionConst The regionConst parameter allows Astro to consider the region constraints defined in axgCreateRegion and astPlaceOptions during placement. Syntax axSetIntParam "place" "regionConst" value Value Description 0 Does not consider any region constraints (the default). 1 and 2 Considers region constraints Example To consider region constraints, enter axSetIntParam "place" "regionConst" 2 Chapter 8: Placement Parameters 8-60 regRigidity The regRigidity parameter specifies the region constraints. The valid values of this parameter range between 1 to 10, with 10 being the most rigid or hard constraint of the region or group and 1 being the least rigid. When the value is smaller than 10, the constraints are relaxed, and therefore, the placement can be optimized based on connectivity. Syntax axSetIntParam "place" "regRigidity" value The valid values of this parameter range between 1 and 10. The default is 10. Example To specify the region constraint as 6, enter axSetIntParam "place" "regRigidity" 6 reportECO The reportECO parameter enables or disables reporting ECO changes during placement in the text file place.eco.rpt. regRigidity 8-61 Syntax axSetIntParam "place" "reportEco" value Value Description 0 Does not report ECO changes during placement in a text file (the default). 1 Reports ECO changes in placement in a text file. Example To report ECO changes in placement in a text file, enter axSetIntParam "place" "reportEco" 1 restoreFillerSnapShot The restoreFillerSnapShot parameter controls whether the filler snapshot is to be restored during filler cell insertion. This option preserves the original filler cell whenever possible (stores the x, y coordinates of the filler cells in the design database when filler cells are deleted) and therefore, the coupling characteristics are preserved. Syntax axSetIntParam "place" "restoreFillerSnapShot" value Value Description 0 Does not restore the filler snapshot (the default). 1 Restores the filler snapshot. Chapter 8: Placement Parameters 8-62 Example To restore the filler snapshot, enter axSetIntParam "place" "restoreFillerSnapShot" 1 secondCut The secondCut parameter specifies the direction of second cut or specifies that Astro determines the direction. Syntax axSetIntParam "place" "secondCut" value Value Description -1 Automatically determines the direction second cut (the default) 0 Specifies the second cut 1 Specifies the second horizontal cut Example To specify the first vertical cut, enter axSetIntParam "place" "secondCut" 0 seeBus The seeBus parameter controls whether prerouted nets are considered as BUS type. This parameter is equivalent to the bus option in the location constraint section of the AstroPlace options dialog box (astPlaceOptions). secondCut 8-63 Syntax axSetIntParam "place" "seeBus" value Value Description 0 Ignores all nets as BUS type (the default). 1 Considers all nets as BUS type. Example To consider all nets as BUS type, enter axSetIntParam "place" "seeBus" 1 seeClkRing The seeClkRing parameter controls whether prerouted nets are considered as Clock Ring type. This parameter is equivalent to the “clk ring” option in the location constraint section of the AstroPlace options dialog box (astPlaceOptions). Syntax axSetIntParam "place" "seeClkRing" value Value Description 0 Ignores CLK net as RING type. 1 Considers CLK net as RING type (the default) Chapter 8: Placement Parameters 8-64 Example To ignore CLK nets as RING type, enter axSetIntParam "place" "seeClkRing" 0 seeClkStrap The seeClkStrap parameter controls whether prerouted nets are considered as clock strap type. This parameter is equivalent to the “clk strap” option in the location constraint section of the AstroPlace options dialog box (astPlaceOptions). Syntax axSetIntParam "place" "seeClkStrap" value Value Description 0 Ignores CLK net as STRAP type . 1 Considers CLK net as STRAP type (the default). Example To ignore CLK net as STRAP type, enter axSetIntParam "place" "seeClkStrap" 0 seeClkStrap 8-65 seeContactArr The seeContactArr parameter controls whether prerouted contact arrays are considered as prerouted nets type. This parameter is equivalent to the contact array option in the location constraint section of the AstroPlace options dialog box (astPlaceOptions). Syntax axSetIntParam "place" "seeContactArr" value Value Description 0 Ignores all contact arrays (the default). 1 Considers all contact arrays. Example To consider all contact arrays, enter axSetIntParam "place" "seeContactArr" 1 seePath The seePath parameter controls whether prerouted nets are considered as Path type. This parameter is equivalent to the Path option in the location constraint section of the AstroPlace options dialog box (astPlaceOptions). Chapter 8: Placement Parameters 8-66 Syntax axSetIntParam "place" "seePath" value Value Description 0 Ignores all nets as PATH types. 1 Considers all nets as PATH types (the default). Example To ignore all nets as PATH type, enter axSetIntParam "place" "seePath" 0 seePGPinCon The seePGPinCon parameter controls controls whether prerouted nets are considered as PG Pin Connection type. This parameter is equivalent to the PG Pin Conn option in the location constraint section of astPlaceOptions. Syntax axSetIntParam "place" "seePGPinCon" value Value Description 0 Ignores power and ground nets as PIN CON type. 1 Considers power and ground nets as PIN CON type (the default). seePGPinCon 8-67 Example To ignore power and ground nets as PIN CON type, enter axSetIntParam "place" "seePGPinCon" 0 seePGRing The seePGRing parameter controls whether prerouted nets are considered as PG Ring type. This parameter is equivalent to the PG Ring option in the location constraint section of the AstroPlace options dialog box (astPlaceOptions). Syntax axSetIntParam "place" "seePGRing" value Value Description 0 Ignore power and ground nets nets as RING type. 1 Considers power and ground nets as RING type (the default). Example To ignore power and ground nets as RING type, enter axSetIntParam "place" "seePGRing" 1 Chapter 8: Placement Parameters 8-68 seePGStrap The seePGStrap parameter controls whether prerouted nets are considered as PG strap type. This parameter is equivalent to the PG Strap option in the location constraint section oof the AstroPlace options dialog box (astPlaceOptions). Syntax axSetIntParam "place" "seePGStrap" value Value Description 0 Ignores the power and ground net as STRAP type. 1 Considers the power and ground net as STRAP type (the default). Example To consider power and ground nets as STRAP type, enter axSetIntParam "place" "seePGStrap" 0 seeRect The seeRect parameter controls whether prerouted nets are considered as Rectangle type. This parameter is equivalent to the “rect” option in the location constraint section of the AstroPlace options dialog box (astPlaceOptions). seePGStrap 8-69 Syntax axSetIntParam "place" "seeRect" value Value Description 0 Ignore all metal rectangles (the default). 1 Consider all metal rectangles. Example To consider all metal rectangles, enter axSetIntParam "place" "seeRect" 0 seeUser The seeUser parameter controls whether all signal nets are considered as USER type during standard cells placement. This parameter is equivalent to the sig.user option in the location constraint section of the AstroPlace options dialog box (astPlaceOptions). Syntax axSetIntParam "place" "seeUser" value Value Description 0 Ignores signal net as USER type (the default). 1 Considers signal nets as USER type. Chapter 8: Placement Parameters 8-70 Example To consider signal nets as USER type, enter axSetIntParam "place" "seeUser" 1 skipPrelim The skipPrelim parameter specifies whether the preliminary plain placement is skipped during timing-driven optimization. Syntax axSetIntParam "place" "skipPrelim" value The valid values range between -1 and 1. The default is -1. Example To skip the preliminary plain placement during timing-driven optimization, enter axSetIntParam "place" "skipPrelim" 1 slackTarget The slackTarget parameter specifies the slack target adjustment. When the value is entered, the placement optimization tries to improve the slack timing based on the slack target. Syntax axSetIntParam "place" "slackTarget" value The valid values of this parameter range between -100000.0 and100000.0. The default is 0. skipPrelim 8-71 Example To adjust the slack target as 500, enter axSetIntParam "place" "slackTarget" 500 sortObjByID The sortObjByID parameter enables or disables object sorting by DB indices instead of the order of cells, nets and pins in the DB. Syntax axSetIntParam "place" "sortObjById" value Value Description 0 Does not sort objects by DB indices (the default). 1 Sorts objects by DB indices. Example To sort object by DB indices, enter axSetIntParam "place" "sortObjById" 1 spacingWeight The spacingWeight parameter specifies the linear factor that affects cell spacing optimization. Syntax axSetRealParam "place" "spacingWeight" value The valid values range between -1 and 2.0. The default is -1. Chapter 8: Placement Parameters 8-72 Example To specify the linear factor that affects cell spacing optimization as 1, enter axSetRealParam "place" "spacingWeight" 1 speed The speed parameter specifies the placement runtime. Syntax axSetIntParam "place" "speed" value Value Description 0 Super-fast run time 1 Fast run time 2 Medium run time (the default) 3 Slow run time Example To set the fast placement runtime, enter axSetIntParam "place" "speed" 1 strongExclusiveness The strongExclusiveness parameter controls whether the call can enter the exclusive region during overlap. speed 8-73 Syntax axSetIntParam "place" "strongExclusiveness" value Value Description 0 Does not allow the cell to enter exclusive region during overlap (the default). 1 Allows the cell to enter exclusive region during overlap. Example To allow the cell enter exclusive region during overlap, enter axSetIntParam "place" "strongExclusiveness" 1 summary The summary parameter controls whether short or long version of placement summary should be printed. Syntax axSetIntParam "place" "summary" value Value Description 0 Prints the long version of placement summary. 1 Prints the short version of the placement summary (the default). Example To print the long version of placement summary, enter axSetIntParam "place" "summary" 0 Chapter 8: Placement Parameters 8-74 thermConduct The thermConduct parameter specifies thermal conductivity considering the silicon material and packaging. Syntax axSetRealParam "place" "thermConduct" value The valid values of this parameter range between 0.001 to 1000. The default is 9.820. Example To specify thermal conductivity considering the silicon material and packaging as 800, enter axSetRealParam "place" "thermConduct" 800 timingDriven The timingDriven parameter specifies timing optimization during placement. Syntax axSetIntParam "place" "timingDriven" value Value Description 0 No timing-driven optimization (the default). 1 Optimizes timing during placement. thermConduct 8-75 Example To optimize timing during placement, enter axSetIntParam "place" "timingDriven" 1 timingWeight The timingWeight parameter specifies the timing weight. Syntax axSetIntParam "place" "timingWeight" value The valid values range between 1 and 10. The default is 5. Example To specify the timing weight as 5, enter axSetIntParam "place" "timingWeight" 5 triNetWeight The triNetWeight parameter specifies the weight of all tri-state nets. A net weight is respected throughout the placer. A net weight of 2 is twice as important as a net weight of 1, that is, a net weight 2 is equivalent to 2 nets of weight 1. Syntax axSetIntParam "place" "triNetWeight" value The valid values of this parameter range between 0 and 100. The default is 0. Chapter 8: Placement Parameters 8-76 Example To specify the weight of all tri-state nets as 50, enter axSetIntParam "place" "triNetWeight" 50 unitTileOrient The unitTileOrient parameter specifies the unit tile orientation. Cells will be placed based on the specified parameter unitTileOrient during the placement. Syntax axSetIntParam "place" "unitTileOrient" value Value Description -1 Auto (the default) 0 Vertical. 1 Horizontal Example To specify the orientation of unit tiles as vertical, enter axSetIntParam "place" "unitTileOrient" 0 useDHCell The useDHCell parameter controls whether double cells are used during optimization. unitTileOrient 8-77 Syntax axSetIntParam "place" "useDHCell" value Value Description 0 Does not use double cells in optimization (the default). 1 Allows double cells in optimization. Example To allow double cell usage during optimization, enter axSetIntParam "place" "useDHCell" 1 verIOPinLayer The verIOPinLayer parameter specifies I/O pin placement by DB layer. Syntax axSetIntParam "place" "verIOPinLayer" value The valid values of this parameter range between -1 and 255. The default is -1. Example To place I/O pins by DB layer, enter axSetIntParam "place" "verIOPinLayer" 130 Chapter 8: Placement Parameters 8-78 voltDriven The voltDriven parameter enables or disables IR drop optimization during placement. Syntax axSetIntParam "place" "voltDriven" value Value Description 0 No voltage-driven placement (the default). 1 Optimizes IR drop during placement. Example To optimize IR drop during placement, enter axSetIntParam "place" "vddOnTop" 1 windowOV The windowOV parameter enables or disables the windows-based overlap. Syntax axSetIntParam "place" "windowOV" value Value Description 0 Uses regular overlap (the default). 1 Uses window-based overlap. voltDriven 8-79 Example To enable windows-based overlap, enter axSetIntParam "place" "windowOV" 1 Chapter 8: Placement Parameters 8-80 9 Rectilinear Parameters 9 You use rectlinear parameters to fine-tune the floorplan settings. Table 9-1 summarizes rectilinear parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order Table 9-1 Rectilinear Parameters Summary Parameter Description allowMovePG Controls movement of power and ground pins on a rectilinear design. controlparameter Specifies the shape of a floorplan. core2Bottom Specifies the distance between the bottom side of the core and top side of the boundary. core2Left Specifies the distance between the left side of the core and right side of the boundary. 9-1 Table 9-1 Rectilinear Parameters Summary (Continued) Parameter Description core2Right Specifies the distance between the right side of the core and left side of the boundary. core2Top Specifies the distance between the top side of the core and bottom side of the boundary. doubleBack Controls double-back mode, in which the core contains pairs of cell rows, with one row in each pair flipped. flipfirst Used in double-back mode; determines whether to flip a row at the bottom of a horizontal core area or the left side of a vertical core area. forceTrackAlignment When set to 1, forces the alignment of tracks in double-back mode. lengthMode Used to calculate the core utilization on a rectilinear design. macros Controls movement of macros. rotation Used to rotate a rectilinear object clockwise. rowDirction Sets the row direction as horizontal or vertical. rowRatio Specifies the amount of channel space that needs to be provided for routing between the cell rows. rpinECO Controls ECO mode for rectilinear pin placement. Chapter 9: Rectilinear Parameters 9-2 Table 9-1 Rectilinear Parameters Summary (Continued) Parameter Description startfirst Used in double-back mode; determines whether to put a pair of rows at the bottom of a horizontal core area or left side of a vertical core area. stdcells Controls movement of standard cells. utilization Sets the core utilization area for cell placement. 9-3 allowMovePG The allowMovePG parameter controls the movement of power and ground pins on a rectilinear design. Usage To move power and ground pins, enter the following: axSetIntParam "rectilinear" "allowMovePG" 1 When set to 0, the power and ground pins are not moved. Range The valid values are 0 or 1. The default is 0. controlparameter The controlparameter parameter specifies the shape of a floorplan. Usage To add an L-shaped rectilinear object, enter the following: axSetIntParam "rectilinear" "controlparameter" 1 Range The valid values of this parameter range between 1 and 5. The default is 1. Chapter 9: Rectilinear Parameters 9-4 Table 9-2 lists the valid values of controlparameter and their associated shapes. Table 9-2 Valid Values of controlparameter Value Description 1 L shape 2 T shape 3 U shape 4 Cross shape 5 Boundary (user’s boundary shape) core2Bottom The core2Bottom parameter specifies the distance between the bottom side of the core and top side of the boundary. Usage To specify the distance between the bottom side of the core and top side of the boundary, use the following syntax: axSetRealParam "rectilinear" "core2Bottom" 10.000 Range The valid values of this parameter range between 0.0 and 100000.0. The default is 10.0. core2Bottom 9-5 core2Left The core2Left parameter specifies the distance between the left side of the core and right side of the boundary. Usage To specify the distance between the left side of the core and right side of the boundary, use the following syntax: axSetRealParam "rectilinear" "core2Left" 10.000 Range The valid values of this parameter range between 0.0 and 100000.0. The default is 10.0. core2Right The core2Right parameter specifies the distance between the right side of the core and left side of the boundary. Usage To specify the distance between the right side of the core and left side of the boundary, use the following syntax: axSetIntParam "rectilinear" "core2Right" 10.000 Range The valid values of this parameter range between 0.0 and 100000.0. The default is 10.0. Chapter 9: Rectilinear Parameters 9-6 core2Top The core2Top parameter specifies the distance between the top side of the core and bottom side of the boundary. Usage To specify the distance between the top side of the core and bottom side of the boundary, use the following syntax: axSetRealParam "rectilinear" "core2Top" 10.000 Range The valid values of this parameter range between 0.0 and 100000.0. The default is 10.0. doubleBack The doubleBack parameter is set when you want the core to contain pairs of cell rows, with one row in each pair flipped. Usage If you want the core to contain pairs of cell rows, with one row in each pair flipped, enter the following: axSetIntParam "rectilinear" "doubleBack" 1 When set to 0, the double back is not set. Range The valid values are 0 or 1. The default is 0. core2Top 9-7 flipfirst The flipfirst parameter is used if you selected Double Back and want a flipped row at the bottom of a horizontal core area or left side of a vertical core area. Usage If you selected Double Back and want a flipped row at the bottom of a horizontal core area or left side of a vertical core area, enter the following: axSetIntParam "rectilinear" "flipfirst" 1 Set it to 0 when you want an unflipped row at the bottom of a horizontal core area or left side of a vertical core area. Range The valid values are 0 or 1. The default is 0. forceTrackAlignment When set to 1, the forceTrackAlignment parameter forces the alignment of tracks in double-back mode. Usage To force track alignment, enter the following: axSetIntParam "rectilinear" "forceTrackAlignment" 1 When set to 0, there is no track alignment in double-back mode. Chapter 9: Rectilinear Parameters 9-8 Range The valid values are 0 or 1. The default is 0. lengthMode The lengthMode parameter is used to calculate the core utilization on a rectilinear design. Usage To calculate the core utilization on a rectilinear design, enter the following: axSetIntParam "rectilinear" "lengthMode" 0 When set to 1, the true size value is used. Range The valid values are 0 or 1. The default is 0. macros The macros parameter controls movement of macros. Usage To turn on macro movement, enter the following: axSetIntParam "rectilinear" "macros" 0 When set to 1, macro movement is turned off. lengthMode 9-9 Range The valid values are 0 or 1. The default is 0. rotation The rotation parameter rotates a rectilinear object. Usage To rotate a rectilinear object by 90 degrees, enter the following: axSetIntParam "rectilinear" "rotation" 1 When set to 0, the rectilinear object is not rotated. Range The valid values of this parameter range between 0 and 3. The default is 0. Table 9-3 lists the valid values of rotation parameter with their description. Table 9-3 Valid Values of the rotation Parameter Value Description 0 Rotation is 0 degree 1 Rotation is 90 degree 2 Rotation is 180 degree 3 Rotation is 270 degree Chapter 9: Rectilinear Parameters 9-10 rowDirction The rowDirction parameter sets the row direction as horizontal or vertical. Usage To set the row direction as horizontal, enter the following: axSetIntParam "rectilinear" "rowDirction" 0 When set to 1, the row direction is set as vertical. Range The valid values are 0 or 1. The default is 0. rowRatio The rowratio parameter specifies the amount of channel space that needs to be provided for routing between cell rows. The smaller the number, the more space Astro leaves for routing channels. Usage To indicate the amount of channel space that needs to be provided for routing between the cell rows, enter the following: axSetRealParam "rectilinear" "rowRatio" 0.00 When set to 1, no routing channel space is left. Range The valid values range from 0.0 to 1.0. The default is 1.0. rowDirction 9-11 rpinECO The rpinECO parameter controls ECO mode for rectilinear pin placement. Usage To turn on ECO mode for rectilinear pin placement, enter the following: axSetIntParam "rectilinear" "rpinECO" 1 When set to 0, ECO mode is turned off during rectilinear pin placement. Range The valid values are 0 or 1. The default is 0. startfirst The startfirst parameter is used if you selected Double Back and want a pair of rows at the bottom of a horizontal core area or left side of a vertical core area. Usage If you want a pair of rows at the bottom of a horizontal core area or left side of a vertical core area, enter the following: axSetIntParam "rectilinear" "startfirst" 1 Set it to 0, if you want a single row at the bottom of a horizontal core area or left side of a vertical core area. Chapter 9: Rectilinear Parameters 9-12 Range The valid values are 0 or 1. The default is 1. stdcells The stdcells parameter controls movement of standard cells. Usage To move standard cells, enter the following: axSetIntParam "rectilinear" "stdcells" 0 When set to 1, standard cell movement is turned off. Range The valid values are 0 or 1. The default is 0. utilization The utilization parameter specifies the core utilization area for cell placement, as a ratio of the total cell area (standard and macro cells) to the core area. Usage To set the set the smallest core utilization area value for cell placement, enter the following: axSetRealParam "rectilinear" "utilization" 0.0 When set to 1, the highest core utilization value is set. stdcells 9-13 Range The valid values of this parameter range between 0.0 and 1.0. The default is 0.8. Chapter 9: Rectilinear Parameters 9-14 10 Timing Parameters 10 You use timing parameters to fine-tune the timing results of your design. After optimizing a design, you can generate reports to analyze your timing, area, and component selection results. When you study the reports, note any constraint violations in the design. You might have to apply different placement and routing techniques to improve the design’s timing results. Table 10-1 summarizes the timing parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order Table 10-1 Timing Parameters Summary Parameter Description all_macro_as_VR_block Determines whether a macro that is not blocked on all the metal layers is treated as a virtual route blockage. 10-1 Table 10-1 Timing Parameters Summary (Continued) Parameter Description ata_crp_transition Determines how the clock reconvergence pessimism value is computed in the event of a mismatch at a common point. ata_crpr_threshold_ps Specifies the amount of pessimism that CRPR is allowed to leave in the timing report. capture_path_propagate_worst_slew Used for improved correlation with PrimeTime under bc_wc timing analysis. case_analysis_disable_entire_path Determines whether only the last edge is disabled or all the edges are disabled along a path where a constant is propagated. case_analysis_sequential_propagation Determines whether case analysis is propagated across sequential cells. clock_cell_has_multiple_edge Reduces the clock traverse time for reconvergent clock networks. clock_gating_propagate_enable Determines whether the gating enable signal delay and slew propagate through the gating cell. disable_cond_default_arcs Enables or disables the default nonconditional timing arcs between pins that have conditional arcs. driving_cell_include_cell_delay Determines whether to include or ignore the cell delay of a driving cell in the timing path delay. early_launch_at_borrowing_latches When set to 1, removes clock latency pessimism from the launch times for paths that begin at the data pins of transparent latches. Chapter 10: Timing Parameters 10-2 Table 10-1 Timing Parameters Summary (Continued) Parameter Description group_path_opt Enables or disables optimization by path group. late_recycle_memory Helps tuning the memory usage during timing analysis. max_RG_size_multiplier Controls the minimum size of route guides considered by virtual route for RC estimation. multicycle_hold_follow_setup Determines whether multicycle path exceptions defined on setup relationships affect the hold relationship. non_unate_clock_compatibility Controls the clock sense considered for analysis in a non-unate clock network. print_Clock_Timing_For_Mixed_Edges Controls whether delay and transition values of clock path or data path is reported for mixed-signal edges in report_delay calculation and SDF output. pulse_latch_as_ICG_cell Determines whether to consider the pulse latch cell as an integrated clock gating cell. rc_degrade_min_slew_when_rd_less_t han_rnet Enables or disables slew degradation through the RC network in minimum analysis when the library-derived drive resistance is significantly less than dynamic RC network impedance to ground. remove_Escape_From_Bus Controls the filtering of backslash in a bus name while exporting SDF. 10-3 Table 10-1 Timing Parameters Summary (Continued) Parameter Description report_timing_through_sync_pin Used in JupiterXT during clock planning. It controls the clock propagation beyond sync pin. rpt_max_cap_multiplier Determines the maximum capacitance constraint considered by astReportTiming to report maximum capacitance violations. rpt_max_tran_multiplier Determines the maximum transition constraint considered by astReportTiming to report maximum transition violations. rpt_min_cap_multiplier Determines the minimum capacitance constraint considered by astReportTiming to report minimum capacitance violations. rpt_min_tran_multiplier Determines the minimum transition constraint considered by astReportTiming to report minimum transition violations. splitEK Determines whether to split the extraction kernel during timing analysis. Chapter 10: Timing Parameters 10-4 all_macro_as_VR_block The all_macro_as_VR_block parameter determines whether a macro that is not blocked on all the metal layers is treated as a virtual route blockage. Usage To consider all macros as virtual route blockages even if they do not block all metal layers, enter the following: axSetIntParam "ata" "all_macro_as_VR_block" 1 If set to 0, macros that do not block all the metal layers are not treated as blockages. Range The valid values are 0 or 1. The default is 0. ata_crp_transition The ata_crp_transition parameter determines how the clock reconvergence pessimism value is computed depending upon the transition sense at common point. Usage To use the minimum of rise and fall clock reconvergence pessimism values in the event of a mismatch at a common point, enter the following: axSetIntParam "ata" "ata_crp_transition" 0 all_macro_as_VR_block 10-5 When set to 1, zero-clock reconvergence pessimism is used in the event of a mismatch. Range The valid values are 0 (normal) or 1(same_transition). The default is 0. Equivalent PrimeTime Parameter The equivalent PrimeTime parameter is timing_clock_reconvergence_pessimism. ata_crpr_threshold_ps The ata_crpr_threshold_ps parameter specifies amount of pessimism that CRPR is allowed to leave in the timing report. This parameter is measured in picoseconds (ps), regardless of the main library units. The larger the value, the faster the runtime when CRPR is active. The recommended setting is about one half of the stage (gate plus net) delay of a typical stage in the clock network. This value provides a reasonable trade-off between accuracy and runtime in most cases. You might want to use large values during the design phase and small values during signoff. Experiment and try a different value when moving to a different technology. Usage To specify the amount of pessimism that CRPR is allowed to leave in a report, enter the following: axSetRealParam "ata" "ata_crpr_threshold_ps" 20.000 Chapter 10: Timing Parameters 10-6 Range The valid values of this parameter range between 1.0 and 99999996802856924650656260769173209088.000. The default is 20.0. The threshold values range between 1 and 1e+38 picoseconds. Equivalent PrimeTime Parameter The equivalent PrimeTime parameter is timing_crpr_threshold_ps. capture_path_propagate_worst_slew The capture_path_propagate_worst_slew parameter is used for improved correlation with PrimeTime under bc_wc timing analysis. It controls the propagation of worst slew at merge points in the capture clock path. Usage To improve correlation with PrimeTime under bc_wc timing analysis, enter the following: axSetIntParam "ata" "capture_path_propagate_worst_slew" 0 Range The valid values are 0 or 1. The default is 1. During bc_wc timing analysis, when the parameter is set to the default value at slew merge points along the capture clock path, Astro propagates the worst slew (fastest slew during max delay capture_path_propagate_worst_slew 10-7 analysis and slowest slew in minimum delay analysis) forward. This makes the analysis in Astro pessimistic when compared to PrimeTime. Set this parameter to 0 to correlate with PrimeTime. case_analysis_disable_entire_path The case_analysis_disable_entire_path parameter determines whether only the last edge is disabled or all the edges are disabled along a path where a constant is propagated. Usage axSetIntParam "ata" "case_analysis_disable_entire_path" 0 By default, when the parameter is set to 0, only the last edge is disabled. So before disabled edges, the entire transition time can inherit the transition time from the previous stage, making the value more accurate. Consequently, Astro fixes more maximum-transition violations. When the parameter is set to 1, it disables all those edges along the path until the constant does not affect the design anymore. It means that all affected edges along the path are disabled. So, timing information cannot propagate through those timing arcs. Therefore, both arrival time and slope values are affected. If an arc is disabled, both arrival time and transition time are not propagated through the arc. Range The valid values are 0 or 1. The default is 0. Chapter 10: Timing Parameters 10-8 case_analysis_sequential_propagation The case_analysis_sequential_propagation parameter determines whether case analysis is propagated across sequential cells. Usage To enable case analysis constants to propagate across sequential cells, enter the following: axSetIntParam "ata" \ "case_analysis_sequential_propagation" 1 By default, case analysis is not propagated across sequential cells. Range The valid values are 0 or 1. The default is 0. Equivalent PrimeTime Parameter The equivalent PrimeTime parameter is case_analysis_sequential_propagation clock_cell_has_multiple_edge The clock_cell_has_multiple_edge parameter reduces the clock traverse time for reconvergent clock networks. Astro supports this parameter starting from version Y-2006.06-SP3. case_analysis_sequential_propagation 10-9 Usage To reduce the clock traverse time for reconvergent clock networks, enter the following: axSetIntParam "ata" "clock_cell_has_multiple_edge" 1 Range The valid values are 0 or 1. The default is 0. clock_gating_propagate_enable The clock_gating_propagate_enable parameter controls whether the delay and slew of the clock signal or the gating signal is propagated to the output of a cell, where clock gating occurs. Usage By default, when the parameter is set to 1, Astro propagates the delay and slew of the gating signal. Setting the parameter to 1 is recommended when the output of the gating cell goes to a data pin. To allow the delay and slew from the clock line set the parameter to 0: axSetIntParam "ata" "clock_gating_propagate_enable" 0 Setting the parameter to 0 produces the most desirable behavior when the output goes to a clock pin of a sequential cell. Range The valid values are 0 or 1. The default is 1. Chapter 10: Timing Parameters 10-10 Equivalent PrimeTime Parameter The equivalent PrimeTime parameter is timing_clock_gating_propagate_enable. disable_cond_default_arcs The disable_cond_default_arcs parameter enables or disables the default nonconditional timing arcs between pins that have conditional arcs. Usage To disable nonconditional timing arcs between any pair of pins that have at least one conditional arc, enter the following: axSetIntParam "ata" "disable_cond_default_arcs" 1 When the specified conditions cover all possible state-dependent delays, so that the default arc is of no use, set this parameter to 1. When set to 0, the nonconditional timing arcs are not disabled. Range The valid values are 0 or 1. The default is 0. Equivalent PrimeTime Parameter The equivalent PrimeTime parameter is timing_disable_cond_default_arcs. disable_cond_default_arcs 10-11 driving_cell_include_cell_delay The driving_cell_include_cell_delay parameter determines whether to include or ignore the cell delay of a driving cell in the timing path delay. Usage To include the cell delay of a driving cell in the timing path delay, enter the following: axSetIntParam "ata" "driving_cell_include_cell_delay" 1 When set to 0, the cell delay of a driving cell is ignored in the timing path delay. Range The valid values are 0 or 1. The default is 1. early_launch_at_borrowing_latches When set to 1, the early_launch_at_borrowing_latches parameter removes clock latency pessimism from the launch times for paths that begin at the data pins of transparent latches. This parameter is turned off when clock reconvergence pessimism removal (CRPR) is enabled. Sometimes there is a difference between launching and capturing clock latencies, either due to reconvergent paths in the clock network or different minimum and maximum delays of cells in the clock Chapter 10: Timing Parameters 10-12 network. For setup paths, Astro uses the late value to launch and the early value to capture. This achieves the tightest constraint and avoids optimism. However, for paths starting from latch data pins (latches where time borrowing has occurred and that are in transparent phase), this is pessimistic since data simply passes through and therefore does not even observe the clock edge at the latch. The early_launch_at_borrowing_latches parameter can be used to eliminate such pessimism by using the early clock latency to launch such paths. Usage Set this parameter to 1 to use early clock latency for launching setup paths starting from the data pin of latches. The syntax is axSetIntParam "ata" "early_launch_at_borrowing_latches" 1 When set to 0, late clock latency is used to launch all setup paths in the design. This form of pessimism removal is recommended because it does not cause the runtime of analysis to increase. CRPR may not be applied to paths that have been launched using an early latency or the results may be optimistic. Because CRPR is a more sophisticated and accurate means of pessimism removal, Astro turns off this parameter when CRPR is turned on. Range The valid values are 0 or 1. The default is 1. early_launch_at_borrowing_latches 10-13 Equivalent PrimeTime Parameter The equivalent PrimeTime parameter is timing_early_launch_at_borrowing_latches.The default is 1. group_path_opt The group_path_opt parameter controls optimization by path group. Usage To enable optimization by path group, enter the following: axSetIntParam "ata" "group_path_opt" 1 When set to 0, the optimization by path group is disabled. Range The valid values are 0 or 1. The default is 1. late_recycle_memory The late_recycle_memory parameter helps tuning the memory usage during timing analysis. The default value of this parameter is 1. By default, it brings about memory reduction by recycling of memory. Try setting the parameter to 0 to check if further memory reduction can be obtained. Do not set it to 0 if CRPR is turned on or if there are lot of clocks in the design. Chapter 10: Timing Parameters 10-14 Usage The late_recycle_memory parameter, by default, brings memory reduction by recycling the memory. To check if further memory reduction can be obtained, enter the following: axSetIntParam "ata" late_recycle_memory" 0 Range The valid values are 0 or 1. The default is 1. max_RG_size_multiplier The max_RG_size_multiplier parameter controls the minimum size of the route guides considered by virtual route for RC estimation. This parameter is used only for virtual routing and does not affect the routing behavior. Virtual route is used to estimate preroute RC and therefore should consider large route guides only. Small route guides are not useful to virtual route because their effect on RC estimation is negligible. If you process small route guides, it results in CPU and memory wastage. Regardless of what is done in virtual route, both large and small route guides are handled by the router. Usage By default, a route guide that is smaller than two row heights is ignored by the virtual route. To set the row height of the route guide as 2, enter the following: axSetRealParam "ata" "max_RG_size_multiplier" 2.0 max_RG_size_multiplier 10-15 Range The valid values of this parameter range between 0.0 and 5.0. The default is 2.0. multicycle_hold_follow_setup The multicycle_hold_follow_setup parameter determines whether multicycle path exceptions defined on setup relationships affect the hold relationship. Changing the setup relationship implicitly changes the hold relationship because all hold relationships are based on valid setup relationships. Astro verifies that the data launched by setup launch edge is not captured by the previous capture edge. Usage To specify that multicycle path exceptions defined on setup relationships affect the hold relationship, enter the following: axSetIntParam "ata" "multicycle_hold_follow_setup" 1 When set to 0, the setup relationship does not affect the hold relationship. Range The valid values are 0 or 1. The default is 1. Chapter 10: Timing Parameters 10-16 non_unate_clock_compatibility The non_unate_clock_compatibility parameter controls the clock sense considered for analysis in a non-unate clock network. Usage To consider only the noninverting sense of the clock, enter the following: axSetIntParam "ata" "non_unate_clock_compatibility" 1 When set to 0, both the inverting sense and noninverting sense of the clock are analyzed simultaneously. Range The valid values are 0 or 1. The default is 1. Equivalent PrimeTime Parameter The equivalent PrimeTime parameter is timing_non_unate_clock_compatibility. print_Clock_Timing_For_Mixed_Edges The print_Clock_Timing_For_Mixed_Edges controls whether it is the clock path or the datapath whose delay and transition values are reported for mixed signal edges in the report_delay calculation and SDF output. This parameter affects report delay calculation and SDF export. non_unate_clock_compatibility 10-17 Usage To obtain the clock path value report, enter the following: axSetIntParam "ata" "print_Clock_Timing_For_Mixed_Edges" 1 Set the parameter to 0 to obtain the datapath report. Range The valid values are 0 or 1. The default is 0. pulse_latch_as_ICG_cell The pulse_latch_as_ICG_cell parameter determines whether the pulse latch cell is considered as an integrated clock gating cell. This parameter controls the tracing through the pulse latch. Usage To specify the pulse latch cell as an integrated clock-gating cell, enter the following: axSetIntParam "ata" "pulse_latch_as_ICG_cell" 1 By default, the pulse latch cell is not considered as an integrated clock gating cell. Range The valid values are 0 or 1. The default is 0. Chapter 10: Timing Parameters 10-18 rc_degrade_min_slew_when_rd_less_than_rnet The rc_degrade_min_slew_when_rd_less_than_rnet parameter enables or disables slew degradation through the RC network in minimum analysis when the library-derived drive resistance is significantly less than the dynamic RC network impedance to ground. Usage To perform slew degradation in minimum analysis mode, enter the following: axSetIntParam "ata"\ "rc_degrade_min_slew_when_rd_less_than_rnet" 1 By default, when the value is 0, Astro does not degrade the transition for minimum delay computation on affected nets. Range The valid values are 0 or 1. The default is 0. Equivalent PrimeTime Parameter The equivalent PrimeTime parameter is rc_degrade_min_slew_when_rd_less_than_rnet remove_Escape_From_Bus The remove_Escape_From_Bus parameter is used to control the filtering of backslash in a bus name while exporting SDF. rc_degrade_min_slew_when_rd_less_than_rnet 10-19 Usage To filter out backslashes (used as escape characters) from a bus name while exporting SDF, enter the following: axSetIntParam "ata" "remove_Escape_From_Bus" 1 By default, Astro writes out backslash for buses in SDF, for example, A\/\\B\[2\]/C. To avoid inconsistencies with the Verilog file written out of Astro and consequent issues during mapping in PrimeTime, use this parameter to prevent the backslash from being written out, for example, A/\B[2]/C. Range The valid values are 0 or 1. The default is 0. report_timing_through_sync_pin The report_timing_through_sync_pin parameter is used in JupiterXT during clock planning. This parameter controls clock propagation beyond the synchronous pin. Usage To turn on the propagation at synchronous pin, enter the following: axSetIntParam "ata" "report_timing_through_sync_pin" 1 When set to 0, the clock propagation stops at synchronous pin. Range The valid values are 0 or 1. The default is 1. Chapter 10: Timing Parameters 10-20 rpt_max_cap_multiplier The rpt_max_cap_multiplier parameter determines the maximum capacitance constraint considered by astReportTiming to report maximum capacitance violations. Usage axSetRealParam "ata" "rpt_max_cap_multiplier" 1.050 The maximum capacitance constraint multiplied by this factor is taken as the constraint for reporting maximum capacitance violations. Range The valid values of this parameter range between 0.5 and 10.0. The default is 1.050. rpt_max_tran_multiplier The rpt_max_tran_multiplier parameter determines the maximum transition constraint considered by astReportTiming to report maximum transition violations. Usage axSetRealParam "ata" "rpt_max_tran_multiplier" 1.050 The maximum transition constraint multiplied by this factor is taken as a constraint for reporting the maximum transition violations. rpt_max_cap_multiplier 10-21 Range The valid values of this parameter range between 0.5 and 10.0. The default is 1.050. rpt_min_cap_multiplier The rpt_min_cap_multiplier parameter determines the minimum capacitance constraint considered by astReportTiming to report minimum capacitance violations. Usage axSetRealParam "ata" "rpt_min_cap_multiplier" 1.050 Minimum capacitance constraint multiplied by this factor is taken as a constraint for reporting the minimum capacitance violations. Range The valid values of this parameter range between 0.5 and 10.0. The default is 1.050. rpt_min_tran_multiplier The rpt_min_tran_multiplier parameter determines the minimum transition constraint considered by astReportTiming to report minimum transition violations. Usage axSetRealParam "ata" "rpt_min_tran_multiplier" 1.050 Chapter 10: Timing Parameters 10-22 The minimum transition constraint multiplied by this factor is taken as a constraint for reporting the minimum transition violations. Range The valid values of this parameter range between 0.5 and 10.0. The default is 1.050. splitEK The splitEK parameter determines whether to split the extraction kernel during timing analysis. Splitting the process reduces peak memory used by Astro. Usage To split the extraction kernel, enter the following: axSetIntParam "ata" "splitEK" 1 When set to 0, the extraction kernel is not split. When the splitEK parameter is used together with another parameter, for example, splitThreshold, it tells the tool when to split the extraction kernel process. axSetIntParam "ek" "splitThreshold" 150000 ;; range [0,1000000], default=150000; In the above example, the extraction kernel process is split after the number of instances in a design exceeds 150000. Range The valid values are 0 or 1. The default is 1. splitEK 10-23 Chapter 10: Timing Parameters 10-24 11 Track Assignment Parameters 11 You use the track assignment parameters to fine-tune the track assignment process. Track assignment specifies which tracks within each global routing cell are to be used for each net. After track assignment finishes all nets are routed, but not very carefully. There are many violations, particularly where the routing connects to the pins. The detail router works to correct the violations. Table 11-1 summarizes track assignment parameters specific to Astro. Detailed descriptions of the parameters follow in alphabetical order. 11-1 Table 11-1 Track Assignment Parameters Summary Parameter Description densityDriven Specifies the mode of density driven for track assignment. evenSpaceAdjustment Specifies the mode for cost calculation of wire spreading. m n LayerLengthLimit Specifies the length limitation per layer; <n> is replaced by number 0 – 12. minimizeJog Specifies the mode to minimize jogs. netLayerLengthLimit Specifies net length limit on defined layers. noiseThreshold Specifies the noise threshold for track assignment. noOffGridRouting Specifies the switch for off-grid routing on macro pins. parallelLimit Specifies parallel length limit. parallelLimitMode Specifies the mode to break long wire for parallel length. runTimeMode Specifies the runtime mode for track assignment phases. runTimingMode Specifies the mode for timing-driven track assignment. runXTalkIter Specifies the number of extra crosstalk iterations. runXTalkMode Enables or disables the crosstalk mode during track assignment. timingCost Specifies the cost for timing optimization. tryGlobalLayerFirst Specifies the mode to use global layer first Chapter 11: Track Assignment Parameters 11-2 Table 11-1 Track Assignment Parameters Summary (Continued) Parameter Description tryGlobalLayerOnly Specify the mode to only use global layer in track assignment variableWidthAdjustment Specifies the width adjustment for fat wire tracks XTalkParam Specifies the cost for crosstalk in track assignment densityDriven The densityDriven parameter specifies the mode of density driven for track assignment. Syntax axSetIntParam "trackAssign" "densityDriven" value Value Description -1 Tries to spread wires looking at one extra track if timing or crosstalk is enabled (the default) 0 Does not perform spreading 1 Tries to spread wires looking at one extra track 2 Should only be set when design is lower than 60% utilization because this will use more CPU. Misusing this when design is not sparse can cause negative impact. Example To spread wires looking at one extra track, enter axSetIntParam "trackAssign" "densityDriven" 1 densityDriven 11-3 evenSpaceAdjustment The evenSpaceAdjustment parameter specifies the mode of cost calculation for wire spreading. Syntax axSetIntParam "trackAssign" "evenSpaceAdjustment" value Value Description 1 Tries every track sequentially. 2 Tries every other track first (the default) 3 Tries every third track first Example To try every third track first, enter axSetIntParam "trackAssign" "evenSpaceAdjustment" 3 m n LayerLengthLimit The mn LayerLengthLimit parameter is used to specify length limitation per layer. The number n is replaced by number 0 to 12. Syntax axSetIntParam "trackAssign" "m n LayerLenghtLimit" value The valid values of this parameter range between 0 and 10000000. The default is 0. Chapter 11: Track Assignment Parameters 11-4 Example To specify length limitation per layer as 3000, enter axSetIntParam "trackAssign" "m1LayerLengthLimit" 3000 minimizeJog The minimizeJog parameter specifies the mode to minimize jogs. Syntax axSetIntParam "trackAssign" "minimizeJog" value Value Description 0 Normal operation (the default). 1 Minimizes jogs near nonstandard-cell pins. Example To minimize jogs near the nonstandard-cell pins, enter axSetIntParam "trackAssign" "minimizeJog" 1 netLayerLengthLimit The netLayerLengthLimit parameter allows you to control layer assignment based on the net length. You define net length constraint in the trackAssignNetLLL.file file. For example, net1 M1 300000 M3 400000 net2 M1 250000 M4 300000 minimizeJog 11-5 Syntax axSetIntParam "trackAssign" "netLayerLengthLimit" value Value Description 0 No layer length limit for any net (the default) 1 Layer length limit for some nets in trackAssignNetLLL.file Example To specify layer length limit for some nets in the trackAssignNetLLL.file, enter axSetIntParam "trackAssign" "netLayerLengthLimit" 1 noiseThreshold The noiseThreshold parameter specifies the noise threshold for track assignment. Syntax axSetIntParam "trackAssign" "noiseThreshold" value The valid values of this parameter range between 0.000 and 1.000. The default is 0.450. Example To specify the noise threshold for track assignment as 0.350, enter axSetIntParam "trackAssign" "noiseThreshold" 0.350 Chapter 11: Track Assignment Parameters 11-6 noOffGridRouting The noOffGridRouting parameter specifies the switch for off-grid routing on macro pins. Syntax axSetIntParam "trackAssign" "noOffGridRouting" value Value Description 0 Automatically uses off grid for macro pins (the default) 1 Puts all the wires on grid Example To put all the wires on grid, enter axSetIntParam "trackAssign" "noOffGridRouting" 1 parallelLimit The parallelLimit parameter is used to specify parallel lengths limit. Use this parameter when parallelLimitMode is enabled. Syntax axSetIntParam "trackAssign" "parallelLimit" value The valid values of this parameter range between 0 and 10000000. The default is 0. Example To specify parallel length limit as 500, enter axSetIntParam "trackAssign" "parallelLimit" 500 noOffGridRouting 11-7 parallelLimitMode The parallelLimitMode parameter is set to break long wire mode on or off. When it is on, track assignment breaks the long wire if it exceeds the parallel length or the capacitance limit. Syntax axSetIntParam "trackAssign" "parallelLimitMode" value Value Description 0 Does not check parallel lengths (the default). 1 Limits the parallel length of any two wires to 'n' user unit. Example To ignore breaking long wires even when parallel length or capacitance limit is exceeded, enter axSetIntParam "trackAssign" "parallelLimitMode" 0 runTimeMode The runTimeMode parameter is used to select the number of track assignment phases and determines whether to do jogging in track assignment step. Chapter 11: Track Assignment Parameters 11-8 Syntax axSetIntParam "trackAssign" "runTimeMode" value Value Description 0 Fast mode: does one phase assignment 1 Second fast mode: does two phases assignment with jogging (the default) 2 First slow mode: does three phases assignment, last phase no jogging. 3 Second slow mode: does three phases assignment, last phase jogging. Example To specify the first slow mode for track assignment phase, enter axSetIntParam "trackAssign" "runTimeMode" 2 runTimingMode The runTimingMode parameter turns enables or disables the timing-driven track assignment. A value set to timing cost decides the importance of timing relative to wire length during track assignment. By default timing-driven track assignment is disabled. Syntax axSetIntParam "trackAssign" "runTimingMode" value Value Description 0 Does not perform timing-driven track assignment (the default) 1 Performs timing-driven track assignment runTimingMode 11-9 Example To perform timing-driven track assignment, enter axSetIntParam "trackAssign" "runTimingMode" 1 runXTalkIter The runXTalkIter parameter allows you to specify the number of extra iterations for crosstalk during track assignment. The default number of iterations are determined automatically. Use this parameter when runXTalkMode is enabled. Syntax axSetIntParam "trackAssign" "runXTalkIter" value The valid values of this parameter range between -1 and 5. The default is -1. Example To specify the number of extra iterations for crosstalk in track assignment, enter axSetIntParam "trackAssign" "runXTalkIter" 4 runXTalkMode The runXTalkMode parameter is used to enable or disable the crosstalk mode during track assignment. Chapter 11: Track Assignment Parameters 11-10 Syntax axSetIntParam "trackAssign" "runXTalkMode" value Value Description 0 Does not try to minimize crosstalk (the default). 1 Minimizes crosstalk-induced delay and noise. Example To minimize crosstalk-induced delay and noise, enter axSetIntParam "trackAssign" "runXTalkMode" 1 timingCost The timingCost parameter sets the weight given to timing relative to the wire length during track assignment. This parameter is effective only when runTimingMode is set to 1, which runs track assignment in timing-driven mode. Syntax axSetIntParam "trackAssign" "timingCost" value The valid values of this parameter range between 1 and 10. The default is 1. Example To specify the cost for timing optimization, enter axSetIntParam "trackAssign" "timingCost" 6 timingCost 11-11 tryGlobalLayerFirst The tryGlobalLayerFirst parameter specifies the mode to use global layer first. Syntax axSetIntParam "trackAssign" "tryGlobalLayerFirst" value Value Description 0 Do not try to use global layer. 1 Try to use global layer in the first iteration (the default). Example To ignore using global layer, enter axSetIntParam "trackAssign" "tryGlobalLayerFirst" 0 tryGlobalLayerOnly The tryGlobalLayerOnly parameter specifies the mode to use only global layer during track assignment. Syntax axSetIntParam "trackAssign" "tryGlobalLayerOnly" value Value Description -1 Try the global layers only if timing or crosstalk is enabled (the default) Chapter 11: Track Assignment Parameters 11-12 Value Description 0 Allow to try layers other than global layers in second phase. 1 Try only the global layers. variableWidthAdjustment The variableWidthAdjustment parameter specifies the width adjustment for fat wire tracks. The calculation of number of tracks for a fat wire will occupy is sometime too conservative, that is, track assignment will reserve too many tracks for each fat wire. The variableWidthAdjustment parameter can help reduce the demand and pack the fat wires more tightly. Syntax axSetIntParam "trackAssign" "variableWidthAdjustment" value Value Description 0 Uses the track count from detail route(the default). 1 Uses the track count from detail route -1 2 Uses the track count from detail route -2 3 Uses the track count from detail route -3 4 Uses the track count from detail route -4 5 Uses the track count from detail route -5 Example To specify the width adjustment for fat wire tracks, enter axSetIntParam "trackAssign" "variableWidthAdjustment" 2 variableWidthAdjustment 11-13 XTalkParam The XTalkParam parameter defines the cost for crosstalk prevention. Use this parameter when runXTalkMode is enabled. Syntax axSetIntParam "trackAssign" "XTalkParam" value The valid values of this parameter range between 1 and 4. The default is 1. Example To define the cost for crosstalk prevention, enter axSetIntParam "trackAssign" "XTalkParam" 3 Chapter 11: Track Assignment Parameters 11-14