Harald Pretl
04/28/2024, 3:38 PMtop.sch
for sky130A when I just start xschem w/o an argument… any idea why? (I am referring to our IIC-OSIC-TOOLS image, why I currently try to build for the next release.)Christoph Maier
04/28/2024, 4:00 PMxschemrc
, I see the lines
###########################################################################
#### 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}
Does that have anything to do with it?
Question back:
I'm thinking of playing along with the analog layout synthesis contest.
As usual, by far the most difficult part will be the dependency and configuration hell (for a minor example, see the above xschemrc
case).
How can I keep exposure to docker, python, anaconda, … to the absolutely necessary minimum, and how can I make that minimal installation a non-moving target (i.e., immune to "well-meaning" tool updates)?
At the moment, I'm using Tim Edwards's tool chain configuration which avoids all that software configuration crud as much as possible.Pat Deegan
04/28/2024, 4:01 PMset XSCHEM_START_WINDOW {sky130_tests/top.sch}
is setup. Is it in the rc file you're using?Pat Deegan
04/28/2024, 4:09 PMChristoph Maier
04/28/2024, 4:16 PMHarald Pretl
04/28/2024, 4:18 PMXSCHEM_START_WINDOW
, not sure why this does not work on the latest release. I just rolled back the xschem version and works fine again. As I want to push out the new IIC-OSIC-TOOLS release I leave it at that for now, and debug it for the next release. P.S. I use the stock xschemrc
that is part of the PDK, not a local one.Harald Pretl
04/28/2024, 4:19 PMChristoph Maier
04/28/2024, 4:35 PMStefan Schippers
04/30/2024, 7:13 AMXSCHEM_START_WINDOW
) does not load if you launch xschem with command line arguments, for example xschem --command ....
or xschem -b
or any other command line option. The reason is if you launch schem to do some background tasks you don't want the start schematic to get in the way. If there are command line switches you use and still want the XSCHEM_START_WINDOW
loaded let me know, I will add exceptions.Harald Pretl
04/30/2024, 8:13 AM-b
(when I don’t need the Tcl console, which is pretty much always) and --rcfile
It would be great if these could be exceptions.Christoph Maier
04/30/2024, 8:55 AMChristoph Maier
04/30/2024, 8:58 AMxschem
command line options, anyhow?Stefan Schippers
04/30/2024, 9:10 AMxschem -h
or man xschem
.Christoph Maier
04/30/2024, 10:14 AM-b
option is immediately helpful, because it unlocks my launching terminal … but why would I need the tcl console in the first place, anyhow?
xschem --help
Warning: PDK_ROOT env. var. not found or empty, trying to find an open_pdks install
open_pdks installation: using /usr/local/share/pdk
SKYWATER_MODELS: /usr/local/share/pdk/sky130A/libs.tech/combined
SKYWATER_STDCELLS: /usr/local/share/pdk/sky130A/libs.ref/sky130_fd_sc_hd/spice
usage: xschem [options] [schematic | symbol ]
Options:
-h --help Print this help.
-b --detach Detach Xschem from console (no output and no input from console)
-n --netlist Do a netlist of the given schematic cell.
-v --version Print version information and exit.
-V --vhdl Set netlist type to VHDL.
-S --simulate Run a simulation of the current schematc file
(spice/Verilog/VHDL, depending on the netlist
type chosen).
-w --verilog Set netlist type to Verilog.
--tcl <tcl_cmd> Execute specified tcl instructions before any other action,
after sourcing xschemrc, this can be used to change xschemrc variables.
--preinit <tcl_cmd> Execute specified tcl instructions before any other action,
and before loading xschemrc.
--script <file> Execute specified tcl file as a command script (perhaps with xschem commands).
--command <tcl_cmd> Execute specified tcl commands after completing startup.
--diff <file> Show differences with given file.
--tcp_port <number> Listen to specified tcp port for client connections. (number >=1024).
-i --no_rcload Do not load any xschemrc file.
--netlist_path <path>
-o <path> Set output path for netlist.
--netlist_filename <file>
-N <file> Set name (only name, not path) of top level netlist file.
-t --tedax Set netlist type to tEDAx.
-s --spice Set netlist type to SPICE.
-y --symbol Set netlist type to SYMBOL (used when drawing symbols)
-x --no_x Don't use X (only command mode).
-z --rainbow Use a raibow-looking layer color table.
-W --waves Show simulation waveforms.
-f --flat_netlist Set flat netlist (for spice format only).
-r --no_readline Start without the tclreadline package, this is necessary
--pipe if stdin and stdout are to be redirected. This also prevents xschem
from closing stdin / stdout / stderr even if invoked from pipes.
-c --color_ps Set color postscript.
--plotfile <file> Use <file> as output for plot (png, svg, ps).
--rcfile <file> Use <file> as a rc file for startup instead of the
default xschemrc.
-p --postscript
--pdf Export pdf schematic.
--png Export png schematic.
--svg Export svg schematic.
-q --quit Quit after doing things (no interactive mode).
-l <file>
--log <file> Set a log file.
-d <n>
--debug <n> Set debug level: 1, 2, 3,.. C program debug.
-1, -2, -3... TCL frontend debug.
xschem: interactive schematic capture program
Example: xschem counter.sch
the schematic file `counter.sch' will be loaded.
setup_tcp_bespice: problems finding a free TCP port
couldn't open socket: address already in use
Harald Pretl
04/30/2024, 12:37 PMStefan Schippers
04/30/2024, 12:55 PMChristoph Maier
05/01/2024, 12:19 PM