Commit Graph

356 Commits

Author SHA1 Message Date
stefan schippers 5da81a7aea shut down some gcc false warnings (uninitialized vars), add read_more_rawfile() 2023-10-16 11:16:12 +02:00
stefan schippers f10555917e optimized usage of interpolate_yval(), add raw->cursor_b_val[] 2023-10-16 09:53:03 +02:00
stefan schippers a7bcfb7941 do interpolation when annotating "b" cursor values in schematic, as done with measurements with "a" cursor. 2023-10-15 12:05:48 +02:00
stefan schippers f87ab46310 refactor table_read(), less pointer indirections 2023-10-15 10:24:13 +02:00
stefan schippers 663991ce70 add "filename" member in Raw (raw file) struct 2023-10-14 23:09:40 +02:00
stefan schippers 537cedbafe better graphdialog layout, remove tcl redundant raw_level var 2023-10-14 22:43:58 +02:00
stefan schippers 9b4bd44fd0 merged in fast_raw_read branch 2023-10-11 14:05:27 +02:00
stefan schippers b613d65fd9 read_dataset(): better set return codes on errors and cleanup allocated memory 2023-10-02 19:18:12 +02:00
stefan schippers 9fee9610ab vsource.sym and ammeter.sym: add "savecurrent=1|0|true|false" attribute do decide if a .save I(...) is to be printed in netlist. default is 1 for ammeter.sym and 0 for vsource.sym. Add "deltax deltay rot flip" optional parameters for xschem "copy_objects" command to make copy operation scriptable (lot more efficient than using clipboard) 2023-10-02 12:11:05 +02:00
stefan schippers 433ec84278 simpler state bits checking in callback() (use rstate to avoid redundant ShiftMask checks) . Enable loading SP Analysis raw files (they are equal as AC analyses) ) 2023-09-28 21:03:28 +02:00
stefan schippers 112a12a87b add tcl variable no_ask_save: if set to 1 xschem will not ask to save modified schematics 2023-09-23 11:47:11 +02:00
stefan schippers 0119f013e3 correct implementation of previous commit 2023-09-20 11:04:30 +02:00
stefan schippers 1fdf117a84 fix a bug regression in save_schematic when saving an existing schematic to a different filename. Xschem incorretly popped up the alert "Has been changed since opening. Save it anyway?" 2023-09-20 10:19:49 +02:00
stefan schippers 8dfaedf9ea report in-hierarchy overlapped symbols when netlisting 2023-08-29 11:32: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 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 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 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 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 331934afc6 added abs_sym_path() in file name resoluton in `xschem load_new_window` command 2023-06-04 20:44:36 +02:00
Stefan Schippers cff9f7d169 some bug fixes in resolved_net hashing, use some @#n:resolved_net labels in examples 2023-05-27 21:48:21 +02:00
stefan schippers 09a373954f initial implementation of portmap feature: from sub-schematics resolve hierarchic name of schematic nets connected to I/O pins (go to the upper level recursively until resolved) 2023-05-26 11:56:52 +02:00
stefan schippers 5e90f5c319 use find_file_first instead of find_file in C code 2023-05-24 09:12:29 +02:00
stefan schippers 5c22d26072 update copyright info to 2023 2023-05-21 12:52:19 +02:00
stefan schippers 014ebf0477 is_from_web() function to avoid code repetitions, more heuristics when trying to descend into web hierarchies 2023-05-18 20:55:14 +02:00
stefan schippers e0bde2cb1c better handling of web_urls: if already cached do not download again 2023-05-18 11:03:32 +02:00
stefan schippers eef043ef2f sym_vs_sch_pins() do not try to get the "type" attribute of symbols references containing "@" characters (unresolved @parameters) by loading the symbol and checking the xctx->sym[symbol].type attribute, this usually happens in parametrized symbol generators 2023-05-16 14:45:52 +02:00
Stefan Schippers d577bdde7a resolved a memory leak (inst[..].instname) 2023-05-14 17:10:48 +02:00
stefan schippers 96eea54894 some code refactoring, duplicate code replaced with set_inst_flags(), set_sym_flags(), various fixes/optimizations about floaters 2023-05-14 12:58:25 +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 ee1979b8b2 low level functions for floaters and floater text caches is implemented 2023-05-13 13:13:35 +02:00
stefan schippers 9ea93e9938 hide_texts=true attribute added on instance will avoid the display of all symbol texts (will be probably used when using floater symbol texts) 2023-05-12 12:09:20 +02:00
stefan schippers 4919d8734b remove dbg message 2023-05-12 01:30:38 +02:00
stefan schippers 35354e8fe3 fix: check for NULL type attribute in get_sch_from_sym(). Fix web schematic navigation (descend and return) in load_schematic() 2023-05-12 01:29:38 +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 0a4f942fb7 symbol_ignore=true attribute can be set on all symbol elements (text, lines, rectangles, arcs, polys, instances, nets) such that these marked elements are not displayed when symbol is instantiated. 2023-05-09 23:26:46 +02:00
stefan schippers b4b2c91481 fix yet another error in "cmd" string handling in load_sym_def(). Added realloc of freed pointers detection in track_memory.awk 2023-05-05 09:29:30 +02:00
stefan schippers d23388ff71 fix cmd memory leak in load_ym_def(), make copy of returned string in some routines to reduce dependencies 2023-05-04 23:23:54 +02:00
stefan schippers 35f4826198 Fix a corruption found by joanne in load_sym_def() where a static result returned from tcl_hook2() was accidentally freed. 2023-05-04 21:20:58 +02:00
stefan schippers 2438d0fa95 translate2(): better handle %xxx tokens in LCC symbols (propagate %xxx to upper level if not assigned to anything in instance) 2023-05-02 23:21:20 +02:00
stefan schippers 9533b17a20 Allow to pass instance attributes (via translate() ) to symbol generators 2023-05-02 12:42:53 +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 aeea23a84d load_sym_def(): fix a debug message possibly printing garbage due to uninitialized variable 2023-04-29 11:02:23 +02:00
stefan schippers 9593d41f09 persistent load file dialog (Shift-Insert) now correctly handles generator script selection (do nothing until user adds () or (param1,param2,...) to generator name). 2023-04-29 00:28:24 +02:00
Stefan Schippers ee7dc8982a load_sym_def: if loading a symbol reading from a pipe (generator script) do not attempt to seek forward looking for embedded symbols. Assume no embedded symbols exist here 2023-04-28 20:33:57 +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 10441ef901 allow tcl procedures to generate generator script and parameters, update vhdl and verilog netlisters to handle generator schematic/symbol references 2023-04-26 09:54:35 +02:00
stefan schippers a111c116d9 set netlisting type to symbol when descending into a generator-created symbol 2023-04-25 00:27:58 +02:00
stefan schippers 68cf318134 load_sym_def(): removed embedded parameter, recognize generator names and pipe in data from generator instead of loading from file. No more set flags for generated symbols to EMBEDDED 2023-04-24 23:56:56 +02:00