Commit Graph

177 Commits

Author SHA1 Message Date
stefan schippers 25db8b8f9a ellipses rendered in ps/pdf export. Do not allow to select objects with mouse button press if a poligon insertion is ongoing. my_fopen() for read mode open, check for regular file. More checks for failed fopen()s. 2025-02-18 02:25: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 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 66a6c913e3 removed warning msg 2025-01-11 22:45:42 +01:00
stefan schippers 7d0a0e82bf name_unlabeled_instances() commented out redundant (never happens) check 2025-01-11 20:24:16 +01:00
stefan schippers a7d5865ab8 fix erroneous `all pins disconnected` warning when netlisting pin-to-pin connected element chains 2025-01-11 20:16:01 +01:00
stefan schippers 59e7872f67 reduce some pointer indirections to array subscripts (readability) 2025-01-10 16:00:47 +01:00
stefan schippers 69a23355fb refactor some debug print messages for NULL strings 2025-01-04 11:33:58 +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 2ef4b88146 sym_vs_sch_pins(): do tcl substitution on symbol references found in schematic being compared with symbol 2024-09-15 22:08:39 +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 9f761176ec highlight disconnected instances at end of netlisting to better find them 2024-08-14 10:12:13 +02:00
stefan schippers a32386c23c issue a netlist error (and report message) if instances with pins have *all* pins disconnected. This is in 99.999% of the cases an error. 2024-08-14 10:08:36 +02:00
stefan schippers f850877b1e added tcl variable top_is_subckt and related Simulation->LVS menu, that keeps top level wrapped inside a .subckt / .ends, as lvs_netlist does. However top_is_subckt does only that and will not enable lvs_format to differentiate device lines in netlist (usually used for LVS comparison). 2024-08-06 12:20:32 +02:00
stefan schippers e8e4196da2 sym_vs_sch_pins(): check for not NULL pin_dir to avoid crash, as per Tim Edwards findings 2024-07-03 08:39:56 +02:00
stefan schippers 64d5472963 allow `global` atttributes on instances of gnd.sym and vdd.sym to override symbol `global` setting. This allows also to set global=1 to net labels (lab_net.sym, lab_pin.sym) to make the net global. 2024-06-23 11:02:25 +02:00
stefan schippers 4e236750ed add abs_path parameter to get_sym_name() for more flexibility 2024-06-21 11:33:28 +02:00
stefan schippers 9282ea670e fix bus_tap netlisting with bus pin (pin # 1) connected to unnamed net. If Tap pin (pin # 0) was already named as #net... (unnamed net ) delete and take name from bus pin and tap index 2024-05-31 11:50:02 +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 6db52b125c fix missing type for sym_vs_sch_pins(all) 2024-05-10 08:06:39 +02:00
stefan schippers be06ed50cb if top level schematic has an associated symbol (.sym) file ensure their ports match, otherwise issue an error. if netlisting fails return non zero exit code if netlisting from command line 2024-05-09 02:10:45 +02:00
stefan schippers 1cbbed77ba first commit for parametric models in subckts --DO NOT USE-- 2024-02-09 17:00:56 +01:00
stefan schippers e467c5641d fix a crashing bug if aborting (in destination window) a copy operation between different windows ( hash_wire(XDELETE...) ) 2023-11-28 15:26:27 +01:00
stefan schippers 52291c562d reset_caches() back into prepare_netlist_structs() (no measurable slowdown) 2023-11-12 20:56:57 +01:00
stefan schippers 6360fc1700 refactor reset_flags() to reset_caches(). scripts that set tcl variables that go into attributes via tcleval() should call `xschem reset_caches` to get all things updated. 2023-11-12 20:53:37 +01:00
stefan schippers ecca0ba2be better swap_windows() function (used when closing a window in multi-window(non-tabbed) interface, resolved_net() recognize global nodes. remove static data from record_global_node(), put in xctx. Remove dead code from translate() (@spice_get_voltage) 2023-11-12 13:01:11 +01:00
stefan schippers 584f88fba1 object iterator, object spatial hash table for all objects. tbu in the future maybe. Fix crashing bug when copying ngspice_probe.sym if annotation is enabled 2023-11-09 13:57:58 +01:00
stefan schippers 881d8a4ed9 various fixes for Simulator/Netlist button color codes 2023-11-05 14:13:20 +01:00
stefan schippers f1cb655a7a ERC: symbols with pass-through pins by definition do not match with schematic so do not check 2023-10-11 22:57:44 +02:00
stefan schippers 9b4bd44fd0 merged in fast_raw_read branch 2023-10-11 14:05:27 +02:00
stefan schippers 0204b7596b first selected instance is now always the master (instead of the first in the xschem array order) when doing an edit attribute on a group of selected elements 2023-10-04 17:15:52 +02:00
stefan schippers 14a674b6f4 fix a random segfault due to out of bound array ref in find_pass_through_symbols() 2023-09-28 01:06:07 +02:00
stefan schippers c94d6b66cb yet some other fixes for displaying / updating ERC info data after a netlist 2023-08-28 23:21:42 +02:00
stefan schippers 590b6fb3cd better ERC messaging in case of errors (shorts, pins with missing attrs), ...) 2023-08-28 18:40:11 +02:00
stefan schippers 0805802bb8 fix performance issues (too many proc infowindow calls) on large schematics introduced by previous two commits 2023-08-28 10:39:11 +02:00
stefan schippers 1c3c9ff889 do not show ERC info window if netlisting invoked via CLI; global variable show_infowindow_after_netlist can now take 3 values: always, onerror, never, to decide when showing the ERC info window after netlisting. Old values (1, 0) still accepted as aliases for always and onerror 2023-08-27 23:55:48 +02:00
stefan schippers b521994a08 prefix ERC infowindow messages with Error: or Warning: or Info: 2023-08-26 14:28:35 +02:00
stefan schippers bf46fd3e7b allow "1" / "0" in addition to "true" / "false" in all boolean attributes 2023-07-14 00:49:51 +02:00
Stefan Schippers af153593e9 removed some redundant code lines in netlist.c, updated xschemtest.tcl netlist hashes with new noconn.sym 2023-06-30 20:54:07 +02:00
stefan schippers 6755975369 do not create nets for devices that have *_ignore=true attribute set, this generates false warnings about undriven nets. 2023-06-30 08:29:11 +02:00
stefan schippers 810b814211 added some comments in code / schematics 2023-06-18 23:44:52 +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 245993f034 added attributes spice_ignore=short, verilog_ignore=short, .... that will transform the instance into a short in the current netlisting mode, shorting all pins to the same net. Works similarly as lvs_ignore=short, but does not need lvs_ignore global setting 2023-06-07 03:41:49 +02:00
stefan schippers 38a28a3acb add lvs_ignore to context saved vars. Refactored some preprocessor macros SPICE_IGNORE_INST --> SPICE_IGNORE) 2023-06-06 23:38:29 +02:00
stefan schippers b23d7518bb find_inst_to_be_redrawn(): add `lvs_ignore=short` devices to list, fix uninitialized xctx->inst_redraw_table 2023-06-06 18:40:27 +02:00
stefan schippers 394db224d1 added global tcl variable `lvs_ignore` that can be used to enable instance or symbol attributes `lvs_ignore=open` or `lvs_ignore=short` while netlisting, added `test_lvs_ignore.sch` example 2023-06-06 15:22:45 +02:00
stefan schippers ff216e8187 function reset_flags() set flags on symbols and instances; call reset_flags before rebuilding connectivity to update cached values; add short.sym component that can be used to short two nets together (and remove the short using *_ignore=true); instcheck(): do not proces instances that have *_ignore=true set. 2023-06-06 08:42:43 +02:00
Stefan Schippers f5c592c889 xschem resolved_net command: add [net] parameter; instcheck(): use inst[].lab instead of get_tok_value(inst[].prop_ptr, "lab",0) 2023-06-01 18:00:47 +02:00
stefan schippers 4a06176f0d comments, more test_bus_tap examples 2023-05-29 16:48:13 +02:00