fix xschemrc
diff --git a/cells/xschem/xschemrc b/cells/xschem/xschemrc
index 05d2db9..eaa174a 100644
--- a/cells/xschem/xschemrc
+++ b/cells/xschem/xschemrc
@@ -15,22 +15,22 @@
#### XSCHEM SYSTEM-WIDE DESIGN LIBRARY PATHS: XSCHEM_LIBRARY_PATH
###########################################################################
#### If unset xschem starts with XSCHEM_LIBRARY_PATH set to the default, typically:
-# /home/schippes/.xschem/xschem_library
-# /home/schippes/share/xschem/xschem_library/devices
-# /home/schippes/share/doc/xschem/examples
-# /home/schippes/share/doc/xschem/ngspice
-# /home/schippes/share/doc/xschem/logic
-# /home/schippes/share/doc/xschem/xschem_simulator
-# /home/schippes/share/doc/xschem/binto7seg
-# /home/schippes/share/doc/xschem/pcb
-# /home/schippes/share/doc/xschem/rom8k
+# ${HOME}/.xschem/xschem_library
+# <install_root>/share/xschem/xschem_library/devices
+# <install_root>/share/doc/xschem/examples
+# <install_root>/share/doc/xschem/ngspice
+# <install_root>/share/doc/xschem/logic
+# <install_root>/share/doc/xschem/xschem_simulator
+# <install_root>/share/doc/xschem/binto7seg
+# <install_root>/share/doc/xschem/pcb
+# <install_root>/share/doc/xschem/rom8k
#### Flush any previous definition
set XSCHEM_LIBRARY_PATH {}
#### include devices/*.sym
append XSCHEM_LIBRARY_PATH ${XSCHEM_SHAREDIR}/xschem_library
#### include skywater libraries. Here i use [pwd]. This works if i start xschem from here.
-append XSCHEM_LIBRARY_PATH :$env(PWD)
+append XSCHEM_LIBRARY_PATH :[file dirname [info script]]
# append XSCHEM_LIBRARY_PATH :/mnt/sda7/home/schippes/pdks/sky130A/libs.tech/xschem
#### add ~/.xschem/xschem_library (USER_CONF_DIR is normally ~/.xschem)
append XSCHEM_LIBRARY_PATH :$USER_CONF_DIR/xschem_library
@@ -53,7 +53,7 @@
#### Start without a design if no filename given on command line:
#### To avoid absolute paths, use a path that is relative to one of the
#### XSCHEM_LIBRARY_PATH directories. Default: empty
-set XSCHEM_START_WINDOW {gf180mcu_tests/0_top.sch}
+set XSCHEM_START_WINDOW {tests/0_top.sch}
###########################################################################
#### DIRECTORY WHERE SIMULATIONS, NETLIST AND SIMULATOR OUTPUTS ARE PLACED
@@ -76,6 +76,10 @@
#### variable controls hierarchical print
#### default value: empty
# set noprint_libs {}
+#### nolist_libs is a list with same rules as for xschem_libs. This
+#### variable controls cell listing in procedure list_hierarchy.
+#### default value: empty
+# set nolist_libs {}
###########################################################################
#### CHANGE DEFAULT [] WITH SOME OTHER CHARACTERS FOR BUSSED SIGNALS
@@ -297,6 +301,13 @@
# set toolbar_horiz 1
###########################################################################
+#### WEB URL DOWNLOAD HELPER APPLICATION
+###########################################################################
+#### used to download files from web: default: {curl -f -s -O}
+# set download_url_helper {curl -f -s -O}
+# set download_url_helper {wget -N --quiet}
+
+###########################################################################
#### TABBED WINDOWS
###########################################################################
# default: not enabled. Interface can be changed runtime if only one window
@@ -304,7 +315,41 @@
set tabbed_interface 1
###########################################################################
-#### SKYWATER PDK SPECIFIC VARIABLES
+#### CASE INSENSITIVE SYMBOL LOOKUP
+###########################################################################
+## this option might be useful on filesystems that are case insensitive and
+## on designs ported from windows where case of file names does not matter.
+## if this option is set symbol lookup will be case insensitive,
+## so a symbol reference 'AMPLI.SYM' will match with 'ampli.sym' or
+## Amply.sym on disk. File system must be case insensitive for this to work,
+## like FAT32 or NTFS.
+## Do not set this option if you don't know what you are doing.
+## Default: not enabled (0)
+# set case_insensitive 1
+
+###########################################################################
+#### HIDE GRAPHS IF NO SPICE DATA LOADED
+###########################################################################
+## if enabled graphs will be hidden if no data is loaded.
+## default: not enabled (0)
+# set hide_empty_graphs 0
+
+###########################################################################
+#### SHOW HIDDEN TEXTS
+###########################################################################
+## This option shows text objects even if they have attribute 'hide=true' set
+## default: 0 (not set)
+# set show_hidden_texts 1
+
+###########################################################################
+#### LIVE BACKANNOTATION OF DATA AT CURSOR 2 (B) POSITION
+###########################################################################
+## if enabled will backannotate values in schematic at cursor 'b' position
+## in graph. Default: not enabled (0)
+# set live_cursor2_backannotate 1
+
+###########################################################################
+#### PDK SPECIFIC VARIABLES
###########################################################################
## check if env var PDK_ROOT exists, and use it for building open_pdks paths
@@ -316,16 +361,25 @@
set PDK_ROOT $env(PDK_ROOT)
} else {
## not existing or empty.
- puts stderr "Warning: PDK_ROOT env. var. not found or empty, trying to find a pdk install"
- if {[file isdir [pwd]/..]} {
- set PDK_ROOT [file normalize [pwd]/..]
- } else {
- puts stderr {No pdk installation found, set PDK_ROOT env. var. and restart xschem}
+ puts stderr "Warning: PDK_ROOT env. var. not found or empty, trying to find an open_pdks install"
+ if {[file isdir /usr/share/pdk]} {set PDK_ROOT /usr/share/pdk
+ } elseif {[file isdir /usr/local/share/pdk]} {set PDK_ROOT /usr/local/share/pdk
+ } elseif {[file isdir $env(HOME)/share/pdk]} {set PDK_ROOT $env(HOME)/share/pdk
+ } else {XSCHEM_LIBRARY_PATH
+ puts stderr {No open_pdks installation found, set PDK_ROOT env. var. and restart xschem}
}
}
if {[info exists PDK_ROOT]} {
- set 180MCU_MODELS ${PDK_ROOT}/ngspice/models
- puts stderr "pdk installation: using $PDK_ROOT"
+ ## get process variant
+ if {[info exists env(PDK)]} {
+ set PDK $env(PDK)
+ } else {
+ set PDK gf180mcuC
+ }
+ set 180MCU_MODELS ${PDK_ROOT}/${PDK}/libs.tech/ngspice
+ puts stderr "pdk installation: using ${PDK_ROOT}/${PDK}"
puts stderr "180MCU_MODELS: $180MCU_MODELS"
+ append XSCHEM_LIBRARY_PATH :${PDK_ROOT}/${PDK}/libs.tech/xschem
+ puts stderr "XSCHEM_LIBRARY_PATH: \n $XSCHEM_LIBRARY_PATH"
}