Commit Graph

674 Commits

Author SHA1 Message Date
stefan schippers 136a61b4fc various enhancements / fixes in file_chooser; removed new_file_browser_paths 2025-10-05 12:38:24 +02:00
stefan schippers 56019e3e31 new file browser (proc file_chooser) refactor with many improvements, enabled with "set new_file_browser 1" 2025-10-05 03:01:37 +02:00
stefan schippers 15c141a480 removed unneeded Shift-Backspace and Ctrl-Backspace keybindings, add Ctrl-Shift-T for open last closed (Ctrl-Shift-O already opens most recent). Tcl var "open_in_new_window" will open in new tab/windows as does ctrl-o 2025-09-29 23:30:31 +02:00
stefan schippers 50c593ed65 various fixes about "lastopened" and "lastclosed" file load options 2025-09-29 13:38:52 +02:00
stefan schippers 2195596902 implement -lastclosed and -lastopened options in "xschem load" and "xschem load_new_window" commands 2025-09-29 09:28:24 +02:00
stefan schippers bdd09f2db2 add cli options --lastclosed and --lastopened, as well as gui commands Shift-Backspace and Ctrl-Backspace to load last closed or last opened schematic respectively 2025-09-28 23:47:45 +02:00
stefan schippers 63d1897050 various fixes in persistent window geometry save 2025-09-27 03:15:43 +02:00
stefan schippers 05e7f36148 replace const string literal XSCHEM_LIBRARY_PATH with array of const string literals, one per path, to get rid of C89 509 character limit 2025-09-26 15:57:40 +02:00
stefan schippers 916027ddba cleanup code for add and delete waves in graphdialog 2025-09-22 17:33:28 +02:00
stefan schippers 92bc9cad34 some fixes for gcc-15 (-std=c23), smaller threshold for click & move that will abort move, added smaller verilog cosim example (tb_counter_wrapper.sch), arbitrary top level names allowed in create_new_window() and switch_window() (no tabbed interface) 2025-09-19 14:18:06 +02:00
stefan schippers ee920560ff update docs for new bindkeys 2025-09-13 11:06:00 +02:00
stefan schippers dbdfb3015e implement Alt-o and menu "File->Open in new window" 2025-09-13 10:46:14 +02:00
stefan schippers 1a898f63ef proc is_xschem_file: if symbol contains instances of "logo" or "launcher" type do not consider it as a schematic. add "xschem get_sym_type" command 2025-09-09 11:24:39 +02:00
stefan schippers 458de325cc add command "xschem attach_labels 2" to attach lab_show.sym on selected component with unconnected pins, add command "xschem show_unconnected_pins" to add to all instances, added also in Highlight menu 2025-09-07 13:06:47 +02:00
stefan schippers fc6fefff35 ctrl-Tab: toggle to previously active tab (only tabbed i/f) 2025-08-22 12:09:04 +02:00
stefan schippers 3c65268de6 do not backannotate if cursor_b is not enabled when swapping or setting with CLI the cursor_b position 2025-08-21 21:18:35 +02:00
stefan schippers 854b0969a7 fix "xschem get netlist_name" command for spectre (.spectre ext instead of .sim) 2025-08-19 12:04:20 +02:00
stefan schippers 059ac92695 fix catch command in tclvareval(....menubar entryconfigure ...) commands 2025-08-19 09:00:09 +02:00
stefan schippers cd41540c5d record_global_node(): handle ground nodes (spectre netlist only); use global=ground for nodes that need to be declared as ground nodes. Ground nodes in Spectre netlist are also considered global 2025-08-19 08:37:33 +02:00
stefan schippers 7e20ea0127 catch all calls to .menubar entruconfigure commands to change bg color of buttons to avoid errors if buttons are removed 2025-08-09 10:57:17 +02:00
stefan schippers 5a3c97d64e add vccs_limit.sym and vcvs_limit.sym that use the XSPICE limit code model (saturated controlled sources). [WIP] support for spectre netlist format (for the VACASK simulator) - still incomplete 2025-07-16 00:12:26 +02:00
stefan schippers 8fe82cf4ce set netlist_dir if unset or empty before netlisting, add env(PDK) and env(PDK_ROOT) to list of tcl preserved globals in ctx switch 2025-07-02 11:18:20 +02:00
stefan schippers 2300597ca3 propagate hilight nets when descending with "Alt-e" (in new window or tab) - ***needs some testing*** 2025-06-23 09:39:46 +02:00
stefan schippers 0f49e3cda7 Make xschem build with configure option --CFLAGS="-std=c23" (prepare for gcc-15 issues) 2025-05-01 23:52:53 +02:00
stefan schippers 6af59cb3fb reset alloc IDs 2025-04-18 02:02:15 +02:00
stefan schippers dbac25433c `/` command (show bindkeys) will use a toplevel window instead of fullscreen 2025-04-18 02:00:08 +02:00
stefan schippers f22307afad `xschem raw clear` command: allow to specify a number `n`; delete the`n-th` raw file 2025-04-14 10:00:33 +02:00
stefan schippers ff1c506b5d `xschem netlist`: do not clear keep_symbols if no -keep_symbol option is given 2025-04-04 10:12:12 +02:00
stefan schippers 4a1b1483b9 code cleanups ("schematic" attribute) 2025-04-04 00:35:54 +02:00
stefan schippers d19ad57ee1 allow to change tcl flag `lvs_netlist` at runtime (just before netlist generation) , not only at xschem startup 2025-04-03 16:57:49 +02:00
stefan schippers 320aa96f98 fix regression: constrained move (V/H) when creating polygons 2025-04-03 01:54:21 +02:00
stefan schippers ce8714acae add new_file_browser_* variables in xschemrc to allow new symbol browser to be used also to load files 2025-03-19 00:45:25 +01:00
stefan schippers 0f5c554e33 add command `xschem get ui_state`, improvements in proc insert_symbol 2025-03-12 02:00:45 +01:00
stefan schippers e1488da407 add `xschem rect gui`, `xschem line gui`, `xschem polygon gui`, `xschem wire gui` to start placement of these objects with 1st point set to mouse coordinates 2025-03-11 20:47:00 +01:00
stefan schippers de6434c941 allow multi-selections when loading a file; limit max line width in change_linewidth() to avoid strange artifacts at extreme zoom-ins 2025-03-09 02:46:58 +01:00
stefan schippers 2f1643368e add command `xschem raw rename old_node new_node` 2025-03-08 21:14:46 +01:00
stefan schippers eb99123a49 `xschem load` command: allow multiple files to be loaded 2025-03-06 20:47:49 +01:00
stefan schippers f9ccf878c2 differential scope2.sym, current mwasure scope_ammeter.sym 2025-02-24 15:23:35 +01:00
stefan schippers b205b4a496 fix ui problem when ctrl-clicking a launcher (drag_elements remained set) 2025-02-23 23:49:31 +01:00
stefan schippers 81c3d64778 (2) changed some *attached*() function names for sonsistency 2025-02-22 19:40:04 +01:00
stefan schippers 6f0133a1b2 changed some *attached*() function names for sonsistency 2025-02-22 19:38:05 +01:00
stefan schippers e266642c2c lock attribute extended to all objects 2025-02-22 12:47:54 +01:00
stefan schippers 935ec27772 floater objects: add command ctrl-u to unselect attached (so some instance with the attach=.. attribute) objects, that is objects (not element instances) with a non empty name=... atttribute. Extend upcate references of attached floaters to change instance name property and `xschem setprop instance name` command 2025-02-22 01:30:38 +01:00
stefan schippers fc3a3ed4e0 add proc cinv (complex inversion) 2025-02-18 17:45:09 +01:00
stefan schippers 25db8b8f9a ellipses rendered in ps/pdf export. Do not allow to select objects with mouse button press if a poligon insertion is ongoing. my_fopen() for read mode open, check for regular file. More checks for failed fopen()s. 2025-02-18 02:25:55 +01:00
stefan schippers cefd320ef6 complete previous `xschem load_symbol` command 2025-02-15 01:33:13 +01:00
stefan schippers 279d24288d proc rel_sym_path: resolve ~/... or relative paths (by prepending HOME or PWD) to input path before calculating relative symbol path. Added command `xschem load_symbol` 2025-02-15 00:50:02 +01:00
stefan schippers bc293a1d8f fix some warnings (-Wdeprecated-non-prototype, -Wparentheses-equality) 2025-02-12 03:14:45 +01:00
stefan schippers b5eb81c107 updates in proc cellview 2025-02-10 13:44:12 +01:00
stefan schippers 188e73cf8b place_symbol() and proc is_xschem_file: if /path/to/gen.tcl(arg1,arg2,arg3) is given remove (...) argument list before checking existence of generator file. Do not add () to generator filename if argument list already given. Do not include hidden texts in schematic boundbox for full zoom if show hidden_texts is not enabled. draw_graph(): do not wrap graphs using sweepvar_wrap if not dc (this includes: do not wrap multi-point OP sims). print_spice_element(): better @param lookup in instance prop_ptr, symbol template, parent instance prop_ptr (if instance based "additional" symbol) and parent instance symbol template string (use translate3()) 2025-02-09 02:46:45 +01:00