Added new version 2.1.2 with documentation updates about editor commands,
code cleanups and more error messages in case of configuration file with syntax errors.
See also on XSCHEM website
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
2.1.3 uploaded, some fixes done and updated documentation. Lot of documentation still WIP, but with Xmas holiday i will be able to make it a lot better!. Stay tuned! :-)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
2.1.5 added:
- when showing only probes make lines wide so they are better visible on freaking
big schematics
- selection of probes made way faster on gigantic schematics.
- allow multiple instances with same base name, example:
xxx[2:1] symbol placed
xxx[3] was not allowed since xxx was already present.
Now the entire name is inserted in hash table so now xxx[3] != xxx[2:1]
and allowed
Last edit: stefan 2016-12-28
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Uploaded 2.1.6, no changes in program code but added the 'greycnt' sample schematic
that is used in the 'SIMULATION' tutorial to run a complete Verilog simulation with Icarus Verilog and Gtkwave open source EDA tools. Documentation updates for netlisting and simulation. XSCHEM online manual
Last edit: stefan 2016-12-29
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
2.1.8 uploaded. fixed a segfault regression, some minor fixes in the code.
Fixed wrong search order of the .xschem file. The correct behavior is to look in ${PWD} for an initialization .xschem file, and then (if not found) look in ${HOME}. Give up execution if ${HOME} is not defined.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
2.1.9 uploaded.
- added 'propstring' search key to search patterns into the whole instance
property string instead of looking into single property tokens
- added the following instance properties:
- 'url' : specify an url to open when pressing the launch ('H') key on an instance
- 'program' : specify a program to use for opening the file (default if missing:
xdg-open)
- 'tclcommand' : execute a tcl script
these properties allow the creation of 'launchers', special instances that when
triggered with the 'H' key perform some actions (open documentation, datasheets,
view data, run special viewers, bindings to new simulators, ...)
the special 'launcher' component in the 'devices' library can be used for this purpose.
All these properties can be attached to any schematic component.
- fixes in the spice.awk netlister (20170407) fixed wrong netlisting for ammeters (current
probes) placed on bussed wires.
- token.c: get_tok_value: recognize escaped backslashes (\\), return single backslash (\)
in the value string.
- .xschem config file: removed 'hspicerf_simulator', 'modelsim_simulator', added
'spice_simulator', 'verilog_simulator', 'finesim_path', 'finesim_opts' variables.
previously the default spice simulator was hspice and optionally hspicerf was used when
hspicerf_simulator was set to 1. This is unflexible, the new approach is to specify
the name of the simulator to use: (set spice_simulator hspice).
Same approach for the verilog simulator (set verilog_simulator iverilog)
Added finesim spice simulator (set the 'finesim_path' variable and set
spice_simulator to finesim).
- some cosmetic changes in the menus (radiobuttons for viewer/simulator/netlist format)
Last edit: stefan 2017-04-15
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
2.1.10 uploaded:
- filter out NumLock status in event processing (20170511)
Thanks to Saul Rodriguez for pointing out the issue.
- added 'Alt + Right-Mouse-Button' to activate the 'launcher' feature on
selected component instance (also bound to 'H' key)
- documentation updates
Last edit: stefan 2017-05-11
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
2.1.11 released:
Fixes a problem when doing 'File->Save' on a schematic created from 'File->New'. Since no filename exist for this schematic, revert to a 'Save As' operation.
Thanks to Svenn Are Bjerkem for pointing out the issue.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
2.1.12 released:
fix a bug causing wrong VHDL netlist when bussed nets or bus slices (xxx[3], yyy[4:2]) are connected to 'primitive' symbols whose VHDL behaviour is defined with a 'vhdl_format' attribute. Thanks to Svenn Are Bjerkem for explaining the problem.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
2.1.13 released:
- Added binding for the 'ghdl' free VHDL simulator, update your ~/.xschem file to
set pathnames and defaults.
- added a VHDL testbench ('loading') in the examples library to test ghdl
- small fixes in the 'vhdl.awk' netlist post processor
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
New commit r30: added a 'Make schematic from symbol (ctrl-l) menu entry:
a schematic view (containing the interface pins/generics specified in the symbol) is created automatically from the selected symbol.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
r31 commit
- documentation about automatic symbol generation
- some cosmetic additions (dialog titles) in xschem.tcl
- fixed a crashing bug when the 'create pins from highlight nets'
(ctrl-j) is invoked after hilighting some nets and deleting a
subset of those.
- improvements on the 'create pins to selected instance' command ('h' key)
a dialog box asks if pins need to be prefixed with a string, also allow
to choose lab_pin or lab_wire net labels.
added menu entry under the 'Symbol' tab
- Control-return and Escape bindkeys added to most toplevel dialog boxes
to allow quickly closing unwanted dialog boxes.
- devices/lab_wire library symbol flipped horizontally to align orientation with lab_pin
as per Svenn Are Bjerkem suggestion (Thanks!)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
r32 commit:
- added option '-S' to launch a simulation in batch command mode:
xschem -q -n -s -S examples/poweramp
will do a spice (-s) netlist (-n) and launch simulation (-S), then quits (-q)
- added option '-W' to launch waveform viewer
xschem -q -s -W examples/poweramp
will bring up the default spice wave viewer and quits.
- do not open a confitmation dialog asking to save if TCL 'xschem save' is given
This will allow to build tcl scripts without needing user confirmation.
- tcl command 'xschem select' now allows to select an instance by specifying its instance name
(instead of its numeric position into the inst_ptr array, still allowed)
xschem select xampli
will select instance 'xampli' if found in current schematic
- Added #define __USE_GNU to allow usage of 'strndup' function (POSIX 2008) in older systems
stefan, 20171007
Last edit: stefan 2017-10-07
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
2.1.14 uploaded.
- Documentation updated (component pin auto labeling)
- added option '-S' to launch a simulation in batch command mode:
'xschem -q -n -s -S examples/poweramp'
will do a spice (-s) netlist (-n) and launch simulation (-S), then quits (-q)
- added option '-W' to launch waveform viewer
'xschem -q -s -W examples poweramp'
will bring up the default spice wave viewer and quits.
- do not open a confirmation dialog asking to save if TCL 'xschem save' is given
This will allow to build tcl scripts without needing user confirmation.
- tcl command 'xschem select' now allows to select an instance by specifying its instance name (instead of its numeric position into the inst_ptr array, still allowed)
'xschem select xampli'
will select instance 'xampli' if found in current schematic
- Added #define __USE_GNU to allow usage of 'strndup' function (POSIX 2008) in older systems
- improvements on the 'create pins to selected instance' command ('h' key)
a dialog box asks if pins need to be prefixed with a string, also allow to choose lab_pin or lab_wire net labels.
- Control-return and Escape bindkeys added to most toplevel dialog boxes to allow quickly closing unwanted dialog boxes.
- devices/lab_wire library symbol flipped horizontally to align orientation with lab_pin
- documentation about automatic symbol generation
- added a 'Make schematic from symbol' (Ctrl-l) menu entry.
if one symbol is selected and this function is invoked (ctrl-l)
a schematic view (.sch) will be automatically created from the symbol view. The schematic will only contain the interface
pins / generics (if any). This will overwrite the symbol schematic view if it exist. A warning is issued requesting user confirmation.
- some cosmetic additions (dialog titles) in xschem.tcl
- fixed a crashing bug when the 'create pins from highlight nets' (ctrl-j) is invoked after hilighting some nets and deleting a subset of those.
Last edit: stefan 2017-10-08
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
2.2.0 uploaded, r35 commit.
- Added description option -no-pie in Makefile; if a profiled executable is needed '-no-pie -pg' must be given. Position Independent Executable is now the default on Gcc, but gprof will not work with this default.
- xschem will not descend or go up from a schematic hierarchy level if it has been modified, the user wants to save changes but the file can not be saved, due for example to permission problems. In this case the user either needs to save to a different place or say 'no' when promped for save.
- bindkey 'W' 'show discrepancies of nets vs pin names on selected instance' changed to 'X'
- added the 'snap wire' function (uppercase) 'W' bindkey, the wire starts/ends from/to closest instance pin or net endpoint. Thanks to Svenn Are Bjerkem for hints.
- fixes in the undo buffer, some actions were not undoable.
- bindkey 'H' for 'execute tclcommand or open file or http link (tclcomand or url properties) changed to 'ctrl-h'
- bindkey 'h' for 'attach nets to instance pin' changed to 'H'
- added constrained horizontal ('h' key) or vertical ('v' key) movement for wire, line, object copy/move.
- added menu entries for png/pdf/svg print, h/v constrained move, collapse wires, snap wire creation.
- '-z' xschem option now works again, this will start xschem wuth a rich rainbow colored layer set
- Documentation updates.
Last edit: stefan 2017-10-23
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
2.2.2 uploaded, r37 commit.
- added easy keybind customization in the ~/.xschem init file.
See following examples:
## 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
Documentation added for keybind customization.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
First upload, i am very new to Sourceforge.
I will soon move the documentation html here, in the mean time
visit the Xschem web site
Sources uploaded to svn repository!
Added more documentation on circuit creation, symbol generation, netlist and hierarchy concepts. Small fixes in the c sources.
Added documentation on parametrized subcircuits on XSCHEM website
Last edit: stefan 2016-12-14
Added new version 2.1.2 with documentation updates about editor commands,
code cleanups and more error messages in case of configuration file with syntax errors.
See also on XSCHEM website
2.1.3 uploaded, some fixes done and updated documentation. Lot of documentation still WIP, but with Xmas holiday i will be able to make it a lot better!. Stay tuned! :-)
2.1.4 uploaded: new hash functions for faster execution on big designs. Documentation updates.
2.1.5 added:
- when showing only probes make lines wide so they are better visible on freaking
big schematics
- selection of probes made way faster on gigantic schematics.
- allow multiple instances with same base name, example:
xxx[2:1] symbol placed
xxx[3] was not allowed since xxx was already present.
Now the entire name is inserted in hash table so now xxx[3] != xxx[2:1]
and allowed
Last edit: stefan 2016-12-28
Documentation about netlisting added to the XSCHEM online manual
Uploaded 2.1.6, no changes in program code but added the 'greycnt' sample schematic
that is used in the 'SIMULATION' tutorial to run a complete Verilog simulation with Icarus Verilog and Gtkwave open source EDA tools. Documentation updates for netlisting and simulation.
XSCHEM online manual
Last edit: stefan 2016-12-29
2.1.7 uploaded, fixes some wrong symbol references in the example schematics.
Small documentation updates.
I have retired the previous 2.1.6
2.1.8 uploaded. fixed a segfault regression, some minor fixes in the code.
Fixed wrong search order of the .xschem file. The correct behavior is to look in ${PWD} for an initialization .xschem file, and then (if not found) look in ${HOME}. Give up execution if ${HOME} is not defined.
2.1.9 uploaded.
- added 'propstring' search key to search patterns into the whole instance
property string instead of looking into single property tokens
- added the following instance properties:
- 'url' : specify an url to open when pressing the launch ('H') key on an instance
- 'program' : specify a program to use for opening the file (default if missing:
xdg-open)
- 'tclcommand' : execute a tcl script
these properties allow the creation of 'launchers', special instances that when
triggered with the 'H' key perform some actions (open documentation, datasheets,
view data, run special viewers, bindings to new simulators, ...)
the special 'launcher' component in the 'devices' library can be used for this purpose.
All these properties can be attached to any schematic component.
- fixes in the spice.awk netlister (20170407) fixed wrong netlisting for ammeters (current
probes) placed on bussed wires.
- token.c: get_tok_value: recognize escaped backslashes (\\), return single backslash (\)
in the value string.
- .xschem config file: removed 'hspicerf_simulator', 'modelsim_simulator', added
'spice_simulator', 'verilog_simulator', 'finesim_path', 'finesim_opts' variables.
previously the default spice simulator was hspice and optionally hspicerf was used when
hspicerf_simulator was set to 1. This is unflexible, the new approach is to specify
the name of the simulator to use: (set spice_simulator hspice).
Same approach for the verilog simulator (set verilog_simulator iverilog)
Added finesim spice simulator (set the 'finesim_path' variable and set
spice_simulator to finesim).
- some cosmetic changes in the menus (radiobuttons for viewer/simulator/netlist format)
Last edit: stefan 2017-04-15
2.1.10 uploaded:
- filter out NumLock status in event processing (20170511)
Thanks to Saul Rodriguez for pointing out the issue.
- added 'Alt + Right-Mouse-Button' to activate the 'launcher' feature on
selected component instance (also bound to 'H' key)
- documentation updates
Last edit: stefan 2017-05-11
2.1.11 released:
Fixes a problem when doing 'File->Save' on a schematic created from 'File->New'. Since no filename exist for this schematic, revert to a 'Save As' operation.
Thanks to Svenn Are Bjerkem for pointing out the issue.
Moved the xschem online documentation on source forge web hosting. This solves connection problems with my previous web hosting server.
2.1.12 released:
fix a bug causing wrong VHDL netlist when bussed nets or bus slices (xxx[3], yyy[4:2]) are connected to 'primitive' symbols whose VHDL behaviour is defined with a 'vhdl_format' attribute. Thanks to Svenn Are Bjerkem for explaining the problem.
2.1.13 released:
- Added binding for the 'ghdl' free VHDL simulator, update your ~/.xschem file to
set pathnames and defaults.
- added a VHDL testbench ('loading') in the examples library to test ghdl
- small fixes in the 'vhdl.awk' netlist post processor
Added the 'Creating symbols' chapter to the XSCHEM documentation web site
XSCHEM online manual
Last edit: stefan 2017-09-21
New commit r30: added a 'Make schematic from symbol (ctrl-l) menu entry:
a schematic view (containing the interface pins/generics specified in the symbol) is created automatically from the selected symbol.
r31 commit
- documentation about automatic symbol generation
- some cosmetic additions (dialog titles) in xschem.tcl
- fixed a crashing bug when the 'create pins from highlight nets'
(ctrl-j) is invoked after hilighting some nets and deleting a
subset of those.
- improvements on the 'create pins to selected instance' command ('h' key)
a dialog box asks if pins need to be prefixed with a string, also allow
to choose lab_pin or lab_wire net labels.
added menu entry under the 'Symbol' tab
- Control-return and Escape bindkeys added to most toplevel dialog boxes
to allow quickly closing unwanted dialog boxes.
- devices/lab_wire library symbol flipped horizontally to align orientation with lab_pin
as per Svenn Are Bjerkem suggestion (Thanks!)
r32 commit:
- added option '-S' to launch a simulation in batch command mode:
xschem -q -n -s -S examples/poweramp
will do a spice (-s) netlist (-n) and launch simulation (-S), then quits (-q)
- added option '-W' to launch waveform viewer
xschem -q -s -W examples/poweramp
will bring up the default spice wave viewer and quits.
- do not open a confitmation dialog asking to save if TCL 'xschem save' is given
This will allow to build tcl scripts without needing user confirmation.
- tcl command 'xschem select' now allows to select an instance by specifying its instance name
(instead of its numeric position into the inst_ptr array, still allowed)
xschem select xampli
will select instance 'xampli' if found in current schematic
- Added #define
__USE_GNU
to allow usage of 'strndup' function (POSIX 2008) in older systemsstefan, 20171007
Last edit: stefan 2017-10-07
2.1.14 uploaded.
- Documentation updated (component pin auto labeling)
- added option '-S' to launch a simulation in batch command mode:
'xschem -q -n -s -S examples/poweramp'
will do a spice (-s) netlist (-n) and launch simulation (-S), then quits (-q)
- added option '-W' to launch waveform viewer
'xschem -q -s -W examples poweramp'
will bring up the default spice wave viewer and quits.
- do not open a confirmation dialog asking to save if TCL 'xschem save' is given
This will allow to build tcl scripts without needing user confirmation.
- tcl command 'xschem select' now allows to select an instance by specifying its instance name (instead of its numeric position into the inst_ptr array, still allowed)
'xschem select xampli'
will select instance 'xampli' if found in current schematic
- Added #define
__USE_GNU
to allow usage of 'strndup' function (POSIX 2008) in older systems- improvements on the 'create pins to selected instance' command ('h' key)
a dialog box asks if pins need to be prefixed with a string, also allow to choose lab_pin or lab_wire net labels.
- Control-return and Escape bindkeys added to most toplevel dialog boxes to allow quickly closing unwanted dialog boxes.
- devices/lab_wire library symbol flipped horizontally to align orientation with lab_pin
- documentation about automatic symbol generation
- added a 'Make schematic from symbol' (Ctrl-l) menu entry.
if one symbol is selected and this function is invoked (ctrl-l)
a schematic view (.sch) will be automatically created from the symbol view. The schematic will only contain the interface
pins / generics (if any). This will overwrite the symbol schematic view if it exist. A warning is issued requesting user confirmation.
- some cosmetic additions (dialog titles) in xschem.tcl
- fixed a crashing bug when the 'create pins from highlight nets' (ctrl-j) is invoked after hilighting some nets and deleting a subset of those.
Last edit: stefan 2017-10-08
2.2.0 uploaded, r35 commit.
- Added description option -no-pie in Makefile; if a profiled executable is needed '-no-pie -pg' must be given. Position Independent Executable is now the default on Gcc, but gprof will not work with this default.
- xschem will not descend or go up from a schematic hierarchy level if it has been modified, the user wants to save changes but the file can not be saved, due for example to permission problems. In this case the user either needs to save to a different place or say 'no' when promped for save.
- bindkey 'W' 'show discrepancies of nets vs pin names on selected instance' changed to 'X'
- added the 'snap wire' function (uppercase) 'W' bindkey, the wire starts/ends from/to closest instance pin or net endpoint. Thanks to Svenn Are Bjerkem for hints.
- fixes in the undo buffer, some actions were not undoable.
- bindkey 'H' for 'execute tclcommand or open file or http link (tclcomand or url properties) changed to 'ctrl-h'
- bindkey 'h' for 'attach nets to instance pin' changed to 'H'
- added constrained horizontal ('h' key) or vertical ('v' key) movement for wire, line, object copy/move.
- added menu entries for png/pdf/svg print, h/v constrained move, collapse wires, snap wire creation.
- '-z' xschem option now works again, this will start xschem wuth a rich rainbow colored layer set
- Documentation updates.
Last edit: stefan 2017-10-23
2.2.2 uploaded, r37 commit.
- added easy keybind customization in the ~/.xschem init file.
See following examples: