| #!/bin/tcsh |
| #--------------------------------------------------------------- |
| # Shell script setting up all variables used by the qflow scripts |
| # for this project |
| #--------------------------------------------------------------- |
| |
| # The LEF file containing standard cell macros |
| |
| #ifdef EF_FORMAT |
| set leffile=STAGING_PATH/TECHNAME/libs.ref/lef/sky130_osu130/sky130_osu130.lef |
| #else (!EF_FORMAT) |
| set leffile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/lef/sky130_osu130.lef |
| #endif (!EF_FORMAT) |
| |
| # The SPICE netlist containing subcell definitions for all the standard cells |
| #ifdef EF_FORMAT |
| set spicefile=STAGING_PATH/TECHNAME/libs.ref/spice/sky130_osu130/sky130_osu130.spice |
| #else (!EF_FORMAT) |
| set spicefile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/spice/sky130_osu130.spice |
| #endif (!EF_FORMAT) |
| |
| # The liberty format file containing standard cell timing and function information |
| #ifdef EF_FORMAT |
| set libertyfile=STAGING_PATH/TECHNAME/libs.ref/lib/sky130_osu130/sky130_osu130.lib |
| #else (!EF_FORMAT) |
| set libertyfile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/lib/sky130_osu130.lib |
| #endif (!EF_FORMAT) |
| |
| # If there is another LEF file containing technology information |
| # that is separate from the file containing standard cell macros, |
| # set this. Otherwise, leave it defined as an empty string. |
| |
| #ifdef METAL5 |
| #ifdef EF_FORMAT |
| set techleffile=STAGING_PATH/TECHNAME/libs.ref/techLEF/sky130_osu130/sky130_osu130_tech.lef |
| #else (!EF_FORMAT) |
| set techleffile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/techLEF/sky130_osu130_tech.lef |
| #endif (!EF_FORMAT) |
| #else |
| # NOTE: There is no technology LEF file for the 3-metal stack! |
| #endif |
| |
| # All cells below should be the lowest output drive strength value, |
| # if the standard cell set has multiple cells with different drive |
| # strengths. Comment out any cells that do not exist. |
| |
| set bufcell=BUFX2 ;# Minimum drive strength buffer cell |
| set bufpin_in=A ;# Name of input port to buffer cell |
| set bufpin_out=Y ;# Name of output port to buffer cell |
| set clkbufcell=BUFX2 ;# Minimum drive strength buffer cell |
| set clkbufpin_in=A ;# Name of input port to buffer cell |
| set clkbufpin_out=Y ;# Name of output port to buffer cell |
| |
| set fillcell=FILL ;# Spacer (filler) cell (prefix, if more than one) |
| set decapcell="DECAP" ;# Decap (filler) cell (prefix, if more than one) |
| set antennacell="ANT" ;# Antenna (filler) cell (prefix, if more than one) |
| set antennapin_in="A" ;# Antenna cell input connection |
| set bodytiecell="" ;# Body tie (filler) cell (prefix, if more than one) |
| |
| # yosys tries to eliminate use of these; depends on source .v |
| set tiehi="TIEHI" ;# Cell to connect to power, if one exists |
| set tiehipin_out="Y" ;# Output pin name of tiehi cell, if it exists |
| set tielo="TIELO" ;# Cell to connect to ground, if one exists |
| set tielopin_out="Y" ;# Output pin name of tielo cell, if it exists |
| |
| set gndnet="vdd" ;# Name used for ground pins in standard cells |
| set vddnet="vss" ;# Name used for power pins in standard cells |
| |
| set separator="" ;# Separator between gate names and drive strengths |
| set techfile=STAGING_PATH/TECHNAME/MAGIC_CURRENT/TECHNAME.tech ;# magic techfile |
| set magicrc=STAGING_PATH/TECHNAME/MAGIC_CURRENT/TECHNAME.magicrc ;# magic startup script |
| set magic_display="XR" ;# magic display, defeat display query and OGL preference |
| set netgen_setup=STAGING_PATH/TECHNAME/libs.tech/netgen/TECHNAME_setup.tcl ;# netgen setup file for LVS |
| #ifdef EF_FORMAT |
| set gdsfile=STAGING_PATH/TECHNAME/libs.ref/gds/LIBRARY/sky130_osu130.gds ;# GDS database of standard cells |
| set verilogfile=STAGING_PATH/TECHNAME/libs.ref/verilog/LIBRARY/sky130_osu130.v ;# Verilog models of standard cells |
| #else (!EF_FORMAT) |
| set gdsfile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/gds/sky130_osu130.gds ;# GDS database of standard cells |
| set verilogfile=STAGING_PATH/TECHNAME/libs.ref/LIBRARY/verilog/sky130_osu130.v ;# Verilog models of standard cells |
| #endif (!EF_FORMAT) |
| |
| # Set a conditional default in the project_vars.sh file for this process |
| set postproc_options="" |
| #ifdef METAL5 |
| # Normally one does not want to use the top metal for signal routing |
| set route_layers = 5 |
| #else |
| set route_layers = 3 |
| #endif |
| set fill_ratios="100,0,0,0" |
| set fanout_options="-l 100 -c 10" |
| set addspacers_options="-stripe 1.6 40.0 PG" |
| set xspice_options="-io_time=250p -time=50p -idelay=20p -odelay=50p -cload=250f" |