Commit Graph

98 Commits

Author SHA1 Message Date
stefan schippers 29ef08e84b better memory tracking reporting (my_strcat and my_strncat allocations) 2023-02-01 11:38:28 +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 6d17797d0b add Highlight->Select overlapped instances command 2022-09-27 18:35:42 +02:00
Stefan Frederik d279783faa added menu entries to set and conmpare with schematic. 2022-08-25 13:59:36 +02:00
Stefan Frederik d3cc957fa3 warning and highlight perfectly overlapped symbols 2022-08-19 10:56:26 +02:00
Stefan Frederik cd7eb3ab54 update license info 2022-06-24 00:36:12 +02:00
Stefan Frederik 7401f1d8eb add menu "Symbol -> Search all search-paths for schematic associated to symbol". Default: not enabled. Variable: search_schematic. If enabled xschem does not assume the schematic is in the same directory of the symbol but looks in all libraries defined in XSCHEM_LIBRARY_PATH for a match. 2022-06-23 13:42:56 +02:00
Stefan Frederik 21a8885b65 regression fix: attempt to write into target netlist even if fopen() failed 2022-05-05 22:42:25 +02:00
Stefan Frederik d457565c2d declared more functions static where possible and appropriate 2022-02-19 14:31:55 +01:00
Stefan Frederik 7d3c19441d cleanup in tabbed/multi-context code, remoevd redundant functions, more tests in xschemtest 2022-01-11 01:09:56 +01:00
Stefan Frederik 76b537a587 [experimental] add waveform display of ngspice simulation data directly in xschem drawing area 2021-12-22 04:39:23 +01:00
Stefan Frederik 95ea920faf do not hash the comments containing absolute paths in xschemtest netlist check, since these vary on different systems 2021-12-14 12:40:32 +01:00
Stefan Frederik fe549c0f5c readable function pointer call syntax 2021-11-29 11:52:32 +01:00
Stefan Frederik 03f973e203 use undo function pointers 2021-11-28 14:35:55 +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 78934d363f removed duplicate netlist_dir global var in C code, use tcl netlist_dir variable, some widgets now display on top of current schematic window instead of xschem`s master window (use [xschem get topwindow] instead of ".") 2021-11-23 17:02:36 +01:00
Stefan Frederik d6d3ab502c some comments in the code, avoid potential memory leak in netlisting code 2021-11-23 01:14:49 +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 59198f2dda removed a whole bunch of global UI-related variables and tcl/C redundancies 2021-11-10 13:43:08 +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 434e0f012b Any attribute embedded in a tcleval(....) construct will be passed by get_tok_value() down to tcl for evaluation. This generalizes what was done for the "schematic" attribute in 20210617 2021-09-20 00:55:33 +02:00
Stefan Frederik 00311e7ff1 update license info 2021-07-27 16:42:54 +02:00
Stefan Frederik 9cdfad3abb do a tcl evaluation of the "schematic" attribute of a symbol if the attribute is within a tcleval(...) expression. This way tcl variables/expressions can be used to determine the schematic to descend into when traversing/netlisting. example: schematic=tcleval(poweramp_${::mode}.sch). 2021-06-17 00:25:39 +02:00
Stefan Frederik e16e54d851 new list variable "noprint_libs" to specify patterns of cells NOT to print in hierarchical export. "xschem_libs" does the same thing for netlisting. 2021-06-15 01:15:32 +02:00
Stefan Frederik f251918a0e fix usage of "xschem_libs", list of libraries/schematics NOT to netlist / export 2021-06-14 00:35:20 +02:00
Stefan Frederik dfef332fb5 Replace *.ipin/*.opin/*.iopin info lines with *.PININFO.... if LVS netlist is selected. Use absolute path of symbols in check_lib function. Make PNG export work if destination path contains spaces. 2021-06-12 00:54:09 +02:00
Stefan Frederik fd561a9101 add as comments in netlist absolute paths for .sch and .sym of all expanded subcircuits 2021-02-09 23:04:26 +01:00
Stefan Frederik 238c9f592d fix -N option for output netlist filename 2021-02-09 17:19:37 +01:00
Stefan Frederik 2063b42613 fixed a hypotetical integer overflow issue, do increment and modulo of hilight_color , remove some spaghetti code (use propagate_hilights() ) 2021-01-08 21:25:11 +01:00
Stefan Frederik 94cd0d0c7d hash_hi() made faster by caching sch_path_hash[] 2021-01-02 01:55:01 +01:00
Stefan Frederik 9604b8cc82 removed redundant code in calc_drawing_bbox(),removed trim_wires, push & pop undo in print export routines, exported images should be wysiwyg 2020-12-25 21:31:15 +01:00
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 6e8486bbf2 add mising parameter in text_bbox() needed if compiling without cairo, tedax_netlist updated to be in line with other backends. 2020-12-24 12:23:48 +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 a837682731 caching "lab" and "highlight" attributes for speed 2020-12-19 03:22:38 +01:00
Stefan Frederik a64d69ed7a some code refactoring, more globals in xctx context, fixed unnoticed shift-reduce conflict in expandlabel 2020-12-03 04:20:05 +01:00
Stefan Frederik 8902f3b56b more state in xctx context 2020-12-02 19:35:42 +01:00
Stefan Frederik e279262f00 more globals into xctx context struct 2020-12-02 15:10:47 +01:00
Stefan Frederik 8fe0553f96 fix crashing netlister crashing bug if required schematic files are missing (null hier path). fix hierEDAx when netlisting empty blocks 2020-11-24 17:37:27 +01:00
Stefan Frederik 9c5739b0f2 allow tEDAx (flattened) netlisting of hierarchical schematics; added pcb/hierarchical_tedax example 2020-11-24 02:54:45 +01:00
Stefan Schippers 7a67663330 fold long lines 2020-11-17 01:29:47 +01: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 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 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 3060217aec simplified complex logical expressions on symbol type by using macros 2020-10-04 19:53:09 +02:00
Stefan Schippers f3bedb39a4 eliminated any differences between SYMBOL and SCHEMATIC files. There is no "current_type" variable any more. Symbols who used to have netlisting rules defined in schvhdlprop have now these attributes in schsymbolprop. Old symbol files with schvhdlprop will be saved with netlisting rules in schsymbolprop. 2020-09-14 10:27:45 +02:00
Stefan SChippers 5e8df730a0 populating xschem git repo 2020-08-08 15:47:34 +02:00