Commit Graph

2323 Commits

Author SHA1 Message Date
stefan schippers 8515f25e25 fix regression in translate (check instances out of bound) affecting copy_objects() 2024-02-27 13:06:19 +01:00
stefan schippers 6ac58eb880 fix regression in translate (check instances out of bound) affecting place_symbol() 2024-02-27 12:51:20 +01:00
stefan schippers 7ede51737d table_read: skip empty csv rows (some tools save as ,,,,,) 2024-02-27 11:56:18 +01:00
stefan schippers 95fc6377d4 get rid of `sim_type=tablefile`, use `table` (scheduler.c, extra_rawfile()) for reding tables 2024-02-27 11:27:29 +01:00
stefan schippers 1e3ac96085 table_read(): read csv files 2024-02-27 10:24:21 +01:00
stefan schippers 354f027b9b call translate(-1, ..) for text objects containing @... and referencing no valid instance (floater=true) so non instance-related @vars are resolved. translate(): resolve @spice_get_voltage(net) without trying to calculated fqnet from net if no valid inst (-1) is given 2024-02-26 16:05:11 +01:00
stefan schippers 783b5c7aaa added wave processor functions `re()` and `im()` to get real and imaginary part from modulus and phase (expressed in deg) 2024-02-25 23:54:39 +01:00
stefan schippers 7a45497b45 add `xschem raw del node` command 2024-02-25 12:21:13 +01:00
stefan schippers 2fae34caa1 fix idx() function in wave processor, unified `xschem raw_query` and `xschem raw` commands 2024-02-25 00:06:15 +01:00
stefan schippers 5a2891e4de add idx() function (return index of point, 0, 1, 2, ...). doc updates about new wave processor functions 2024-02-24 22:35:54 +01:00
stefan schippers 203cf38e1e add option `keep_symbols in xschemrc to avoid purging symbols when netlisting /descending hierarchy. Add functions atan, asin,acos, cosh, sinh, atanh,acosh,asinh in wave processor 2024-02-24 13:15:43 +01:00
stefan schippers de2572e448 fix an off by 1 array bound in raw_add_vector 2024-02-24 01:53:26 +01:00
stefan schippers bf71dbc9e7 command xschem raw new to use `start end step` instead of `start step number` 2024-02-23 21:58:41 +01:00
stefan schippers 4e0c344493 better status reporting in xschem raw_query command 2024-02-23 13:29:53 +01:00
stefan schippers 44707d71db extend command `xschem raw_query add [expr]` for fast (C-speed) expression calculation 2024-02-23 12:46:03 +01:00
stefan schippers d1bd5140fe various bug fixes for `xschem raw new` command 2024-02-23 04:19:29 +01:00
stefan schippers 23092fc963 do not rely on raw file existence to decide if a raw is loaded. Added a function raw_is_loaded for that 2024-02-23 01:51:35 +01:00
stefan schippers ac3f3acb62 added command `xschem raw new name type sweepvar start step number` that creates an in-memory plot (like a loaded raw file) with only the sweep variable 2024-02-23 01:03:20 +01:00
stefan schippers de5c068775 file open dialog box: added red border when search entry focused 2024-02-22 20:36:23 +01:00
stefan schippers 515dee1ce8 file open dialog box: start with search entry focused and selected. Will take focus when iterating with TAB key 2024-02-22 20:29:24 +01:00
stefan schippers be22993410 add command `xschem raw_query add <node>` to add a vector <node> with all zeros to the loaded raw file. This vector can then populated with programmatic values using z `xschem raw_query set <node> point value` loop 2024-02-22 19:59:09 +01:00
stefan schippers 965bf381ea fix regression in xschem raw_read_from_attr when invoked from launcher 2024-02-22 14:36:34 +01:00
stefan schippers 446c0d687a add command `xschem raw table_read table_file` to read an ascii table file without closing other loaded raw files 2024-02-21 23:16:58 +01:00
stefan schippers 8986b7e0b8 load_file_dialog: fix a missing global declaration, fix double button click in right listbox 2024-02-21 15:02:30 +01:00
stefan schippers e347a251b0 load_file_dialog: separate search/file entries, better keyboard navigation 2024-02-21 14:02:58 +01:00
stefan schippers 69dec6c677 proc load_file_dialog: better allow mouseless operation (use keyboard enter/ arrow keys) 2024-02-21 00:15:59 +01:00
stefan schippers 1336e25e68 added xschem raw_query set node n value [dset] command to change loaded raw data 2024-02-20 17:17:38 +01:00
stefan schippers 99a01300c5 fix automatic sending bussed signals to graph (Alt-g) 2024-02-20 11:05:52 +01:00
stefan schippers 66ba05fe2c add xschem list_nets command 2024-02-19 13:03:28 +01:00
stefan schippers f547c86f1e preview window in file open dialog box is x/y resizable 2024-02-17 04:40:37 +01:00
stefan schippers 20add157c2 when double clcking (or hitting `q`) to edit attributes if instance has lab=... or value=... select the RHS and position insertion cursor, focus textbox. Add Shift-T bindkey for toggle *_ignore flag 2024-02-17 02:58:53 +01:00
stefan schippers 91829bf99d replace exec with execute_wait in proc convert_to_pdf when launching ps2pdf, so stderr messages will not be treated as a failure 2024-02-17 00:15:37 +01:00
stefan schippers 8b55066978 proc tclpropeval2: $sch_basename: remove path elements (use [file tail]) 2024-02-16 23:24:54 +01:00
stefan schippers 876f26cb80 proc tclpropeval2: make global var sch_basename (schematic name with no extension) available to TCL expressions 2024-02-16 23:17:54 +01:00
stefan schippers a176f99db5 svgdraw.c: avoid setting stroke-width to excessively small (invisible) values; print_spice_element(): in format string if @param is given and in instance atttributes param=value@tag do a round of resolution of @tag looking in instance attributes, then in parent symbol instance attributes (in case of per-instance implementation (schematic=... attr) and finally in parent symbol template string. Doc udpades 2024-02-16 16:44:33 +01:00
stefan schippers 7a589ef4fb change default SPICE_DATA from float to double 2024-02-15 11:26:13 +01:00
stefan schippers af5df351a6 rename xschem setprop inst prop_ptr ... to xschem setprop inst allprops ... 2024-02-13 13:32:14 +01:00
stefan schippers 6a5cca7b3c extend xschem setprop command, add xschem reset_inst_prop command 2024-02-13 13:13:28 +01:00
Stefan Schippers 91bcdfae20 spice_netlist(): do a round of tcl_hook2() (resolve tcleval(...)) on device_model attribute 2024-02-11 17:41:10 +01:00
Stefan Schippers 87fa701283 spice.awk: handle per-instance .subckt lines of vector instances 2024-02-11 16:55:57 +01:00
stefan schippers 5f4401258f spice.awk: handle per-instance .model lines of vector instances 2024-02-11 15:15:46 +01:00
stefan schippers 531a9c168c pass @device_model in symbols through translate() if it contains @xxx tokens 2024-02-11 11:47:13 +01:00
stefan schippers b3daf97cc4 remove @path resolution in print_*_element(): meaningless 2024-02-11 03:06:22 +01:00
stefan schippers 81f22b8bb2 symbol texts: do a double translate() if symbol text `@model` resolves to `xxx@name`, so `xxxN1` will be returned. This will not happen if `@model` resolves to xxx\@name` 2024-02-10 13:59:27 +01:00
stefan schippers 8aa62f2efa parametric models in subcircuits (model=@mod in instances, mod=xxx in parent instantiation) 2024-02-09 18:39:09 +01:00
stefan schippers 1cbbed77ba first commit for parametric models in subckts --DO NOT USE-- 2024-02-09 17:00:56 +01:00
stefan schippers c06a896d4f instance based schematic selection: if instance specified schematic=... not existing use base schematic (symbolname.sch) 2024-02-09 02:37:53 +01:00
stefan schippers 7639d65dc5 update make_sch_from_vhdl.awk (compliance with regexp syntax) 2024-02-07 12:32:07 +01:00
stefan schippers 59cf2fff1d remove trailing "/" in netlist_dir if present 2024-02-06 10:32:22 +01:00
stefan schippers da72478265 proc graph_edit_properties: "unlock X axis" checkbutton state immediately applied to graph, not only after closing dialog. 2024-02-05 23:33:25 +01:00
stefan schippers 29d2541b21 fix regression in get_sym_template() 2024-02-05 16:37:00 +01:00
stefan schippers fa533c725a remove dbg messages 2024-02-05 14:49:20 +01:00
stefan schippers 96494dc73a get_sym_template: fix possible unterminated result string 2024-02-05 13:47:49 +01:00
stefan schippers b2b5b48cfe replace chan configure with fconfigure for older tcl compatibility 2024-02-05 11:49:13 +01:00
stefan schippers 046c23addd add verilog_extra_dir symbol attribute to allow specify "ports by attribute" directions: verilog_extra_dir="VCC=input GND=input" verilog_extra="VCC GND" extra="VCC GND" ....; proc set_netlist_dir will show the last set simulation directory instead of the default ~/.xschem/simulations. Changed background color of menu radiobuttons for clarity. 2024-02-05 11:14:51 +01:00
stefan schippers fdc2fb5517 fix a regression in proc set_paths (erroneusly set file_dialog_files1) 2024-02-05 00:32:24 +01:00
stefan schippers 8ec3e52122 allow parametric models in subcircuits. Symbol inv.sym contains template="... modp=cmos_p_10 ...", pmos instance in inv.sch contains model=@modp, instance format string contains format="@name @pinlist @model w=@w l=@l, result is: "m2 y a VCCPIN VCCPIN cmos_p_10 w=wp l=lp" 2024-02-03 13:43:18 +01:00
stefan schippers 7bfed5907c added lcc[level].prop_ptr and lcc[level].templ printing in `xschem globals` command 2024-02-03 00:42:25 +01:00
stefan schippers 331722ab07 fix too early xctx->currsch increment in descend_symbol() 2024-02-02 10:48:51 +01:00
stefan schippers 304d42b928 Add WM_DELETE_WINDOW action on load_file_dialog widget 2024-01-31 18:54:30 +01:00
stefan schippers 8f3e0be4fe load_file_dialog: checkbutton for displaying only name / full path of component directories 2024-01-30 19:15:08 +01:00
stefan schippers 778dd2c0dc recognize integrated_noise, improve `xschem preview_window` command 2024-01-27 11:42:05 +01:00
stefan schippers a1c2569506 revert previous: print_spice_element(): do 2nd level translate() only on `model` tokens whose value contains @variables. 2024-01-22 18:57:42 +01:00
stefan schippers 24844b3d4c print_spice_element(): do 2nd level translate() only on `device_model` tokens whose value contains @variables. 2024-01-22 18:53:04 +01:00
stefan schippers 1f35fdf05c add `spectrum` type analysis in graph dialog sim type combobox. Make sp and spectrum aliases of ac in read_dataset() and extra_rawfile() 2024-01-22 01:19:27 +01:00
stefan schippers 9ceb274b5e print_spice_element(): when expanding format @variables, if substituted value contains @var do another round of translate() to replace @var with instance assigned var=xxx value 2024-01-21 00:00:01 +01:00
Stefan Schippers 289a979c61 translate() on device_model inst attr: avoid tcl_hook2 in get_tok_value() as already done in translate() 2024-01-20 19:52:16 +01:00
Stefan Schippers e50c6f0df1 pass instance `device_models=...` attribute through translate() so @vars are resolved 2024-01-20 19:40:49 +01:00
stefan schippers 38ff460694 added `xschem fill_reset` command to reset fill patterns defined via tcl array pixdata(n) 2024-01-15 15:53:49 +01:00
stefan schippers c46afdc582 add command `xschem fill_type n fill_type` 2024-01-15 00:45:24 +01:00
stefan schippers 17e24e0f5f has_included_subcircuit(): correctly handle bussed ports in symbol and spice .subckt file 2024-01-14 11:28:51 +01:00
stefan schippers ac04ce5c55 set tab/window title if xschem invoked with `xschem -n file.sch`. fix poweramp.sch testbench for Xyce sim. 2024-01-11 08:19:25 +01:00
stefan schippers a7f1b2a5f1 add Spectrum analysis recogniztion (yet another ac type) in raw files 2024-01-08 23:59:55 +01:00
stefan schippers 6c163d5cb0 has_included_subcircuit(): get symname from `schematic` attribute if set in instance or symbol, or use actual symbol name, add tb_symbol_include.sch example circuit 2024-01-08 17:19:12 +01:00
stefan schippers 8c55f3a99e add `hide=instance` attribute for in-symbol text objects (in addition to hide=true or hide=false). If set the text is invisible in instantiated symbols, but is visible if descending into the symbol 2024-01-08 15:47:01 +01:00
stefan schippers 0597bae9dc various improvements for automatic port order detection from included subcircuit via spice_sym_def and @pinlist in format string, documentation updates in tutorial_use_existing_subckt.html 2024-01-08 14:57:21 +01:00
stefan schippers d2c6566030 when doing spice netlist, if a symbol has the spice_sym_def attribute set and is using @pinlist in format string for port order, get the port order from the subckt given in spice_sym_def, either directly or through a .include line 2024-01-08 03:24:59 +01:00
Stefan Schippers 0f7785d588 initial implementation of `has_included_subcircuit()` 2024-01-07 19:51:48 +01:00
stefan schippers f0e739cf02 .load.l.paneright.list better positioning (remember last selection), print_spice_subckt_nodes(): use my_mstrcat() instead of fprintf, for future enhancements 2024-01-06 12:14:36 +01:00
stefan schippers dcef3d4b9d waves_callback(): do not set GRAPHPAN when setting cursor position numerically 2024-01-05 11:21:34 +01:00
stefan schippers 1fa490b066 some fixes on numerical cursor adjustments (for log X scales) 2024-01-05 03:13:51 +01:00
stefan schippers 90ce40da2c Right click on a graph cursor allows to set the cursor position numerically 2024-01-05 02:08:13 +01:00
stefan schippers 7982c67bf6 display cursor difference measurement also in log x axis graphs 2024-01-04 01:41:40 +01:00
stefan schippers 6215a89605 fix verilog_bitblast not declared as global in proc netlist (typo) 2024-01-02 23:18:00 +01:00
stefan schippers d77fb43e5e Configure simulators and tools: rearrange buttons behavior: `Accept, no SAve and CLose` and `Accept, SAve and Close` 2024-01-01 10:54:05 +01:00
stefan schippers d91daea84c extend interval raw file loading to `xschem raw read file type sweep1 sweep2` 2024-01-01 01:28:28 +01:00
Stefan Schippers cd6deb0bf9 xschem raw_read: allow specifying t1 and t2 to load only a portion of simulation file 2023-12-31 20:33:08 +01:00
stefan schippers 64ca25b9fe proc netlist: do not attempt to change a button color if xschem started with -x (no X) 2023-12-28 23:28:18 +01:00
stefan schippers a95e3597bc Implement vertical flip (shift-V) and vertical flip in place (alt-v), change netlisting mode command moved to bindkey ctrl-shift-V; when opening insert component dialog focus the File/Search entry box 2023-12-23 00:06:01 +01:00
stefan schippers fbfbef384c when pressing netlist button or executing `xschem netlist` command turn Waves button (if waves are loaded) to yellow to indicate old waves are shown 2023-12-22 16:28:49 +01:00
stefan schippers 77c99c2202 handle xyce y-devices in nspice netlists 2023-12-22 12:01:55 +01:00
stefan schippers f50a3b15fa doc updates (graphs) 2023-12-18 23:36:01 +01:00
stefan schippers 2a8c5e487a avoid %%BeginSetup, %%BeginPageSetup if doing eps 2023-12-12 02:18:31 +01:00
stefan schippers 78b26fc36d add missing %%EndSetup DSC comment 2023-12-12 01:59:27 +01:00
stefan schippers 61ad259ac9 removed redundant %%trailer dsc comment 2023-12-12 01:27:59 +01:00
stefan schippers ed477b90a5 eps export 2023-12-12 01:14:40 +01:00
stefan schippers 441e27e8ca preserve existing line width when creating new windows / tabs 2023-12-11 18:59:46 +01:00
stefan schippers bf0ef23739 setting line width in View menu will automatcally disable change line width with zoom 2023-12-11 18:31:19 +01:00
stefan schippers 379938fe03 if selection is present when exporting pdf assume it is a bboxed pdf, do not print page title. Fix set_viewport_size setting line width to 1 instead of using current value 2023-12-11 18:28:23 +01:00
stefan schippers b95289ca5e better line width calculation / restore in export images 2023-12-11 16:06:49 +01:00
stefan schippers 7e820d05b0 update docs about new additions to the `xschem print` command 2023-12-11 15:22:36 +01:00
stefan schippers 4cb060f817 better placement of graphs in image exports. If something is selected export image will export selection. Add ability to specify area to print in ps/pdf export (set media size to bbox) 2023-12-11 15:18:46 +01:00
stefan schippers f042b940c2 add xschemrc option ps_page_title (default: enabled, 1) to set or hide page title in ps/pdf exports, more precise graph exports in svg and ps/pdf 2023-12-11 10:43:09 +01:00
stefan schippers c360187d8a fast option in `xschem unhilight_all` 2023-12-10 22:15:20 +01:00
stefan schippers 39769187d3 add `xschem set cursor[12]_x` commands for moving graph cursors 2023-12-10 00:28:44 +01:00
stefan schippers 7a39f4d6ca better resolution of exported graphs in ps/pdf and svg 2023-12-09 23:39:33 +01:00
stefan schippers 1285ba0cd4 while opening a sub-schematic in another window propagate cursora/b/ annotate info 2023-12-09 13:26:18 +01:00
stefan schippers c8ced06bbe add `fast` option in xschem hilight_instname. mos_power_ampli: use hilight to show devices with high current 2023-12-09 11:39:04 +01:00
stefan schippers b21ac67cc4 add `xschem set hilight_color` command 2023-12-09 02:09:36 +01:00
stefan schippers eb471528f9 better cut wires inside symbols --> break_wires_at_pins(1) 2023-12-09 00:32:41 +01:00
stefan schippers e23345ad0b removed some #ifndef-ed code in cairo_jpg.c 2023-12-08 13:38:36 +01:00
stefan schippers e53ca7fff8 xschem setprop: if new attribute changes symbol (as in case of generators) do a match_symbol() to update 2023-12-08 00:36:49 +01:00
stefan schippers d094ef55b7 fix setting old_translated_sym in update_symbol() 2023-12-07 18:28:44 +01:00
stefan schippers a0237b59b3 eliminated some redundant operations on instance flags (set_inst_flags() does the job) 2023-12-07 18:07:42 +01:00
stefan schippers 8c81f629d0 fix a regression introduced by saving/restoring tcl context in preview_window() 2023-12-07 16:02:31 +01:00
stefan schippers 8269eff430 save / restore tcl context when creating / destroying preview window 2023-12-05 18:50:46 +01:00
stefan schippers b8fecf997b avoid showing alert box if enabling / disabling stretch mode by bindkey 2023-12-05 17:32:48 +01:00
stefan schippers c090773afe Opening sub-schematic in new window/tab will inherit raw file loaded and annotation. ngspice::ngspice_data is preserved on context switches now 2023-12-05 13:13:59 +01:00
stefan schippers b2aad10650 changed attribute text_n_size to text_size_n (for efficienty reasons), improved get_tok_val() (use strstr for quick return "" if no token found) 2023-12-03 23:11:36 +01:00
stefan schippers 28ed1351f1 spice.awk: do not join user code lines 2023-12-03 21:33:03 +01:00
stefan schippers 6648652ae5 allow instance attribute `text_n_size=s` (where s is a double and n is an integer) to set symbol text item `n` to size `s` 2023-12-03 12:26:18 +01:00
stefan schippers 6c1dadd27c flush unused symbols at end of netlist 2023-12-02 23:25:54 +01:00
stefan schippers 8305024cd6 break.awk: do not break user code lines in spice netlists 2023-12-02 23:00:44 +01:00
stefan schippers b2965f4c3d attribute default_schematic=ignore: if set in a symbol xschem will not descend into the default schematic associated to symbol. Instances MUST specify a schematic attribute 2023-12-02 13:17:32 +01:00
stefan schippers 5cb5ec9031 local_netlist_dir: use only last path component of schematic when creating simulation directories 2023-12-02 04:28:04 +01:00
stefan schippers c424a25d66 add xctx->last_command in xshem globals debug command 2023-12-02 00:58:57 +01:00
stefan schippers a797bc593f when in `persistent command` wire or line placement mode, a first escape clear the ongoing placement, a second escape clears the wiring or line-ing command 2023-12-01 23:05:07 +01:00
stefan schippers b9ef032a2a Add SImulation radiobutton for setting local netlist directory as [library]/simulation/[cellname]. Change netlisting directory if `set local_netlist_dir` is set via --tcl cmdline 2023-12-01 14:08:42 +01:00
stefan schippers 37c6229a21 xinit.c: do a `xschem set format lvs_format` if lvs_netlist is set via xschemrc or command line 2023-12-01 12:11:12 +01:00
stefan schippers 4090011a64 avoid tk_messageBox in reload schematic warning message (blocks event loop). Avoid using xschem specific XSCHEM_SHAREDIR in utile/utile (can be used standalone) 2023-11-30 20:52:28 +01:00
stefan schippers b507276fa0 fix add bus in graph dialog (use ; separator after bus alias name) 2023-11-30 04:15:33 +01:00
stefan schippers 159460efd4 fix unneeded extra_rawfile switch back in graph_fullyzoom() 2023-11-30 01:00:25 +01:00
stefan schippers 898d0538a0 Allow tcleval() in vhdl_format attributes, allow intance setting of vhdl_format (override symbol). Add missing space in @pinlist expansion in print_verilog_primitive and print_vhdl_primitive 2023-11-29 13:46:24 +01:00
stefan schippers 30b77d7447 allow tcleval() in verilog_format attributes, allow intance setting of verilog_format (override symbol) 2023-11-29 12:20:35 +01:00
stefan schippers c069afcc40 fix occasional crashes due to graph_fullxzoom() getting sweep variable index in raw file before switching to graph-specific raw file 2023-11-29 01:26:45 +01:00
stefan schippers 83c692caa9 copy between windows: allow to navigate between more than 2 windows 2023-11-28 18:41:38 +01:00
stefan schippers e467c5641d fix a crashing bug if aborting (in destination window) a copy operation between different windows ( hash_wire(XDELETE...) ) 2023-11-28 15:26:27 +01:00
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
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