Commit Graph

613 Commits

Author SHA1 Message Date
stefan schippers ca1035eca1 add no-infix (set infix_interface 0) operation to move and copy operations 2025-01-18 21:59:04 +01:00
stefan schippers 025823f14c `xschem go_back 0` allows to go up in hierarchy *NOT* saving a modified schematic 2025-01-17 18:11:35 +01:00
stefan schippers 151241afc7 add new command `xschem get modified` (returns 1 if circuit needs to be saved) 2025-01-17 17:48:02 +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 10991e662c added `xschem symbol_base_name` command to get the base symbol a symbol defined by instance `schematic` attribute comes from; updated `celview` procedure 2025-01-15 00:44:39 +01:00
stefan schippers bca1110282 add option -nohier to `xschem netlist` command, correctly restore netlist_dir at end 2025-01-11 17:55:46 +01:00
stefan schippers 7484a6363c interpret `xschem symbols {}` as `xschem symbols` (simpler for scripts), update proc cellview 2025-01-11 15:30:22 +01:00
stefan schippers 172ab4081d changed `xschem is_symgen` to `xschem is_generator` as name is more appropriate 2025-01-11 14:17:30 +01:00
stefan schippers 5161f3dc0a some doc updates and comments, error checks in get_sch_from_sym() 2025-01-11 14:08:23 +01:00
stefan schippers 59e7872f67 reduce some pointer indirections to array subscripts (readability) 2025-01-10 16:00:47 +01:00
stefan schippers ef5d0e1b96 str_replace(): add parameter to specify number of substituitions (or all); replaced atof_spice() with atof_eng() in various parts related to numbers that do not come from spice netlists; fix numerical setting of cursors if log scale is set (wrong preset was shown); make wave labels in graph scale with gr->magx as X-axis labels; fix scaling roundoff issues in dtoa_eng(); add new `@spice_get_node <spice_node> ` token (where spice_node may contain @variables) in symbol texts to display indicated spice node value. Does not use TCL, thus faster and less "quoting hell" problems 2025-01-10 01:52:54 +01:00
stefan schippers a3e7610d83 horizontal cursors in graphs 2025-01-07 04:20:32 +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 fd5fec64aa make uninstall: remove empty directories (share/xschem and share/doc/xschem); make command `xschem help` work also if running in src/ directory; use XSCHEM_SHAREDIR shell variable (if defined and directory existing), else set XCSCHEM_SHAREDIR to `pwd` if started from src/ dir, else set compile set XSCHEM_SHAREDIR. xschemrc can override this XSCHEM_SHAREDIR setting. 2025-01-05 01:29:04 +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 724c67435c updates in traversal proc, fix searching for xschem_man.html if clicking the link into the About dialog and running xschem from the src/ dir. 2024-12-30 01:04:40 +01:00
stefan schippers 0ffd327b85 do not do a rectangle zoom (`z` key) if no minimum area is given; added `xschem get symbols` command; added `derived_symbols` in `xschem symbols` command; added menu `simulations->Keep symbols when traversing hierarchy`; created `proc cellview` and integrated `traversal.tcl` into xschem.tcl 2024-12-29 12:38:26 +01:00
stefan schippers 61c4f72c15 some `xschem test` benchmarks added 2024-12-24 03:15:50 +01:00
stefan schippers b16a5ef927 code comments 2024-12-23 12:24:06 +01:00
stefan schippers c4ebc92aa2 update xschem go_back command (pas integer notitle to go_back() function; simplify wrap handling vs sweep variable in draw_graph(), graph_fullyzoom(), calc_custom_data_yrange(), find_closest_wave() 2024-12-21 13:05:33 +01:00
stefan schippers 1ddafe3276 updated autozero_comp.sch to show saout histogram; xschem raw switch: do not call update_op() if not switching into a 1-point OP or DC sim 2024-12-20 11:56:53 +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 da6532d8d8 doc updates (xschem image command) 2024-12-17 09:27:01 +01:00
stefan schippers cac5392a45 proc set_tab_names: call [xschem get schname] only once 2024-12-16 01:24:36 +01:00
stefan schippers 538d3bf2ad xschem raw values now returns full precision, no more 8 digit rounding, as this is undesirable for transient noise sims 2024-12-15 12:24:51 +01:00
stefan schippers a97b47623f annotate_op: delete current raw file (to replace with new OP raw) ONLY if current loaded raw file is an OP simulation (npoints==1) 2024-12-11 01:54:31 +01:00
stefan schippers 13e38b803d annotate_op command only deletes loaded OP raw file (if any), does no more delete all loaded raw files. 2024-12-10 23:31:09 +01:00
stefan schippers 2a7ee749ba xschem raw add: add optional sweep_var parameter 2024-12-09 00:00: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 7fccc2eed1 better xschem bbox command 2024-11-22 03:12:57 +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 127a2a0221 add needed include <stdarg.h> in scheduler.c (needed, probably some library or other include file was sourcing it). 2024-11-11 20:59:29 +01:00
stefan schippers 92c99c10f9 get_additional_symbols(): some sanity checks, descend_schematic() more options in set_title argument (avoid set title, avoid processing pins/nets, avoid descending into i-th xdec[3] instance, descend as a whole xdec[3:0], add `xschem get_additional_symbols what` command, allow `xschem get_sch_from_sym -1 inv.sym` to get schematic associated with symbol. hier_psprint(): avoid printing / listing duplicate schematics, improved traversal.tcl 2024-11-05 13:59:37 +01:00
stefan schippers 94d5c44599 xschem change_sch_path command for changing the current path we are descended in; set_title parameter for xschem descend and xschem go_back (optimization for faster scripts). optimized utility procedure traversal.tcl. Catch glob pattern errors in proc setglob 2024-11-03 00:22:40 +01:00
stefan schippers 9894d31437 when inserting a svg image automatically set the filter attribute to rasterize svg to png (if tcl variable svg_to_png is set in xschemrc), "rsvg-convert" or "inkscape" or imagemagick "convert" can be used. see template xschemrc in src/ 2024-10-27 13:06:49 +01:00
stefan schippers 30e407b743 add "Properties" menu for "Change selected object insertion order" (Shift-S) 2024-10-14 21:41:07 +02:00
stefan schippers 95c7a68c92 enhance xschem print command (allow to specify bitmap size while using selection to indicate the boundbox to export) 2024-09-29 00:16:05 +02:00
stefan schippers a79e4304d9 draw_image(): do RECTORDER() before taking *x1, *y1 2024-09-23 15:57:32 +02:00
Stefan Schippers adb855db0b do not reset xctx->netlist_name after doing `Netlist` from gui (xschem netlist -erc) 2024-09-17 20:31:28 +02:00
stefan schippers ba7e50ccc1 update hash calculation in xschemtest.tcl for LCC_instances netlist (due to changes in schematic) 2024-09-10 22:38:44 +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 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 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 84b73bcdf4 `xschem setprop rect layer number fill val` : update cacted .fill value 2024-05-25 10:39:47 +02:00