Stefan Frederik
|
84134e0d97
|
fix: make a copy of returned string to avoid overwrites
|
2020-11-20 22:02:43 +01:00 |
Stefan Frederik
|
0d59d01170
|
allow to pass down to tcl evaluation (via tcleval( ....) wrap) instance parameters: example of a mos transistor : name=m1 w=2 l=0.13 model=net ad="tcleval([expr @W * 0.29])" --> in netlist: m1 d g s b nfet w=2 l=0.13 ... ad=0.58
|
2020-11-20 18:46:27 +01:00 |
Stefan Schippers
|
759c44078e
|
optimization: avoid calling get_tok_value in storeobject() if no attributes are given
|
2020-11-19 16:48:44 +01:00 |
Stefan Schippers
|
71fd1bcb68
|
comments about color handling in source code, set_cairo_color() function
|
2020-11-19 15:08:40 +01:00 |
Stefan Schippers
|
25cc006ffe
|
removed a stray "closepath" for open polygons in postscript output
|
2020-11-19 11:28:04 +01:00 |
Stefan Schippers
|
20afce9ab6
|
code cleanups and small fixes in the svg export code
|
2020-11-19 01:17:22 +01:00 |
Stefan Schippers
|
070ec71800
|
reduce svg size by avoiding redundant attributes in elements, fix a regression in scheduler.c (missing else clause)
|
2020-11-18 23:20:50 +01:00 |
Stefan Schippers
|
4f53cd8dbd
|
remove noop code after cleanups
|
2020-11-18 18:54:41 +01:00 |
Stefan Schippers
|
bf183f0d20
|
Option (default now) to export svg images using the svg <text> element. This makes generated SVGs much smaller and in most cases faster to render.
|
2020-11-18 18:29:14 +01:00 |
Stefan Schippers
|
3c86f4ec64
|
more consistent function parameter names in svgdraw.c and draw.c
|
2020-11-18 12:46:57 +01:00 |
Stefan Schippers
|
78a82a9bc0
|
fix regression: ps and svg exports were broken due to enable_layer[] used for enabling selections
|
2020-11-17 02:17:34 +01:00 |
Stefan Schippers
|
7a67663330
|
fold long lines
|
2020-11-17 01:29:47 +01:00 |
Stefan Schippers
|
1634414b11
|
code comments
|
2020-11-16 16:59:55 +01:00 |
Stefan Schippers
|
f6e85bc90c
|
replaced select_connected_nets() with faster select_hilight_net(), net_name() used only for displaying net names will not trigger erc messages
|
2020-11-16 15:44:51 +01:00 |
Stefan Schippers
|
fac9cfe26b
|
folded long lines
|
2020-11-16 12:33:06 +01:00 |
Stefan Schippers
|
90f6d7ee90
|
cleanup debug messages
|
2020-11-16 02:25:43 +01:00 |
Stefan Schippers
|
2d01eee04b
|
trim_wires() made 2 O.O.M. faster on big wire meshes; rects, lines, polys, arcs on hidden layers (View -> Visible Layers) not selectable by area or by mouse click
|
2020-11-16 01:28:19 +01:00 |
Stefan Schippers
|
d22b4c9ea0
|
guard against extended ascii characters in nocairo/svgdraw/psprint function
|
2020-11-13 12:54:07 +01:00 |
Stefan Schippers
|
f3c9160cc5
|
keep frequently allocated memory chunks cached in get_tok_value() for better performance
|
2020-11-11 19:01:22 +01:00 |
Stefan Schippers
|
7f771d6329
|
added variable "S" containing full schematic path in "Simulations->Configure simulators and tools". This can be used to add search paths to simulators.
|
2020-11-10 17:59:33 +01:00 |
Stefan Schippers
|
9b5bd75ec8
|
allow tcl commands ( [..cmds..] ) in Simulation->configure simulators and tools (useful to retrieve needed information about current dir etc.).
|
2020-11-10 17:48:26 +01:00 |
Stefan Schippers
|
61dd4e99b0
|
better xschem icon: added shapemask for "transparent" background
|
2020-11-10 13:17:25 +01:00 |
Stefan Schippers
|
f837353429
|
simpler glob expressions in xschem.tcl
|
2020-11-09 11:49:24 +01:00 |
Stefan Schippers
|
e6808f844a
|
better syntax for timeout cancel in gaw_cmd
|
2020-11-08 18:06:55 +01:00 |
Stefan Schippers
|
ec6ad39acc
|
synchronize command sending to gaw with gaw replies so at the end the tcp channel is closed gracefully (avoid port in use error messages). Timeout whatchdog is set to prevent forever waits/deadlocks.
|
2020-11-07 21:07:16 +01:00 |
Stefan Schippers
|
3f76397522
|
better synchronization of gaw_cmd so multiple commands are sent to gaw. However tcp file descriptor remains active for subsequent commands. Next improvement: count replies from gaw client and close file descriptor when last reply read.
|
2020-11-07 14:40:49 +01:00 |
Stefan Schippers
|
24dd02b713
|
Fixed Windows Xschem running from VS2019 without installing Xschem to find (Root)/xschem_library/devices as XSCHEM_LIBRARY_PATH, so that viewing schematics through VS2019 will find all symbols in xschem_library/devices. Moved doc and xschem_library XML files to its own *.wxs. Cleaned up Product.wxs by taking out doc and xschem_library files; fixed spacings in License.rtf; added condition that proper version of Active TCL is required to install
|
2020-11-07 10:52:50 +01:00 |
Stefan Schippers
|
191b4d8ed3
|
added m parameter to npn.sym and pnp.sym, text attribute edit dialog box renamed from .t to .dialog so it will be always raised on top of xschem window
|
2020-11-06 19:29:09 +01:00 |
Stefan Schippers
|
2a5e5a80cc
|
put braces around "expr" tcl statements as this boosts speed
|
2020-11-05 00:57:16 +01:00 |
Stefan Schippers
|
957b9888d1
|
Removed all static/global name conflicts, avoided global conflicts with flex/bison generated code so xschem (as a test bench) can be compiled as a single big file that includes all other sources
|
2020-11-03 12:10:55 +01:00 |
Stefan Schippers
|
34a1cb8950
|
execute_fileevent: do not reset pipe to blocking mode before closing if no status is requested: this avoids close blocking if executed process closes its stdout / stderr file descriptors before ending
|
2020-10-31 01:45:59 +01:00 |
Stefan Schippers
|
01ed63275b
|
do not set dircolor(...) default item colors if dircolor array defined in xschemrc
|
2020-10-30 01:22:25 +01:00 |
Stefan Schippers
|
73bab32aa9
|
__unix__: do simple tilde subst ( ~/ --> /home/user) just in case this was not done by the shell
|
2020-10-27 22:56:53 +01:00 |
Stefan Schippers
|
5706b12ad9
|
do not execute tcl proc "build_windows" in xinit.c if no X or -x option given
|
2020-10-27 12:00:34 +01:00 |
Stefan Schippers
|
b24c9ed763
|
fix an issue if "xschem ./sch_file.sch" is given on commandline, in this case load_file() will set current_dirname to /some/path/., this confuses abs_sym_path, so remove trailing /. in this case.
|
2020-10-26 02:31:47 +01:00 |
Stefan Schippers
|
24370cb752
|
updated "xplot" file syntax according to recent ngspice changes
|
2020-10-26 01:50:45 +01:00 |
Stefan Schippers
|
460ebe561d
|
sqwsource.sym: better labels, various fixes, comments and more debug messages in tcleval() stuff, some fixes (error checks) in "device_model" related model_name() function
|
2020-10-25 03:03:23 +01:00 |
Stefan Schippers
|
679348b7f8
|
"Delete files" menu command added
|
2020-10-24 23:46:19 +02:00 |
Stefan Schippers
|
8602fa7bb6
|
added Shift-I bindkey as an alternative to Insert key (missing on Apple machines) to insert a component
|
2020-10-24 23:07:45 +02:00 |
Stefan Schippers
|
367810f6dc
|
add some hideen commands in menu: "place net label(2)", "highlight net/pin name mismatches of selected instances", "Flip", "Rotate"
|
2020-10-24 23:00:41 +02:00 |
Stefan Schippers
|
6d4c8881f2
|
regression fix: unselect all when placing a component, to avoid dragging selected stuff with the new object
|
2020-10-24 20:06:42 +02:00 |
Stefan Schippers
|
41e5d02edb
|
error check for strrchr() NULL return value in print_spice_element()
|
2020-10-24 03:15:08 +02:00 |
Stefan Schippers
|
032bbf6f24
|
fixed error in tripping off "eval(...)" wrapper from string in print_spice_element
|
2020-10-24 03:11:37 +02:00 |
Stefan Schippers
|
27d1a9e477
|
get_tok_value: even if called with "with_quotes=2" do not skip unescaped backslashes that are outside "quotes". Added dynamic netlisting test circuit in examples
|
2020-10-23 23:17:55 +02:00 |
Stefan Schippers
|
2ffb4f792e
|
according to answer from ngspice guys ngspice does not accept continuation lines for .title, .include and .lib statements, so break.awk will avoid breaking those lines. reversed default for tcl dim_background variable, so toggle colorscheme will work.
|
2020-10-23 01:19:03 +02:00 |
Stefan Schippers
|
ca9786ce86
|
some "tcl_version > 8.4" conditions in xschem.tcl to ensure proper working on old (tcl/tk8.4) machines.
|
2020-10-22 04:16:48 +02:00 |
Stefan Schippers
|
1536e77b62
|
spice netlist postprocessing will not break ".include " lines as ngspice does not like these. make_sch_from_spice.awk adapted to import sky130 standard cells, spice netlister will print extra nodes (inherited connections or pins-by-attribute) in the order specified by the format string, instead of dumping the "extra" attribute after all "real" pins, this allows to mix attribute pins with the other pins.
|
2020-10-21 18:18:53 +02:00 |
Stefan Schippers
|
65b7e318a9
|
yet amoother typo in comment
|
2020-10-21 00:14:31 +02:00 |
Stefan Schippers
|
3bb92f1e0d
|
better comment in resetwin()
|
2020-10-21 00:11:03 +02:00 |
Stefan Schippers
|
1ec0745b54
|
add another condition in resetwin() to ensure the saved pixmap is reassigned to main window when returning from preview
|
2020-10-21 00:04:10 +02:00 |
Stefan Schippers
|
40a628dc34
|
resetwin(): force creation of new save_pixmap even if no resize *if* preview_window==1, since we *want* a different pixmap for preview
|
2020-10-20 23:45:30 +02:00 |
Stefan Schippers
|
b4681b22af
|
aligned linux code to windows: check if preview pixmap != main pixmap before destroying. probably not needed but good practice
|
2020-10-20 23:34:40 +02:00 |
Stefan Schippers
|
7e845db5df
|
exampels/poweramp.sch and examples/cmos_example.sch show how to use dynamuc ngspice simulation data backannotation, optimized fix of previous bbox bug
|
2020-10-20 19:48:59 +02:00 |
Stefan Schippers
|
3bbba8601f
|
added ngspiec_probe.sym and ngspice_get_value.sym that use a pull method to fetch values from ngspice .raw datafile, fixed a long standing bug that changed bounding boxes of symbols that were selected for a copy if they were copied and copy operation involved rotations of flips.
|
2020-10-20 12:44:10 +02:00 |
Stefan Schippers
|
72e45216c2
|
spice_probe_dynamic.sym added to devices, retrieves node voltages with a pull method, so always updated, "@@pin" syntax in translate(), same as in format string for netlisting,print hilight nodes (ctrl-alt-j) will print .save instructions if netlist mode set to spice
|
2020-10-20 01:05:40 +02:00 |
Stefan Schippers
|
c84d71b859
|
xschem setprop made way faster if "fast" argument is provided. Example "clear probes" launcher object in mos_power_ampli.sch.
|
2020-10-19 02:07:17 +02:00 |
Stefan Schippers
|
7360982d7c
|
removed some redundant calls in prepare_netlist_structs(), no full instance spatial rehash if adding a component, set template name initials for components in devices/ that do not map directly to spice elements to lowercase letters.
|
2020-10-18 23:58:40 +02:00 |
Stefan Schippers
|
c90f188703
|
do not call calc_drawing_bbox() on monster schematics as it takes more time than just drawing the viewport
|
2020-10-18 13:53:58 +02:00 |
Stefan Schippers
|
ebdc8746c0
|
better regexp for probe search in ngspice_backannotate.tcl, comments in token.c
|
2020-10-18 02:08:08 +02:00 |
Stefan Schippers
|
3e3c1ea671
|
uniquify malloc IDs
|
2020-10-17 22:39:52 +02:00 |
Stefan SChippers
|
7d346285de
|
no caching of xctx data ( xxx = xctx->xxx ) where pointers could potentially be reallocated
|
2020-10-17 18:54:10 +02:00 |
Stefan Schippers
|
222f2a0b25
|
reverted all xctx->* caching in copy_objects()
|
2020-10-17 12:25:43 +02:00 |
Stefan Schippers
|
3ed31d7d60
|
reverted caching of xctx->instances in copy_objects()
|
2020-10-17 12:13:14 +02:00 |
Stefan Schippers
|
f38a7d82ea
|
optimization in delete() if show_pin_net_names is true, recheck connected elements only if deleting a pin or label.
|
2020-10-17 12:01:05 +02:00 |
Stefan Schippers
|
632dbd8931
|
allow dim background color in "View -> Dim oclors"
|
2020-10-17 03:47:32 +02:00 |
Stefan Schippers
|
8a45e319c9
|
if xschem is started with -n (netlist) load_schematic will not call tcl proc is_xschem_file to determine if sch or sym type, since command line option has higher priority. reverted back possibility in update_symbol() to have double quotes around name attribute (name="My strange name"). This has toooo many implications everywhere. name attribute must be wihout double quotes, xschem will strip them off if any.
|
2020-10-17 02:54:42 +02:00 |
Stefan Schippers
|
55723e9429
|
line width is related to the schematic, so it is moved under xctx; removed all integer versions (lw, bus_width) that needed to be kept in sync, created two macros to get the integer values from xctx->lw. main window save_pixmap is preserved when doing a schematic preview in file open dialog, so no need to regenerate its content (with a draw() call) after preview.
|
2020-10-17 00:53:19 +02:00 |
Stefan Schippers
|
9e38fbd173
|
fix wrong const declaration in save.c
|
2020-10-16 23:19:20 +02:00 |
Stefan Schippers
|
a0661be86c
|
"proc is_xschem_file" reports SYMBOL if file contains <=2 instances of symbols. Need to figure out a different, simple and reliable way to recognize symbols that contain a title and/or a "architecture" symbol. For the time being reverted to previous state. Thanks to JL for pointing out the issue
|
2020-10-16 22:47:27 +02:00 |
Stefan Schippers
|
666f05c3d5
|
typo in spice.awk, fix check symbol storage before caching xctx->sym and xctx->symbols in load_sym_def(). Thanks to JL
|
2020-10-16 22:16:54 +02:00 |
Stefan Schippers
|
1967bbff00
|
fix trim_wires(), caching xctx->wires into wires missed update done by freenet_nocheck()
|
2020-10-16 21:21:01 +02:00 |
Stefan Schippers
|
f0e6559324
|
fix: restore modified state (set_modify() ) was done before swicthing back xctx to current schematic
|
2020-10-16 19:36:21 +02:00 |
Stefan Schippers
|
7c757f9803
|
removed unused set_fill() function
|
2020-10-16 19:27:19 +02:00 |
Stefan Schippers
|
aa2a47c5b9
|
grouping X11 specific global declarations
|
2020-10-16 19:16:03 +02:00 |
Stefan Schippers
|
f0f1f9c2f0
|
optimization in preview function: no un-needed redraw of current schematic; no window title change when previewing xschem files
|
2020-10-16 18:24:06 +02:00 |
Stefan Schippers
|
b626dfb599
|
replaced frequent "xctx->something" accesses with "something" for code readability, optimizations in hash_wire() when incremental wires added, STR_ALLOC() macro (performance reasons)
|
2020-10-16 16:34:15 +02:00 |
Stefan Schippers
|
35c2d0fa93
|
better node multiplicity detection in spice and verilog awk netlist post-processors (\?-?[0-9]+)
|
2020-10-16 00:13:39 +02:00 |
Stefan Schippers
|
742f854964
|
check for NULL symbol "type" pointer
|
2020-10-15 19:20:55 +02:00 |
Stefan Schippers
|
b88c4bab9e
|
-m better relative path recognition in abs_sym_path
|
2020-10-15 18:42:08 +02:00 |
Stefan Schippers
|
1c294ce31d
|
preview function now does no more need to save whole schematic on the undo stack, it is just a matter of pointer switching
|
2020-10-15 18:08:14 +02:00 |
Stefan Schippers
|
e7928727d6
|
all xctx context is now a dynamically allocated structure; no observable performace impact
|
2020-10-15 17:39:21 +02:00 |
Stefan Schippers
|
0eb706a67e
|
removed changes in strings due to variable refactoring
|
2020-10-15 17:05:30 +02:00 |
Stefan Schippers
|
6d96c8bd61
|
move xctx.sch_path free under free_xschem_data()
|
2020-10-15 16:32:09 +02:00 |
Stefan Schippers
|
c87f44a441
|
added "xchem load_symbol" command to load a symbol without binding to any instance, text edit attribute "Load" button will start in "$current_dirname"
|
2020-10-15 15:37:06 +02:00 |
Stefan Schippers
|
4362c44a8d
|
fix various regressions: escape the ? pattern in awk, be more selective in ? node multiplicity tag recognition in spice.awk, yet some more fixes in abs_sym_path thanks to JL
|
2020-10-15 13:38:27 +02:00 |
Stefan Schippers
|
35f47beca9
|
force a rebuild selected_array when swapping element order (S key) to rebind correctly. renamed <UNCONNECTED_PIN> to __UNCONNECTED_PIN__ to avoid useless syntax warnings from the node label grammar parser.
|
2020-10-15 02:16:57 +02:00 |
Stefan Schippers
|
acb5c45db1
|
avoid printing erc warnings about missing "name=" attribute in symbols if there is a definition in symbol template string
|
2020-10-15 01:43:53 +02:00 |
Stefan Schippers
|
8e5bfe2a13
|
remove instname and symname parameters to tclpropeval2 as they are no more necessary
|
2020-10-14 23:44:53 +02:00 |
Stefan Schippers
|
e82f270f61
|
replaced @ character with ? for spice netlist node multiplicity tags, so translate() will not try to expand them, do not print erc warnings for "non electrical" symbols (architecture, package, port_attributes, use, etc), print_spice_element() result string will be forwarded to translate() if enclosed within tcleval(...), so all @vars will be expanded. translate() in turn will forward to tcl_hook() if necessary.
|
2020-10-14 23:15:05 +02:00 |
Stefan Schippers
|
8bb6b0e3f7
|
pass name and symname to tcl_hook, add @symname_ext in print_spice_element
|
2020-10-14 21:04:45 +02:00 |
Stefan Schippers
|
c70aa9b06d
|
update_symbol() do not throw away quotes in name attrs (name="some thing")
|
2020-10-14 16:02:05 +02:00 |
Stefan Schippers
|
d92bd6590d
|
restructure abs_sym_path
|
2020-10-14 14:59:55 +02:00 |
Stefan Schippers
|
d696924615
|
fix: better handle relative paths
|
2020-10-14 12:59:55 +02:00 |
Stefan Schippers
|
abb698ea63
|
fix regression: correctly resolve ../../some/path/to/file in abs_sym_path
|
2020-10-14 11:14:15 +02:00 |
Stefan Schippers
|
b834df35e7
|
ALLOC() macro replaced with function str_alloc()
|
2020-10-14 05:25:20 +02:00 |
Stefan Schippers
|
4682613290
|
exported tcl_hook() at global scope for future enhancements
|
2020-10-14 04:59:20 +02:00 |
Stefan Schippers
|
c7ae5183fe
|
removed dbg message
|
2020-10-14 04:14:43 +02:00 |
Stefan Schippers
|
f4e5f70de1
|
fix bug in ALLOC() macro, tcl_hook() function
|
2020-10-14 04:12:34 +02:00 |
Stefan Schippers
|
5d26115bd2
|
refactored token.c, differentiate between windows and unix in absolute filename construction in xinit.c
|
2020-10-14 01:38:51 +02:00 |
Stefan Schippers
|
28fe7d993a
|
removed xschem samefile command as there is "file stat" for that
|
2020-10-13 18:10:05 +02:00 |