Commit Graph

484 Commits

Author SHA1 Message Date
stefan schippers 92bb16773c guard against trepassing max hierarchy level when descending, updates to cellview and traversal procs 2025-01-28 11:24:51 +01:00
stefan schippers 26bfe7691b add `xschem draw_hilight_net [on_window]` for quick draw or hilighted objects; add `xschem get_sim_sch` to get the current schematic hierarchy path, stripping off levels above the level the raw file was loaded. Strip off also leading dot; `xschem hilight_instname`: move fast option as -fast option; list_nets(): expand vector ports ; optimize update_op() for speed 2025-01-24 18:57:35 +01:00
stefan schippers 2b05b365e5 If opening a non existing xxxx.sym file euristically set netlist_type to symbol --> better implementation 2025-01-21 04:09:08 +01:00
stefan schippers 5d52d322b5 symbol_in_new_window(): if no symbol selected build file name for symbol of current schematic and open it in a new tab. If opening a non existing xxxx.sym file euristically set netlist_type to symbol. proc open_sub_schematic: if no symbol selected for subcircuit to open, open the corresponsing schematic of the symbol we are editing 2025-01-21 02:57:46 +01:00
stefan schippers ac8db614c0 infix_interface xschemrc variable (default=1) can be set to 0 to disable infix (need to click a point after bindkey); disable warnings from graphs with autoload=1 if no raw file or matching analysis found; add m parameter (multiplicity) to bsource.sym, cmos_example.sch; remove dependency on external model file, use ngspice provided mos model 8 bsim3 models. 2025-01-17 17:15:48 +01:00
stefan schippers f2b9d0c6f3 added attribute @spice_get_current<n> for retrieving current through terminal <n> of primitive device; example: @spice_get_current2 to get base current of BJT device 2025-01-15 17:39:59 +01:00
stefan schippers b0973ae8c0 add_pinlayer_boxes(): fix uninitialized bb[PINLAYER][i].fill, LCC symbols: make 1st LCC level pins display spice_get_voltage annotation data 2025-01-13 17:30:11 +01:00
stefan schippers 6cca3fefc4 add debug line in load_sym_def() 2025-01-13 13:30:15 +01:00
stefan schippers 0920c6804d comments and indentation in save.c 2025-01-13 11:58:16 +01:00
stefan schippers be76009a3c remove dbg msg 2025-01-10 17:15:53 +01:00
stefan schippers a0da5c7b51 fix resolution of symbol references like: symbolgen.tcl(buf), when descending into symbol correctly recognize generator and descend into generated symbol 2025-01-10 17:14:13 +01:00
stefan schippers aeb57781a8 fix some c89 violations (warnings) 2025-01-10 16:14:24 +01:00
stefan schippers 59e7872f67 reduce some pointer indirections to array subscripts (readability) 2025-01-10 16:00:47 +01:00
stefan schippers 783fa04eb6 `xschem save` --> save_schematic(): added `fast` argument (do not update window/tab/sim button states for speed); `xschem select instance` --> select_element(): added `nodraw` argument in addition to existing `fast` (avoid drawing selected item for speed) 2025-01-05 13:27:49 +01:00
stefan schippers 4d76708534 save_schematic(): remove set_modify(2) if same name. need to add a dedicated parameter for save without title update 2025-01-05 11:27:18 +01:00
stefan schippers ee0de61220 add `2` and `3` argument to set_modify (do only clear/set modified flag), save() -> save_schematic(): do not update title/tab names if saving with same name. 2025-01-04 12:24:22 +01:00
stefan schippers 69a23355fb refactor some debug print messages for NULL strings 2025-01-04 11:33:58 +01:00
stefan schippers 294a10bd5a go_back(): if a write of modified schematic is requested before going up but write fails (for example due to permission issues) then issue a warning and go ahead anyway. Previously xschem got stuck in the lower hierarchy with no way to escape. If xschem load is done with `noundoreset` option do not change some context data (xctx->currsch, xctx->sch_path, xctx->portmap, xctx->sch_inst_number, ...). Various fixes/enhancements in cellview and traversal procedures. 2025-01-02 22:38:40 +01:00
stefan schippers 2bd205427d load_schematic(): do not set xctx->time_last_modify if called with reset_undo == 0; fix persistent command mode when started from menu; update traversal procedures 2025-01-02 12:52:51 +01:00
stefan schippers b23b162f2c rewritten the menu system using a menubar vs the menubuttons 2024-12-31 03:51:05 +01:00
stefan schippers 47f0d2d57c improvements in raw_get_pos(), fix test_backannotated_subckt.sch (was not simulating anymore) 2024-12-20 02:28:38 +01:00
stefan schippers d9d75de337 remove dbg message 2024-12-20 01:19:02 +01:00
stefan schippers d03f3b52e1 bars for hystograms use squared lines, not rounded lines, added command `xschem raw pos_at node value` to find position (in raw file) where node = value 2024-12-19 23:53:11 +01:00
stefan schippers 158ed8decc load_schematic(): do not invoke trim_wires (if enabled) if called non interactively with reset_undo == 0 (it will change name of top schematic in tab and window title while netlisting) 2024-12-16 16:44:56 +01:00
stefan schippers 5bc194f3a5 separated undo_initialized and mem_undo_initialized, so they can be used more interchangeably 2024-12-16 12:14:11 +01:00
stefan schippers 8c4d5cb7b8 push_undo() correctly handle case when tmpdir can not be created (init_undo() fails) 2024-12-16 02:18:32 +01:00
stefan schippers 2a7ee749ba xschem raw add: add optional sweep_var parameter 2024-12-09 00:00:27 +01:00
stefan schippers e2f19d8b7c better implementation of previous fix. if read_dataset() does not find a matching dataset, delete only current raw structure, not all loaded raw files. 2024-11-28 03:51:27 +01:00
stefan schippers 9c48617e4e xschem annotate_op command: if no OP analysis is found in raw file try to load a DC sweep and use first point for schematic annotation. This is done because Xyce stores OP data as a 1-point DC sweep 2024-11-28 03:18:32 +01:00
stefan schippers cf7933b99d save.c: do not assume complex data for `constants` raw file sections, deduce data type from Flags line (both complex and real constants sections exist) 2024-11-25 12:48:25 +01:00
stefan schippers 4fff388f99 add `constants` plot type in graph sim type drop down menu 2024-11-22 00:11:37 +01:00
stefan schippers 67a4407952 fix typo in condition (draw_pixmap instead of save_pixmap) 2024-11-16 10:19:34 +01:00
stefan schippers de9c40af65 allow file extension spec in tmpfile creation, update index.html 2024-11-13 12:04:56 +01:00
stefan schippers 20359ed43e update license info. Remove unneeded newline saving in version line of .sch/.sym files, remove c89 flag based on lib versions 2024-11-12 20:23:18 +01:00
stefan schippers b7e39700d4 add ability to read ASCII raw files 2024-11-06 11:59:00 +01:00
stefan schippers f3abdf2eb8 avoid another crash in case of malformed raw files (if raw->npoints not allocated return without attempting to read raw file) 2024-11-01 00:27:29 +01:00
stefan schippers a7cded9f19 fix crash if multiple raw files are loaded and last one fails loading due to corrupt raw file 2024-10-24 22:16:46 +02:00
stefan schippers 8de9004468 added operator "cph()" to transform discontinuous phase ph(xxx) in AC analyses to aontinuous phase, like ngspice cph() function. Usage: instead of ph(out) use "ph(out) cph()" 2024-10-16 17:02:36 +02:00
stefan schippers 4311ac424a handle NULL analysis type in debug messages (extra_rawfile()), recursive value substitution in symbol displayed strings: if translated text begins with @ search for recursive upper level definitions for text following @, example: @model symbol text, instance has model=@modeln, upper instance has modeln=nfet: resolve symbol text and display "@model" as "nfet", proc inutile: add optional wait argument to block xschem while dialog displayed 2024-10-03 13:08:32 +02:00
stefan schippers 4ff7d0e2f8 load_sym_def(): process tcleval(....) (if present) in `name` argument (use tcl_hook2()) 2024-09-14 23:31:26 +02:00
stefan schippers ad96e222f1 if autoload is set in graph and a filename is given (rawfile graph attr) load raw file immediately when drawing graph. Don`t wait for user to load an intiial raw file to trigger auto loading 2024-09-08 13:43:29 +02:00
stefan schippers 1dd3e28b32 remove memory tracking alloc IDs 2024-09-06 22:27:05 +02:00
stefan schippers 391464bab9 fix another small memory leak due to tclvareval("xschem exit...")--> use tcleval() 2024-09-06 22:19:36 +02:00
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 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 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 2060ca8871 update all text_bbox() calls to account for tabs in bbox calculation 2024-05-24 18:05:37 +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 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