Commit Graph

2012 Commits

Author SHA1 Message Date
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
stefan schippers 4be10f1707 remove dbg message 2023-11-04 15:07:09 +01:00
stefan schippers 7022fbf073 xschem simulate sets the Simulate button color. removed redundant proc simulate_button 2023-11-04 14:49:15 +01:00
stefan schippers bd43be9be6 rename a local variable to make tcc happy 2023-11-04 12:03:41 +01:00
stefan schippers 0b93634fee Better Simulation->Graphs-> Load raw file (ask filename) 2023-11-03 23:37:09 +01:00
stefan schippers a5ee182d59 add some Symbol menu entries (place net label / change instance texts to floaters) 2023-11-03 15:10:22 +01:00
stefan schippers 2c26bfbaa9 fix some garbage while moving / copying and zooming. faster draw_selection(gctiled) if big selection (use a single XCopyArea), do not allow to descend/go_back if other UI action is pending, initial implementation of `xschem floaters_from_selected_inst` command, get_tok_val() allow quotes in tokens, like a"22"33=123 even if with_quotes unset (it is intended for token values not for tokens themselves) 2023-11-03 14:36:35 +01:00
stefan schippers b7e5af9b4b add inherited_pin[] in make_sym_from_spice.awk 2023-11-02 19:39:01 +01:00
stefan schippers 234a70d0a3 fix version print in make_sch_from_spice.awk and make_sym_from_spice.awk 2023-11-02 19:29:00 +01:00
stefan schippers e86857d410 code cleanup in make_sch_from_spice.awk and make_sym_from_spice.awk 2023-11-02 19:23:11 +01:00
stefan schippers 794df4dfc3 add make_sym_from_spice.awk, cut down from make_sch_from_spice.awk 2023-11-02 19:07:15 +01:00
stefan schippers 7727a9f924 add necessary comment in edit_text_property() 2023-11-02 13:30:03 +01:00
stefan schippers 722b1f4575 small improvements in edit_text_property() and get_instance() 2023-11-02 13:24:15 +01:00
stefan schippers 0a4c59cc30 xschem selected_set, search: include text objects. xschem getprop: allow to retrie the text value with txt_ptr 2023-11-01 14:19:26 +01:00
stefan schippers 240db67df2 add comments in xschemrc for bespice_listen_port 2023-11-01 02:27:23 +01:00
stefan schippers 1955d6d386 setup_tcp_bespice: if port 0 is given let TCL find a free port 2023-11-01 02:23:21 +01:00
stefan schippers 18f337734d setup_tcp_bespice: use stderr for messages 2023-11-01 00:31:35 +01:00
stefan schippers b60a5a4c4b Add command `xschem setprop text n txt_ptr value` to change a text object text field, set stdout in line buffer mode if used in a pipe, better protect some commands against no X connection 2023-10-31 18:39:42 +01:00
stefan schippers ff24678fec draw_temp_symbol(): update symbol bbox before doing XCopyArea (fix_broken_tiled_fill && gctiled) 2023-10-31 13:10:16 +01:00
stefan schippers 7842890f0c select_rect(): no more direct usage of fix_restore_rect() (now done in drawtemprect(xctx->gctiled,...). Some dialogs no more transient (having always on top is a hassle for some). The fix_broken_tiled_fill is now set to 1, make this alternate drawing method the default 2023-10-30 22:47:25 +01:00
stefan schippers e282abb5f1 optimized XCopyArea for draw_graph(flags & 1), removed redundant OUTSIDE macro 2023-10-30 18:03:52 +01:00
stefan schippers 11c8c47ad3 faster draw_temp_symbol() if fix_broken_tiled_fill and gc==gctiled 2023-10-30 17:17:00 +01:00
stefan schippers d7247d55e6 fix `destroy_all_windows()` not destroying windows in non tabbed interface (late usage of tclresult()) 2023-10-30 02:09:49 +01:00
stefan schippers 814839a132 fix `destroy_window()` not destroying window in non tabbed interface (late usage of tclresult()) 2023-10-30 02:02:03 +01:00
stefan schippers 8f2af6803a remove some dead code, fix redrawing in `xschem move_instance` command 2023-10-30 00:57:28 +01:00