#### 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 #### For testing in build src directory #### if unset following paths are set and maintained if existing: # # ~/.xschem/xschem_library # ../xschem_library/devices # ../xschem_library/examples # ../xschem_library/ngspice # ../xschem_library/logic # ../xschem_library/xschem_simulator # ../xschem_library/binto7seg # ../xschem_library/pcb # ../xschem_library/rom8k #### For testing after installation: uncomment following lines # set xschem_doc_dir [file dirname ${XSCHEM_SHAREDIR}]/doc/xschem # set XSCHEM_LIBRARY_PATH {} # append XSCHEM_LIBRARY_PATH :~/.xschem/xschem_library # append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/xschem_library/devices # append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/examples # append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/ngspice # append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/xschem_simulator # append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/rom8k # append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/logic # append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/pcb # append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/binto7seg # append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/symgen # append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/xTAG # append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/rulz-r8c33 # append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/gschem_import # append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/gschem_import/sym #### For Windows, use ; instead of :, and enclosed pathname with "" # append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library" # append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/devices" # append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/examples" # append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/ngspice" # append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/xschem_simulator" # append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/rom8k" # append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/logic" # append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/pcb" # append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/binto7seg" # CT: 20211201 set XSCHEM_LIBRARY_PATH {} append XSCHEM_LIBRARY_PATH $env(HOME_DIR)/ngs406/xSchems append XSCHEM_LIBRARY_PATH :$env(HOME_DIR)/Lib406 append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/xschem_library append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/xschem_library/devices append XSCHEM_LIBRARY_PATH :$env(HOME)/share/pdk/sky130A/libs.tech/xschem # end CT ########################################################################### #### 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 #### these are the defaults: # set dircolor(/share/xschem/) red # set dircolor(/share/doc/xschem/) {#338844} ########################################################################### #### 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 {0_examples_top.sch} # CT: 20211201 # set XSCHEM_START_WINDOW {sky130_tests/top.sch} # end CT ########################################################################### #### 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 # CT: 20211201 set netlist_dir $env(HOME_DIR)/ngs406/xSchems # end CT ########################################################################### #### NETLIST AND HIERARCHICAL PRINT EXCLUDE PATTERNS ########################################################################### #### xschem_libs is a list of patterns of cells to exclude from netlisting. #### Matching is done as regular expression on full cell path #### Example: #### set xschem_libs { {/cmoslib/} {/analoglib/.*pass} buffer } #### in this case all schematic cells of directory cmoslib and cells containing #### /analoglib/...pass and buffer will be excluded from netlisting #### default value: empty # set xschem_libs {} #### noprint_libs is a list with same rules as for xschem_libs. This #### variable controls hierarchical print #### default value: empty # set noprint_libs {} ########################################################################### #### 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) # CT: 20211201 # uncommented first two lines, added last two line set hspice_netlist 1 set verilog_2001 1 set flat_netlist 0 set netlist_show 1 # CT end #### 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} #### Windows ghostscript uses gswin64c # set to_png {gswin64c -sDEVICE=png16m -o} # 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 #### Windows ghostscript uses gswin64c # set to_pdf {gswin64c -sDEVICE=pdfwrite -o} # set to_pdf ps2pdf # set to_pdf {ps2pdf -dAutoRotatePages=/None} ########################################################################### #### UNDO: SAVE ON DISK OR KEEP IN MEMORY ########################################################################### #### Alloved: 'disk'or 'memory'. #### Saving undo on disk is safer but slower on extremely big schematics. #### In most cases you won't notice any delay. Undo on disk allows previous #### state recovery in case of crashes. In-memory undo is extremely fast #### but should a crash occur everything is lost. #### It is highly recommended to keep undo on disk. #### Default: disk # set undo_type disk ########################################################################### #### 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-q with Escape (so you wont kill the program) # set replace_key(Control-q) Escape #### swap w and W keybinds; Always specify Shift for capital letters # set replace_key(Shift-W) Key-w # set replace_key(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 ########################################################################### #### XSCHEM TOOLBAR ########################################################################### #### default: not enabled. set toolbar_visible 1 # set toolbar_horiz 1 # CT: 20211201 # SKYWATER PDK SPECIFIC VARIABLES # set SKYWATER_MODELS $env(HOME)/share/pdk/sky130A/libs.tech/ngspice set SKYWATER_STDCELLS $env(HOME)/share/pdk/sky130A/libs.ref/sky130_fd_sc_hd/spice # end CT