Commit Graph

3160 Commits

Author SHA1 Message Date
stefan schippers 5e3c27d7ee load_schematic(): ability to load / preview a generator (adds () to filename) 2025-02-09 20:52:15 +01:00
stefan schippers a50b3681c8 calc_drawing_bbox(): initialize xctx->show_hidden_texts before calculating bbox. 2025-02-09 19:44:40 +01:00
stefan schippers 8bd9c3d939 fix bitrots in proc cellview (Update function) 2025-02-09 15:27:55 +01:00
stefan schippers b5a25e5925 fix update not working in proc cellview 2025-02-09 13:48:39 +01:00
stefan schippers 77a6bd2bb8 change order of last statements in hier_psprint() to avoid displaying garbage while moving crosshair cursor and ps->pdf conversion is in progres... 2025-02-09 12:23:51 +01:00
stefan schippers b625a45dab place_symbol(): trim leading and trailing whitespace from symbol name given as input 2025-02-09 03:20:57 +01:00
stefan schippers 188e73cf8b place_symbol() and proc is_xschem_file: if /path/to/gen.tcl(arg1,arg2,arg3) is given remove (...) argument list before checking existence of generator file. Do not add () to generator filename if argument list already given. Do not include hidden texts in schematic boundbox for full zoom if show hidden_texts is not enabled. draw_graph(): do not wrap graphs using sweepvar_wrap if not dc (this includes: do not wrap multi-point OP sims). print_spice_element(): better @param lookup in instance prop_ptr, symbol template, parent instance prop_ptr (if instance based "additional" symbol) and parent instance symbol template string (use translate3()) 2025-02-09 02:46:45 +01:00
stefan schippers 0b3db90f19 one more argument to translate3() 2025-02-07 14:39:21 +01:00
stefan schippers 0024dc2759 more comments and refactoring in token.c 2025-02-07 14:23:58 +01:00
stefan schippers 51ff56357d some simplification and refactoring of print_spice_element() and translate() 2025-02-07 13:22:08 +01:00
stefan schippers 1573ea3cad improvements in eval_expr.y, print_spice_element(), translate() to allow multiple expr(...) patterns in strings, they all will be evaluated if possible or returned unevaluated (without `expr(` and `)` ) 2025-02-06 23:57:01 +01:00
stefan schippers 5dd8ee16ea revert a test change on devices/pmos4.sym 2025-02-06 15:18:40 +01:00
stefan schippers a4ce2d1b64 subst_token(): better token removal (remove space or newline to avoid having many remaining blanks); `netlist_postprocess` xschemrc tcl variable to insert commands after netlist is created 2025-02-06 12:45:21 +01:00
stefan schippers 53fda635c9 remove dbg msg, reduce precision in eval_expr(), add expr() resolution at end of translate() 2025-02-06 10:39:50 +01:00
stefan schippers 7926a833be added `d` to unselect object under the mouse, `Shift-D` to unselect by area, both work with or without infix_interface, moved delete files to `Ctrl-d`, update keybinding docs 2025-02-06 04:20:57 +01:00
stefan schippers 0c4cdb3ea1 propagate changed key bindings to new opened windows (in no-tabs mode) 2025-02-06 01:11:11 +01:00
stefan schippers 70c1e542b2 attributes within expr(...) where expr() contains an infix arith expression will evaluate if possible. Otherwise the string within expr(...) will be returned unchanged. Changes done in translate() and print_spice_element() 2025-02-05 18:20:36 +01:00
stefan schippers 4db384a671 add eval_expr.y for evaluation of generic math expressions in infix notation 2025-02-05 16:33:23 +01:00
stefan schippers 795b5557a5 print_spice_element(), primnt_verilog_primitive(), print_vhdl_primitive(): format string is passed to translate() to do a round of @xxx param substitutions looking up xxx=... in instance attributes. 2025-02-03 02:15:41 +01:00
stefan schippers 05d61b3987 optimization: replace some sumbol "template" token lookups with existing cached sym[].templ field 2025-02-02 23:59:41 +01:00
stefan schippers 5517c8b3f0 has_included_subcircuit(): fix spice netlisting error when using a symbol with bussed ports and implementation specified via a spice_sym_def attribute. bussed ports must be expanded and resulting total number of bits of symbol (grater than number of I/O pins!!) must be calculated and sent to the tcl has_included_subcircuit proc. 2025-02-02 00:33:55 +01:00
stefan schippers e471f577fa integrated create_symbol.tcl in xschem.tcl, some old version strings updated in scripts, some code indenting fixes 2025-02-01 00:03:12 +01:00
stefan schippers 752f794c96 remove dbg message 2025-01-31 15:59:23 +01:00
stefan schippers 31a3a00c46 clean up translate() deallocation 2025-01-30 23:33:51 +01:00
stefan schippers 60d180de33 translate(): fix `regfree(get_sp_cur);` not followed by `get_sp_cur = NULL;`, leading to a random pointer to nowhere 2025-01-30 22:43:35 +01:00
stefan schippers 42a0ceb51f findnet.c: fix some errors in distance calculation leading to "holes" in the selection of instances. 2025-01-30 21:00:46 +01:00
stefan schippers eadd991651 reduce calls to find_closest_net_or_symbol_pin() in draw_crosshair() 2025-01-30 03:47:13 +01:00
stefan schippers ee750099e3 svgdraw(): draw in grey or red ignored or shorted devices, some fixes in ps_print() 2025-01-29 18:52:38 +01:00
stefan schippers 40fd937d51 shorted_instance(): fixed a bug: lvs_ignore active disallows evaluation of spice_ignore flags; ps_draw_symbol(): draw in grey or red ignored or shorted devices 2025-01-29 16:22:44 +01:00
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 44cc37f013 optimization: comment out a call do dbg() in a deep, deep nested loop in draw_graph(), enable if needed 2025-01-27 15:33:46 +01:00
Stefan Schippers 56777a2944 fix mouse cursor restore when exiting graph and crosshair (not full-size) enabled 2025-01-27 13:10:53 +01:00
stefan schippers 8df1aa9996 some comments, removed redundant modifier key checks in callback() 2025-01-27 12:51:32 +01:00
stefan schippers 500d2e2bed some commentd added 2025-01-27 02:07:38 +01:00
stefan schippers 0d325f6957 force a crosshair draw at end of draw() (draw_crosshair(7,...)), intuitive interface direct drag of instances: fix some non-working combinations when stretch mode (y) is enabled. 2025-01-27 01:49:06 +01:00
stefan schippers bfd7895d4c edit_line_point() and edit_wire_point(): use mouse[xy]_snap instead of mouse[xy] for checking line/wire endpoint selection 2025-01-27 00:48:26 +01:00
stefan schippers 6669b4f177 renamed find_closest_net() to find_closest_wire() 2025-01-27 00:14:29 +01:00
stefan schippers f2cc1d0216 move_objects(RUBBER,...) and copy_objects(RUBBER): return immediately if snapped mouse coordinates not changed 2025-01-26 17:58:03 +01:00
stefan schippers bce1e652c6 refactored xctx->y_[12] to xctx->y[12] 2025-01-26 17:49:47 +01:00
stefan schippers 80a22c78a8 comments 2025-01-26 17:44:00 +01:00
stefan schippers 8086b5581e redraw_w_a_l_r_p_z_rubbers(): include zoom_rectangle(RUBBER), only execute if (snapped) coordinates changed, draw_crosshair(): only execute if (snapped) coordinates changed, find_closest_net_or_symbol_pin() is moved into draw_crosshair() so its calls are also minimized, do not allow z (zoom rectangle) if pending STARTWIRE, STARTLINE etc are in progress. 2025-01-26 15:19:22 +01:00
stefan schippers bbe8782bc0 more comments in callback(), add_wire_from_inst_pin() separated into add_wire_from_inst() and add_wire_from_wire(), changed the distance measurement for closest instance, works better with ituitive i/f, some edit shape point functions restricted to intuitive_interface only, to avoid too many combinations 2025-01-26 06:40:00 +01:00
stefan schippers ea5609dd0b more comments in callback() 2025-01-26 02:35:00 +01:00
stefan schippers 34f9ae73a0 more comments in callback() 2025-01-26 02:32:43 +01:00
stefan schippers 7e697672ce more comments in callback() 2025-01-26 02:00:07 +01:00
stefan schippers 70156a3bda intuitive interface, directly drag elements: default to wire stretch if enable_stretch is activated and normal move if using ctrl key and the other way around if enable_stretch is unset 2025-01-26 01:06:48 +01:00
stefan schippers 01989bba0c fix issue with previous fix, add enable_stretch parameter to select_inside() and select_rect() 2025-01-26 00:26:56 +01:00
stefan schippers 1bee3d766f included TheSUPERCD commit 260beff, if (full and only full) crosshair is displayed use snap mouse coordinates since mouse pointer is turned off; fixed an issue when selecting ridicolously small rectangles in find_closest_box() 2025-01-25 23:41:39 +01:00
stefan schippers dad3b78931 Add a line number in error report if failed sourced tcl scripts 2025-01-25 19:39:53 +01:00
stefan schippers 6cc7883e51 reduce overlap area when clearing crosshair, add return value to find_closest_net_or_symbol_pin() 2025-01-25 14:33:01 +01:00