Commit Graph

98 Commits

Author SHA1 Message Date
stefan schippers c9f60ce1c8 clanup / better implementation of previous fix 2025-01-20 18:39:46 +01:00
stefan schippers 4f31c024c8 add option -noalert to `xschem netlist` command, update `proc cellview` 2025-01-19 23:29:41 +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 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 35cac9bf22 netlist errors (if xschemrun from cmdline) return exit code 10 2024-05-17 00:20:27 +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 203cf38e1e add option `keep_symbols in xschemrc to avoid purging symbols when netlisting /descending hierarchy. Add functions atan, asin,acos, cosh, sinh, atanh,acosh,asinh in wave processor 2024-02-24 13:15:43 +01:00
stefan schippers 1cbbed77ba first commit for parametric models in subckts --DO NOT USE-- 2024-02-09 17:00:56 +01:00
stefan schippers 6c1dadd27c flush unused symbols at end of netlist 2023-12-02 23:25:54 +01:00
stefan schippers b2965f4c3d attribute default_schematic=ignore: if set in a symbol xschem will not descend into the default schematic associated to symbol. Instances MUST specify a schematic attribute 2023-12-02 13:17:32 +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 88e7f4fea4 fix a problem in set_modify() (inconsistent prev_set_modify state after netlist of modified circuit) 2023-11-04 22:50:57 +01:00
stefan schippers 512b297e35 add validity checks for xctx->inst[n].ptr < 0 (unresolved instance) 2023-10-23 22:49:52 +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 bf46fd3e7b allow "1" / "0" in addition to "true" / "false" in all boolean attributes 2023-07-14 00:49:51 +02:00
stefan schippers a20fce8cdf fix tedax netlisting (do not netlist noconn devices), recognize @#pin_name:net_name and @#pin_name:pin_attr attributes in tedax format string 2023-07-01 09:22:24 +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 6198d21404 add "show_infowindow_after_netlist" tcl variable (default = 0) that can be set in xschemrc to always show erc window after netlist even without or no critical errors 2023-06-25 09:05:37 +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 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 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 5c22d26072 update copyright info to 2023 2023-05-21 12:52:19 +02:00
stefan schippers c2e5c61b35 graphs: add xmag and ymag entry boxes for custom magnification factor for x/y axis labels, fix current_dirname handling when netlisting hierarchical http(s) designs. The goal is to allow netlisting remote designs seamlessly 2023-05-20 23:21:43 +02:00
stefan schippers 71c04ad071 fix unneeded there_are_floaters() call in callback.c 2023-05-16 09:52:23 +02:00
stefan schippers 9fcde30a52 do not perform tcl substitution before displaying netlist_commands text into an editor. Correctly restore xctx->current_dirname after netlisting. get_generator_command(): quote command name (just in case its pathname contains spaces). floater example labels in solar_panel.sch. Various corrections and optimizations in new floater labels code. 2023-05-14 01:13:18 +02:00
stefan schippers 5e281e7f10 *_ignore attributes for instances and symbols cached in .flags struct member for speed optimization. added some generator netlist testcases in xschemtest.tcl 2023-05-10 23:29:16 +02:00
stefan schippers 626f2729ce remove used_symbols feature (may fail in some hierarchical situations) 2023-05-10 10:13:38 +02:00
stefan schippers d7557d7945 fix netlisting schematics with generator name containing extension ( like symgen.tcl(1,2,3) ) 2023-05-10 04:40:22 +02:00
stefan schippers 7ad930e7f0 istances with *_ignore=true attribute will be drawn greyed out in schematics in the corresponding netlisting mode; command in Properties menu to toggle this attribute on selected instances 2023-05-10 03:13:13 +02:00
stefan schippers f2214150ae tedax, verilog, spice netlists: do not expand unused subcircuits (due to *_ignore attrs on instances/symbols) 2023-05-10 01:02:28 +02:00
stefan schippers 4c3b4d0321 various tcl_hook2() additions on instance names to handle procedures, fix bbox calculation in xschem replace_symbol command 2023-05-01 14:37:10 +02:00
stefan schippers 0bb345f764 fix data corruption when netlisting hierarchical symbols with *_stop attribute set, thanks to Joanne Low regression tests, add option in pop_undo() to avoid saving state (push_undo()) for redo. 2023-04-27 11:52:51 +02:00
stefan schippers 2e7eb9e38b instance based schematic selection: place get_additional_symbols(1) after every load_schematic() to consistently add new virtual symbols for every instance based "schematic" attribute across the whole hierarchy. This is done for all netlisting code and hier_psprint() 2023-04-27 01:14:10 +02:00
stefan schippers d9d66c1c90 removed redundant skip_dir(...) (use get_cell(..., 0) ), fix a couple of glitches in postscript export (filled polygons with self-coincident edgs, fix filled arc pies (missing point) 2023-04-26 23:00:20 +02:00
stefan schippers 7a16859702 update tedax netlister with previous enhancements 2023-04-26 10:26:21 +02:00
stefan schippers eb6705d0f4 fixed regression introduced by get_additional_symbols() (memory leak) 2023-04-21 15:31:27 +02:00
stefan schippers ff9f92646c draw_graph_points() split big XDrawLines requests into smaller chunks to handle raw files with > 4M points 2023-04-14 15:41:00 +02:00
stefan schippers 340b89c58d add base_name field in xSymbol struct to keep track of the base symbol name the "virtual" symbol is inherited from (instance based implementation selection with schematic=... attribute) 2023-04-13 22:25:36 +02:00
stefan schippers c71c15e967 various enhancements around the new instance based schematic=... attribute, doc updates. 2023-04-13 00:49:38 +02:00
stefan schippers 590bf8b6ec add instance based "schematic=..." attribute. This allows multiple instances of the same symbol to have different implementations. 2023-04-12 18:28:19 +02:00
stefan schippers 63d4c55a09 fix missing error setting on sym_vs_sch_pins() in tedax_netlist. 2023-03-28 22:32:28 +02:00
stefan schippers e4e2ba37cc xschem load from script: no alert box warning if new file given 2023-03-25 09:41:53 +01:00
stefan schippers 2725e0c533 add exit code to xschem netlist command, add execute(error,last) and execute(exitcode,last) to inspect stderr and exit code of last simulation job 2023-03-23 18:34:14 +01:00
stefan schippers 6d192023de fix web hierarchy navigation error when returning to web schematic after descending into a local symbol 2023-03-13 11:11:43 +01:00
stefan schippers 6e13f3cd77 handle netlisting remote (http[s]) hierarchic objects 2023-03-12 11:11:11 +01:00
stefan schippers a8aaf996e7 use pre-increment where expression is not used 2023-02-18 09:44:11 +01:00
stefan schippers 42c3024eda remove debug allocation IDs 2023-02-09 21:06:27 +01:00
stefan schippers 3be9a66aed fix memory leak in table_read() 2023-02-09 21:04:22 +01:00