Commit Graph

2036 Commits

Author SHA1 Message Date
stefan schippers e25ded5e74 expandlabel(): if a node name begins with `$` assume it will be processed downstream by some scripts. Don`t expand anything 2023-11-28 12:24:43 +01:00
stefan schippers 28bf3b57cf rename some myload_* stuff to file_dialog_* 2023-11-27 15:08:15 +01:00
stefan schippers 4e650811db fix proc ev and proc evo not evaluating correctly braced {...} expressions 2023-11-27 12:42:49 +01:00
stefan schippers fdc3ceefeb vsource.sym and ammeter.sym no more use tcleval() to handle @savecurrent attribute (calling tcleval() is overkill for such a trivial task and may expose to side effects if $ (and other) characters are used ) 2023-11-27 12:13:53 +01:00
stefan schippers 26fbb82f6b fix unwanted head_undo_ptr change when doing a netlist. Add current backannotation info in capa.sym, ind.sym, isource.sym, isource_table.sym 2023-11-27 00:01:45 +01:00
stefan schippers c4e9310d45 allow to load raw files even if netlist type set to `symbol`. Better to_eng function, `xschem raw_query value node {}` returns value at cursor b position 2023-11-26 12:54:37 +01:00
stefan schippers 1dfca8e256 add file_dialog default_geometry variable to set file / component selector initial size. Better panes width allocation and stretching 2023-11-25 23:44:09 +01:00
stefan schippers d71122bb68 update pv_ngspice.sch 2023-11-24 18:22:10 +01:00
stefan schippers 3449d25681 wm transient: set relative to parent window (which is not always `.` in windowed interface). 2023-11-23 22:24:52 +01:00
stefan schippers 1f4b437593 proc waves: set semaphore only for external viewers run in foreground 2023-11-23 00:28:09 +01:00
stefan schippers 7a5d649adc (2) fix wrong list of viewers in proc set_sim_defaults and unsetting semaphore in proc waves 2023-11-23 00:01:02 +01:00
stefan schippers 76540724df fix wrong list of viewers in proc set_sim_defaults and unsetting semaphore in proc waves 2023-11-22 23:50:17 +01:00
stefan schippers aafe94822a save_file_dialog: file filter by default set to `*` (show all files) 2023-11-22 01:41:16 +01:00
stefan schippers eb6f9f1f4e fix a small memory leak in spice_netlist.c 2023-11-21 10:48:56 +01:00
stefan schippers 8d155af82f `Alt-e` does a true descend sub-schematic and opens it in another window 2023-11-20 17:53:28 +01:00
stefan schippers d4cde62870 add draw option in schematic_in_new_window(), create_new_tab(), create_new_window() 2023-11-20 00:12:13 +01:00
stefan schippers 2c773c4a25 poweramp.sch and mos_power_ampli.sch updates 2023-11-19 12:52:57 +01:00
stefan schippers f4f61d23a6 comments added 2023-11-18 23:13:52 +01:00
stefan schippers 84d945238f `xschem annotate_op file [level]`: added `level` optional integer to specify the hierarchy level op raw data refers to. Add xschem set raw_level to modify the raw level loaded raw file refers to 2023-11-18 12:55:57 +01:00
stefan schippers 2c48b7399e update manual page for sky130 installation (switch from adms to openvaf) 2023-11-18 12:03:09 +01:00
stefan schippers 7da63c19e2 regression fix: xschem netlist did not return exit code 2023-11-18 01:49:50 +01:00
stefan schippers 2dac7f1735 added execute(exitcode,id) will not be deleted at end of sim. proc graph_tag_nodes works with or without graphdialog open. If it is open it will tag nodes therein, if not it merely returns start and end indexes of nodes in its txt argument 2023-11-17 21:36:34 +01:00
stefan schippers 41f66117e9 more code in proc graph_tag_nodes 2023-11-17 14:32:25 +01:00
stefan schippers 48a9a94ab2 offloaded proc graph_tag_nodes from proc graph_update_nodelist, moved rcode and colors into tctx:: context 2023-11-17 14:05:49 +01:00
stefan schippers 913614b558 some fixes in draw() (transform multiple op in dc sweep also if per-node rawfile specified), handle per-node rawfile in graph_fullyzoom() 2023-11-17 01:20:52 +01:00
stefan schippers 397293f227 spice netlist: use symbol for port list of top level schematic only if it is of type subcircuit 2023-11-16 23:37:16 +01:00
stefan schippers 760fbbbc4a allow newlines in (quoted) node names in graphs:
"alias_name;
node_name %
dataset raw_file.raw sim_type
"
2023-11-16 02:58:26 +01:00
stefan schippers a50bfb3622 when doing spice netlisting if top level has a symbol (and the symbol has i/o ports) use the symbol for printing the top level subckt port list. This ensures same port ordering when netlisting a testbench containing a component and netlisting the component itself. Tab context menu: open Symbol / open Schematic will use the search_schematic setting and search counterpart accordingly. 2023-11-16 01:26:55 +01:00
stefan schippers 5117001a9c revert changes: `allow tcleval() in node alias names` and `allow tcleval(xxxx) in % dataset specification on graph nodes`: just wrap the whole list of nodes (including aliases, % specifications et all) into a tcleval(...) 2023-11-16 00:02:25 +01:00
stefan schippers c85727ae62 draw_graph(): revert back tcleval() on node, color, sweep graph attrs 2023-11-15 21:27:05 +01:00
stefan schippers be914f4ee4 raw_read(): clear text floater caches if a rawfile is successfully read 2023-11-15 21:04:10 +01:00
stefan schippers b1f72ada59 isonlydigit() will return true also for negative integers 2023-11-15 20:15:02 +01:00
stefan schippers 83345932a5 allow to specify per-node raw file in graphs with the syntax: alias_name ; node_name % [dataset] [rawfile] [sim_type] 2023-11-15 19:18:28 +01:00
stefan schippers babd340da9 report previous netlist error also if doing current level only netlist 2023-11-15 00:32:41 +01:00
stefan schippers 5d3b7bd7d0 report error if trying to do a netlist and the file can not be written (example: broken simulation symlink) 2023-11-14 23:40:41 +01:00
stefan schippers 852f2bd25d remove dbg stuff 2023-11-14 02:15:07 +01:00
stefan schippers d0ee3a34fa fix additional intersection checks in `proc touches` 2023-11-14 02:12:23 +01:00
stefan schippers 8c431a51f8 allow to block change color of selected waves using text selection in signal list 2023-11-14 01:22:41 +01:00
stefan schippers b691021f66 typo in my_strdup2() dbg message 2023-11-13 23:52:50 +01:00
stefan schippers f4df48813f copy_hierarchy_data() initial implementation for future hierarchy cloning. Alt-Shift-E and Alt-Shift-I to edit schematic / symbol in a new xschem process. `xschem raw switch`: allow also integer index (as returned by `xschem raw info`) instead of `file type` to switch raw file 2023-11-13 18:00:30 +01:00
stefan schippers 0bc0f8e5eb read_dataset(): better get name of unknown sim types from raw file 2023-11-12 22:11:51 +01:00
stefan schippers 52291c562d reset_caches() back into prepare_netlist_structs() (no measurable slowdown) 2023-11-12 20:56:57 +01:00
stefan schippers 6360fc1700 refactor reset_flags() to reset_caches(). scripts that set tcl variables that go into attributes via tcleval() should call `xschem reset_caches` to get all things updated. 2023-11-12 20:53:37 +01:00
stefan schippers 0df3cfcc7b better recognize global nets in LCC schematics (translate(), @spice_get_voltage(..) ) 2023-11-12 13:43:31 +01:00
stefan schippers ecca0ba2be better swap_windows() function (used when closing a window in multi-window(non-tabbed) interface, resolved_net() recognize global nodes. remove static data from record_global_node(), put in xctx. Remove dead code from translate() (@spice_get_voltage) 2023-11-12 13:01:11 +01:00
Stefan Schippers 8c29d0e812 fix error in capa-2.sym and missing check for null xctx->inst[].instname in get_pin_attr() 2023-11-11 20:03:20 +01:00
stefan schippers 8856ab6e0d add min() and max() clipping functions in wave calculator 2023-11-11 12:13:38 +01:00
stefan schippers d4b8f25455 xschem raw_read just loads or reloads the waves, does not toggle. use xschem raw_clear to unload 2023-11-11 11:40:36 +01:00
stefan schippers f3aac428a4 fix rel_sym_path when XSCHEM_LIBTRARY_PATH contains paths with trailing `/` 2023-11-11 11:30:27 +01:00
stefan schippers bdd641cad3 allow tcleval(xxxx) in % dataset specification on graph nodes 2023-11-11 00:03:22 +01:00
stefan schippers 2a67e60376 allow tcleval() in node alias names 2023-11-10 23:42:09 +01:00
stefan schippers 117f071500 fix del() function in wave processor (did not plot the right %n dataset if specified) 2023-11-10 23:23:13 +01:00
stefan schippers 7368344d85 waves callback(): absolute X panning will not switch raw file if no rawfile is specified in graph 2023-11-10 18:50:58 +01:00
stefan schippers ccc5dab228 better wire connection dot sizing at small smap values 2023-11-10 17:43:41 +01:00
stefan schippers 1991b409e0 fix small memory leak 2023-11-10 15:43:36 +01:00
stefan schippers 3f85766c10 add debug_tcleval variable for specific debugging of tcleval() constructs in the schematic 2023-11-10 14:57:37 +01:00
stefan schippers 565ab605cf better xschem raw clear comand (if rawfile and sim_type specified delete only specified simulation data, not all analyses of rawfile) 2023-11-10 12:24:21 +01:00
stefan schippers 87f9a4e09b reset floater caches on save(As) schematic - better done 2023-11-09 19:20:17 +01:00
stefan schippers 1b737c4ac7 reset floater caches on save(As) schematic 2023-11-09 19:13:55 +01:00
stefan schippers 40e66122e8 typo in xschemrc 2023-11-09 17:32:25 +01:00
stefan schippers 769c7d4663 Add incremental_select tcl variable. It is normally set. If set show selected objects while dragging a selection rectangle. If unset show selection at end of drag operation. Fix possible endless loop whiel zooming on X axis if raw file has only one point (OP). Also if graph specifies custom plot switch to that raw file to get correct x range. 2023-11-09 16:41:53 +01:00
stefan schippers 8231cd65db set_first_sel(): returns first selected element (if any) 2023-11-09 15:12:56 +01:00
stefan schippers 584f88fba1 object iterator, object spatial hash table for all objects. tbu in the future maybe. Fix crashing bug when copying ngspice_probe.sym if annotation is enabled 2023-11-09 13:57:58 +01:00
stefan schippers 35359aed20 backannotate_at_cursor_b_pos(): allow backannotating b cursor on graphs created from multiple OP points 2023-11-09 04:10:06 +01:00
stefan schippers 7d92a32f5e added Waves ->Op in addition to Waves->Op annotate 2023-11-09 04:04:43 +01:00
stefan schippers 518250b3cc Waves->OP does backannotation, not only loading OP raw file; removed Simulation->Graph->load/unload raw file (redundant, now in Waves) 2023-11-09 02:49:02 +01:00
stefan schippers 3751104b34 graph dialog: file selector for graph-specific raw file 2023-11-09 01:59:17 +01:00
stefan schippers 22bd6733fc better alert_ dialog, tab ctx menu: do not try to open netlist if not existing (yet), Simulation->set netlist dir will disable local_netlist_dir 2023-11-09 01:21:12 +01:00
stefan schippers 75c8376a04 fix draw_crosshair when xctx->semaphore not zero, fix tabs context menu issues with `open schematc/symbol`; set_modify: do not attempt to reconfigure menu buttons (Simulate-Netlist-Waves) if invoked from preview dialog 2023-11-08 22:45:31 +01:00
stefan schippers 4fef5e2761 enhanced Waves menu button, "Use simulation dir..." option does not pring up file selector 2023-11-08 11:16:43 +01:00
stefan schippers ed9d6905de handle errorCode=NONE (close pipe was with error but no error code) 2023-11-08 04:02:33 +01:00
stefan schippers b51af6422e call simuldir if doing netlist from commandline (xschem -x -r -n -s -q ... ) 2023-11-08 03:46:36 +01:00
stefan schippers 4ff28fd39d avoid calling simuldir in load_schematic when traversing hierarchy during netlisting 2023-11-08 02:52:50 +01:00
stefan schippers c485e7ef7a better handle error color codes for processes that get killed 2023-11-08 02:27:56 +01:00
stefan schippers eb7ad4cd8e cleanup set_netlist_dir tcl proc 2023-11-08 00:44:29 +01:00
stefan schippers a128df47e0 proc simuldir: set directory to [xschem current_dirname]/simulation but do not create it until doing the netlist 2023-11-07 23:39:18 +01:00
stefan schippers acbe76329c execute_fileevent: polling for processes that do close stdout 2023-11-07 18:10:33 +01:00
stefan schippers f04477d236 if local_netlist_dir is set to 1 change netlist_dir at circuit load (and save-as) 2023-11-07 17:25:18 +01:00
stefan schippers 41ade18616 fix previously disabled kill for foreground subprocess via Simulate button 2023-11-07 15:37:40 +01:00
stefan schippers 98a95b7f6b proc simulate: handle foreground processes correctly 2023-11-07 14:25:36 +01:00
stefan schippers c57d5d815f kill_running_cmds: do not try to kill process if execute(pipe,...) not existing; simulate_from_button : don`t do further actions and forget if no process was killed; proc simulate: dont set tctx::...simulate_id, change button color if invoked in foreground 2023-11-07 14:10:16 +01:00
stefan schippers 366fa86d57 do not sel tctc::*_simulation_id var if no process was started due to errors /missing command 2023-11-07 12:44:56 +01:00
stefan schippers 089592122d fix mis-interpretation of % as a dataset designator when present in wave alias names 2023-11-07 01:05:45 +01:00
stefan schippers a5b65ea494 add execute(win_path,$id) variable to keep track the tab/window subprocesses started from, for cleanup buttons 2023-11-07 00:40:57 +01:00
stefan schippers aeafaf5052 execute_fileevent: delete ..*simulate_id only if called from related id 2023-11-06 19:14:32 +01:00
stefan schippers 71f5994798 reset simulation button on save AS 2023-11-06 19:03:19 +01:00
stefan schippers 714724561d add a catch {} in execute_fileevent (non existent ..._simulate_id var) 2023-11-06 16:59:14 +01:00
stefan schippers 98def78164 simulation button will go yellow while sim is running.Clicking a yellow simulate button will kill simulation. 2023-11-06 16:47:14 +01:00
stefan schippers f531422761 restore semaphore on simulate button to avoid multiple clicks running multiple identical sims. 2023-11-06 03:07:20 +01:00
stefan schippers e5431d86c5 fix setting netlist button color code statwe variable (tctx::...._netlist) 2023-11-06 01:44:25 +01:00
stefan schippers 881d8a4ed9 various fixes for Simulator/Netlist button color codes 2023-11-05 14:13:20 +01:00
stefan schippers 27114408ec reset simulate and netlist button colors on load new file 2023-11-05 02:42:06 +01:00
stefan schippers a6fa6135c9 remove debug msg 2023-11-05 01:51:34 +01:00
stefan schippers 4a0c007540 fix yet another issue with set_modify() 2023-11-05 01:42:25 +01:00
stefan schippers 3bd3956042 Netlist and Simulate buttons will be colored in red or green depending on the outcome of the associated operation 2023-11-05 00:14:55 +01:00
stefan schippers 88e7f4fea4 fix a problem in set_modify() (inconsistent prev_set_modify state after netlist of modified circuit) 2023-11-04 22:50:57 +01:00
stefan schippers cfdaebf5e1 add `xschem instance_number` command to easily get/set the position of instance in the list 2023-11-04 20:43:04 +01:00
Stefan Schippers 299b29bf87 fix parameter count check in xschem getprop 2023-11-04 18:46:26 +01:00
Stefan Schippers a5f660e54a improve drawing quality of crosshair with (now default) fix for broken gpu enabled 2023-11-04 18:29:15 +01:00
Stefan Schippers fd5a1e0bdf fix draw_crosshair() (dont get obscured by rubber placement) 2023-11-04 15:56:42 +01:00