Commit Graph

49 Commits

Author SHA1 Message Date
Stefan Frederik 582863f825 added menu option to load most recent file: ctrl-shift-o, fix menu entry "unhilight selected nets" (did unhilight all); removed a wire[].node clear in hash_wire() that caused broken connectivity. this data is cleared in delete_netlist_structs when needed. 2020-12-25 04:37:53 +01:00
Stefan Frederik fe42f65ec0 some adjustments to make xschem work without warnings if compiled with 18 years old tcl-tk 8.4, check for unconfigured simulators/viewers (example: running a simulation on tedax netlist), various fixes for the drill_hilight() function 2020-12-24 05:18:50 +01:00
Stefan Frederik 5bd6d565d1 propagate_hilights does a prepare_netlist_structs() to ensure consistent connectivity and avoid crashes when returning from lower level symbols; specialized there_are_hilights() function that tells if there still are hilights in the hash table. Checking hilights in current level of hierarchy only is an error since there might be hilights in other hierarchies. 2020-12-24 01:13:37 +01:00
Stefan Frederik 02f0a416cc -a -m check for unbound instances (Joanne fix) 2020-12-23 15:57:28 +01:00
Stefan Frederik 1cfea4d1d3 svg_draw(): do not print unused layer stylesheets, error check when opening file for printing 2020-12-22 18:31:08 +01:00
Stefan Frederik 35efb0228a speed up draw selection for big datasets, make "drill_hilight" work again after hilight infrastructure changes, fix hilight elements with errors after netlisting, after hilight changes 2020-12-20 19:48:37 +01:00
Stefan Frederik dfa58a0a08 spaghetti code removal, more reused code 2020-12-20 15:56:29 +01:00
Stefan Frederik 63a6a8767e resolved a slow path introduced in commit db6bee26 / r1406 ( rebuild xctx-<inst[].color after undo/load ) 2020-12-20 02:09:38 +01:00
Stefan Frederik db6bee268a Fix: paste/ctrl-v was not leaving elements selected; select highlighted elements was not setting ui_state to SELECTION making delete not functional. After an undo rebuild xctx-<inst[].color field of labels/pins from bus_hash_lookup info. 2020-12-19 23:11:26 +01:00
Stefan Frederik f3a3c2d10d clean up of search() function (removed spaghetti drawing code, use available functions) 2020-12-19 19:58:30 +01:00
Stefan Frederik 1184312527 various fixes around the highlight speed improvements 2020-12-19 05:06:57 +01:00
Stefan Frederik a837682731 caching "lab" and "highlight" attributes for speed 2020-12-19 03:22:38 +01:00
Stefan Frederik 41c46bd84b fix hilights when descending / going back 2020-12-18 19:43:45 +01:00
Stefan Frederik 821ebf06f2 optimizations in instance (connected to wires/net labels) highlights 2020-12-18 19:22:08 +01:00
Stefan Frederik 3611b95444 fix debug message causing a crash when doing a net highlight if design contains cells with no pins (filler, taps, etc) and highlight=true attr is set on symbols 2020-12-18 12:38:09 +01:00
Stefan Frederik a642d6e05e if cadlayers set in xschemrc reduce / pad color lists accordingly; handle the case of insufficient number of layers set. Sorted "xschem" command "get" substrings for later lookup optimizations 2020-12-08 12:35:21 +01:00
Stefan Frederik e7e5ad190b more schematic context in xctx: cairo surfaces and context, save buffer graphic context (GC), hilight hash tables and data, node name hash tables. Refactoring of resetwin , resetcairo routines (also used in xinit to avoid code duplication), switching schematics seems almost complete now 2020-12-06 02:10:53 +01:00
Stefan Frederik e279262f00 more globals into xctx context struct 2020-12-02 15:10:47 +01:00
Stefan Frederik eda64b7ee1 removed event_reporting feature 2020-11-29 03:27:45 +01:00
Stefan Frederik 7a7868318b Added various procedures to select flat / hierarchical instances and re-route a terminal to a different net. reroute_inst -> change a pin connection, reroute_net -> change net updating all connected components. "xschem instances_to_net", "xschem instance_nodemap", "xschem instance_pin_coord" new query commands added. "xschem get expandlabel node" renamed to "xschem expandlabel node". 2020-11-26 03:46:55 +01:00
Stefan Frederik 427bce91e7 use get_tok_size instead of returned value from get_tok_value() to decide if token was existing or not in attribute string 2020-11-21 01:23:00 +01:00
Stefan Schippers 7a67663330 fold long lines 2020-11-17 01:29:47 +01:00
Stefan Schippers f6e85bc90c replaced select_connected_nets() with faster select_hilight_net(), net_name() used only for displaying net names will not trigger erc messages 2020-11-16 15:44:51 +01:00
Stefan Schippers fac9cfe26b folded long lines 2020-11-16 12:33:06 +01:00
Stefan Schippers 90f6d7ee90 cleanup debug messages 2020-11-16 02:25:43 +01:00
Stefan Schippers 957b9888d1 Removed all static/global name conflicts, avoided global conflicts with flex/bison generated code so xschem (as a test bench) can be compiled as a single big file that includes all other sources 2020-11-03 12:10:55 +01:00
Stefan Schippers 24370cb752 updated "xplot" file syntax according to recent ngspice changes 2020-10-26 01:50:45 +01:00
Stefan Schippers 367810f6dc add some hideen commands in menu: "place net label(2)", "highlight net/pin name mismatches of selected instances", "Flip", "Rotate" 2020-10-24 23:00:41 +02:00
Stefan Schippers 72e45216c2 spice_probe_dynamic.sym added to devices, retrieves node voltages with a pull method, so always updated, "@@pin" syntax in translate(), same as in format string for netlisting,print hilight nodes (ctrl-alt-j) will print .save instructions if netlist mode set to spice 2020-10-20 01:05:40 +02:00
Stefan Schippers c90f188703 do not call calc_drawing_bbox() on monster schematics as it takes more time than just drawing the viewport 2020-10-18 13:53:58 +02:00
Stefan Schippers e7928727d6 all xctx context is now a dynamically allocated structure; no observable performace impact 2020-10-15 17:39:21 +02:00
Stefan Schippers 0eb706a67e removed changes in strings due to variable refactoring 2020-10-15 17:05:30 +02:00
Stefan Schippers 64c0abc58e code refactoring (global context in Xschem_ctx), "New Schematic" or "New Symbol" will set netlist_type to "spice" or "symbol" respectively 2020-10-12 13:13:31 +02:00
Stefan Schippers 4d0a3d8f7c allow probing to gaw current in voltage sources in addition to ammeters 2020-10-09 22:19:54 +02:00
Stefan Schippers 644641ed23 Preserve existing text (notably license info) in xschem files under version "v" tag; some code refactoring, removed obsoleted comments 2020-10-09 17:29:04 +02:00
Stefan Schippers f419381361 added support for probing waveforms into gaw if raw file written by Xyce; Xyce uses uppercase, does not wrap voltage nodes into V(...). uses ":" instead of "." as hierarchy separator and other quirks. 2020-10-09 01:21:27 +02:00
Stefan Schippers f2d7cc4ca8 fix hierarchical pathname for current probes to gaw 2020-10-08 03:32:23 +02:00
Stefan Schippers 1f588d843d doing ALt-g on an ammeter (devices->ammeter, a current probe type symbol) will send the current to gaw 2020-10-08 00:47:51 +02:00
Stefan Schippers a10cb2c429 added warnings (Options -> Show info window) if components are missing a name=... attribute / if symbols are missing a type=... attribute; eliminated usage of tcl "file normalize..." statements to avoid symlink dereferencing (if using symlinked libraries), aligned version/file_version tags in support awk scripts 2020-10-06 16:19:52 +02:00
Stefan Schippers 051b20c014 code formating, use some intermediate variables for code readability, line length limited to 124 chars 2020-10-04 23:55:43 +02:00
Stefan Schippers 3060217aec simplified complex logical expressions on symbol type by using macros 2020-10-04 19:53:09 +02:00
Stefan Schippers d706e45987 set max width of .c files <=130 chars; Fix netlist regression: if no "lab=value" is given in instance attributes get lab from symbol "template=" string. This was commented out recently and now reverted back. "View->Enable show net names on symbol pins" global menu added: if unset no symbol pin net names will be shown regardless of instance/symbol "net_name=true" and pin @#n:net_name attributes. 2020-09-30 23:55:07 +02:00
Stefan Schippers 91e74fadcb "@#n:net_name" attribute (n = pin name or number) in symbols translates to net name attached to pin. "lab_show.sym" component that shows (does not assign) net name. "highlight=true" attribute can be given on instances in addition to symbols 2020-09-30 00:30:48 +02:00
Stefan Schippers 82451fd50e "xschem hilight_netname" command to hilight a specific net name, "xschem search exact ..." finds specific instances of vector instances, "probe_net" procedure descends into the right bussed instance and hilights the correct net bit, added "xschem display_hilights" to return all hilighted nets in the hierarchy, added "gaw_cmd" procedure to send socket commands to gaw (like "gaw_cmd reload_all") (recently added command to gaw ttg) 2020-09-22 13:35:55 +02:00
Stefan Schippers 1a2500291d dash attribute for arcs 2020-09-02 23:59:58 +02:00
Stefan Schippers 3107c5b12a added "dash=n" (n=integer) attribute for lines, polygons, rectangles to set dashed line style. n is the dash length in pixels. 2020-09-02 18:28:20 +02:00
Stefan Schippers 316ca11e3a removed (draw|filled).*(.*BEGIN, .*) everywhere as it is not needed (just flush graphics with END is enough) 2020-08-29 12:59:27 +02:00
schippes 470f452caf fix log message reporting in my_realloc(), fix remove_symbol() if removed symbol in middle of array 2020-08-11 02:55:24 +02:00
Stefan SChippers 5e8df730a0 populating xschem git repo 2020-08-08 15:47:34 +02:00