tree: 7525993cf6283aea3ee2a46ea96e32c7cac58799 [path history] [tgz]
  1. cts.tcl
  2. floorplan.tcl
  3. general.tcl
  4. placement.tcl
  5. README.md
  6. routing.tcl
  7. synthesis.tcl
configuration/README.md

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)
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)

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)