Commit Graph

1857 Commits

Author SHA1 Message Date
Stefan Schippers ff99381624 add procedure `fix_symbols <n>`to set `n` last directory components to all symbols in current design 2023-06-07 20:41:09 +02:00
Stefan Schippers bbb239dc21 faster `xschem replace_symbol` command 2023-06-07 20:31:25 +02:00
stefan schippers 41c5ded9a1 documentation updates about new lvs_ignore attribute and *_ignore=short extension 2023-06-07 12:05:12 +02:00
stefan schippers 6f0e4e935f update generators/res.tcl 2023-06-07 10:17:02 +02:00
stefan schippers 4d98cc7b41 moved test_generators under generators/ 2023-06-07 09:51:11 +02:00
stefan schippers 3a42cfa64c added test_generators.sch example 2023-06-07 09:38:11 +02:00
stefan schippers e63818f980 reverted solar_panel.sch (was changed for testing) 2023-06-07 03:44:42 +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 b6e9ab33cc fix compare schematics if no file for schematic to compare with is given. In this case compare current schematic with saved version. Also issue a warning if swapping compare schematics if comparing schematic with disk version of itself. 2023-06-06 19:39:40 +02:00
stefan schippers b23d7518bb find_inst_to_be_redrawn(): add `lvs_ignore=short` devices to list, fix uninitialized xctx->inst_redraw_table 2023-06-06 18:40:27 +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 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 a3ac9f6d1d fix portmap of single-bit unnamed nets in descend_schematic() (do not add [0] to single bit #netxxx nets) 2023-06-05 13:27:19 +02:00
stefan schippers 4f387f3bbe disable displaying backannotation data if `b` cursor is hidden or `Simulation->Live annotation with b cursor` is disabled. Use resolved_net() in translate() when displaying @spice_get_voltage so it will work on sub block ports 2023-06-05 12:58:19 +02:00
stefan schippers 1cf0c820f9 documentation updates 2023-06-05 11:53:51 +02:00
stefan schippers 229b07b945 fix missing save_ctx in create_new_tab and create_new_window when creating new tab/window after the 2nd one, leading to wrong context switches. Added trace command on XSCHEM_LIBRARY_PATH when changing search path. `proc set_paths` is automatically called to cache in the new search path. No need to run it manually 2023-06-05 10:54:26 +02:00
stefan schippers d4641f2b1a doc updates (developer_info.html) 2023-06-04 23:05:13 +02:00
stefan schippers 55d011ba7b added necessary comments in swap_windows() / swap_tabs() functions 2023-06-04 22:54:39 +02:00
stefan schippers 2312bfc34e non-empty string given as win_path in `xschem new_schematic create` will avoid warnings if opening multiple windows/tabs of the same file. do not issue warnings if calling xschem with multiple identical schematic files from the command line. `xschem new_schematic` command: use abs_sym_pth on given filename to get correct path. 2023-06-04 21:48: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 44d1e764ac resized some data structures for better overall speed 2023-06-04 17:56:52 +02:00
Stefan Schippers ed78a0fe72 remove test mode 2023-06-04 17:35:43 +02:00
stefan schippers 5b5fa27408 remove unused var 2023-06-04 15:39:02 +02:00
stefan schippers 7aa6ecfbd6 make `xschem exit` (ctrl-w, close window) work in multi-window mode exactly as in tabbed interface, allowing to close the root window (will be swapped with subwindow and deleted) 2023-06-04 15:37:35 +02:00
stefan schippers 6d08202a5d save (ctrl-s function) normally does not save if no changes are made. However if file timestamp has changed since opening (by someone else) prompt user to decide what to do (save or not) 2023-06-04 10:16:17 +02:00
stefan schippers c708050baf make ctrl-ArrowLeft/ctrl-ArrowRight work again (move to next/prev tab) 2023-06-04 09:28:22 +02:00
stefan schippers ec5577c07f removed File menu commands `Empty schematic in new window` and `Empty symbol in new window` since these just create another xschem process. Added `File->Start new xschem process`. `xschem new_window` and `xschem new_symbol_window` commands removed, added `xschem new_process 2023-06-04 00:46:01 +02:00
stefan schippers e68ca0a0cc Place polygon bind key is now `p`, ctrl-w is now `Close current schematic`, while ctrl-q is `Quit xschem`. Reorganized File menu, added more orthogonal `Create new schematic/tab` removed some largely unused entries. Ctrl-w does not close the last window, just leaves it blank. Use ctrl-q to close xschem 2023-06-03 23:57:35 +02:00
stefan schippers 57ea120a33 removed some direct exit() calls in editprop.c 2023-06-03 12:19:34 +02:00
stefan schippers d4116a3bb0 cleaner exit -f xschem -v is given 2023-06-03 11:41:07 +02:00
stefan schippers f9610851e8 cleanup exit procedures: tcl exit command will cleanly delete additional tabs/windows data structures before closing 2023-06-03 11:37:37 +02:00
stefan schippers 6e2754020b added function swap_tabs() (wip) 2023-06-03 09:37:43 +02:00
stefan schippers 0244dc5e69 add command xschem tab_list, returns window pathname and associated filename loaded 2023-06-03 00:21:55 +02:00
stefan schippers 1ea1e835ae @spice_get_voltage: do not process if net is a multiple bit bundle 2023-06-02 08:10:47 +02:00
stefan schippers 0d44c0ce13 fix wrong pin label net gathering in translate() 2023-06-02 07:48:09 +02:00
Stefan Schippers f5c592c889 xschem resolved_net command: add [net] parameter; instcheck(): use inst[].lab instead of get_tok_value(inst[].prop_ptr, "lab",0) 2023-06-01 18:00:47 +02:00
Stefan Schippers f3f12da486 updated test_extracted_netlist.sch example 2023-06-01 16:02:40 +02:00
stefan schippers 60a6a76ac2 update test_extracted_netlist.sch 2023-06-01 11:36:47 +02:00
stefan schippers d68e25016b fix long standing bug: redundant grammar rule in expandlabel.y causing it to fail recognizing nodes like GND*16 2023-06-01 07:09:43 +02:00
stefan schippers e948edbffa descend_schematic(): vectorize #netxxx nets if connected to bussed pins, before hashing, so resolved_net(...) will return the correct net portmapping 2023-06-01 06:40:24 +02:00
stefan schippers e9c8569800 remove debug mesg 2023-05-31 10:25:54 +02:00
stefan schippers 39f2747149 fix some errors found by Joanne in test_bus_tap.sch 2023-05-31 00:14:22 +02:00
stefan schippers 5085301cd7 add net_name=true in bus_tap.sym (so avoid setting it on instancs), add documentation for bus taps 2023-05-30 11:03:07 +02:00
stefan schippers 4a06176f0d comments, more test_bus_tap examples 2023-05-29 16:48:13 +02:00
stefan schippers 487b1eb202 more flexible bus_tap syntax 2023-05-29 09:17:06 +02:00
stefan schippers 06d8a548d3 fix expandlabel.y (remove excess rules) 2023-05-29 07:41:53 +02:00
stefan schippers 6bbc60f8fb add more ".." bus notations: XX[4,2,8..1..3,12,23] and others. bus_tap.sym: if no "[n]" pattern is given assume it is the complete name of the slice (does not need bus basename) 2023-05-28 15:30:40 +02:00
stefan schippers 620217788f do not process @#n:resolved_net attributes if net_name=true not set on symbol or instance and option "show netnames on symbol pins/floaters" is not enabled 2023-05-28 08:13:01 +02:00
stefan schippers 5043b14921 fix uninitialized wave_color due to regression after rainbow wave color enablement in double dc sweeps; more bus_tap.sym usage in examples; make bus_tap.sym work correctly for all netlist formats 2023-05-27 23:36:10 +02:00