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 |