blob: 8ead33f9cdb54a3381ef32078e943a85b2825c0b [file] [log] [blame] [view]
# Variables information
This page describes configuration variables and list the defaults for skywater130 pdk.
## Required variables
| Variable | Description |
|---------------|-------------------------------------------------------|
| `DESIGN_NAME` | The name of the top level module of the design |
| `VERILOG_FILES` | The path of the design's verilog files |
| `CLOCK_PERIOD` | The clock period for the design in ns |
| `CLOCK_PORT` | The name of the design's clock port |
## Optional variables
These variables are optional that can be specified in the design configuration file.
### Synthesis
| Variable | Description |
|---------------|---------------------------------------------------------------|
| `LIB_SYNTH` | The library used for synthesis. <br> (Default: `./platform/skywater130/scs8lp_ss_1.65v_-40C.lib`)|
| `SYNTH_DRIVING_CELL` | The cell to drive the input ports. <br>(Default: `scs8lp_inv_8`)|
| `SYNTH_CAP_LOAD` | The capacitive load on the output ports in femtofarads. <br> (Default: `24.36` ff)|
| `SYNTH_MAX_FANOUT` | The max load that the output ports can drive. <br> (Default: `5` cells) |
| `SYNTH_MAX_TRANS` | The max transition time (slew) from high to low or low to high on cell inputs in ns. Used in synthesis <br> (Default: Calculated at runtime as `10%` of the provided clock period)|
| `SYNTH_STRATEGY` | Stratgies for abc logic synthesis and technology mapping <br> Possible values are 0, 1 (delay), 2, and 3 (area)<br> (Default: `0`)|
| `LIB_MIN` | Library used for min delay calculation during STA. <br> (Default:`./platform/skywater130/scs8lp_ss_1.65v_-40C.lib`) |
| `LIB_MAX` | Library used for max delay calculation during STA. <br> (Default:`./platform/skywater130/scs8lp_ff_1.65v_-40C.lib`) |
| `LIB_TYPICAL` | Library used for typical delay calculation during STA. <br> (Default`./platform/skywater130/scs8lp_ss_1.65v_-40C.lib`:) |
### Floorplanning
| Variable | Description |
|---------------|---------------------------------------------------------------|
| `FP_CORE_UTIL` | The core utilization percentage. <br> (Default: `50` percent)|
| `FP_ASPECT_RATIO` | The core's aspect ratio (height / width). <br> (Default: `1`)|
| `FP_CORE_MARGIN` | The length of the margin surrounding the core area. <br> (Default: `3.36` microns)|
| `FP_IO_HMETAL` | The metal layer on which to place the io pins horizontally (top and bottom of the die). <br>(Default: `3`)|
| `FP_IO_VMETAL` | The metal layer on which to place the io pins vertically (sides of the die) <br> (Default: `2`)|
| `FP_WELLTAP_CELL` | The name of the welltap cell during welltap insertion. <br> (Default: `scs8lp_tap_1`)|
| `FP_ENDCAP_CELL` | The name of the endcap cell during endcap insertion. <br> (Default: `scs8lp_decap_3`)|
| `FP_PDN_VOFFSET` | The offset of the vertical power stripes on the metal layer 4 in the power distribution network <br> (Default: `16.32`) |
| `FP_PDN_VPITCH` | The pitch of the vertical power stripes on the metal layer 4 in the power distribution network <br> (Default: `153.6`) |
| `FP_PDN_HOFFSET` | The offset of the horizontal power stripes on the metal layer 5 in the power distribution network <br> (Default: `16.65`) |
| `FP_PDN_HPITCH` | The pitch of the horizontal power stripes on the metal layer 5 in the power distribution network <br> (Default: `153.18`) |
### Placement
| Variable | Description |
|---------------|---------------------------------------------------------------|
| `PL_TARGET_DENSITY` | The desired placement density of cells. It reflects how spread the cells would be on the core area. 1 = closely dense. 0 = widely spread <br> (Default: `0.4`)|
| `PL_TIME_DIRVEN` | Specifies whether the placer should use time driven placement. 0 = false, 1 = true <br> (Default: `0`)|
| `PL_LIB` | Specifies the library for time driven placement <br> (Default: `LIB_TYPICAL`)|
### CTS
| Variable | Description |
|---------------|---------------------------------------------------------------|
| `CTS_TARGET_SKEW` | The target clock skew in picoseconds. <br> (Default: `20` ps)|
| `CTS_ROOT_BUFFER`| The name of cell inserted at the root of the clock tree. <br> (Default: `scs8lp_clkbuf_16`)|
| `CTS_TECH_DIR` | The directory of look-up-tables for tirtonCTS. <br> (Default: `./platforms/skywater130/TritonCTS`)|
| `CTS_TOLERANCE` | an integer value that represents a tradeoff of QoR and runtime. Higher values will produce smaller runtime but worse QoR <br> (Default: `100`) |
### Fillcell Insertion
| Variable | Description |
|---------------|---------------------------------------------------------------|
| `FILL_INSERTION` | enable |
### Routing
| Variable | Description |
|---------------|---------------------------------------------------------------|
| `GLB_RT_MAXLAYER` | The number of highest layer to be used in routing. <br> (Default: `6`)|
| `GLB_RT_ADJUSTMENT` | Reduction in the routing capacity of the edges between the cells in the global routing graph. Values range from 0 to 1. <br> (Default: `0.15`)|
| `GLB_RT_LI1_ADJUSTMENT` | |
| `GLB_RT_MET1_ADJUSTMENT` | |
### Misc
| Variable | Description |
|---------------|---------------------------------------------------------------|
| `PDK` | Specifies the process design kit (pdk). <br> (Default: `skywater130` )|
| `PDK_VARIANT` | Specifies the process design kit (pdk) variant. <br> (Default: `scs8lp` )|
| `CELL_PAD` | Cell padding; increases the width of cells. <br> (Default: `0.96` microns -- 2 sites)|
### Flow control
| Variable | Description |
|---------------|---------------------------------------------------------------|
| `RUN_ROUTING_DETAILED` | Enables detailed routing. 1 = Enabled, 0 = Disabled <br> (Default: `1`)|
| `RUN_MAGIC` | Enables running magic and GDSII streaming.1 = Enabled, 0 = Disabled <br> (Default: `0`)|
| `CLOCK_TREE_SYNTH` | Enables cts.1 = Enabled, 0 = Disabled <br> (Default: `0`)|
| `FILL_INSERTION` | Enables fill cells insertion after cts (if enabled) .1 = Enabled, 0 = Disabled <br> (Default: `0`)|