Merge branch 'vco_update' of https://github.com/NohealthyBBQ/sloci_caravel into vco_update
Merging
diff --git a/configs/sourceme b/configs/sourceme
new file mode 100644
index 0000000..b56bf9c
--- /dev/null
+++ b/configs/sourceme
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+# define the location of the project
+export PROJECT_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
+
+# start the Python virtual environment
+source ~/.venvs/analogue_design_example/bin/activate
+
+# add the plotting paths
+export PATH=$PATH:$PROJECT_ROOT/env/yaaade/yaaade/plot
diff --git a/configs/xschemrc b/configs/xschemrc
new file mode 100644
index 0000000..68f49d5
--- /dev/null
+++ b/configs/xschemrc
@@ -0,0 +1,235 @@
+# xschemrc configuration file
+
+set XSCHEM_SKYDIR /tools/xschem_library/xschem_sky130
+#set XSCHEM_SKYDIR /pdk/open_pdks/install/share/pdk/sky130A/libs.tech/xschem
+
+###########################################################################
+## 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
+set XSCHEM_SHAREDIR /tools/xschem/install/share/xschem
+
+###########################################################################
+## xschem system-wide design library paths XSCHEM_LIBRARY_PATH
+###########################################################################
+
+#### get library paths in a filesystem-independent way
+
+set XSCHEM_LIBRARY_PATH {}
+append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/xschem_library/devices
+append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/xschem_library
+append XSCHEM_LIBRARY_PATH :/pdk/open_pdks/install/share/pdk/sky130A/libs.tech/xschem
+#append XSCHEM_LIBRARY_PATH :${XSCHEM_SKYDIR}
+append XSCHEM_LIBRARY_PATH :$env(PROJECT_ROOT)
+
+append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/../doc/xschem/examples
+append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/../doc/xschem/ngspice
+append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/../doc/xschem/xschem_simulator
+append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/../doc/xschem/rom8k
+append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/../doc/xschem/logic
+append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/../doc/xschem/pcb
+append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/../doc/xschem/binto7seg
+append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/../doc/xschem/symgen
+append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/../doc/xschem/xTAG
+append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/../doc/xschem/rulz-r8c33
+append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/../doc/xschem/gschem_import
+append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/../doc/xschem/gschem_import/sym
+
+
+
+###########################################################################
+## 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 with a design if no filename given:
+#
+set XSCHEM_START_WINDOW {sky130_tests/top.sch}
+
+# Start with a design
+# To avoid absolute paths, use a path that is relative to one of the
+# XSCHEM_LIBRARY_PATH directories.
+#
+# set XSCHEM_START_WINDOW {0_examples_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
+
+
+###########################################################################
+## change default [] with some other characters for bussed signals
+## in spice netlists (example: DATA[7] --> DATA<7>)
+###########################################################################
+
+set bus_replacement_char {<>}
+
+## for XSPICE
+# set bus_replacement_char {__}
+
+
+###########################################################################
+## some default behavior
+###########################################################################
+
+set netlist_type spice ;# allowed : spice, verilog, vhdl, tedax
+set hspice_netlist 1
+set verilog_2001 1
+# set line_width 2
+set change_lw 1
+set color_ps 1
+set initial_geometry {900x600}
+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.
+set disable_unique_names 0
+
+## if set to 1 continue drawing lines / wires after click
+# set persistent_command 1
+
+
+## set widget scaling (mainly for font display)
+# set tk_scaling 1.7
+
+## disable some symbol layers
+# set enable_layer(5) 0 ;# example to disable pin red boxes
+
+###########################################################################
+## custom grid / snap value settings
+###########################################################################
+
+# set grid 100
+# set snap 50
+
+###########################################################################
+## 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 {Arial}
+
+#### 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
+
+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 terminal are sharing a single process. LXTerminal is part of LXDE
+
+#### editor must not detach from launching shell (-f mandatory for gvim)
+# set editor { xterm -geometry 100x40 -e nano }
+# set editor { xterm -geometry 100x40 -e pico }
+# set editor {gvim -f -geometry 90x28}
+set editor {vim -f -geometry 90x28}
+# set editor {gedit}
+
+#### show info window (ERC rules errors warnings etc)
+# set show_infowindow 1
+
+#### command to translate xpm to png (assumes command takes source
+#### and dest file as arguments, example: gm convert plot.xpm plot.png)
+set to_png {gm convert}
+
+#### computer farm redirector
+#### RTDA NC
+# set computerfarm {nc run -Il}
+#### LSF BSUB
+# set computerfarm {bsub -Is}
+
+#### set xschem listening port
+set xschem_listen_port 2021
+
+#### set gaw address for socket connection: {host port}
+set gaw_tcp_address {localhost 2020}
+
+#### utile (stefan's spice stimuli editor)
+set utile_gui_path ${XSCHEM_SHAREDIR}/utile/utile3
+set utile_cmd_path ${XSCHEM_SHAREDIR}/utile/utile
+
+#### list of tcl files to preload.
+# lappend tcl_files /home/schippes/x/Stefan_decoder/anddec.tcl
+lappend tcl_files ${XSCHEM_SHAREDIR}/ngspice_backannotate.tcl
+#lappend tcl_files ${XSCHEM_SKYDIR}/scripts/sky130_models.tcl
+lappend tcl_files /pdk/open_pdks/install/share/pdk/sky130A/libs.tech/xschem/scripts/sky130_models.tcl
+#### toolbar
+set toolbar_visible 1
+
+#set SKYWATER_MODELS $env(HOME)/skywater/skywater-pdk/libraries/sky130_fd_pr_ngspice/latest
+#set SKYWATER_STDCELLS $env(HOME)/skywater/skywater-pdk/libraries/sky130_fd_sc_hs/latest
+
+#set SKYWATER_MODELS /pdk/open_pdks/sky130/sky130A/libs.tech/ngspice
+#semiworking
+#set SKYWATER_MODELS /pdk/open_pdks/sources/sky130-pdk/libraries/sky130_fd_pr/latest
+set SKYWATER_MODELS /pdk/open_pdks/install/share/pdk/sky130A/libs.tech/ngspice
+
+#set SKYWATER_MODELS /pdk/open_pdks/install/share/pdk/sky130A/libs.ref/sky130_fd_pr
+#set SKYWATER_MODELS /pdk/open_pdks/sources/sky130-pdk/libraries/sky130_fd_pr/latest
+set SKYWATER_STDCELLS /pdk/open_pdks/install/share/pdk/sky130A/libs.ref/sky130_fd_sc_hd/spice