#### xschemrc system configuration file #### values may be overridden by user's ~/.xschem/xschemrc configuration file #### or by project-local ./xschemrc ########################################################################### #### XSCHEM INSTALLATION DIRECTORY: XSCHEM_SHAREDIR ########################################################################### #### Normally there is no reason to set this variable if using standard #### installation. Location of files is set at compile time but may be overridden #### with following line: # set XSCHEM_SHAREDIR $env(HOME)/share/xschem ########################################################################### #### 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 #### 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 :/usr/share/pdk/sky130A/libs.tech/xschem # 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 if {[catch {set PDKPATH $env(PDKPATH)}]} { set PDKPATH "/usr/local/share/pdk/sky130A" } ########################################################################### #### SET CUSTOM COLORS FOR XSCHEM LIBRARIES MATCHING CERTAIN PATTERNS ########################################################################### #### each line contains a dircolor(pattern) followed by a color #### color can be an ordinary name (grey, brown, blue) or a hex code {#77aaff} #### hex code must be enclosed in braces array unset dircolor set dircolor(sky130_fd_pr$) blue set dircolor(sky130_tests$) blue set dircolor(xschem_sky130$) blue set dircolor(xschem_library$) red set dircolor(devices$) red ########################################################################### #### WINDOW TO OPEN ON STARTUP: XSCHEM_START_WINDOW ########################################################################### #### 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 {sky130_tests/top.sch} ########################################################################### #### DIRECTORY WHERE SIMULATIONS, NETLIST AND SIMULATOR OUTPUTS ARE PLACED ########################################################################### #### If unset $USER_CONF_DIR/simulations is assumed (normally ~/.xschem/simulations) # set netlist_dir $env(HOME)/.xschem/simulations set netlist_dir . ########################################################################### #### CHANGE DEFAULT [] WITH SOME OTHER CHARACTERS FOR BUSSED SIGNALS #### IN SPICE NETLISTS (EXAMPLE: DATA[7] --> DATA<7>) ########################################################################### #### default: empty (use xschem default, [ ]) # set bus_replacement_char {<>} #### for XSPICE: replace square brackets as the are used for XSPICE vector nodes. # set bus_replacement_char {__} ########################################################################### #### SOME DEFAULT BEHAVIOR ########################################################################### #### Allowed values: spice, verilog, vhdl, tedax, default: spice # set netlist_type spice #### Some netlisting options (these are the defaults) # set hspice_netlist 1 # set verilog_2001 1 #### to use a fixed line with set change_lw to 0 and set some value to line_width #### these are the defaults # set line_width 0 # set change_lw 1 #### allow color postscript and svg exports. Default: 1, enable color # set color_ps 1 #### initial size of xschem window you can specify also position with (wxh+x+y) #### this is the default: # set initial_geometry {900x600} #### if set to 0, when zooming out allow the viewport do drift toward the mouse position, #### allowing to move away by zooming / unzooming with mouse wheel #### default setting: 0 # set unzoom_nodrift 0 #### if set to 1 allow to place multiple components with same name. #### Warning: this is normally not allowed in any simulation netlist. #### default: 0, do not allow place multiple elements with same name (refdes) # set disable_unique_names 0 #### if set to 1 continue drawing lines / wires after click #### default: 0 # set persistent_command 1 #### if set to 1 automatically join/trim wires while editing #### this may slow down on rally big designs. Can be disabled via menu #### default: 0 # set autotrim_wires 0 #### set widget scaling (mainly for font display), this is useful on 4K displays #### default: unset (tk uses its default) > 1.0 ==> bigger # set tk_scaling 1.7 #### disable some symbol layers. Default: none, all layers are visible. # set enable_layer(5) 0 ;# example to disable pin red boxes #### enable to scale grid point size as done with lines at close zoom, default: 0 # set big_grid_points 0 ########################################################################### #### EXPORT FORMAT TRANSLATORS, PNG AND PDF ########################################################################### #### command to translate xpm to png; (assumes command takes source #### and dest file as arguments, example: gm convert plot.xpm plot.png) #### default: {gm convert} # set to_png {gm convert} #### command to translate ps to pdf; (assumes command takes source #### and dest file as arguments, example: ps2pdf plot.ps plot.pdf) #### default: ps2pdf # set to_pdf ps2pdf set to_pdf {ps2pdf -dAutoRotatePages=/None} ########################################################################### #### CUSTOM GRID / SNAP VALUE SETTINGS ########################################################################### #### Warning: changing these values will likely break compatibility #### with existing symbol libraries. Defaults: grid 20, snap 10. # set grid 20 # set snap 10 ########################################################################### #### CUSTOM COLORS MAY BE DEFINED HERE ########################################################################### # set cadlayers 22 # set light_colors { # "#ffffff" "#0044ee" "#aaaaaa" "#222222" "#229900" # "#bb2200" "#00ccee" "#ff0000" "#888800" "#00aaaa" # "#880088" "#00ff00" "#0000cc" "#666600" "#557755" # "#aa2222" "#7ccc40" "#00ffcc" "#ce0097" "#d2d46b" # "#ef6158" "#fdb200" } # set dark_colors { # "#000000" "#00ccee" "#3f3f3f" "#cccccc" "#88dd00" # "#bb2200" "#00ccee" "#ff0000" "#ffff00" "#ffffff" # "#ff00ff" "#00ff00" "#0000cc" "#aaaa00" "#aaccaa" # "#ff7777" "#bfff81" "#00ffcc" "#ce0097" "#d2d46b" # "#ef6158" "#fdb200" } ########################################################################### #### CAIRO STUFF ########################################################################### #### Scale all fonts by this number # set cairo_font_scale 1.0 #### default for following two is 0.85 (xscale) and 0.88 (yscale) to #### match cairo font spacing # set nocairo_font_xscale 1.0 #### set nocairo_font_yscale 1.0 #### Scale line spacing by this number # set cairo_font_line_spacing 1.0 #### Specify a font # set cairo_font_name {Sans-Serif} # set svg_font_name {Sans-Serif} #### Lift up text by some zoom-corrected pixels for #### better compatibility wrt no cairo version. #### Useful values in the range [-1, 3] # set cairo_vert_correct 0 # set nocairo_vert_correct 0 ########################################################################### #### KEYBINDINGS ########################################################################### #### General format for specifying a replacement for a keybind #### Replace Ctrl-d with Escape (so you wont kill the program) # set replace_key(Control-d) Escape #### swap w and W keybinds; Always specify Shift for capital letters # set replace_key(Shift-W) w # set replace_key(w) Shift-W ########################################################################### #### TERMINAL ########################################################################### #### default for linux: xterm # set terminal {xterm -geometry 100x35 -fn 9x15 -bg black -fg white -cr white -ms white } #### lxterminal is not OK since it will not inherit env vars: #### In order to reduce memory usage and increase the performance, all instances #### of the lxterminal are sharing a single process. LXTerminal is part of LXDE ########################################################################### #### EDITOR ########################################################################### #### editor must not detach from launching shell (-f mandatory for gvim) #### default for linux: gvim -f # set editor {gvim -f -geometry 90x28} # set editor { xterm -geometry 100x40 -e nano } # set editor { xterm -geometry 100x40 -e pico } #### For Windows # set editor {notepad.exe} ########################################################################### #### SHOW ERC INFO WINDOW (erc errors, warnings etc) ########################################################################### #### default: 0 (can be enabled by menu) # set show_infowindow 0 ########################################################################### #### CONFIGURE COMPUTER FARM JOB REDIRECTORS FOR SIMULATIONS ########################################################################### #### RTDA NC # set computerfarm {nc run -Il} #### LSF BSUB # set computerfarm {bsub -Is} ########################################################################### #### TCP CONNECTION WITH GAW ########################################################################### #### set gaw address for socket connection: {host port} #### default: set to localhost, port 2020 # set gaw_tcp_address {localhost 2020} ########################################################################### #### XSCHEM LISTEN TO TCP PORT ########################################################################### #### set xschem listening port; default: not enabled # set xschem_listen_port 2021 ########################################################################### #### BESPICE WAVE SOCKET CONNECTION ########################################################################### #### set bespice wave listening port; default: not enabled set bespice_listen_port 2022 ########################################################################### #### UTILE SPICE STIMULI DESCRIPTION LANGUAGE AND TRANSLATOR ########################################################################### #### default paths are set as shown here: # set utile_gui_path ${XSCHEM_SHAREDIR}/utile/utile3 # set utile_cmd_path ${XSCHEM_SHAREDIR}/utile/utile ########################################################################### #### TCL FILES TO LOAD AT STARTUP ########################################################################### #### list of tcl files to preload. # lappend tcl_files ${XSCHEM_SHAREDIR}/change_index.tcl lappend tcl_files ${XSCHEM_SHAREDIR}/ngspice_backannotate.tcl lappend tcl_files ${PDKPATH}/libs.tech/xschem/scripts/sky130_models.tcl ########################################################################### #### XSCHEM TOOLBAR ########################################################################### #### default: not enabled. # set toolbar_visible 1 # set toolbar_horiz 1 ########################################################################### #### SKYWATER PDK SPECIFIC VARIABLES ########################################################################### ## (spice patched) skywater-pdk install ## opencircuitdesign pdks install. You need to change these to point to your open_pdks installation set SKYWATER_MODELS $env(PDKPATH)/libs.tech/ngspice set SKYWATER_STDCELLS $env(PDKPATH)/libs.ref/sky130_fd_sc_hd/spice