Commit Graph

2443 Commits

Author SHA1 Message Date
stefan schippers fddc4650d1 graphs will autoload (if autoload checked) raw data even if no raw file is specified in graph dialog box (use current loaded raw file, usually a different analysis) 2024-09-06 16:57:13 +02:00
stefan schippers 291ba02339 save 4 vars ( node, ph(node), re(node, im(node) ) instead of 2 ( node, ph(node )for ac plots 2024-09-06 10:24:12 +02:00
stefan schippers 27c0fd1622 use atof_spice() instead of atof() to read cursor position data from graph attributes 2024-09-05 14:53:36 +02:00
stefan schippers a94e0363fd Add "private cursor" check box in graph dialog box. This allow the related graph to have separate "a" and "b" cursors. These cursor positions are saved with the schematic and are thus persistent when reloading the schematic. 2024-09-05 00:51:15 +02:00
stefan schippers d40a17df64 correctly set top_path and current_win_path in preview_window() when calling alloc_xschem_data(), don`t use fake window paths (alert_ proc uses parent win path) 2024-08-31 09:00:48 +02:00
stefan schippers 2b94e845c0 fix a bug in preview symbol displaying when inserting components. Toplevel .load widget was destroyed before cleaning preview data in preview_window(), so after some insertion preview was no more displayed. 2024-08-31 08:07:17 +02:00
stefan schippers 0e44462227 resolved_net(): correctly handle subschematic nets attached via port to upper global node. (return VCC instead of x1.VCC) 2024-08-29 22:10:06 +02:00
stefan schippers 1a2a925fbf remove backslashes in translate3() call in draw_temp_symbol(), as done in draw_symbol() 2024-08-29 08:13:06 +02:00
stefan schippers eb7b9ae018 removed pointless my_strcat() in translate3() 2024-08-29 07:56:22 +02:00
stefan schippers d06e999daf better backslash handling in translate3() 2024-08-28 23:37:43 +02:00
stefan schippers a725838850 fix escape recognition in translate3(), so in symbol texts it is possible to write \\@name to an instance attribute to get literal @name in displayed text instead of the instance name. fix typo in tutorial_use_existing_subckt.html. some schematic updates (no more enable show_pin_net_names tcl variable) 2024-08-28 09:39:43 +02:00
stefan schippers 4f0c3afa23 port ordering for a schematic .subckt line will always be deduced from the symbol if it exists, even if the symbol type is not "subcircuit" (so it will be used for also "primitive" type symbols). 2024-08-24 08:21:08 +02:00
Stefan Schippers 652268c4d0 add tcl xschemrc variable "select_touch" that enables selecting objects touched by the selection rectangle if dragging to the left. Previously this behavior was enabled by "incremental_select" that shows selected elements while dragging. These two optional behaviors are now enabled/disabled by separate variables 2024-08-14 20:43:47 +02:00
stefan schippers 9f761176ec highlight disconnected instances at end of netlisting to better find them 2024-08-14 10:12:13 +02:00
stefan schippers a32386c23c issue a netlist error (and report message) if instances with pins have *all* pins disconnected. This is in 99.999% of the cases an error. 2024-08-14 10:08:36 +02:00
stefan schippers f850877b1e added tcl variable top_is_subckt and related Simulation->LVS menu, that keeps top level wrapped inside a .subckt / .ends, as lvs_netlist does. However top_is_subckt does only that and will not enable lvs_format to differentiate device lines in netlist (usually used for LVS comparison). 2024-08-06 12:20:32 +02:00
stefan schippers 8b5ed3f32e symbols picked up from CWD are saved in parent design without absolute paths even if the CWD is not in XSCHEM_LIBRARY_PATH list of places. 2024-07-19 15:13:38 +02:00
stefan schippers d444673b88 add `xschem log_write text` command so erc error messages are written into errfp instead of stderr by tcl 2024-07-12 07:09:32 +02:00
stefan schippers 28bef9b06e fix_symbols: add optional pattern parameter: `fix_symbols 0 devices` 2024-07-09 08:53:24 +02:00
stefan schippers e8e4196da2 sym_vs_sch_pins(): check for not NULL pin_dir to avoid crash, as per Tim Edwards findings 2024-07-03 08:39:56 +02:00
stefan schippers 079c643be0 add graph_autoload to tctx::global_list 2024-06-23 16:06:13 +02:00
stefan schippers 89eb02f188 add autoload checkbutton in graph properties to automatically load or not custom graph-specified raw files 2024-06-23 15:59:22 +02:00
stefan schippers 64d5472963 allow `global` atttributes on instances of gnd.sym and vdd.sym to override symbol `global` setting. This allows also to set global=1 to net labels (lab_net.sym, lab_pin.sym) to make the net global. 2024-06-23 11:02:25 +02:00
stefan schippers e122a9764e ps/pdf export: use highlight colors on instances / wires that are highlighted 2024-06-21 14:19:11 +02:00
stefan schippers d42ecf96c5 add attribute text_layer_n=lay, where n = text object inside symbol instance to change its layer 2024-06-21 13:18:52 +02:00
stefan schippers 4e236750ed add abs_path parameter to get_sym_name() for more flexibility 2024-06-21 11:33:28 +02:00
stefan schippers 5ce1f01f43 correctly evaluate tcleval(....) in spice_sym_def attributes (ie after substituting @vars) 2024-06-21 01:41:42 +02:00
stefan schippers 36c79f262c add @symref (in addition to @symname) substitution in spice_sym_def processing 2024-06-21 01:03:08 +02:00
stefan schippers fa4d4a0970 enhance spice_sym_def used in instances (with schematic=...) by substituting @param with values defined in instance if any (param=xxx) 2024-06-14 08:55:35 +02:00
stefan schippers f267077e99 allow @symname , @param (param defined in symbol template string) translation in instance or symbol spice_sym_def attributes 2024-06-14 08:21:43 +02:00
stefan schippers d7c77718c0 fix erroneous select_touch() usage if incremental_select is set to 0 in xschemrc 2024-06-12 09:12:33 +02:00
stefan schippers efdb6b64ce removed previously added use_pwd_instead_of_current_dirname tcl variable: now a `.` in search path is always assumed to be [pwd] and not the directory of the currently opened schematic. This will hopefully fix an endless list of user complains when using symbols from dirs not listed in XSCHEM_LIBRARY_PATH. 2024-06-11 00:24:30 +02:00
stefan schippers 5e93182f26 add use_pwd_instead_of_current_dirname xschemrc variable to replace curr_dirname in `proc abs_sym_path` and `proc rel_sym_path` with [pwd] instead of [xschem get current_dirname] (the path of currently loaded schematic) 2024-06-10 18:19:58 +02:00
stefan schippers 9545eea546 fix tcleval called with 2 arguments on windows build in print_image() 2024-06-09 23:38:20 +02:00
stefan schippers 9282ea670e fix bus_tap netlisting with bus pin (pin # 1) connected to unnamed net. If Tap pin (pin # 0) was already named as #net... (unnamed net ) delete and take name from bus pin and tap index 2024-05-31 11:50:02 +02:00
stefan schippers 9f368d32e5 sim_pinnumber attribute on schematic pins will be used for top level .subckt pin ordering if no corresponding symbol exists when creating a spice netlist 2024-05-31 09:07:56 +02:00
stefan schippers 5969b0f472 proc ev, ev0, to_eng: evaluate expr at global scope so global vars will be expanded correctly ($path) 2024-05-29 09:41:52 +02:00
stefan schippers 18a0c5e624 Use by default *.{sym,tcl} pattern in insert symbol and component browser 2024-05-28 14:32:20 +02:00
stefan schippers 087aa8c3b9 if a full path is given with -N set netlist file name as well as destination path; allow right click waveforms to set to bold even if cursors are drawn 2024-05-27 08:03:52 +02:00
stefan schippers 84b73bcdf4 `xschem setprop rect layer number fill val` : update cacted .fill value 2024-05-25 10:39:47 +02:00
stefan schippers 2060ca8871 update all text_bbox() calls to account for tabs in bbox calculation 2024-05-24 18:05:37 +02:00
stefan schippers d04162b31e use $tabstop setting in tk text widgets 2024-05-23 01:36:24 +02:00
stefan schippers 17bf6f3efb handle TABs in draw_string() (also ps and svg draw_string()), tcl var tabstop (default = 8) sets the tab positions. 2024-05-23 00:57:45 +02:00
stefan schippers 747652ffe1 xschem swap_cursors does not redraw. Use xschem redraw for that 2024-05-22 00:13:25 +02:00
stefan schippers 65b9c1b04b added command `xschem cursor 1|0 1|0` to enable or disable cursors via cmdline 2024-05-22 00:05:41 +02:00
stefan schippers 7cd7d16f6a add command `xschem swap_cursors` 2024-05-21 23:46:00 +02:00
stefan schippers 8067f58b43 uniquify /tmp/xschem_web (--> /tmp/xschem_web_xxxxxx), also handle like /tmp/xschem_undo_xxxxx, create on startup and remove on exit. 2024-05-20 19:00:33 +02:00
stefan schippers 35cac9bf22 netlist errors (if xschemrun from cmdline) return exit code 10 2024-05-17 00:20:27 +02:00
stefan schippers 7b8acd97da do not allow wrap variable to be set in draw_graph() and graph_fullyzoom() if viewing multiple OP simulations converted to DC (allow_wrap) 2024-05-14 11:54:10 +02:00
stefan schippers 5a32a77fd3 fix regression (xschem load_new_window was not working anymore with web urls) 2024-05-12 23:52:05 +02:00
stefan schippers 6db52b125c fix missing type for sym_vs_sch_pins(all) 2024-05-10 08:06:39 +02:00
stefan schippers be06ed50cb if top level schematic has an associated symbol (.sym) file ensure their ports match, otherwise issue an error. if netlisting fails return non zero exit code if netlisting from command line 2024-05-09 02:10:45 +02:00
stefan schippers 5e5dc5c3e5 translate(): return @spice_get_* tokens in engineerring notation if no tcleval(...) is used (no further expr processing) 2024-05-04 09:02:34 +02:00
stefan schippers 60c5230727 resolved_net(): resolve nets passed to symbols via attributes, avoid using dtoa_eng() in returned spice voltages, use dtoa(), since it may be used further in tcl expressions. 2024-05-03 15:00:51 +02:00
stefan schippers 7d181e43a1 spice_get_voltage attributes: assume "0" and "GND" equal to 0.0V (not saved by simulator), added vgs and vds showing in nmos4.sym and pmos4.sym if show/hide->show hidden texts enabled 2024-05-03 12:10:37 +02:00
stefan schippers 02e0705bf4 little adjust default layer 11 color (green) 2024-05-02 17:44:56 +02:00
stefan schippers c544c5bd6e xinit.c: test for tcl_interactive existence before testing value 2024-05-02 17:33:43 +02:00
stefan schippers c7bf1300c1 some better code formatting 2024-05-02 17:24:31 +02:00
stefan schippers 91fafecffb added some @#pin_name:spice_get_voltage examples on symbols, if no voltage is found return "" instead of "--UNDEF--" 2024-05-02 15:19:34 +02:00
stefan schippers 501fb7943f removed completely menu View->Show/hide->Show net names on symbol pins 2024-05-02 14:41:15 +02:00
stefan schippers 9c750b5044 add @#pin:spice_get_voltage attribute for pin texts that displays voltage of net attached to pin. remove net_name=... attributes from symbols and instance global attributes since it is no more used. set default value for show_pin_net_names to 1. 2024-05-02 10:32:12 +02:00
stefan schippers ba44bfb337 config.h: generate HAS_LIBREADLINE, do not add #include line for libreadline (yet) as this is wip 2024-05-01 11:53:54 +02:00
stefan schippers 6f9ddff72f revert change `do not load XSCHEM_LIBRARY_PATH if options are given on cmdline`. if no file to load is given $XSCHEM_LIBRARY_PATH will be loaded regardless of command line switches 2024-04-30 11:00:37 +02:00
stefan schippers 5a4b2cc6e0 launcher(): issue a warning dialog box if no action is defined (url or tclcommand) 2024-04-25 12:22:15 +02:00
stefan schippers 9631cd2bcf launcher(): bring up an alert dialog if tclcommand did not execute successfully 2024-04-25 12:10:56 +02:00
stefan schippers 60d4fd2345 drc_check(): if no fet_drc procedure found do nothing 2024-04-25 09:13:23 +02:00
stefan schippers c871efa627 xschem image rectangles: allow to fetch urls using filter="tcleval(wget --quiet http://.... -O -)" and image="" 2024-04-22 18:00:15 +02:00
stefan schippers 62eb256159 xschem wave processor: added <, >, <=, >=, ==, != and contitional ? (3 operands) operator 2024-04-22 15:11:25 +02:00
stefan schippers 6fc89f8d0b added comments in developer_info man page 2024-04-19 23:53:36 +02:00
stefan schippers b525252612 preview_window() : BUG 2: test for NULL tkpre_window[i] 2024-04-19 19:17:18 +02:00
stefan schippers c485bcd8a2 preview_window() : BUG: fix order of statements 2024-04-19 19:12:23 +02:00
stefan schippers 34a06d964d preview_window() : allow up to 10 simultaneous preview windows open 2024-04-19 19:05:38 +02:00
stefan schippers 372b21ae07 no load XSCHEM_START_WINDOW if cli options given (2); remove one unneeded var in preview_window() 2024-04-19 17:08:37 +02:00
stefan schippers 6b54542ab4 do not load XSCHEM_LIBRARY_PATH if options are given on cmdline 2024-04-19 13:55:25 +02:00
stefan schippers 531a19ce59 doc updates (xschem raw values with dset = -1) 2024-04-19 12:32:41 +02:00
stefan schippers 00d367ae0c Add xctx->mouse_moved state var to better handle ctrl-clicks (launcher() trigger) 2024-04-18 20:47:06 +02:00
stefan schippers 69ecb82750 in intuitive_interface allow to trigger laucher() by ctrl-click (if no mouse is moved), do not clear set_first_sel() data in intuitive_interface when clicking (without moving) multiple objects, better recognize .subckr or .model name in device_model attributes 2024-04-18 11:40:51 +02:00
stefan schippers 83f62bfdf9 postinit_commands: print error message if execution of specified commands fails 2024-04-16 00:17:02 +02:00
stefan schippers 8d68beb914 added drc_check() function, that evaluates tcl scripts contained in symbol `drc` attribute. Used for checking allowed dimensions, mostly 2024-04-15 16:43:56 +02:00
stefan schippers 260256afb9 improve preview_window, to redraw current schematic just use `xschem preview_window draw` (no filename -> use current loaded one) 2024-04-14 23:55:47 +02:00
stefan schippers 3d20b44ced translate3(): add eat_escapes parameter 2024-04-14 11:38:35 +02:00
stefan schippers 9c766c5260 modernization of symgen.awk, fine tuning of create_symbol.tcl 2024-04-12 01:44:48 +02:00
stefan schippers 6a4131699a improve `xschem add_symbol_pin` command, add create_symbol.tcl procedure 2024-04-12 00:06:36 +02:00
stefan schippers 80e2c47b0e improve `xschem add_symbol_pin` command 2024-04-11 00:05:59 +02:00
stefan schippers 6de84a69e9 better detect wrap arounds (use sweep var, first column saved by ngspice) in multiple sweep dc sims 2024-04-10 12:25:22 +02:00
stefan schippers f88f9f8e2e do not exit is calling xschem with a non existent file on cmdline 2024-04-10 12:08:09 +02:00
stefan schippers 1d72478138 do full x/y zoom when switching log/linear x/y scales in graphs 2024-04-09 09:15:56 +02:00
stefan schippers 51a34ed4a7 get_raw_index(): look up node name as is, before trying upper/lower case 2024-04-08 00:06:18 +02:00
stefan schippers 60e55212d5 handle rot/flip transfofmations for ellipses inside symbols 2024-04-06 23:13:14 +02:00
stefan schippers 059badaccd fix flip / rotation of ellipses (no absolute angles) 2024-04-06 11:31:36 +02:00
stefan schippers ce1d4b4bbb initial support for drawing ellipses (from rectangle boxes) 2024-04-05 01:34:54 +02:00
stefan schippers 83660bc531 update bespice communication routines according to Gerard updates 2024-04-04 00:55:26 +02:00
stefan schippers 35dffef618 has_included_subcircuit(): extend case insensitivity also on included subckt pins vs symbol pins 2024-04-03 00:56:05 +02:00
stefan schippers bcd4e9367b has_included_subcircuit(): use lowercase symname to check with lowercase spice_sym_def included netlist to avoid case mismatches (spice is case-insesitive) 2024-04-02 23:54:40 +02:00
stefan schippers 5e96c84992 simplify draw_graph(): reduce redundant arrays measure_p, measure_x, measure_prev_x to scalars 2024-04-01 23:33:15 +02:00
stefan schippers b004618c25 explicit parameters to interpolate_yval() 2024-04-01 23:23:45 +02:00
stefan schippers 1ed64e95ca optimize a bit draw_graph() (no allocate measure_*[] vars if no cursor) 2024-04-01 11:42:54 +02:00
stefan schippers d9871edb13 update LCC_instances.sch 2024-04-01 02:23:30 +02:00
stefan schippers 033493d0ec doc updates (cursors) 2024-04-01 00:33:09 +02:00
stefan schippers 318c52cd0f cursor positions always saved in true x values (no log taken for logx axes) avoid too many log10() / pow(10, ...) conversions 2024-04-01 00:25:50 +02:00