Variables information

This page describes configuration variables and their default values.

Required variables

VariableDescription
DESIGN_NAMEThe name of the top level module of the design
VERILOG_FILESThe path of the design's verilog files
CLOCK_PERIODThe clock period for the design in ns
CLOCK_NETThe name of the Net input to root clock buffer.
CLOCK_PORTThe name of the design's clock port

Optional variables

These variables are optional that can be specified in the design configuration file.

Synthesis

VariableDescription
LIB_SYNTHThe library used for synthesis by yosys.
(Default: ./pdks/ef-skywater-s8/EFS8A/libs.ref/liberty/efs8hd/efs8hd_tt_1.80v_25C.lib)
SYNTH_DRIVING_CELLThe cell to drive the input ports.
(Default: efs8hd_inv_8)
SYNTH_DRIVING_CELL_PINThe name of the SYNTH_DRIVING_CELL output pin.
(Default: Y)
SYNTH_CAP_LOADThe capacitive load on the output ports in femtofarads.
(Default: 17.65 ff)
SYNTH_MAX_FANOUTThe max load that the output ports can drive.
(Default: 5 cells)
SYNTH_MAX_TRANSThe max transition time (slew) from high to low or low to high on cell inputs in ns. Used in synthesis
(Default: Calculated at runtime as 10% of the provided clock period)
SYNTH_STRATEGYStrategies for abc logic synthesis and technology mapping
Possible values are 0, 1 (delay), 2, and 3 (area)
(Default: 2)
SYNTH_BUFFERINGEnables abc cell buffering
Enabled = 1, Disabled = 0
(Default: 1)
SYNTH_SIZINGEnables abc cell sizing (instead of buffering)
Enabled = 1, Disabled = 0
(Default: 0)
SYNTH_READ_BLACKBOX_LIBA flag that enable reading the full(untrimmed) libretry file as a blackbox for synthesis. Please note that this is not used in technology mapping. This should only be used when trying to preserve gate instances in the rtl of the design.
Enabled = 1, Disabled = 0
(Default: 0)
SYNTH_NO_FLATA flag that disables flattening the heirachry during synthesis, only flattening it after synthesis, mapping and optimizations.
Enabled = 1, Disabled = 0
(Default: 0)
LIB_MINLibrary used for min delay calculation during STA.
(Default:./pdks/ef-skywater-s8/EFS8A/libs.ref/liberty/efs8hd/efs8hd_ss_1.60v_100C.lib)
LIB_MAXLibrary used for max delay calculation during STA.
(Default:./pdks/ef-skywater-s8/EFS8A/libs.ref/liberty/efs8hd/efs8hd_ff_1.95v_-40C.lib)
LIB_TYPICALLibrary used for typical delay calculation during STA.
(DefaultLIB_SYNTH)
CLOCK_BUFFER_FANOUTFanout of clock tree buffers.
(Default: 16)
ROOT_CLK_BUFFERRoot clock buffer of the clock tree.
(Default: efs8hd_clkbuf_16)
CLK_BUFFERClock buffer used for inner nodes of the clock tree.
(Default: efs8hd_clkbuf_4)
CLK_BUFFER_INPUTInput pin of the clock tree buffer.
(Default: A)
CLK_BUFFER_OUTPUTOutput pin of the clock tree buffer.
(Default: X)

Floorplanning

VariableDescription
FP_CORE_UTILThe core utilization percentage.
(Default: 50 percent)
FP_ASPECT_RATIOThe core's aspect ratio (height / width).
(Default: 1)
FP_CORE_MARGINThe length of the margin surrounding the core area.
(Default: 3.36 microns)
FP_IO_HMETALThe metal layer on which to place the io pins horizontally (top and bottom of the die).
(Default: 3)
FP_IO_VMETALThe metal layer on which to place the io pins vertically (sides of the die)
(Default: 2)
FP_WELLTAP_CELLThe name of the welltap cell during welltap insertion.
(Default: efs8hd_tap_1)
FP_ENDCAP_CELLThe name of the endcap cell during endcap insertion.
(Default: efs8hd_decap_3)
FP_PDN_VOFFSETThe offset of the vertical power stripes on the metal layer 4 in the power distribution network
(Default: 16.32)
FP_PDN_VPITCHThe pitch of the vertical power stripes on the metal layer 4 in the power distribution network
(Default: 153.6)
FP_PDN_HOFFSETThe offset of the horizontal power stripes on the metal layer 5 in the power distribution network
(Default: 16.65)
FP_PDN_HPITCHThe pitch of the horizontal power stripes on the metal layer 5 in the power distribution network
(Default: 153.18)
FP_TAPCELL_DISTThe horizontal distance between two tapcell columns
(Default: 25)
FP_IO_VEXTENDExtends the vertical io pins outside of the die by the specified units
(Default: -1 Disabled)
FP_IO_HEXTENDExtends the horizontal io pins outside of the die by the specified units
(Default: -1 Disabled)
FP_IO_VTHICKNESS_MULTA multiplier for vertical pin thickness. Base thickness is the pins layer minwidth
(Default: 1)
FP_IO_HTHICKNESS_MULTA multiplier for horizontal pin thickness. Base thickness is the pins layer minwidth
(Default: 1)

