Commit Graph

2903 Commits

Author SHA1 Message Date
Stefan Schippers b88c4bab9e -m better relative path recognition in abs_sym_path 2020-10-15 18:42:08 +02:00
Stefan Schippers 1c294ce31d preview function now does no more need to save whole schematic on the undo stack, it is just a matter of pointer switching 2020-10-15 18:08:14 +02: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 0eb706a67e removed changes in strings due to variable refactoring 2020-10-15 17:05:30 +02:00
Stefan Schippers 6d96c8bd61 move xctx.sch_path free under free_xschem_data() 2020-10-15 16:32:09 +02:00
Stefan Schippers c87f44a441 added "xchem load_symbol" command to load a symbol without binding to any instance, text edit attribute "Load" button will start in "$current_dirname" 2020-10-15 15:37:06 +02:00
Stefan Schippers 4362c44a8d fix various regressions: escape the ? pattern in awk, be more selective in ? node multiplicity tag recognition in spice.awk, yet some more fixes in abs_sym_path thanks to JL 2020-10-15 13:38:27 +02:00
Stefan Schippers 35f47beca9 force a rebuild selected_array when swapping element order (S key) to rebind correctly. renamed <UNCONNECTED_PIN> to __UNCONNECTED_PIN__ to avoid useless syntax warnings from the node label grammar parser. 2020-10-15 02:16:57 +02:00
Stefan Schippers acb5c45db1 avoid printing erc warnings about missing "name=" attribute in symbols if there is a definition in symbol template string 2020-10-15 01:43:53 +02:00
Stefan Schippers 8e5bfe2a13 remove instname and symname parameters to tclpropeval2 as they are no more necessary 2020-10-14 23:44:53 +02:00
Stefan Schippers e82f270f61 replaced @ character with ? for spice netlist node multiplicity tags, so translate() will not try to expand them, do not print erc warnings for "non electrical" symbols (architecture, package, port_attributes, use, etc), print_spice_element() result string will be forwarded to translate() if enclosed within tcleval(...), so all @vars will be expanded. translate() in turn will forward to tcl_hook() if necessary. 2020-10-14 23:15:05 +02:00
Stefan Schippers 8bb6b0e3f7 pass name and symname to tcl_hook, add @symname_ext in print_spice_element 2020-10-14 21:04:45 +02:00
Stefan Schippers c70aa9b06d update_symbol() do not throw away quotes in name attrs (name="some thing") 2020-10-14 16:02:05 +02:00
Stefan Schippers d92bd6590d restructure abs_sym_path 2020-10-14 14:59:55 +02:00
Stefan Schippers d696924615 fix: better handle relative paths 2020-10-14 12:59:55 +02:00
Stefan Schippers abb698ea63 fix regression: correctly resolve ../../some/path/to/file in abs_sym_path 2020-10-14 11:14:15 +02:00
Stefan Schippers b834df35e7 ALLOC() macro replaced with function str_alloc() 2020-10-14 05:25:20 +02:00
Stefan Schippers 4682613290 exported tcl_hook() at global scope for future enhancements 2020-10-14 04:59:20 +02:00
Stefan Schippers c7ae5183fe removed dbg message 2020-10-14 04:14:43 +02:00
Stefan Schippers f4e5f70de1 fix bug in ALLOC() macro, tcl_hook() function 2020-10-14 04:12:34 +02:00
Stefan Schippers 5d26115bd2 refactored token.c, differentiate between windows and unix in absolute filename construction in xinit.c 2020-10-14 01:38:51 +02:00
Stefan Schippers 28fe7d993a removed xschem samefile command as there is "file stat" for that 2020-10-13 18:10:05 +02:00
Stefan Schippers 1c2bbc609f added "xschem samefile" command to verify if 2 files are the same entity by comparing inodes, pwd_dir set in xinit.c to $env(PWD) if PWD var is defined as it does not dereference symlinks 2020-10-13 17:51:14 +02:00
Stefan Schippers 8ea275013e updated print_spice_subckt() to reflect updates done in print_spice_element(); abs_sym_path recognize ././././, ./., other strange paths., use $env(PWD) for current_dirname on startup instead of getcwd() if possible, to avoid dereferencing symlinks 2020-10-13 16:23:48 +02:00
Stefan Schippers f8f1626c1b cleanup in print_spice_element(), print_verilog_primitive(), print_vhdl_primitive(), print_tedax_element(), parselabel allows ~ in node names (XSPICE inversion operator) 2020-10-13 02:52:37 +02:00
Stefan Schippers 6f80fdbf76 fix once again an issue when working in symlinked directories and giving a relative .sch file path on cmdline; clean up print_spice_element(). JL to check if tclgetvar("env(PWD)") works on windows (xinit.c:1435) 2020-10-13 01:07:28 +02:00
Stefan Schippers 26fdaae83d if strings passed to translate() are encloded in tcleval(...) the translated string is passed to tcl for evaluation. This allows to display formula results for symbols, for example capacitance values based on W and L: tcleval(C=[ expr @ca * @L * @W ]) --> tcl will substitute the calculated value: C=1.234e-14 2020-10-12 17:25:57 +02:00
Stefan Schippers 42a8e55956 @tcleval() hook in translate() 2020-10-12 14:25:12 +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 32f85ac4f4 do not force a full hash_wires() on every net insertion; code formatting 2020-10-11 13:08:32 +02:00
Stefan Schippers 077fde9350 removed redundant command in xschem() command parser 2020-10-11 11:26:22 +02:00
Stefan Schippers b006c82bad slight resize in pin text size for better look. top frame in insert text dialog does not extend vertically. 2020-10-11 01:38:28 +02:00
Stefan Schippers 0ce6f6ba5d when netlisting primitive elements (not subcircuits) the "format", "verilog_format", "vhdl_format, "tedax_format" can be specified in instance attributes to override symbol. This allows to adapt primitives (example digital standard cells) to different design kits without using wrapper subcircuits. Together with "symname" redefinition in instance this allows to completely customize element netlisting. 2020-10-11 00:13:52 +02:00
Stefan Schippers 617d708009 verilog_preprocessor and verilog_timescale now use verilog_format instead of format (which is for spice), corrected verilog_netlist.c; better backslash and quote (") escaping and unescaping when using attribute select combobox; for unquoting use "xschem get_tok tok 2" instead of "xschem get_tok tok 0" + regsub ....(remove backslashes)... 2020-10-10 23:21:23 +02:00
Stefan Schippers 31eac64d7a LICENSE cosmetic editing 2020-10-10 11:49:12 +02:00
StefanSchippers 8f7ecbee9f
Update LICENSE 2020-10-10 11:44:58 +02:00
Stefan Schippers 4d0a3d8f7c allow probing to gaw current in voltage sources in addition to ammeters 2020-10-09 22:19:54 +02:00
Stefan Schippers 19753992f4 "Option->Show info win" moved to "View->Show ERC info window" 2020-10-09 17:36:22 +02:00
Stefan Schippers 644641ed23 Preserve existing text (notably license info) in xschem files under version "v" tag; some code refactoring, removed obsoleted comments 2020-10-09 17:29:04 +02:00
Stefan Schippers 7649cec683 doc updates (developer info) 2020-10-09 03:04:49 +02:00
Stefan Schippers f419381361 added support for probing waveforms into gaw if raw file written by Xyce; Xyce uses uppercase, does not wrap voltage nodes into V(...). uses ":" instead of "." as hierarchy separator and other quirks. 2020-10-09 01:21:27 +02:00
Stefan Schippers 898a8adfb2 some clarifications of steps to be taken to simulate example rom8k circuit 2020-10-08 23:24:27 +02:00
Stefan Schippers f2d7cc4ca8 fix hierarchical pathname for current probes to gaw 2020-10-08 03:32:23 +02:00
StefanSchippers bc338881f3
Update README.md 2020-10-08 00:54:06 +02:00
Stefan Schippers 1f588d843d doing ALt-g on an ammeter (devices->ammeter, a current probe type symbol) will send the current to gaw 2020-10-08 00:47:51 +02:00
Stefan Schippers 2287a15e52 better wire connecting bubble zoom scaling at different snap levels 2020-10-07 19:45:40 +02:00
Stefan Schippers bbc5a58568 added vsqsource, square wave source generator, with only "hi" and "freq" as parameters 2020-10-07 18:04:03 +02:00
Stefan Schippers 0f61e0fe0f JL fix regression for path resolution on windows, Esc resets manhattan_lines setting 2020-10-07 16:12:33 +02:00
Stefan Schippers 060e53f1d2 correctly draw net labels / pins when they are highlighted and user changes their lab attribute so they become unhilighted 2020-10-07 03:45:50 +02:00
Stefan Schippers d9488fa5ea small sample xschemrc fix 2020-10-06 21:59:23 +02:00