Commit Graph

3047 Commits

Author SHA1 Message Date
stefan schippers 916027ddba cleanup code for add and delete waves in graphdialog 2025-09-22 17:33:28 +02:00
stefan schippers 70ee45f812 add Del button in graphdialog: better undo handling 2025-09-22 16:56:32 +02:00
stefan schippers 9277a844e5 add Del button in graphdialog to delete a wave preserving colors of all others 2025-09-22 16:51:38 +02:00
stefan schippers c41d4a42ba make wave change color undoable 2025-09-22 15:37:20 +02:00
stefan schippers f6b05b15e1 in graphdialog move colors above Add: button 2025-09-22 15:18:56 +02:00
stefan schippers ac4e7fc7fb inserting a wave with Add button in graphdialog will preserve previous wave colors 2025-09-22 14:23:27 +02:00
stefan schippers bd0e07fbe7 proc graph_tag_nodes: better tagging of multi-line nodes that use escaped newlines 2025-09-22 12:06:12 +02:00
stefan schippers 65fe79e621 refactor proc graphdialog_set_raw_props to proc graph_set_raw_props 2025-09-22 10:56:05 +02:00
stefan schippers ba259b751d descend instance in case of vectored instances. Pressing Cancel when asked which instance to descend into aborts instead of descending into first instance 2025-09-22 10:21:50 +02:00
stefan schippers ad9ad03810 proc traversal: better show indentation of sub blocks 2025-09-21 23:42:04 +02:00
stefan schippers c67aa48c03 send_net_to_graph(): resolve ports of subcircuits to topmost net names 2025-09-21 23:02:17 +02:00
stefan schippers 356b9fb008 small layer color changes 2025-09-21 14:58:16 +02:00
stefan schippers e4dac334a9 show all layers (including layers 0,1,2,3) in wave dialog box 2025-09-21 08:07:16 +02:00
stefan schippers 9f11ff4924 minimum width of bold waveforms set to 2*tk_scaling, so will be visible even if zoomed out a lot 2025-09-20 21:58:36 +02:00
stefan schippers cfff96093d fix crash if doing alt-g on a subschematic port and no raw file loaded (send_net_to_graph()) 2025-09-20 09:28:33 +02:00
stefan schippers ca786b60ab fix error "invalid command name .processlist.f2.lib" in process list and status view 2025-09-19 23:34:35 +02:00
stefan schippers 4428c2ab67 find_closest_box(): allow selection of rectangles if clicking close (close-in or close-out) to the rectangle border. 2025-09-19 23:11:24 +02:00
stefan schippers 318323267c some comments in spice.awk 2025-09-19 18:42:47 +02:00
stefan schippers 2d81de2166 remove old stuff from spectre.awk (was from spice.awk, irrelevant for spectre) 2025-09-19 18:28:42 +02:00
stefan schippers 46ffdfcf8c preserve indentation (if present in spectre_forat attr) in spectre netlists 2025-09-19 18:03:19 +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 1f52d630f5 better distance threshold tuning for object selection 2025-09-15 09:18:25 +02:00
stefan schippers 987faa1a41 set tk_scaling C variable global, updated in draw(), caching tcl tk_scaling variable, add tk_scaling in threshold expression in find_closest_*() functions 2025-09-15 01:38:10 +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 17c5d229db fix Tab key moving focus (as per tk default action) to avoid having focus changed (keyboard not working any more in canvas) if Ctrl-Tab is pressed to switch to previous tab 2025-09-13 10:16:23 +02:00
stefan schippers 44a80ed200 rename open_in_new_window_or_tab to open_in_new_window 2025-09-12 12:47:05 +02:00
stefan schippers 2bd0cd3e4b fix: open_in_new_window_or_tab TCL var should be unique (no one per window context) 2025-09-12 12:41:09 +02:00
stefan schippers 1b3d0dd9f6 add xschemrc variable open_in_new_window_or_tab (default: 0) to let File->Open open in a new tab/window 2025-09-12 12:16:47 +02:00
stefan schippers 60f5f7f291 when closing a tab switch to previous instead of first tab 2025-09-12 11:23:41 +02:00
stefan schippers c87b6aeb2e fix typo in eval_expr.y: add tan() function (was exp() due to copy/paste error) 2025-09-11 09:02:28 +02:00
stefan schippers e37aed78c9 global namespace cleanup (retval, retval_orig) 2025-09-11 00:23:03 +02:00
stefan schippers 20bccdc589 global attribute editing: add a Mode: combobox to select the global attribute to change: spice/vhdl/verilog/symbol/.... 2025-09-10 19:26:25 +02:00
stefan schippers e5a3ac19b8 move.c: better debug msg 2025-09-10 15:06:15 +02:00
stefan schippers 37d41151bc right use of tk_scaling in sticky click + move 2025-09-10 13:49:27 +02:00
stefan schippers c301a5ed67 increase debug level of some unimportant messages 2025-09-10 13:04:07 +02:00
stefan schippers 43109725fd remove debug event printouts 2025-09-10 10:31:36 +02:00
stefan schippers bd477bcf23 tcl 8.4: avoid -nolinestop, do not pack combobox labels in dialogs 2025-09-10 09:53:12 +02:00
stefan schippers e7ed61a6b0 avoid use of -tabstyle for tcl-tk 8.4 2025-09-10 08:09:09 +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 3efe7bfbec button3 right click on signal names in graphs works now better, no context menu in the way. 2025-09-09 00:09:29 +02:00
stefan schippers aa493783ac better inner border selection area for graphs, easier to right click on signal names 2025-09-08 09:54:57 +02:00
stefan schippers b72c6885b9 xschem show_unconnected_pins: hilight unconnecteds even if netlist not extrated or hilights cleared after netlisting 2025-09-07 15:42:43 +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 04f2586c9c fix previous commit: do not affect ctrl-shift drag (move adding wires in separated pins) 2025-09-07 00:27:12 +02:00
stefan schippers f6565977dc intuitive interface. Set xctx->mouse_moved if movement is above a certain threshold in *screen* units (actally 10pixels * tk_scaling). This avoids unintended click + move, when user just wants to click an instance. 2025-09-06 12:42:53 +02:00
stefan schippers 78fdab27fc fix typo in "".menubar entryconfigure Simulate -background" in actions.c:set_modify() 2025-09-02 21:31:08 +02:00
stefan schippers 37d74d4470 comment out a focus line in "proc set_bindings" as it prevents from focusing snap and grid entries. Will check if someone has issues with main canvas focus 2025-09-02 15:25:36 +02:00
stefan schippers 649eae6ac3 hierarchical ps/pdf export: fix embedded images rendering in sub schematics down in hierarchy 2025-09-02 02:12:47 +02:00
stefan schippers 465e715e48 add info (*BUSY*) in status bar if xschem is busy (for now: when doing logic simulation) 2025-08-28 10:00:21 +02:00
stefan schippers 7c013d2fee allow to add attribute select=attr_name also in instances to override symbol setting, will pre-select attr_name value when editing component attributes 2025-08-26 10:57:57 +02:00
stefan schippers 3e3f4bfef1 adding select=attr_name in a symbol will select the text of attr_name value when editing attributes of a placed instance of the symbol. Specifying select=* will select all the text. If select attribute in symbol is not present try to select "value, lab, name" in this order, if found. Also select all text in text objects when editing their content. 2025-08-26 10:46:50 +02:00
stefan schippers 48968f0e71 Fix: aborting a ctrl-v (paste) with escape did leave copied objects on top of previous if no second Esc was pressed 2025-08-25 09:43:34 +02:00
stefan schippers 010a31d779 easier selection of graph rectangles (click inner border), add graph resize in intuitive_interface_cheatsheet.sch 2025-08-24 17:41:00 +02:00
stefan schippers 5338deac78 add erc_open_net_is_error and erc_shorted_output_is_error xschemrc variables to turn related ERC warnings into errors (force popup ERC window) 2025-08-23 00:35:27 +02:00
stefan schippers a9e4bc1300 add `y`or `Return` and `n` hotkeys to dismiss ask save confirmation dialog 2025-08-23 00:11:10 +02:00
stefan schippers 3b08bf8f7c add Esc binding for closing view data dialogs. Add no_ask_simulate variable to avoid asking confirmation to simulate 2025-08-22 23:55:40 +02:00
stefan schippers d6d39bdb5f proc swap_tabs: fix B1-Motion event clear 2025-08-22 15:44:15 +02:00
stefan schippers f27d4b9773 ctrl-Tab: toggle to previously active tab: make it work also after new tab creation 2025-08-22 15:39:19 +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 61517b388f remove debug msg 2025-08-22 10:05:48 +02:00
stefan schippers d6c8ab2efc add visual feedback when dragging tabs 2025-08-22 10:04:53 +02:00
stefan schippers e64f76a4fd avoid additional "escape char eating" when rendering symbol texts (translate() + translate3() ) 2025-08-22 00:08:22 +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 3b104995fc check if cursor-b is enabled before annotating cursor-b position after descending schematic 2025-08-21 20:49:57 +02:00
stefan schippers 07e79908f1 add Ctrl-Tab and Ctrl-Shift-Tab as aliases to ctrl-Right and ctrl-Left (switch tabs), also add wrap around (last->first or first->last). 2025-08-21 10:23:58 +02:00
stefan schippers d778a738b2 add "Waves->Load first analysis found" so xschem will load first section found in raw file (and matching following ones if any) 2025-08-20 08:53:50 +02:00
stefan schippers 0657c44e02 select by area or select by touch: select also attached objects as done in select by click or select all 2025-08-20 08:37:47 +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 24ff9ab8f0 xinit.c: source tcl_files before calling load_schematic(), so "load_file_postprocess" (that is triggered by load_schematic() will work (supplied scripts are already loaded) when starting xschem 2025-08-09 10:41:03 +02:00
stefan schippers 6bf4fd4da6 vector unnamed nets are set as net%d_[%d..0] instead of net%d[%d:0] so they are compatible with spice and Vacask 2025-08-03 00:15:57 +02:00
stefan schippers 46fdeb2fd4 additions for VACASK backannotation (vsource currents). nmos4.sym updated to support Spectre netlist (Vacask simulation) 2025-08-02 12:40:43 +02:00
stefan schippers 4cf22d61a5 bump file_version to 1.3 from 1.2 (Spectre global attribute F {...}) 2025-08-01 10:37:18 +02:00
stefan schippers 06dfef3876 fix spectre.awk postprocessor (subckt instead of spice .subckt) 2025-08-01 09:52:41 +02:00
stefan schippers 68f84ea9f2 other small improvements in XSCHEM_SHAREDIR buildup in xinit.c 2025-07-28 00:12:21 +02:00
stefan schippers 9e22068651 small improvements in XSCHEM_SHAREDIR path building ( Check installed location (/path/to/bin/../share/xschem -> /path/to/share/xschem)) 2025-07-28 00:04:38 +02:00
stefan schippers 957dba4c30 if src/xschem is invoked do in-src execution even if called outside teh src/ dir 2025-07-27 10:34:24 +02:00
stefan schippers edcd141a22 updates for Vacask netlister 2025-07-25 14:53:15 +02:00
stefan schippers 6f6f4a3028 allow @model as alternative to @symname in format strings (format and spectre_format) of subcircuit symbols, where "model=something" is given in symbol template string. This allows to use subcircuit with name that is different from the filename. 2025-07-21 08:31:42 +02:00
stefan schippers aa99f1b174 add "spectre_device_model" attr in spectre netlister code 2025-07-21 07:57:14 +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 f5bd459082 add new xschemrc global variable "load_file_postprocess" that might contain tcl commands to be executed whenever a new file is loaded. 2025-07-09 10:37:18 +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 ec57806816 spice.awk: allow to expand nodes placed after an = sign as in some cdl netlists: $SUB=@@B --> $SUB=?1 B --> spice.awk --> $SUB=B 2025-05-30 21:16:48 +02:00
stefan schippers 96d2e56b53 add expr_eng(...) in addition to expr(...) to return result in engineering notation (like 3.2u) 2025-05-30 00:37:27 +02:00
stefan schippers b4283563d0 fix from_eng proc (meg was not handled correctly) 2025-05-29 21:09:43 +02:00
stefan schippers d123768fed fix from_eng proc (a comment added breaks the switch construct) 2025-05-29 21:04:47 +02:00
stefan schippers dcc64636cf propagate highlighted global nets when navigating the hierarchy 2025-05-27 09:39:06 +02:00
stefan schippers 44cbe7a9fc if selecting an element in stretch mode ("y" key) attached nets will also be (partially) selected. However allow to descend into instance. 2025-05-26 21:18:26 +02:00
stefan schippers a534218c5a completion of previous fix 2025-05-26 00:25:59 +02:00
stefan schippers c2a3c48228 make raw file selector invoked from graphdialog always on top of it (use -parent option) 2025-05-26 00:09:23 +02:00
stefan schippers ac629b62be fix again parameter substitution in instance symbol specialization (schematic=... in instance) 2025-05-22 10:02:38 +02:00
stefan schippers ee693aa49c revert calculation of expressions and parameter resolution in instance based symbol specializations. So multiple instances with same schematic=... attribute and different parameters (like WN=... WP=.... etc) can be used. 2025-05-21 01:54:46 +02:00
stefan schippers adbb3cd58d Use has_token() instead of strstr when checking token against (parent_sym_extra 2025-05-20 10:18:11 +02:00
stefan schippers 28dd3f2013 print_spice_element(): do not substitute "extra" pins in format string (like @body) with body=xxx given in parent symbol instance attributes 2025-05-20 02:51:52 +02:00
stefan schippers 9990e1b9d8 Bump Head version to 3.4.8RC 2025-05-16 16:02:47 +02:00