Commit Graph

54 Commits

Author SHA1 Message Date
stef 7d8ce2f9ad remove spaces on line ends, brace expr tcl expression when possible, resize rectangle in intuitive interface made easier at far zoom levels 2025-12-13 11:51:05 +01:00
stefan schippers 5a3c97d64e add vccs_limit.sym and vcvs_limit.sym that use the XSPICE limit code model (saturated controlled sources). [WIP] support for spectre netlist format (for the VACASK simulator) - still incomplete 2025-07-16 00:12:26 +02:00
stefan schippers 6af59cb3fb reset alloc IDs 2025-04-18 02:02:15 +02:00
stefan schippers dbac25433c `/` command (show bindkeys) will use a toplevel window instead of fullscreen 2025-04-18 02:00:08 +02:00
stefan schippers 5bc194f3a5 separated undo_initialized and mem_undo_initialized, so they can be used more interchangeably 2024-12-16 12:14:11 +01:00
stefan schippers 5eea0728c7 update in_memory_undo.c to be in sync with pop_undo(4, ...) 2024-12-14 22:39:13 +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 1cbbed77ba first commit for parametric models in subckts --DO NOT USE-- 2024-02-09 17:00:56 +01:00
stefan schippers b56ee2c998 use my_strdup2() in all text object copies(txt_ptr, prop_ptr, floater_ptr, ...) to better handle corrupted input data 2023-10-09 13:39: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 5c22d26072 update copyright info to 2023 2023-05-21 12:52:19 +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 a2de3cd787 unified copy_symbol() and copy_symbol1(), better new symbol allocation policy 2023-04-22 00:21:53 +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 5b3b3d0662 function copy_symbol() extracted from undo code for reuse 2023-04-12 12:09:45 +02: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
stefan schippers 1da5e47d4a remove my*() allocation routines unique IDs and replace with _ALLOC_ID_ macro, to be substituted in debug sessions with create_alloc_ids.awk 2023-01-23 15:42:15 +01:00
Stefan Frederik ca8ffafe8a code refactoring (update_conn_cues()) 2022-11-07 14:23:57 +01:00
Stefan Frederik d279783faa added menu entries to set and conmpare with schematic. 2022-08-25 13:59:36 +02:00
Stefan Frederik cd7eb3ab54 update license info 2022-06-24 00:36:12 +02:00
Stefan Frederik b978bd90fa images (rotated,flipped as the symbol) in symbols 2022-01-24 22:58:30 +01:00
Stefan Frederik 694bda1250 protect new cairo code with #if HAS_CAIRO==1 2022-01-21 02:51:58 +01:00
Stefan Frederik c3af523559 better data struct for embedded image 2022-01-19 23:28:19 +01:00
Stefan Frederik d22245b33a show and store embedded (png) images in schematics 2022-01-19 18:39:23 +01:00
Stefan Frederik e449543805 tclvareval() wrapper 2021-12-05 12:39:05 +01:00
Stefan Frederik fe549c0f5c readable function pointer call syntax 2021-11-29 11:52:32 +01:00
Stefan Frederik d3ef2038ed "xschem change_colors" to "xschem build_colors" in tcl command language for consistency 2021-11-29 11:27:11 +01:00
Stefan Frederik 2442a3dfc0 runtime menu option to set undo stack on disk or in memory 2021-11-29 02:47:37 +01:00
Stefan Frederik 03f973e203 use undo function pointers 2021-11-28 14:35:55 +01:00
Stefan Frederik 01b3401e43 in memory undo now saves / restores all symbol definitions, so no re-link to instances operation is needed 2021-11-28 13:16:01 +01:00
Stefan Frederik 39a27e856e fix pcb_current_protection_embed.sch with up to date embedded symbols (previous had very old symbols with errors), fix pmos.sym (make pin names and verilog_format string consistent). All other schematics with embedded symbols updated with current library symbol. Some code in place for saving/restoring symbols in in-memory undo. This code is not compiled so does not affect xschem operation at all. 2021-11-25 04:00:01 +01:00
Stefan Frederik f67ec47f82 added some comments, commented out xctx->prep_* = 0 in save_schematic() 2021-11-24 13:52:59 +01:00
Stefan Frederik e7aa7b9d04 fix netlisting errors on schematics with embedded symbols. When purging unused symbols schematic was re-linked with library symbols instead of embedded symbols, leading to errors if the symbols differ. Fixed popping schematic from undo stack instead of calling link_symbols_to_instances() 2021-11-24 03:47:04 +01:00
Stefan Frederik 14e94eb615 remove_symbols() and remove_symbol(): some symbol fields were not correctly cleared when removing all symbols. Ensure inst[].name and sym[].name are not strdup`ed as NULLs 2021-11-22 12:42:33 +01:00
Stefan Frederik fddd3f84fb avoid force-saving changed schematic before doing netlist (use push/pop undo instead of load_schematic() to restore circuit after traversing hierarchy) 2021-11-21 23:04:48 +01:00
Stefan Frederik 83746efbe9 some other static data eliminated from functions (edit symbol_property), in_memory undo structure moved into schematic context 2021-11-19 23:22:54 +01:00
Stefan Frederik 04e670b3cf fine tuning of previous commit 2021-10-26 00:04:13 +02:00
Stefan Frederik b81325ea00 code cleanup, comments, more globals in Xctx context structure 2021-10-25 17:05:43 +02:00
Stefan Frederik 00311e7ff1 update license info 2021-07-27 16:42:54 +02:00
Stefan Frederik ac99227365 fix a bug when pasting / ctrl-v into an empty schematic (instances not selected for moving) 2021-01-22 01:03:16 +01:00
Stefan Frederik 6c98d34c65 make in_memory_undo work again (some variable changes missing after code refactoring) 2021-01-02 02:05:13 +01:00
Stefan Frederik a837682731 caching "lab" and "highlight" attributes for speed 2020-12-19 03:22:38 +01:00
Stefan Frederik 76ef664757 undo data structures into xctx context 2020-12-04 00:30:13 +01:00
Stefan Frederik e279262f00 more globals into xctx context struct 2020-12-02 15:10:47 +01:00