Commit Graph

2502 Commits

Author SHA1 Message Date
stefan schippers cd15362376 improve prevous commit: do not execute "pending_fullzoom" drawing if main window unmapped (do not decrement the pending_fullzoom flag and delay until window is visible) 2023-06-23 11:15:54 +02:00
stefan schippers 9ea7121846 set pending_fullzoom=1 on additionally created tabs so will display correctly if xschem started deiconified (wm withdraw .) 2023-06-23 10:59:06 +02:00
stefan schippers 70995165b0 fix regression (--command option) 2023-06-23 09:53:05 +02:00
stefan schippers 7e865eea1d avoid doing a full zoom before loading schematic in create_new_tab() and create_new_window(), as this will result in slightly different full zoom area in new tabs w.r.t first tab. 2023-06-23 09:34:16 +02:00
stefan schippers c6df85cce5 apply center full zoom in all zoom full commands if tcl variable zoom_full_center is set 2023-06-23 09:04:55 +02:00
stefan schippers f85d46a0cb save_schematic(): avoid copying schname to xctx->sch[xctx->currsch] if dest == src 2023-06-22 08:16:19 +02:00
stefan schippers 7ba1acb6d0 modify xschemrc file to avoid side effects if sourced (intentionally or by mistake) multiple times. 2023-06-20 23:32:04 +02:00
stefan schippers 284ff2d1db fix crash if --script is given (xctx->sch[] was not initialized, regression due to xctx->sch transformed to array of pointers) 2023-06-19 23:42:52 +02:00
stefan schippers 810b814211 added some comments in code / schematics 2023-06-18 23:44:52 +02:00
stefan schippers 89d90c21db xctx->sch made an array of pointers instead of array of PATH_MAX strings (memory saver) 2023-06-17 23:58:35 +02:00
stefan schippers c97dfddd4e fix memory leak due to improper use of get_pin_and_attr() 2023-06-17 10:14:55 +02:00
stefan schippers a6462269dc refactor token.c: added get_pin_number(), get_pin_and_attr() 2023-06-16 23:08:00 +02:00
stefan schippers 3c16c4bf20 separated @#pin:attr handling in translate() into *get_pin_attr(), replaced sscanf() with dedicated get_pin_and_attr() so we are able to handle stuff like "@#ADD[7:0]:net_name" 2023-06-16 10:55:22 +02:00
stefan schippers a752bb099b better refactor text_bbox calculation in del_rect_line_arc_poly() and delete_only_rect_line_arc_poly() 2023-06-16 00:08:16 +02:00
stefan schippers 670841f361 fix segfault in delete() where del_rect_line_arc_poly() (which calculates text object bboxes) was called after text items deleted 2023-06-15 23:05:25 +02:00
stefan schippers 01806eaa10 fix meaningless pin attributes on tier.tcl 2023-06-15 09:05:15 +02:00
stefan schippers c3d03cd6d2 show red dot when cuting a wire with new alt-right button click on a wire. Added also menu command in Tools 2023-06-14 10:08:50 +02:00
stefan schippers 330c447f86 update spice netlist hash for inst_sch_select.sch in xschemtest.tcl 2023-06-13 23:20:28 +02:00
stefan schippers 258f794f1a set modify/rebuild connectivity/draw only if something changed in break_wires_at_point() and break_wires_at_pins() 2023-06-13 11:56:46 +02:00
stefan schippers 4f08f0a6b6 added command Alt-RightButton to cut a wire at mouse position. Do a prepare_netlist_structs(0) at end of break_wires_at_pins() for connectivity consistency 2023-06-13 11:51:16 +02:00
stefan schippers eca52e1f4a added comp_65nm_read.sym example in inst_sch_select/inst_sch_select.sch, symbol with spice_sym_def attribute 2023-06-12 18:22:40 +02:00
stefan schippers 89d847fb62 fix a bug in `xschem annotate_op` function not showing data if `Live annotation...` option was not set beforehand. 2023-06-12 09:13:20 +02:00
stefan schippers 910235749b small updates to solar_panel.sch test schematic 2023-06-12 08:17:42 +02:00
stefan schippers 818950980c drill_hilight(): propagate unnamed nets connected to multiple instances (R1[3:0]), do not try to get single bits out of unnamed nets, as the whole netname is hashed 2023-06-12 07:25:05 +02:00
Stefan Schippers 613dae091e extended `Shift-M` command to selected nets (nets attached to them will stretch) 2023-06-11 18:46:31 +02:00
Stefan Schippers 61e368b05e update_symbol(): better redraw screen if changing generator symbols; as done with floaters redraw all screen viewport, don`t build list of objects to redraw 2023-06-11 18:18:45 +02:00
Stefan Schippers 61a659e004 text elements with attribute name=xxx or floater=xxx will go through a tcl substitution (instead of the translate(...) function if the referenced xxx instance does not exist. floater=instname can now be given instead of name=instname (they are equivalent) 2023-06-11 15:57:49 +02:00
stefan schippers fc897c641b fix a potential crash if a ngspice_probe.sym device is placed and live cursor annotation is enabled (this instance has no lab attribute) 2023-06-11 07:24:00 +02:00
stefan schippers 2b0655e3e9 improve `Shift-M` command by stretching nets that land on instance pins while moving instances 2023-06-10 23:41:02 +02:00
Stefan Schippers acef2b0d2c break_wires_at_pins(): inherit selected state of new created wires from ancestor wires 2023-06-10 19:16:00 +02:00
Stefan Schippers 3b3e723f8f add new command `Shift-M`, move selected instances adding wires when separating overlapping instance pins (Connect by kissing) 2023-06-10 18:57:32 +02:00
Stefan Schippers 43befd4e3e break_wires_at_pins(): delete piece of wires connected to symbol pins that extend beyond the pin into the symbol 2023-06-10 17:55:13 +02:00
Stefan Schippers d5cc702fe8 Add command "Tools -> Remove wires running throuh selected inst. pins" 2023-06-10 17:24:12 +02:00
stefan schippers 0c9bdba37f add some comments in break_wires_at_pins() 2023-06-10 09:04:13 +02:00
stefan schippers c46ffd043f update list of procedures and globals in developer_info.html 2023-06-09 08:29:35 +02:00
stefan schippers 3eeaf53cd4 improve quit_xschem command and xschem new_schematic destroy_all 2023-06-09 08:12:39 +02:00
stefan schippers 37a5dcee95 remove dbg messages in fix_symols. doc updates 2023-06-09 00:16:51 +02:00
stefan schippers a6e5b150a5 added command `xschem getprop instance_notcl` to avoid tcl subst of the resulting attribute; improved fix_symbols to fix also parametrized generators (pcells) 2023-06-08 23:02:40 +02:00
stefan schippers f5db2b63f8 use get_window_count() instead of new_schematic("ntabs"...) 2023-06-08 11:23:25 +02:00
stefan schippers ecd380f5d3 update hash of greycnt.v in xschemtest.tcl due to comments lines added in netlist for bus taps 2023-06-08 11:01:34 +02:00
stefan schippers de1f4f0d86 added commands `xschem switch [win_path|schname]`, `xschem destroy_all [force]`, added `[force]` option to xschem exit 2023-06-08 10:40:52 +02:00
stefan schippers a27a187bb4 small update to `xschem exit` function documentation 2023-06-08 06:38:36 +02:00
stefan schippers d56e3939d5 updated xschem_library/examples/test_backannotated_subckt.sch; fix a potential segfault in proc fix_symbol 2023-06-08 01:08:05 +02:00
stefan schippers edaf4ccce9 Add low level function xschem reset_symbol, changed defaults in xschem: now toolbar and tabbed interface (more robust than multi-window) is enabled by default, doc updates, improved fix_symbols for setting/removing path compoents from symbol references, now uses low-level xschem reset_symbol (faster) 2023-06-08 00:03:25 +02:00
Stefan Schippers 828975c19f improved fix_symbols (works both ways for sky130 <--> xschem default env conversions 2023-06-07 20:48:26 +02:00
Stefan Schippers ff99381624 add procedure `fix_symbols <n>`to set `n` last directory components to all symbols in current design 2023-06-07 20:41:09 +02:00
Stefan Schippers bbb239dc21 faster `xschem replace_symbol` command 2023-06-07 20:31:25 +02:00
stefan schippers 41c5ded9a1 documentation updates about new lvs_ignore attribute and *_ignore=short extension 2023-06-07 12:05:12 +02:00
stefan schippers 6f0e4e935f update generators/res.tcl 2023-06-07 10:17:02 +02:00
stefan schippers 4d98cc7b41 moved test_generators under generators/ 2023-06-07 09:51:11 +02:00