Placement

VariableDescription
PL_TARGET_DENSITYThe desired placement density of cells. It reflects how spread the cells would be on the core area. 1 = closely dense. 0 = widely spread
(Default: 0.4)
PL_TIME_DIRVENSpecifies whether the placer should use time driven placement. 0 = false, 1 = true
(Default: 0)
PL_LIBSpecifies the library for time driven placement
(Default: LIB_TYPICAL)

CTS

VariableDescription
CTS_TARGET_SKEWThe target clock skew in picoseconds.
(Default: 20 ps)
CTS_ROOT_BUFFERThe name of cell inserted at the root of the clock tree.
(Default: efs8hd_clkbuf_16)
CTS_TECH_DIRThe directory of look-up-tables for tirtonCTS.
(Default: ./pdks/osw/cts_lut_common)
CTS_TOLERANCEan integer value that represents a tradeoff of QoR and runtime. Higher values will produce smaller runtime but worse QoR
(Default: 100)

Routing

VariableDescription
GLB_RT_MAXLAYERThe number of highest layer to be used in routing.
(Default: 6)
GLB_RT_ADJUSTMENTReduction in the routing capacity of the edges between the cells in the global routing graph. Values range from 0 to 1.
1 = most reduction, 0 = least reduction
(Default: 0.15)
GLB_RT_LI1_ADJUSTMENTReduction in the routing capacity of the edges between the cells in the global routing graph but specific to li1 layer in ef-skywater-s8/EFS8A. Values range from 0 to 1
(Default: 0)
GLB_RT_MET1_ADJUSTMENTReduction in the routing capacity of the edges between the cells in the global routing graph but specific to met1 in ef-skywater-s8/EFS8A. Values range from 0 to 1
(Default: 0)

Magic

VariableDescription
MAGIC_PADA flag to pad the views generated by magic (.mag, .lef, .gds) with one site. 1 = Enabled, 0 = Disabled
(Default: 0 )
MAGIC_ZEROIZE_ORIGINA flag to move the layout such that it's origin in the lef generated by magic is 0,0. 1 = Enabled, 0 = Disabled
(Default: 1 )
MAGIC_GENERATE_GDSA flag to generate gds view via magic . 1 = Enabled, 0 = Disabled
(Default: 1 )
MAGIC_GENERATE_LEFA flag to generate lef view via magic . 1 = Enabled, 0 = Disabled
(Default: 1 )

Misc

VariableDescription
PDKSpecifies the process design kit (pdk).
(Default: ef-skywater-s8/EFS8A )
PDK_VARIANTSpecifies the process design kit (pdk) variant.
(Default: efs8hd )
PDK_ROOTSpecifies the folder path of the pdk. It searches for a config.tcl in $PDK_ROOT/$PDK/libs.tech/openlane/ directory and at least have one variant config defined in $PDK_ROOT/$PDK/libs.tech/openlane/$PAD_VARIANT.
See this pdk config file and this variant config file as an example .
(Default: $OPENLANE_ROOT/pdks/ )
CELL_PADCell padding; increases the width of cells.
(Default: 2 microns -- 2 sites)

Flow control

VariableDescription
RUN_ROUTING_DETAILEDEnables detailed routing. 1 = Enabled, 0 = Disabled
(Default: 1)
RUN_MAGICEnables running magic and GDSII streaming.1 = Enabled, 0 = Disabled
(Default: 0)
RUN_SIMPLE_CTSEnables inserting simple clock tree after synthesis .1 = Enabled, 0 = Disabled
(Default: 1)
CLOCK_TREE_SYNTHEnables cts.1 = Enabled, 0 = Disabled
(Default: 0)
FILL_INSERTIONEnables fill cells insertion after cts (if enabled) .1 = Enabled, 0 = Disabled
(Default: 0)