stefan schippers
|
c23f38e10b
|
export ps/pdf, png, svg functions now use custom file chooser widget (as Save As does) to enable creation of new folders
|
2023-08-30 00:42:09 +02:00 |
stefan schippers
|
8dfaedf9ea
|
report in-hierarchy overlapped symbols when netlisting
|
2023-08-29 11:32:48 +02:00 |
stefan schippers
|
c94d6b66cb
|
yet some other fixes for displaying / updating ERC info data after a netlist
|
2023-08-28 23:21:42 +02:00 |
stefan schippers
|
590b6fb3cd
|
better ERC messaging in case of errors (shorts, pins with missing attrs), ...)
|
2023-08-28 18:40:11 +02:00 |
stefan schippers
|
cd3f188a30
|
fix wrong netlist filename if invoking netlist from GUI
|
2023-08-28 11:39:00 +02:00 |
stefan schippers
|
0805802bb8
|
fix performance issues (too many proc infowindow calls) on large schematics introduced by previous two commits
|
2023-08-28 10:39:11 +02:00 |
stefan schippers
|
9e4d3c111a
|
various fixes and cleanups - followup of previous commit
|
2023-08-28 03:00:48 +02:00 |
stefan schippers
|
1c3c9ff889
|
do not show ERC info window if netlisting invoked via CLI; global variable show_infowindow_after_netlist can now take 3 values: always, onerror, never, to decide when showing the ERC info window after netlisting. Old values (1, 0) still accepted as aliases for always and onerror
|
2023-08-27 23:55:48 +02:00 |
stefan schippers
|
519fb2fbf2
|
add optional "-messages" in "xschem netlist" comand to return ERC messages instead of fail(1)/good(0) code
|
2023-08-27 13:04:12 +02:00 |
stefan schippers
|
b521994a08
|
prefix ERC infowindow messages with Error: or Warning: or Info:
|
2023-08-26 14:28:35 +02:00 |
stefan schippers
|
6909971a61
|
bump to version 3.4.3, updated Changelog
|
2023-08-19 14:06:54 +02:00 |
stefan schippers
|
3f55893987
|
revert format of [xschem pinlist <instance> <attr>] to old (3.1.0) format: { {0} {PLUS} } { {1} {OUT} } { {2} {MINUS} } instead of {PLUS} {OUT} {MINUS}
|
2023-08-19 13:54:43 +02:00 |
stefan schippers
|
e3b9e67cb8
|
add postinit_commands description in distribution provided xschemrc
|
2023-08-16 13:26:04 +02:00 |
stefan schippers
|
c05c177885
|
add "postinit_commands" variable that can be set in xschemrc file, this variable may contain commands that will be executed after completing startup. Example: set postinit_commands {xschem set format xyce_format}
|
2023-08-16 08:45:41 +02:00 |
stefan schippers
|
dd71d533ce
|
make_symbol: ask before overwriting an existing symbol file.
|
2023-08-14 12:18:54 +02:00 |
stefan schippers
|
36f1285303
|
Correctly detect if DISPLAY env var is set but specified display is not existing or xserver not running, and start in text mode
|
2023-08-10 08:37:55 +02:00 |
stefan schippers
|
163eaea672
|
remove reference to cadsnap_default in menu widget "View->Set snap value"
|
2023-08-08 11:19:48 +02:00 |
stefan schippers
|
ac042ed21f
|
remove warning message if bespice_listen_port is not set (not necessary, scares new users)
|
2023-08-04 15:23:46 +02:00 |
stefan schippers
|
c54e43d24f
|
allow expandion of labels like aaa[3:2]_qq --> aaa[3]_qq,aaa[2]_qq and aaa[3..2]_qq --> aaa3_qq,aaa2_qq
|
2023-08-04 15:02:55 +02:00 |
stefan schippers
|
f95580906a
|
bump to version 3.4.2, updated Changelog
|
2023-07-26 09:32:25 +02:00 |
stefan schippers
|
f847b61333
|
Gerard upates for Xschem <--> BeSpice TCP communication
|
2023-07-25 23:33:46 +02:00 |
stefan schippers
|
39b3195794
|
proc tk_textPaste: add author info
|
2023-07-20 09:24:55 +02:00 |
stefan schippers
|
efecd33d51
|
added tcl variable text_replace_selection (default: enabled (1) ) to automatically replace selected text in text widgets when pasting from clipboard
|
2023-07-20 09:06:58 +02:00 |
stefan schippers
|
2d11c5086c
|
case insensitive compare in boolean attributes (attr=false, attr=True, attr=FALSE, attr=1)
|
2023-07-14 08:17:04 +02:00 |
stefan schippers
|
bf46fd3e7b
|
allow "1" / "0" in addition to "true" / "false" in all boolean attributes
|
2023-07-14 00:49:51 +02:00 |
stefan schippers
|
231f3a38d4
|
make the "X" window button close the search dialog box, as Cancel (and Escape key) does
|
2023-07-14 00:06:39 +02:00 |
stefan schippers
|
ff66a48df0
|
doc updates about print command
|
2023-07-13 14:26:42 +02:00 |
stefan schippers
|
cf675be805
|
add "xschem print pdf_full" and "xschem print ps_full" commands to print full view properly fitting paper size, regardless of xschem window size, some fixes in circle postscript drawing (set newpath) and rectangle clipping. Add menu command "PDF/PS export full"
|
2023-07-13 13:24:17 +02:00 |
stefan schippers
|
3c73bb918b
|
add case insensitive matching in xschem search function
|
2023-07-12 13:58:54 +02:00 |
stefan schippers
|
83b1993c32
|
add xschemrc variable "ps_paper_size" to specify custom paper sizes in ps/pdf exports
|
2023-07-12 08:10:00 +02:00 |
stefan schippers
|
b646a0f79f
|
explicitly clear instance flag bits when allocating new instance array data to avoid random data in bit 8 (IGNORE_INST). This does not cause any problem but random data in log files, causing false positives in automated regression tests
|
2023-07-07 23:54:46 +02:00 |
stefan schippers
|
83071b4b21
|
fix crash on windows if a new tab is opened and immediately closed (incorrect call of draw() after clearing pixmap)
|
2023-07-07 08:30:13 +02:00 |
stefan schippers
|
d06b1c83ae
|
fix regression(repo.hu: r2353, github: 0bb4c9f) : "xschem instance" command not setting modified flag on schematic, so following xschem save doing nothing.
|
2023-07-06 23:56:33 +02:00 |
stefan schippers
|
587a847722
|
add xschem command `xschem instance_coord [instance]`: returns placement coords, rotation, flip of selected or specified instance
|
2023-07-06 09:12:31 +02:00 |
stefan schippers
|
2b38ed5f07
|
initialize tcl_files to empty in xschemrc to avoid side effects if reloading another xschemrc
|
2023-07-03 23:12:22 +02:00 |
stefan schippers
|
970c2fce65
|
fix utile/ stuff uninstall in Makefile
|
2023-07-03 12:32:57 +02:00 |
stefan schippers
|
cdecc6ad04
|
xschem netlist command accepts an optional filename argument
|
2023-07-03 09:06:46 +02:00 |
Stefan Schippers
|
9f23965096
|
do not use tclreadline if $tcl_interactive is 0
|
2023-07-02 19:47:04 +02:00 |
Stefan Schippers
|
33eb3fecce
|
quit and detach globals refactored to cli_opt_quit and cli_opt_detach
|
2023-07-01 21:07:52 +02:00 |
stefan schippers
|
a20fce8cdf
|
fix tedax netlisting (do not netlist noconn devices), recognize @#pin_name:net_name and @#pin_name:pin_attr attributes in tedax format string
|
2023-07-01 09:22:24 +02:00 |
Stefan Schippers
|
af153593e9
|
removed some redundant code lines in netlist.c, updated xschemtest.tcl netlist hashes with new noconn.sym
|
2023-06-30 20:54:07 +02:00 |
stefan schippers
|
f8f7c4f230
|
updated moude_bindings.tcl with Paul`s new version, updated noconn.sym (do not use *_ignore attributes, put comments in netlist about NC net)
|
2023-06-30 09:11:04 +02:00 |
stefan schippers
|
6755975369
|
do not create nets for devices that have *_ignore=true attribute set, this generates false warnings about undriven nets.
|
2023-06-30 08:29:11 +02:00 |
stefan schippers
|
f2812e1444
|
bump to version 3.4.1, updated Changelog
|
2023-06-29 21:40:49 +02:00 |
stefan schippers
|
476499b250
|
better recognize implicit datasets (sweep var wrap to initial value in raw file)
|
2023-06-28 08:20:09 +02:00 |
stefan schippers
|
8399106ed4
|
avoid using "string is list" if tclversion <= 8.4
|
2023-06-28 00:32:56 +02:00 |
stefan schippers
|
39751be9e1
|
add mouse_bindings.tcl, courtesy Paul Bodenstab
|
2023-06-27 08:45:12 +02:00 |
stefan schippers
|
eaa56bdc45
|
make the "xschem_quit" command work (close current window / tab) also if xschem started in -x (no graphics) mode
|
2023-06-26 07:57:00 +02:00 |
stefan schippers
|
4ec80d850b
|
changed tcl procedure `setup_tcp_xschem` to allow setting a different port number for further tcp commuication (and freeing the original port number)
|
2023-06-26 00:08:13 +02:00 |
stefan schippers
|
5d9e0d3d8a
|
enable xschem to load multiple files even if started with "-x" (only CLI mode)
|
2023-06-25 23:33:26 +02:00 |
stefan schippers
|
6198d21404
|
add "show_infowindow_after_netlist" tcl variable (default = 0) that can be set in xschemrc to always show erc window after netlist even without or no critical errors
|
2023-06-25 09:05:37 +02:00 |
stefan schippers
|
f95a1b7244
|
further fix initial full zoom of schematics loaded into multiple tabs with File->Open
|
2023-06-24 08:25:14 +02:00 |
stefan schippers
|
31451e6be9
|
do not do a context switch on first invocation of callback() (set old_winpath = ".drw").
|
2023-06-24 07:38:55 +02:00 |
stefan schippers
|
40d8b960f3
|
fix initial full zoom of schematics loaded with xschem load file from the xschem tcl prompt
|
2023-06-23 23:36:11 +02:00 |
Stefan Schippers
|
0f3a0c62a8
|
resetwin() do nor process pending_fullzoom if window size has not set by window manager (width ==1 || height ==1)
|
2023-06-23 20:03:48 +02:00 |
stefan schippers
|
cf5c02c141
|
if a file is given on cmdline without any path qualifier (/.../, ./, ~/, ...) look into search paths. Fix wrong initialization of xctx->lw=-1.0 in alloc_xschem_data(), set to 0.0
|
2023-06-23 15:49:23 +02:00 |
stefan schippers
|
d5c0fbcf15
|
remove debug messages
|
2023-06-23 11:18:02 +02:00 |
stefan schippers
|
cd15362376
|
improve prevous commit: do not execute "pending_fullzoom" drawing if main window unmapped (do not decrement the pending_fullzoom flag and delay until window is visible)
|
2023-06-23 11:15:54 +02:00 |
stefan schippers
|
9ea7121846
|
set pending_fullzoom=1 on additionally created tabs so will display correctly if xschem started deiconified (wm withdraw .)
|
2023-06-23 10:59:06 +02:00 |
stefan schippers
|
70995165b0
|
fix regression (--command option)
|
2023-06-23 09:53:05 +02:00 |
stefan schippers
|
7e865eea1d
|
avoid doing a full zoom before loading schematic in create_new_tab() and create_new_window(), as this will result in slightly different full zoom area in new tabs w.r.t first tab.
|
2023-06-23 09:34:16 +02:00 |
stefan schippers
|
c6df85cce5
|
apply center full zoom in all zoom full commands if tcl variable zoom_full_center is set
|
2023-06-23 09:04:55 +02:00 |
stefan schippers
|
f85d46a0cb
|
save_schematic(): avoid copying schname to xctx->sch[xctx->currsch] if dest == src
|
2023-06-22 08:16:19 +02:00 |
stefan schippers
|
7ba1acb6d0
|
modify xschemrc file to avoid side effects if sourced (intentionally or by mistake) multiple times.
|
2023-06-20 23:32:04 +02:00 |
stefan schippers
|
284ff2d1db
|
fix crash if --script is given (xctx->sch[] was not initialized, regression due to xctx->sch transformed to array of pointers)
|
2023-06-19 23:42:52 +02:00 |
stefan schippers
|
810b814211
|
added some comments in code / schematics
|
2023-06-18 23:44:52 +02:00 |
stefan schippers
|
89d90c21db
|
xctx->sch made an array of pointers instead of array of PATH_MAX strings (memory saver)
|
2023-06-17 23:58:35 +02:00 |
stefan schippers
|
c97dfddd4e
|
fix memory leak due to improper use of get_pin_and_attr()
|
2023-06-17 10:14:55 +02:00 |
stefan schippers
|
a6462269dc
|
refactor token.c: added get_pin_number(), get_pin_and_attr()
|
2023-06-16 23:08:00 +02:00 |
stefan schippers
|
3c16c4bf20
|
separated @#pin:attr handling in translate() into *get_pin_attr(), replaced sscanf() with dedicated get_pin_and_attr() so we are able to handle stuff like "@#ADD[7:0]:net_name"
|
2023-06-16 10:55:22 +02:00 |
stefan schippers
|
a752bb099b
|
better refactor text_bbox calculation in del_rect_line_arc_poly() and delete_only_rect_line_arc_poly()
|
2023-06-16 00:08:16 +02:00 |
stefan schippers
|
670841f361
|
fix segfault in delete() where del_rect_line_arc_poly() (which calculates text object bboxes) was called after text items deleted
|
2023-06-15 23:05:25 +02:00 |
stefan schippers
|
c3d03cd6d2
|
show red dot when cuting a wire with new alt-right button click on a wire. Added also menu command in Tools
|
2023-06-14 10:08:50 +02:00 |
stefan schippers
|
258f794f1a
|
set modify/rebuild connectivity/draw only if something changed in break_wires_at_point() and break_wires_at_pins()
|
2023-06-13 11:56:46 +02:00 |
stefan schippers
|
4f08f0a6b6
|
added command Alt-RightButton to cut a wire at mouse position. Do a prepare_netlist_structs(0) at end of break_wires_at_pins() for connectivity consistency
|
2023-06-13 11:51:16 +02:00 |
stefan schippers
|
eca52e1f4a
|
added comp_65nm_read.sym example in inst_sch_select/inst_sch_select.sch, symbol with spice_sym_def attribute
|
2023-06-12 18:22:40 +02:00 |
stefan schippers
|
89d847fb62
|
fix a bug in `xschem annotate_op` function not showing data if `Live annotation...` option was not set beforehand.
|
2023-06-12 09:13:20 +02:00 |
stefan schippers
|
818950980c
|
drill_hilight(): propagate unnamed nets connected to multiple instances (R1[3:0]), do not try to get single bits out of unnamed nets, as the whole netname is hashed
|
2023-06-12 07:25:05 +02:00 |
Stefan Schippers
|
613dae091e
|
extended `Shift-M` command to selected nets (nets attached to them will stretch)
|
2023-06-11 18:46:31 +02:00 |
Stefan Schippers
|
61e368b05e
|
update_symbol(): better redraw screen if changing generator symbols; as done with floaters redraw all screen viewport, don`t build list of objects to redraw
|
2023-06-11 18:18:45 +02:00 |
Stefan Schippers
|
61a659e004
|
text elements with attribute name=xxx or floater=xxx will go through a tcl substitution (instead of the translate(...) function if the referenced xxx instance does not exist. floater=instname can now be given instead of name=instname (they are equivalent)
|
2023-06-11 15:57:49 +02:00 |
stefan schippers
|
fc897c641b
|
fix a potential crash if a ngspice_probe.sym device is placed and live cursor annotation is enabled (this instance has no lab attribute)
|
2023-06-11 07:24:00 +02:00 |
stefan schippers
|
2b0655e3e9
|
improve `Shift-M` command by stretching nets that land on instance pins while moving instances
|
2023-06-10 23:41:02 +02:00 |
Stefan Schippers
|
acef2b0d2c
|
break_wires_at_pins(): inherit selected state of new created wires from ancestor wires
|
2023-06-10 19:16:00 +02:00 |
Stefan Schippers
|
3b3e723f8f
|
add new command `Shift-M`, move selected instances adding wires when separating overlapping instance pins (Connect by kissing)
|
2023-06-10 18:57:32 +02:00 |
Stefan Schippers
|
43befd4e3e
|
break_wires_at_pins(): delete piece of wires connected to symbol pins that extend beyond the pin into the symbol
|
2023-06-10 17:55:13 +02:00 |
Stefan Schippers
|
d5cc702fe8
|
Add command "Tools -> Remove wires running throuh selected inst. pins"
|
2023-06-10 17:24:12 +02:00 |
stefan schippers
|
0c9bdba37f
|
add some comments in break_wires_at_pins()
|
2023-06-10 09:04:13 +02:00 |
stefan schippers
|
3eeaf53cd4
|
improve quit_xschem command and xschem new_schematic destroy_all
|
2023-06-09 08:12:39 +02:00 |
stefan schippers
|
37a5dcee95
|
remove dbg messages in fix_symols. doc updates
|
2023-06-09 00:16:51 +02:00 |
stefan schippers
|
a6e5b150a5
|
added command `xschem getprop instance_notcl` to avoid tcl subst of the resulting attribute; improved fix_symbols to fix also parametrized generators (pcells)
|
2023-06-08 23:02:40 +02:00 |
stefan schippers
|
f5db2b63f8
|
use get_window_count() instead of new_schematic("ntabs"...)
|
2023-06-08 11:23:25 +02:00 |
stefan schippers
|
de1f4f0d86
|
added commands `xschem switch [win_path|schname]`, `xschem destroy_all [force]`, added `[force]` option to xschem exit
|
2023-06-08 10:40:52 +02:00 |
stefan schippers
|
a27a187bb4
|
small update to `xschem exit` function documentation
|
2023-06-08 06:38:36 +02:00 |
stefan schippers
|
d56e3939d5
|
updated xschem_library/examples/test_backannotated_subckt.sch; fix a potential segfault in proc fix_symbol
|
2023-06-08 01:08:05 +02:00 |
stefan schippers
|
edaf4ccce9
|
Add low level function xschem reset_symbol, changed defaults in xschem: now toolbar and tabbed interface (more robust than multi-window) is enabled by default, doc updates, improved fix_symbols for setting/removing path compoents from symbol references, now uses low-level xschem reset_symbol (faster)
|
2023-06-08 00:03:25 +02:00 |
Stefan Schippers
|
828975c19f
|
improved fix_symbols (works both ways for sky130 <--> xschem default env conversions
|
2023-06-07 20:48:26 +02:00 |
Stefan Schippers
|
ff99381624
|
add procedure `fix_symbols <n>`to set `n` last directory components to all symbols in current design
|
2023-06-07 20:41:09 +02:00 |
Stefan Schippers
|
bbb239dc21
|
faster `xschem replace_symbol` command
|
2023-06-07 20:31:25 +02:00 |
stefan schippers
|
245993f034
|
added attributes spice_ignore=short, verilog_ignore=short, .... that will transform the instance into a short in the current netlisting mode, shorting all pins to the same net. Works similarly as lvs_ignore=short, but does not need lvs_ignore global setting
|
2023-06-07 03:41:49 +02:00 |
stefan schippers
|
38a28a3acb
|
add lvs_ignore to context saved vars. Refactored some preprocessor macros SPICE_IGNORE_INST --> SPICE_IGNORE)
|
2023-06-06 23:38:29 +02:00 |
stefan schippers
|
b6e9ab33cc
|
fix compare schematics if no file for schematic to compare with is given. In this case compare current schematic with saved version. Also issue a warning if swapping compare schematics if comparing schematic with disk version of itself.
|
2023-06-06 19:39:40 +02:00 |
stefan schippers
|
b23d7518bb
|
find_inst_to_be_redrawn(): add `lvs_ignore=short` devices to list, fix uninitialized xctx->inst_redraw_table
|
2023-06-06 18:40:27 +02:00 |
stefan schippers
|
394db224d1
|
added global tcl variable `lvs_ignore` that can be used to enable instance or symbol attributes `lvs_ignore=open` or `lvs_ignore=short` while netlisting, added `test_lvs_ignore.sch` example
|
2023-06-06 15:22:45 +02:00 |
stefan schippers
|
ff216e8187
|
function reset_flags() set flags on symbols and instances; call reset_flags before rebuilding connectivity to update cached values; add short.sym component that can be used to short two nets together (and remove the short using *_ignore=true); instcheck(): do not proces instances that have *_ignore=true set.
|
2023-06-06 08:42:43 +02:00 |
stefan schippers
|
a3ac9f6d1d
|
fix portmap of single-bit unnamed nets in descend_schematic() (do not add [0] to single bit #netxxx nets)
|
2023-06-05 13:27:19 +02:00 |
stefan schippers
|
4f387f3bbe
|
disable displaying backannotation data if `b` cursor is hidden or `Simulation->Live annotation with b cursor` is disabled. Use resolved_net() in translate() when displaying @spice_get_voltage so it will work on sub block ports
|
2023-06-05 12:58:19 +02:00 |
stefan schippers
|
229b07b945
|
fix missing save_ctx in create_new_tab and create_new_window when creating new tab/window after the 2nd one, leading to wrong context switches. Added trace command on XSCHEM_LIBRARY_PATH when changing search path. `proc set_paths` is automatically called to cache in the new search path. No need to run it manually
|
2023-06-05 10:54:26 +02:00 |
stefan schippers
|
d4641f2b1a
|
doc updates (developer_info.html)
|
2023-06-04 23:05:13 +02:00 |
stefan schippers
|
55d011ba7b
|
added necessary comments in swap_windows() / swap_tabs() functions
|
2023-06-04 22:54:39 +02:00 |
stefan schippers
|
2312bfc34e
|
non-empty string given as win_path in `xschem new_schematic create` will avoid warnings if opening multiple windows/tabs of the same file. do not issue warnings if calling xschem with multiple identical schematic files from the command line. `xschem new_schematic` command: use abs_sym_pth on given filename to get correct path.
|
2023-06-04 21:48:43 +02:00 |
stefan schippers
|
331934afc6
|
added abs_sym_path() in file name resoluton in `xschem load_new_window` command
|
2023-06-04 20:44:36 +02:00 |
Stefan Schippers
|
44d1e764ac
|
resized some data structures for better overall speed
|
2023-06-04 17:56:52 +02:00 |
Stefan Schippers
|
ed78a0fe72
|
remove test mode
|
2023-06-04 17:35:43 +02:00 |
stefan schippers
|
5b5fa27408
|
remove unused var
|
2023-06-04 15:39:02 +02:00 |
stefan schippers
|
7aa6ecfbd6
|
make `xschem exit` (ctrl-w, close window) work in multi-window mode exactly as in tabbed interface, allowing to close the root window (will be swapped with subwindow and deleted)
|
2023-06-04 15:37:35 +02:00 |
stefan schippers
|
6d08202a5d
|
save (ctrl-s function) normally does not save if no changes are made. However if file timestamp has changed since opening (by someone else) prompt user to decide what to do (save or not)
|
2023-06-04 10:16:17 +02:00 |
stefan schippers
|
c708050baf
|
make ctrl-ArrowLeft/ctrl-ArrowRight work again (move to next/prev tab)
|
2023-06-04 09:28:22 +02:00 |
stefan schippers
|
ec5577c07f
|
removed File menu commands `Empty schematic in new window` and `Empty symbol in new window` since these just create another xschem process. Added `File->Start new xschem process`. `xschem new_window` and `xschem new_symbol_window` commands removed, added `xschem new_process
|
2023-06-04 00:46:01 +02:00 |
stefan schippers
|
e68ca0a0cc
|
Place polygon bind key is now `p`, ctrl-w is now `Close current schematic`, while ctrl-q is `Quit xschem`. Reorganized File menu, added more orthogonal `Create new schematic/tab` removed some largely unused entries. Ctrl-w does not close the last window, just leaves it blank. Use ctrl-q to close xschem
|
2023-06-03 23:57:35 +02:00 |
stefan schippers
|
57ea120a33
|
removed some direct exit() calls in editprop.c
|
2023-06-03 12:19:34 +02:00 |
stefan schippers
|
d4116a3bb0
|
cleaner exit -f xschem -v is given
|
2023-06-03 11:41:07 +02:00 |
stefan schippers
|
f9610851e8
|
cleanup exit procedures: tcl exit command will cleanly delete additional tabs/windows data structures before closing
|
2023-06-03 11:37:37 +02:00 |
stefan schippers
|
6e2754020b
|
added function swap_tabs() (wip)
|
2023-06-03 09:37:43 +02:00 |
stefan schippers
|
0244dc5e69
|
add command xschem tab_list, returns window pathname and associated filename loaded
|
2023-06-03 00:21:55 +02:00 |
stefan schippers
|
1ea1e835ae
|
@spice_get_voltage: do not process if net is a multiple bit bundle
|
2023-06-02 08:10:47 +02:00 |
stefan schippers
|
0d44c0ce13
|
fix wrong pin label net gathering in translate()
|
2023-06-02 07:48:09 +02:00 |
Stefan Schippers
|
f5c592c889
|
xschem resolved_net command: add [net] parameter; instcheck(): use inst[].lab instead of get_tok_value(inst[].prop_ptr, "lab",0)
|
2023-06-01 18:00:47 +02:00 |
Stefan Schippers
|
f3f12da486
|
updated test_extracted_netlist.sch example
|
2023-06-01 16:02:40 +02:00 |
stefan schippers
|
d68e25016b
|
fix long standing bug: redundant grammar rule in expandlabel.y causing it to fail recognizing nodes like GND*16
|
2023-06-01 07:09:43 +02:00 |
stefan schippers
|
e948edbffa
|
descend_schematic(): vectorize #netxxx nets if connected to bussed pins, before hashing, so resolved_net(...) will return the correct net portmapping
|
2023-06-01 06:40:24 +02:00 |
stefan schippers
|
e9c8569800
|
remove debug mesg
|
2023-05-31 10:25:54 +02:00 |
stefan schippers
|
4a06176f0d
|
comments, more test_bus_tap examples
|
2023-05-29 16:48:13 +02:00 |
stefan schippers
|
487b1eb202
|
more flexible bus_tap syntax
|
2023-05-29 09:17:06 +02:00 |
stefan schippers
|
06d8a548d3
|
fix expandlabel.y (remove excess rules)
|
2023-05-29 07:41:53 +02:00 |
stefan schippers
|
6bbc60f8fb
|
add more ".." bus notations: XX[4,2,8..1..3,12,23] and others. bus_tap.sym: if no "[n]" pattern is given assume it is the complete name of the slice (does not need bus basename)
|
2023-05-28 15:30:40 +02:00 |
stefan schippers
|
620217788f
|
do not process @#n:resolved_net attributes if net_name=true not set on symbol or instance and option "show netnames on symbol pins/floaters" is not enabled
|
2023-05-28 08:13:01 +02:00 |
stefan schippers
|
5043b14921
|
fix uninitialized wave_color due to regression after rainbow wave color enablement in double dc sweeps; more bus_tap.sym usage in examples; make bus_tap.sym work correctly for all netlist formats
|
2023-05-27 23:36:10 +02:00 |
Stefan Schippers
|
cff9f7d169
|
some bug fixes in resolved_net hashing, use some @#n:resolved_net labels in examples
|
2023-05-27 21:48:21 +02:00 |
stefan schippers
|
bb9ad82d80
|
fix memory leak when using new resolved_net() fn
|
2023-05-27 14:13:50 +02:00 |
stefan schippers
|
cf61c253c5
|
fix a bug in my_mstrcat if an empty string is appended; add resolved_net(n) function that returns the top-most hierarchy name of the net mapping to upper level port connections if any; add xschem resolved_net comand that returns the resolved_net of selected wire/label/pin; add @#n:resolved_net pattern in symbol texts that uses resolved_net
|
2023-05-27 11:20:49 +02:00 |
stefan schippers
|
09a373954f
|
initial implementation of portmap feature: from sub-schematics resolve hierarchic name of schematic nets connected to I/O pins (go to the upper level recursively until resolved)
|
2023-05-26 11:56:52 +02:00 |
stefan schippers
|
970c8597f6
|
First version: create_alloc_ids_windows.awk can be used with Windows GNU GAWK by running Windows batch file create_alloc_ids_windows.bat. It`s the equivalent to linux version of create_alloc_ids.awk.
|
2023-05-25 21:56:55 +02:00 |
Stefan Schippers
|
b5b1339653
|
enable rainbow colored graphs also for double dc sweeps
|
2023-05-24 19:31:47 +02:00 |
Stefan Schippers
|
ba402e65c0
|
remove unneeded variable in create_new_tab()
|
2023-05-24 18:20:18 +02:00 |
stefan schippers
|
5e90f5c319
|
use find_file_first instead of find_file in C code
|
2023-05-24 09:12:29 +02:00 |
stefan schippers
|
694bc631a0
|
redraw schematic when switching netlisting mode (Shift-V) to redraw disabled/enabled components for the new netlisting mode; The Properties->Toggle *_ignore... menu will do nothing if in symbol netlisting mode
|
2023-05-24 09:08:57 +02:00 |
stefan schippers
|
608a144dd1
|
fix tcl procedures using find_file to find a component: use find_file_first (return 1st match) , since find_file may return multiple matches; add njfet.sym, pjfet.sym and test_jfet.sch
|
2023-05-24 08:43:05 +02:00 |
stefan schippers
|
d993292f0f
|
fix unindented lines
|
2023-05-23 10:16:38 +02:00 |
stefan schippers
|
e7366741ed
|
allow @#n:pin_attr or @#pin_name:pin_attr in verilog and vhdl format string (print_vhdl_primitive, print_verilog_primitive), in addition to @#n (convergence to translate()
|
2023-05-23 09:58:28 +02:00 |
stefan schippers
|
32460f33c9
|
improved "xschem display_hilights [nets|instances]" that displays highlight nets or instaces or both,with full hierarchy path, not including uninteresting net/pin/net_show elements.
|
2023-05-23 09:10:01 +02:00 |
Stefan Schippers
|
1774ff4e3a
|
allow @#n:pin_attr or @#pin_name:pin_attr in spice format string (print_spice_element), in addition to @#n (convergence to translate()
|
2023-05-22 21:50:14 +02:00 |
stefan schippers
|
6de12e5a0f
|
(2) update examples/test_bus_tap.sch
|
2023-05-22 08:09:42 +02:00 |
stefan schippers
|
8f63560737
|
examples/test_bus_tap.sch: auto set show_pin_net_names=1
|
2023-05-22 08:05:37 +02:00 |
stefan schippers
|
637ada331e
|
remove dbg message
|
2023-05-22 07:46:36 +02:00 |
stefan schippers
|
b68dd8c099
|
when a bus label is edited correctly propagate list of instances to be redrawn if show net names on components is enabled (ie: propagate thru bus taps)
|
2023-05-22 07:28:12 +02:00 |
stefan schippers
|
5bd2c624a8
|
fixed regression: editing global attributes did not trigger modified status
|
2023-05-22 00:20:55 +02:00 |
stefan schippers
|
140aba3449
|
added handling of bus_tap.sym (wip)
|
2023-05-21 23:58:17 +02:00 |
stefan schippers
|
313f5898eb
|
add guards against freee of null pointers in name_nodes_of_pins_labels_and_propagate()
|
2023-05-21 13:47:05 +02:00 |
stefan schippers
|
5c22d26072
|
update copyright info to 2023
|
2023-05-21 12:52:19 +02:00 |
stefan schippers
|
893389b01d
|
hier_psprint_mtime(): fix wrong mtime calculation for (non existent file) generators
|
2023-05-21 09:25:19 +02:00 |
stefan schippers
|
7b12159e0c
|
do not add hidden texts in symbol bboxes (symbol_bbox())
|
2023-05-21 00:07:08 +02:00 |
stefan schippers
|
c2e5c61b35
|
graphs: add xmag and ymag entry boxes for custom magnification factor for x/y axis labels, fix current_dirname handling when netlisting hierarchical http(s) designs. The goal is to allow netlisting remote designs seamlessly
|
2023-05-20 23:21:43 +02:00 |
stefan schippers
|
616364106f
|
replace @symname in instance "schematic" attribute with basename of symbol (without extension)
|
2023-05-19 13:15:59 +02:00 |
stefan schippers
|
827d4c5aac
|
added "xschem reset_flags" command to update and sync cached attributes of symbols and instances
|
2023-05-19 10:08:43 +02:00 |
stefan schippers
|
80acbfb107
|
set content-disposition flags in wget (--content-disposition) and curl (-J) helper downloaders to save downloaded files with correct names (no http queries)
|
2023-05-19 01:15:09 +02:00 |
stefan schippers
|
014ebf0477
|
is_from_web() function to avoid code repetitions, more heuristics when trying to descend into web hierarchies
|
2023-05-18 20:55:14 +02:00 |
stefan schippers
|
e0bde2cb1c
|
better handling of web_urls: if already cached do not download again
|
2023-05-18 11:03:32 +02:00 |
stefan schippers
|
eef043ef2f
|
sym_vs_sch_pins() do not try to get the "type" attribute of symbols references containing "@" characters (unresolved @parameters) by loading the symbol and checking the xctx->sym[symbol].type attribute, this usually happens in parametrized symbol generators
|
2023-05-16 14:45:52 +02:00 |
stefan schippers
|
71c04ad071
|
fix unneeded there_are_floaters() call in callback.c
|
2023-05-16 09:52:23 +02:00 |
stefan schippers
|
ce8adbb60e
|
if multiple objects are selected (instances, texts, wires, ...) and there is an instance in the set edit instance attributes
|
2023-05-15 09:02:14 +02:00 |
stefan schippers
|
70ea2bb7f1
|
for better consistency floater=... attribute for text floaters changed to name=... so token name matches instance refdes (name=...). Documentation added for netlist_dir (netlisting.html) and local_netlist_dir
|
2023-05-14 23:43:16 +02:00 |
Stefan Schippers
|
d577bdde7a
|
resolved a memory leak (inst[..].instname)
|
2023-05-14 17:10:48 +02:00 |
stefan schippers
|
96eea54894
|
some code refactoring, duplicate code replaced with set_inst_flags(), set_sym_flags(), various fixes/optimizations about floaters
|
2023-05-14 12:58:25 +02:00 |
stefan schippers
|
9d58f8cbbc
|
clear text member `floater_ptr` when text is changed to force cache update
|
2023-05-14 02:45:56 +02:00 |
stefan schippers
|
1ea0516b55
|
if floaters are used to display simulation data (@spice_get_voltage) force update on floater text caches on `b` cursor move
|
2023-05-14 02:22:18 +02:00 |
stefan schippers
|
9fcde30a52
|
do not perform tcl substitution before displaying netlist_commands text into an editor. Correctly restore xctx->current_dirname after netlisting. get_generator_command(): quote command name (just in case its pathname contains spaces). floater example labels in solar_panel.sch. Various corrections and optimizations in new floater labels code.
|
2023-05-14 01:13:18 +02:00 |
stefan schippers
|
ee1979b8b2
|
low level functions for floaters and floater text caches is implemented
|
2023-05-13 13:13:35 +02:00 |
stefan schippers
|
9ea9d529f7
|
fix toggle_ignore function. If multiple elements selected with different *_ignore attributes flip each one of them accordingly. Baseline code added for text floaters
|
2023-05-12 14:54:22 +02:00 |
stefan schippers
|
9ea93e9938
|
hide_texts=true attribute added on instance will avoid the display of all symbol texts (will be probably used when using floater symbol texts)
|
2023-05-12 12:09:20 +02:00 |
stefan schippers
|
16b7bd068c
|
disabled elements are displayed in grey and dashed. Properties->toggle *_ignore function can be undone
|
2023-05-12 10:31:09 +02:00 |
stefan schippers
|
4919d8734b
|
remove dbg message
|
2023-05-12 01:30:38 +02:00 |
stefan schippers
|
35354e8fe3
|
fix: check for NULL type attribute in get_sch_from_sym(). Fix web schematic navigation (descend and return) in load_schematic()
|
2023-05-12 01:29:38 +02:00 |
stefan schippers
|
f110e817ef
|
ammeter.sym type set to "ammeter" instead of "probe", so will be greyed out if *_ignore attr is set
|
2023-05-11 00:47:59 +02:00 |
stefan schippers
|
5e281e7f10
|
*_ignore attributes for instances and symbols cached in .flags struct member for speed optimization. added some generator netlist testcases in xschemtest.tcl
|
2023-05-10 23:29:16 +02:00 |
stefan schippers
|
339c523f0b
|
align symbol types, reducing number of different types (remove ngprobe, current_probe, differential_probe, raw_data_show --> probe
|
2023-05-10 17:46:16 +02:00 |
stefan schippers
|
4308b86744
|
add noconn symbol type to list of symbols NOT to grey out even if they have *_ignore=true attributes set
|
2023-05-10 14:53:49 +02:00 |
stefan schippers
|
626f2729ce
|
remove used_symbols feature (may fail in some hierarchical situations)
|
2023-05-10 10:13:38 +02:00 |
stefan schippers
|
d7557d7945
|
fix netlisting schematics with generator name containing extension ( like symgen.tcl(1,2,3) )
|
2023-05-10 04:40:22 +02:00 |
stefan schippers
|
1e74b21c49
|
get_trailing_path(): do not confuse generator extension with schematic/symbol extension
|
2023-05-10 04:08:47 +02:00 |
stefan schippers
|
7ad930e7f0
|
istances with *_ignore=true attribute will be drawn greyed out in schematics in the corresponding netlisting mode; command in Properties menu to toggle this attribute on selected instances
|
2023-05-10 03:13:13 +02:00 |
stefan schippers
|
f2214150ae
|
tedax, verilog, spice netlists: do not expand unused subcircuits (due to *_ignore attrs on instances/symbols)
|
2023-05-10 01:02:28 +02:00 |
stefan schippers
|
0a4f942fb7
|
symbol_ignore=true attribute can be set on all symbol elements (text, lines, rectangles, arcs, polys, instances, nets) such that these marked elements are not displayed when symbol is instantiated.
|
2023-05-09 23:26:46 +02:00 |
stefan schippers
|
376e547c48
|
find_file and match_file utility functions: do not try to descend unreadable dirs
|
2023-05-08 12:29:44 +02:00 |
stefan schippers
|
b233963079
|
update xschem_library/Makefile to include generators in install
|
2023-05-06 09:04:06 +02:00 |
stefan schippers
|
4baf5f9803
|
add warnings in my_strdup() and my_strdup2() if src and *dest are the same address
|
2023-05-05 10:44:04 +02:00 |
stefan schippers
|
b4b2c91481
|
fix yet another error in "cmd" string handling in load_sym_def(). Added realloc of freed pointers detection in track_memory.awk
|
2023-05-05 09:29:30 +02:00 |
stefan schippers
|
d23388ff71
|
fix cmd memory leak in load_ym_def(), make copy of returned string in some routines to reduce dependencies
|
2023-05-04 23:23:54 +02:00 |
stefan schippers
|
35f4826198
|
Fix a corruption found by joanne in load_sym_def() where a static result returned from tcl_hook2() was accidentally freed.
|
2023-05-04 21:20:58 +02:00 |
stefan schippers
|
f282a96cec
|
better output formatting in "xschem instance_list" command, fix test_mosgen.sch absolute paths in symbols
|
2023-05-04 01:59:17 +02:00 |
stefan schippers
|
2438d0fa95
|
translate2(): better handle %xxx tokens in LCC symbols (propagate %xxx to upper level if not assigned to anything in instance)
|
2023-05-02 23:21:20 +02:00 |
stefan schippers
|
7e1f591b18
|
align TOK_TOKEN state change of translate() and translate2() to all other parsers
|
2023-05-02 18:54:27 +02:00 |
stefan schippers
|
4b9f61612b
|
symbol generators may now take attributes like: "mosgen( @model )", with @model expanded to instance (or symbol template) value. update_symbol() updated to reflect this change.
|
2023-05-02 17:49:44 +02:00 |
stefan schippers
|
eb50f9c26a
|
code formatting in update_symbol()
|
2023-05-02 14:12:37 +02:00 |
stefan schippers
|
e6224bfb09
|
when changing a symbol on an instance do not force change prefix (1st name char) if old and new symbol have same prefix
|
2023-05-02 13:00:14 +02:00 |
stefan schippers
|
9533b17a20
|
Allow to pass instance attributes (via translate() ) to symbol generators
|
2023-05-02 12:42:53 +02:00 |
stefan schippers
|
fd0e036492
|
remove dbg message
|
2023-05-01 23:20:11 +02:00 |
stefan schippers
|
a9ffa50ed8
|
add "ndir" parameter to get_sym_name(), some fixes in sym_vs_sch_pins()
|
2023-05-01 23:17:57 +02:00 |
stefan schippers
|
ae8931c788
|
remove bbox() START/ADD/SET/END from some drawing operations. No observable performance impact and redraw is now more pixel precise, reducing artifacts.
|
2023-05-01 22:28:56 +02:00 |
stefan schippers
|
4c3b4d0321
|
various tcl_hook2() additions on instance names to handle procedures, fix bbox calculation in xschem replace_symbol command
|
2023-05-01 14:37:10 +02:00 |
stefan schippers
|
aeea23a84d
|
load_sym_def(): fix a debug message possibly printing garbage due to uninitialized variable
|
2023-04-29 11:02:23 +02:00 |
stefan schippers
|
3f2e4f2647
|
yet another small improvement in load_file_dialog to reduce redundant verbosity
|
2023-04-29 09:09:06 +02:00 |
stefan schippers
|
0703f90629
|
make persistent load_file_dialog work correctly for xschem files, non xschem files and generators
|
2023-04-29 03:48:20 +02:00 |
stefan schippers
|
c7c69cc5de
|
invoke myload_place_symbol when leaving .load (instead of leaving .load.buttons_bot.entry) if persistent load dialog is displayed
|
2023-04-29 02:20:36 +02:00 |
stefan schippers
|
67e9e305ec
|
fix persistent insert symbol dialog by not placing anything if selecting multiple times the same symbol. proc myload_place_symbol: add an update statement to resolve race conditions.
|
2023-04-29 01:59:35 +02:00 |
stefan schippers
|
a3347710db
|
improve persistent insert symbol dialog (Shift-Insert) by not asking multiple times what to do when selecting a non xschem file
|
2023-04-29 01:41:02 +02:00 |
stefan schippers
|
9593d41f09
|
persistent load file dialog (Shift-Insert) now correctly handles generator script selection (do nothing until user adds () or (param1,param2,...) to generator name).
|
2023-04-29 00:28:24 +02:00 |
Stefan Schippers
|
ee7dc8982a
|
load_sym_def: if loading a symbol reading from a pipe (generator script) do not attempt to seek forward looking for embedded symbols. Assume no embedded symbols exist here
|
2023-04-28 20:33:57 +02:00 |
stefan schippers
|
e044ed4c54
|
proc load_file_dialog: do not clear search pattern (if any) when changing directory in left listbox
|
2023-04-28 18:19:46 +02:00 |
stefan schippers
|
b30eda3bb0
|
remove unused file
|
2023-04-28 17:58:35 +02:00 |
stefan schippers
|
710e694f40
|
merge_file(): handle generators so generated schematics (pcells) can be merged into an existing schematic
|
2023-04-28 17:34:04 +02:00 |
stefan schippers
|
26e088e729
|
add graph_linewidth_mult xschemrc variable to set default multiplier for graph line width w.r.t. xschem (current) line width. Add "Line width:" entry in graph_edit_properties dialog box
|
2023-04-28 10:45:56 +02:00 |
stefan schippers
|
410135cf44
|
align set_thick_waves() to comply with previous commit
|
2023-04-27 22:49:43 +02:00 |
stefan schippers
|
36f71708e6
|
added linewidth_mult=<double> attribute in graphs for per-graph line width adjustment
|
2023-04-27 20:55:17 +02:00 |
stefan schippers
|
0bb345f764
|
fix data corruption when netlisting hierarchical symbols with *_stop attribute set, thanks to Joanne Low regression tests, add option in pop_undo() to avoid saving state (push_undo()) for redo.
|
2023-04-27 11:52:51 +02:00 |
stefan schippers
|
52f35e30c2
|
avoid video updating when loading multiple files in hierarchical ps/pdf export
|
2023-04-27 08:49:52 +02:00 |
stefan schippers
|
2e7eb9e38b
|
instance based schematic selection: place get_additional_symbols(1) after every load_schematic() to consistently add new virtual symbols for every instance based "schematic" attribute across the whole hierarchy. This is done for all netlisting code and hier_psprint()
|
2023-04-27 01:14:10 +02:00 |
stefan schippers
|
2189aaa932
|
fix unbalanced gsave/grestore in psprint (setting colors of empty text strings)
|
2023-04-27 00:36:50 +02:00 |
stefan schippers
|
d9d66c1c90
|
removed redundant skip_dir(...) (use get_cell(..., 0) ), fix a couple of glitches in postscript export (filled polygons with self-coincident edgs, fix filled arc pies (missing point)
|
2023-04-26 23:00:20 +02:00 |
stefan schippers
|
3e320b56d2
|
fix wrong pdfmarks in hierarchical pdf export, after changes to handle generated sch/sym
|
2023-04-26 18:50:39 +02:00 |
stefan schippers
|
07fcdfbde4
|
fix hier_psprint() to handle all previous enhancements
|
2023-04-26 11:35:32 +02:00 |
stefan schippers
|
7a16859702
|
update tedax netlister with previous enhancements
|
2023-04-26 10:26:21 +02:00 |
stefan schippers
|
10441ef901
|
allow tcl procedures to generate generator script and parameters, update vhdl and verilog netlisters to handle generator schematic/symbol references
|
2023-04-26 09:54:35 +02:00 |
stefan schippers
|
3142279d02
|
Add inst_sch_select/ example directory (instance based implementation selection)
|
2023-04-25 09:15:17 +02:00 |
stefan schippers
|
a111c116d9
|
set netlisting type to symbol when descending into a generator-created symbol
|
2023-04-25 00:27:58 +02:00 |
stefan schippers
|
68cf318134
|
load_sym_def(): removed embedded parameter, recognize generator names and pipe in data from generator instead of loading from file. No more set flags for generated symbols to EMBEDDED
|
2023-04-24 23:56:56 +02:00 |
stefan schippers
|
cd6ef78841
|
schematic generator netlisting seems to work. renamed is_symgen() -> is_generator()
|
2023-04-24 13:26:04 +02:00 |
stefan schippers
|
94d1865127
|
fix save_inst resetting all symbols EMBEDDED flags, not only the used symbols in current schematic. Created get_generator_command(), will be used also for schematic generators
|
2023-04-24 11:36:07 +02:00 |
stefan schippers
|
7c04b009ec
|
do not ask to save parent schematic containing generator-created symbols even if user tries to modify them, is_xschem_file() now returns SYMBOL|SCHEMATIC|GENERATOR|0
|
2023-04-24 09:24:17 +02:00 |
stefan schippers
|
70ef115a13
|
do not try to preview generator scripts
|
2023-04-23 10:29:01 +02:00 |
stefan schippers
|
3facbf6428
|
spice netlisting of schematics with parametrized symbol generators should work
|
2023-04-23 00:37:31 +02:00 |
stefan schippers
|
bbb5363da9
|
removed debug msg
|
2023-04-22 11:54:16 +02:00 |
stefan schippers
|
f1ed2bf26f
|
fixed is_symgen() regex, added stup for tutorial_symbol_generators.html
|
2023-04-22 11:29:44 +02:00 |
stefan schippers
|
d5aca937ce
|
removed debug messages
|
2023-04-22 00:55:34 +02:00 |
stefan schippers
|
5daf41ca1b
|
removed unused variable
|
2023-04-22 00:23:11 +02:00 |
stefan schippers
|
a2de3cd787
|
unified copy_symbol() and copy_symbol1(), better new symbol allocation policy
|
2023-04-22 00:21:53 +02:00 |
stefan schippers
|
f5ce5987c9
|
fixed memory leak in copy_symbol(), split copy_symbol() to copy_symbol1() in action.c
|
2023-04-21 23:29:26 +02:00 |
stefan schippers
|
eb6705d0f4
|
fixed regression introduced by get_additional_symbols() (memory leak)
|
2023-04-21 15:31:27 +02:00 |
stefan schippers
|
0102438751
|
fix some unfreed data in recent commits
|
2023-04-21 13:55:21 +02:00 |
stefan schippers
|
9eb4e9440c
|
handle symbol_ref(param1,param2,...) symbol generator scripts, added some utility functions str_chars_replace(), is_symgen(), fix some quoting/backslash subst issues in get_sym_template()
|
2023-04-21 11:41:20 +02:00 |
stefan schippers
|
631fedb11b
|
enabled escape_chars convenience function, added "embedded" parameter to load_sym_def() to better distinguish loading an embedded symbol from loading a regular symbol with a provided file descriptor
|
2023-04-20 10:44:31 +02:00 |
stefan schippers
|
6c364a74cc
|
revert str_replace @symname in print_spice_subckt_nodes()
|
2023-04-18 00:49:25 +02:00 |
stefan schippers
|
a5492be752
|
print_spice_subckt_nodes(): use (improved to handle escape chars) str_replace() to substitute @symname, added xschem str_replace, improved xschem symbols
|
2023-04-18 00:20:40 +02:00 |
stefan schippers
|
88fdc83b34
|
get_sch_from_sym(): do not replace @symname if @ escaped
|
2023-04-17 17:44:51 +02:00 |
stefan schippers
|
a5a8193231
|
scheduler(): add get_symbol(s), similar as get_instance(s)
|
2023-04-17 15:55:00 +02:00 |
stefan schippers
|
ca0708a4c3
|
added "xschem setprop symbol" command, updated docs
|
2023-04-17 11:45:59 +02:00 |
stefan schippers
|
728cfb22fc
|
print_spice_subckt_nodes(): remove closing bracket in case of tcleval(...) failure
|
2023-04-17 10:33:45 +02:00 |
stefan schippers
|
ff9f92646c
|
draw_graph_points() split big XDrawLines requests into smaller chunks to handle raw files with > 4M points
|
2023-04-14 15:41:00 +02:00 |
stefan schippers
|
340b89c58d
|
add base_name field in xSymbol struct to keep track of the base symbol name the "virtual" symbol is inherited from (instance based implementation selection with schematic=... attribute)
|
2023-04-13 22:25:36 +02:00 |
stefan schippers
|
fb2500c83f
|
enable spice_sym_def, verilog_sym_def, vhdl_sym_def on instances in addition as globally on symbols, for instance based specific implementations. These attributes must be paired with an instance "schematic=..." attribute that sets the subcircuit name of the alternate implementation. docs updated.
|
2023-04-13 02:12:02 +02:00 |
stefan schippers
|
c71c15e967
|
various enhancements around the new instance based schematic=... attribute, doc updates.
|
2023-04-13 00:49:38 +02:00 |
stefan schippers
|
590bf8b6ec
|
add instance based "schematic=..." attribute. This allows multiple instances of the same symbol to have different implementations.
|
2023-04-12 18:28:19 +02:00 |
stefan schippers
|
5b3b3d0662
|
function copy_symbol() extracted from undo code for reuse
|
2023-04-12 12:09:45 +02:00 |
stefan schippers
|
e6fc1d9fe4
|
Correct menu accelerator shown for "merge" function (b key)
|
2023-04-11 09:33:25 +02:00 |
Stefan Schippers
|
4482ac3705
|
do a "xschem redraw" instead of a "xschem save; xschem reload" when use spiceprefix is toggled in menu
|
2023-04-09 20:05:45 +02:00 |
Stefan Schippers
|
ebfcde42de
|
change preprocessor defined(HAS_CAIRO) to HAS_CAIRO==1
|
2023-04-09 15:36:06 +02:00 |
stefan schippers
|
f3196bbd10
|
-b option: redirect stdout/stderr to /dev/null, better explain -b in help, update manpage, and docs
|
2023-04-09 02:12:54 +02:00 |
stefan schippers
|
192e873f0c
|
fix lazy list building in "xschem ..." commands (put separator after last item), as some parsers choke on this.
|
2023-04-08 22:27:59 +02:00 |
stefan schippers
|
5e3445a80e
|
implement xschem sch_pinlist command, improve xschem pinlist inst [attr], improve make_sym.awk (no trailing spaces in pin attributes)
|
2023-04-08 13:19:49 +02:00 |
stefan schippers
|
c98f0afec5
|
avoid redundant newline trailer in tcp responses
|
2023-04-07 23:50:04 +02:00 |
stefan schippers
|
705f279a23
|
xschem tcp interface: accept whole multiline text input from clients, (no more limit to 1 line text input), hier_psprint(): do not descend to subcircuit schematic if file not existing
|
2023-04-07 23:38:33 +02:00 |
stefan schippers
|
34800870fe
|
xschem tcp server: drop connection at end of response to make client reads easier (eof detection)
|
2023-04-07 11:46:27 +02:00 |
stefan schippers
|
07bdb94601
|
add xschem instance_list command, updated docs
|
2023-04-06 20:10:57 +02:00 |
stefan schippers
|
0bb50ce7ff
|
xschem selected_set command: return instance names properly quoted
|
2023-04-06 10:55:01 +02:00 |
stefan schippers
|
7ac9443f4f
|
further improve execute_fileevent to handle subprocesses that close stdout
|
2023-03-31 18:08:03 +02:00 |
stefan schippers
|
e2490034ed
|
better execute_fileevent implementation
|
2023-03-31 14:28:59 +02:00 |
stefan schippers
|
e031780f14
|
fix regression in execute_fileevent (hadling subprocesses that close stdout/stderr, like rxvt)
|
2023-03-31 12:01:21 +02:00 |
stefan schippers
|
d0d31a87c8
|
update src/add_custom_button.tcl to match code refactoring done in r2264
|
2023-03-29 23:41:28 +02:00 |
stefan schippers
|
63d4c55a09
|
fix missing error setting on sym_vs_sch_pins() in tedax_netlist.
|
2023-03-28 22:32:28 +02:00 |
stefan schippers
|
69277c1066
|
add use_tclreadline variable that can be set to 0 in xschemrc to avoid using the tclreadline package
|
2023-03-27 18:25:12 +02:00 |
stefan schippers
|
eeb71c33bf
|
forgot to update xschem load command description
|
2023-03-26 11:35:06 +02:00 |
stefan schippers
|
3fd24c69c4
|
improve xschem load command (no warning if opening an already open file, if doing that from script)
|
2023-03-26 11:33:05 +02:00 |
stefan schippers
|
e4e2ba37cc
|
xschem load from script: no alert box warning if new file given
|
2023-03-25 09:41:53 +01:00 |
stefan schippers
|
96aa251ca0
|
fix execute tcl procedure (correctly handle exit status of subprocesses that write to stderr but not as a failure)
|
2023-03-25 02:00:50 +01:00 |
stefan schippers
|
fa33aca682
|
do tilde substitution (with home directory) in xschem tcl commands
|
2023-03-24 15:37:26 +01:00 |
stefan schippers
|
f5224ede00
|
better cleanup execute(callback,...) array members
|
2023-03-24 13:37:10 +01:00 |
stefan schippers
|
6bcb74bdb0
|
add tcl procedures documentation in developer_info.html
|
2023-03-24 13:14:27 +01:00 |
stefan schippers
|
e7b4dcfaae
|
better tilde substitution in some tcl procedures
|
2023-03-24 00:49:44 +01:00 |
stefan schippers
|
2725e0c533
|
add exit code to xschem netlist command, add execute(error,last) and execute(exitcode,last) to inspect stderr and exit code of last simulation job
|
2023-03-23 18:34:14 +01:00 |
stefan schippers
|
757fd0a378
|
better range checking for commands "xschem get schname" and "xschem get sch_path"
|
2023-03-22 11:22:41 +01:00 |
stefan schippers
|
a0fb4c5ee6
|
improve xschem check_symbols command
|
2023-03-19 12:54:46 +01:00 |
stefan schippers
|
601a128e37
|
doc updates (xschem command reference)
|
2023-03-18 23:38:47 +01:00 |
stefan schippers
|
2e61f26be8
|
fix issues when doing a compare schematics, local vs remote (http[s]) one
|
2023-03-17 10:03:20 +01:00 |
stefan schippers
|
b6a8add190
|
Warn if no application is defined to open html command reference
|
2023-03-15 09:01:10 +01:00 |
stefan schippers
|
4569a0747a
|
fix executing xschem load_new_window from launcher (UI semaphore save/restore)
|
2023-03-13 12:37:30 +01:00 |
stefan schippers
|
c38779fb35
|
refactor descend_schematic()
|
2023-03-13 11:49:20 +01:00 |
stefan schippers
|
6d192023de
|
fix web hierarchy navigation error when returning to web schematic after descending into a local symbol
|
2023-03-13 11:11:43 +01:00 |
stefan schippers
|
6e13f3cd77
|
handle netlisting remote (http[s]) hierarchic objects
|
2023-03-12 11:11:11 +01:00 |
stefan schippers
|
b5852ffc70
|
print current_dirname in xschem globals command for debug
|
2023-03-11 11:29:35 +01:00 |
stefan schippers
|
a75afa56d5
|
xschem setprop instance: fix flags setting if hide or highlight attributes are given/changed
|
2023-03-10 23:45:15 +01:00 |
stefan schippers
|
a8e95e220b
|
if a custom format netlist is given (for example lvs_netlist) and lvs_netlist attribute in instance or symbol is existing but empty device will not be netlisted
|
2023-03-10 18:36:55 +01:00 |
stefan schippers
|
d2d9eaa4e8
|
instance attribute "hide=true" will make the instance display as a bounding box only
|
2023-03-10 04:42:21 +01:00 |
stefan schippers
|
3ec47760a7
|
xschem logic_get changed to xschem logic_get_net for consistency
|
2023-03-10 02:54:53 +01:00 |
stefan schippers
|
af6c01ab44
|
add command xschem logic_set_net <net_name> <value> [ntimes] to set a specific net instead of selected nets
|
2023-03-10 02:42:04 +01:00 |
stefan schippers
|
847d1df1b3
|
xschem logic_get: return X instead of empty string if net has never been assigned
|
2023-03-10 02:14:55 +01:00 |
stefan schippers
|
7bc63e0dfd
|
add xschem logic_get command to get logic state of nets
|
2023-03-10 02:04:08 +01:00 |
stefan schippers
|
25f34ee413
|
add xschemrc variable zoom_full_center, if set to 1 full zoom will center the schematic instead of anchoring to lower-left drawing area corner.
|
2023-03-09 22:48:25 +01:00 |
stefan schippers
|
9de818c8e9
|
improve Simulation->Monitor current simulation to also display sim stdout after simulation is completed
|
2023-03-05 01:01:43 +01:00 |
stefan schippers
|
947406481a
|
add Simulation->Monitor current simulation to display stdout of running simulation (to get simulation status / ETA and the like... )
|
2023-03-05 00:44:56 +01:00 |
stefan schippers
|
e3d5dc9cd9
|
added execute(cmd,last), execute(data,last), execute(status,last) for post-mortem inspection of last simulation
|
2023-03-04 23:22:31 +01:00 |
Stefan Schippers
|
a01dbcb457
|
doc updates (better formatting)
|
2023-03-04 19:09:29 +01:00 |
stefan schippers
|
896bb4e317
|
doc update
|
2023-03-04 11:09:54 +01:00 |
stefan schippers
|
bf6b20a1ce
|
In source Documentation (scheduler.c) of xschem commands, html docs updated
|
2023-03-03 18:29:17 +01:00 |
stefan schippers
|
ebf4fa1f44
|
Initialize stack2[] to double 0.0
|
2023-03-01 18:34:07 +01:00 |
stefan schippers
|
dbc123e8cc
|
Make joanne fix for SPICE_DATA preprocessor macro comparison apply for unix as well
|
2023-02-27 22:32:28 +01:00 |
stefan schippers
|
c908c77351
|
remove dbg message
|
2023-02-26 23:46:54 +01:00 |
stefan schippers
|
32288e056e
|
fix xschem fullxzoom command (missing setup_graph command)
|
2023-02-26 23:33:07 +01:00 |
stefan schippers
|
3b41a486f6
|
avoid executing fullyzoom xschem command if no data loaded
|
2023-02-26 13:56:52 +01:00 |
stefan schippers
|
0a015f25db
|
add create_graph.tcl example procedure
|
2023-02-26 13:39:57 +01:00 |
stefan schippers
|
94fee133ca
|
add commands xschem setprop rect 2 <n> fullxzoom and fullyzoom
|
2023-02-26 13:07:14 +01:00 |
stefan schippers
|
b162ecdf48
|
remove unused parameter in setup_graph_data()
|
2023-02-26 11:22:19 +01:00 |
stefan schippers
|
f75ed4827b
|
fix xschem load command (dont get fooled by .sym extension, could not be a symbol). Always load as a schematic (sym and sch are the same thing
|
2023-02-22 23:27:50 +01:00 |
stefan schippers
|
a3263aca0b
|
refactor some variable names in waves_callback()
|
2023-02-21 16:47:40 +01:00 |
stefan schippers
|
a8aaf996e7
|
use pre-increment where expression is not used
|
2023-02-18 09:44:11 +01:00 |
stefan schippers
|
c5261a2ff6
|
formatting code
|
2023-02-13 12:18:47 +01:00 |
stefan schippers
|
9e7f67aca6
|
more robust my_atof and my_atod
|
2023-02-13 10:38:31 +01:00 |
stefan schippers
|
67c5cced1e
|
code formatting
|
2023-02-12 13:41:26 +01:00 |
stefan schippers
|
1aaa48a75b
|
3x faster table_read() on big data
|
2023-02-12 13:36:03 +01:00 |
stefan schippers
|
6c22c47975
|
added fast newline count routine count_lines_bytes()
|
2023-02-12 00:53:48 +01:00 |
stefan schippers
|
f5676f0d16
|
table_read() optimized for speed
|
2023-02-11 12:44:38 +01:00 |
stefan schippers
|
f0a359e65a
|
better xschem table_read command implementation
|
2023-02-10 18:08:45 +01:00 |
stefan schippers
|
c51f007da3
|
table_read(): skip initial empty lines, allow 2 or more blank lines for new dataset
|
2023-02-10 03:36:29 +01:00 |
stefan schippers
|
33c2c2d1b2
|
Some cleanups in raw_read() and table_read()
|
2023-02-09 21:17:31 +01:00 |
stefan schippers
|
42c3024eda
|
remove debug allocation IDs
|
2023-02-09 21:06:27 +01:00 |
stefan schippers
|
3be9a66aed
|
fix memory leak in table_read()
|
2023-02-09 21:04:22 +01:00 |
stefan schippers
|
c882a34825
|
add table_read() function to read simulation data in ascii tabular form
|
2023-02-09 20:53:16 +01:00 |
stefan schippers
|
e5227d6a31
|
rename top_subckt to lvs_netlist (more appropriate), better tcp interface (redirect stdout to socket in addition to command return value)
|
2023-02-09 11:30:27 +01:00 |
stefan schippers
|
44ee2b593f
|
added "s" bindkey in graphs to swap "a" and "b" cursors
|
2023-02-08 04:13:50 +01:00 |
stefan schippers
|
09868a0782
|
put a typedef in xschem.h to avoid duplicate declarations. add env tcl to global list in proc simulate
|
2023-02-06 14:36:24 +01:00 |
stefan schippers
|
6e524624e7
|
fix wrong closest wave finding ("t" keybind in graphs)
|
2023-02-03 03:35:55 +01:00 |
stefan schippers
|
b2f1a22936
|
added command xschem hilight_instname
|
2023-02-01 17:47:45 +01:00 |
stefan schippers
|
29ef08e84b
|
better memory tracking reporting (my_strcat and my_strncat allocations)
|
2023-02-01 11:38:28 +01:00 |
stefan schippers
|
baca559ffc
|
refactor some code (use set_text_flags() to avoid repetitive code), add xschem setprop text and xschem getprop text commands to set/get text attributes
|
2023-02-01 00:23:33 +01:00 |
stefan schippers
|
7ebb79c2ea
|
get rid of stdint.h in postscript jpeg export code
|
2023-01-25 02:25:24 +01:00 |
stefan schippers
|
23378b8708
|
replace u_int32_t with unsigned int in save.c
|
2023-01-24 01:46:26 +01:00 |
stefan schippers
|
48549f1212
|
update test schematics
|
2023-01-23 18:23:18 +01:00 |
stefan schippers
|
1da5e47d4a
|
remove my*() allocation routines unique IDs and replace with _ALLOC_ID_ macro, to be substituted in debug sessions with create_alloc_ids.awk
|
2023-01-23 15:42:15 +01:00 |
stefan schippers
|
5c59b69865
|
add _ALLOC_ID_ macro
|
2023-01-23 15:07:15 +01:00 |
stefan schippers
|
41b7bfb580
|
remove dbg messge in track_memory.awk
|
2023-01-23 13:27:10 +01:00 |
stefan schippers
|
3043989196
|
fix debug test
|
2023-01-23 12:17:47 +01:00 |
stefan schippers
|
fd8f1e6b97
|
fix a regression in track_memory.awk (did not show leaking source code line)
|
2023-01-23 12:16:29 +01:00 |
stefan schippers
|
cffe91146e
|
free paddedData pointer in ascii85_encode()
|
2023-01-23 11:55:52 +01:00 |
stefan schippers
|
9b6b7bc19a
|
Fix some compiler warnings and add a little optimization in ascii85 encoder
|
2023-01-23 11:49:08 +01:00 |
rafmag
|
9e027fc46c
|
Missing #endif after merge
|
2023-01-22 19:51:38 -07:00 |
rafmag
|
898f229c61
|
Merge branch 'master' of https://github.com/rafmag/xschem
|
2023-01-22 19:44:58 -07:00 |
rafmag
|
9c83801d8f
|
Added Ascii85Encoding for better formated & smaller PS files.
|
2023-01-22 19:35:10 -07:00 |
stefan schippers
|
d7ddb17a50
|
revert and fix regression (graphical artifacts due to wrong change_linewidth()
|
2023-01-22 00:21:46 +01:00 |
stefan schippers
|
d3c6bf3c6e
|
add postscript quality attrs to some example schematics
|
2023-01-21 23:47:43 +01:00 |
stefan schippers
|
6af6079084
|
set line buffering when stderr redirected to file
|
2023-01-20 18:25:43 +01:00 |
stefan schippers
|
c8a60b4ee4
|
better image bbox calculation for svg and ps
|
2023-01-20 13:25:23 +01:00 |
stefan schippers
|
90bc0fa572
|
"preserve unchanged props" will be automatically checked when editing attributes on multiple object selection and unchecked on single object selection as this is the 99.9% use case
|
2023-01-20 00:35:24 +01:00 |
stefan schippers
|
6f6bd65035
|
fflush() all stdio buffers before calling fork(). End child processes with _exit() instead of exit() to avoid double fflushing in parent i/o streams
|
2023-01-19 02:46:45 +01:00 |
stefan schippers
|
49135f3f2e
|
added jpeg_quality attribute that can be used in images / graphs to specify the quality factor of jpg embedded images in ps export. If unspecified quality=100 is used. A value of 25 results in 6x smaller files and acceptable results, so it is worth using a quality factor less than 100
|
2023-01-18 04:09:30 +01:00 |
stefan schippers
|
69aef1ffce
|
added libjpeg detection code, so postscript image embedding will be disabled if libjpeg not present
|
2023-01-18 03:33:28 +01:00 |
stefan schippers
|
e06bfe5191
|
remove some debug changes
|
2023-01-18 01:17:46 +01:00 |
stefan schippers
|
03b2b8652e
|
fixed filter_data routine that was clobbering ps export file, now ps output is correct without the need to add fflush() functions, that are thus removed in psprint.c
|
2023-01-18 00:24:28 +01:00 |
stefan schippers
|
af0ddb76f0
|
cleanups, remove redundant png_reader() definition
|
2023-01-17 01:23:34 +01:00 |
stefan schippers
|
b6200abb5a
|
removed untracked files
|
2023-01-16 21:12:46 +01:00 |
rafmag
|
023089c0e4
|
Fixes after merge
|
2023-01-16 11:54:39 -07:00 |
rafmag
|
9194440e3b
|
Merge branch 'master' of https://github.com/rafmag/xschem
|
2023-01-16 11:54:12 -07:00 |
rafmag
|
9105bef5f5
|
Fixed issues with rotating and fliping images + other bugs
|
2023-01-16 11:33:59 -07:00 |
stefan schippers
|
fba0db0c2d
|
fix corrupted postscript generation on test_images3.sch. Need to investigate why fflush()es are needed. in psprint.c
|
2023-01-16 18:06:50 +01:00 |
stefan schippers
|
4c59008bc5
|
ps/pdf ecxport: dont print rectangle frames around images
|
2023-01-16 16:46:57 +01:00 |
stefan schippers
|
9a59679dcf
|
use cairo_image_surface_write_to_jpeg_mem() instead of cairo_image_surface_write_to_jpeg(), avoid temp files
|
2023-01-16 16:31:18 +01:00 |
stefan schippers
|
2ea5c7af04
|
use my_free/my_malloc for memory leak checks
|
2023-01-16 15:26:07 +01:00 |
stefan schippers
|
5cae589e33
|
psprint.c: fix some compiler warnings
|
2023-01-16 13:51:35 +01:00 |
rafmag
|
5faefbdf8d
|
sync changes
|
2023-01-16 05:47:18 -07:00 |
Rafmag Cabrera
|
588fcb22ad
|
Merge branch 'StefanSchippers:master' into master
|
2023-01-16 12:37:35 +00:00 |
stefan schippers
|
249fdd69a2
|
temporary fix for building xschem. Some warnings due to rev >c89 to be fixed, and proper detection of libjpeg must be added
|
2023-01-16 12:21:35 +01:00 |
stefan schippers
|
0627791cc1
|
removed unecessary files
|
2023-01-16 10:40:12 +01:00 |
Rafmag Cabrera
|
0570c5d21b
|
Delete Makefile
|
2023-01-16 10:35:29 +01:00 |
rafmag
|
7aa2379a4a
|
Moved temp.jpg to tmp folder
|
2023-01-16 10:35:29 +01:00 |
rafmag
|
06840efac0
|
Added png and embedded graphs to ps and pdf export
|
2023-01-16 10:35:29 +01:00 |
Rafmag Cabrera
|
7e3133804b
|
Delete Makefile
|
2023-01-15 22:28:34 -07:00 |
rafmag
|
7b80287b75
|
Moved temp.jpg to tmp folder
|
2023-01-15 22:00:45 -07:00 |
rafmag
|
e29bfe2c98
|
Added png and embedded graphs to ps and pdf export
|
2023-01-15 21:34:43 -07:00 |
stefan schippers
|
2fa0155ca6
|
fix inutile template procedure call
|
2023-01-12 16:33:59 +01:00 |
stefan schippers
|
115f0fdf0c
|
improve cairo draw options
|
2023-01-11 12:02:21 +01:00 |
stefan schippers
|
4c0d5023f5
|
allow 0 width lines (faster device dependent implementation) if user defined line width is set (to 0), add devices/title-3.sym
|
2023-01-07 11:28:28 +01:00 |
stefan schippers
|
709c37429d
|
Add description for keybinding (Shift-B) of "Properties->Edit header/license text"
|
2023-01-03 18:27:11 +01:00 |
Stefan Schippers
|
479b8ef6e9
|
add accelerator Shift-B for edit schematic header/license
|
2023-01-02 19:34:27 +01:00 |
stefan schippers
|
329d472d56
|
add installation of icon.xpm into .../share/xschem installation directory
|
2023-01-02 12:43:23 +01:00 |
stefan schippers
|
19757ddd8a
|
add menu properties -> Edit header/License text, to allow inserting header or license metadata into the sch/sym file.
|
2023-01-02 03:04:35 +01:00 |
stefan schippers
|
cee4d218e2
|
use "configure -cursor {}" instead of "configure -cursor arrow" to switch back mouse cursor to default when exiting graph
|
2022-12-31 10:22:41 +01:00 |
stefan schippers
|
aa70d90c46
|
fix cairo font reference counting
|
2022-12-25 23:13:59 +01:00 |
stefan schippers
|
75fbb76543
|
optimization: split cairo font creation into create + set
|
2022-12-25 10:42:07 +01:00 |
stefan schippers
|
1f76b297db
|
allow schematic="tcleval([tcl_proc @symname])" for runtime schematic selection when descending into a symbol. tcl_proc might return a schematic candidate associated to @symname depending on some user setting
|
2022-12-20 02:21:48 +01:00 |
stefan schippers
|
9fa05afad9
|
fix a bug when loading multiple AC sim datasets (wrong nvars calculation, has to be doubled due to Im/Re complex components)
|
2022-12-20 01:01:58 +01:00 |
stefan schippers
|
2cb58c5c5c
|
added generators/ dir, removed redundant variable in load_schematic()
|
2022-12-19 23:05:09 +01:00 |
stefan schippers
|
1a76f89464
|
added xschem_library/generators directory for future schematic/symbol generator scripts. Handle empty XSCHEM_LIBRARY_PATH (use [pwd]).
|
2022-12-18 13:03:38 +01:00 |