Commit Graph

789 Commits

Author SHA1 Message Date
stefan schippers 1185d7df79 fix destroyed symbol 2024-03-05 00:24:35 +01:00
stefan schippers f1bb389986 fix make_sym.awk: if an existing symbol is present with empty (or white space) attributes do not preserve these, force new default attributes (name=... template=... format=...) 2024-03-05 00:19:07 +01:00
stefan schippers 2b123fbdfb update docs for polygon editing (point drag, add/delete points), xschem logo update 2024-03-02 11:48:52 +01:00
stefan schippers 354f027b9b call translate(-1, ..) for text objects containing @... and referencing no valid instance (floater=true) so non instance-related @vars are resolved. translate(): resolve @spice_get_voltage(net) without trying to calculated fqnet from net if no valid inst (-1) is given 2024-02-26 16:05:11 +01:00
stefan schippers 7d93b7abac added missing xschem_library/inst_sch_select/comp3* files 2024-01-22 15:33:50 +01:00
stefan schippers 17e24e0f5f has_included_subcircuit(): correctly handle bussed ports in symbol and spice .subckt file 2024-01-14 11:28:51 +01:00
stefan schippers ac04ce5c55 set tab/window title if xschem invoked with `xschem -n file.sch`. fix poweramp.sch testbench for Xyce sim. 2024-01-11 08:19:25 +01:00
stefan schippers 6c163d5cb0 has_included_subcircuit(): get symname from `schematic` attribute if set in instance or symbol, or use actual symbol name, add tb_symbol_include.sch example circuit 2024-01-08 17:19:12 +01:00
stefan schippers d2c6566030 when doing spice netlist, if a symbol has the spice_sym_def attribute set and is using @pinlist in format string for port order, get the port order from the subckt given in spice_sym_def, either directly or through a .include line 2024-01-08 03:24:59 +01:00
stefan schippers f0e739cf02 .load.l.paneright.list better positioning (remember last selection), print_spice_subckt_nodes(): use my_mstrcat() instead of fprintf, for future enhancements 2024-01-06 12:14:36 +01:00
stefan schippers dcef3d4b9d waves_callback(): do not set GRAPHPAN when setting cursor position numerically 2024-01-05 11:21:34 +01:00
Stefan Schippers cd6deb0bf9 xschem raw_read: allow specifying t1 and t2 to load only a portion of simulation file 2023-12-31 20:33:08 +01:00
stefan schippers 64ca25b9fe proc netlist: do not attempt to change a button color if xschem started with -x (no X) 2023-12-28 23:28:18 +01:00
stefan schippers f03a4ff68c update pv_ngspice.sch 2023-12-27 11:32:26 +01:00
stefan schippers 13b9221a96 update jpeg quality factor for rom8k graphs 2023-12-12 02:23:59 +01:00
stefan schippers b95289ca5e better line width calculation / restore in export images 2023-12-11 16:06:49 +01:00
stefan schippers 4cb060f817 better placement of graphs in image exports. If something is selected export image will export selection. Add ability to specify area to print in ps/pdf export (set media size to bbox) 2023-12-11 15:18:46 +01:00
stefan schippers 39769187d3 add `xschem set cursor[12]_x` commands for moving graph cursors 2023-12-10 00:28:44 +01:00
stefan schippers d64f4a3fc2 do not `xschem unhilight_all` in mos_power_ampli->hi_current launcher 2023-12-09 23:57:15 +01:00
stefan schippers c8ced06bbe add `fast` option in xschem hilight_instname. mos_power_ampli: use hilight to show devices with high current 2023-12-09 11:39:04 +01:00
stefan schippers 1e9d189ad4 rotated short.sym, so it matches pin positions with most other 2-terminal devices 2023-12-08 00:45:30 +01:00
stefan schippers 926cc26b74 updated poweramp.sch and ngspice_get_expr.sym 2023-12-04 00:19:50 +01:00
stefan schippers 7761fcca4d renamed comp_65nm*.* in inst_sch_select to comp3*.* to avoid name collisions with other (ngspice) directories 2023-12-02 01:48:11 +01:00
stefan schippers a53ddf22d8 changed appearance of pv_ngspice.sym 2023-11-28 01:16:09 +01:00
stefan schippers bf3b601aad improvements to ngspice_analog_delay.sym 2023-11-27 22:46:48 +01:00
stefan schippers 5ee0f96af3 add devices/ngspice_analog_delay.sym 2023-11-27 17:49:36 +01:00
stefan schippers 28bf3b57cf rename some myload_* stuff to file_dialog_* 2023-11-27 15:08:15 +01:00
stefan schippers fdc3ceefeb vsource.sym and ammeter.sym no more use tcleval() to handle @savecurrent attribute (calling tcleval() is overkill for such a trivial task and may expose to side effects if $ (and other) characters are used ) 2023-11-27 12:13:53 +01:00
stefan schippers 26fbb82f6b fix unwanted head_undo_ptr change when doing a netlist. Add current backannotation info in capa.sym, ind.sym, isource.sym, isource_table.sym 2023-11-27 00:01:45 +01:00
stefan schippers c4e9310d45 allow to load raw files even if netlist type set to `symbol`. Better to_eng function, `xschem raw_query value node {}` returns value at cursor b position 2023-11-26 12:54:37 +01:00
stefan schippers 1dfca8e256 add file_dialog default_geometry variable to set file / component selector initial size. Better panes width allocation and stretching 2023-11-25 23:44:09 +01:00
stefan schippers d71122bb68 update pv_ngspice.sch 2023-11-24 18:22:10 +01:00
stefan schippers 8d155af82f `Alt-e` does a true descend sub-schematic and opens it in another window 2023-11-20 17:53:28 +01:00
stefan schippers 2c773c4a25 poweramp.sch and mos_power_ampli.sch updates 2023-11-19 12:52:57 +01:00
stefan schippers 397293f227 spice netlist: use symbol for port list of top level schematic only if it is of type subcircuit 2023-11-16 23:37:16 +01:00
stefan schippers a50bfb3622 when doing spice netlisting if top level has a symbol (and the symbol has i/o ports) use the symbol for printing the top level subckt port list. This ensures same port ordering when netlisting a testbench containing a component and netlisting the component itself. Tab context menu: open Symbol / open Schematic will use the search_schematic setting and search counterpart accordingly. 2023-11-16 01:26:55 +01:00
stefan schippers be914f4ee4 raw_read(): clear text floater caches if a rawfile is successfully read 2023-11-15 21:04:10 +01:00
stefan schippers 83345932a5 allow to specify per-node raw file in graphs with the syntax: alias_name ; node_name % [dataset] [rawfile] [sim_type] 2023-11-15 19:18:28 +01:00
stefan schippers e2dc93c8b0 more schematic netlist tests in xschemtest.tcl 2023-11-13 23:46:13 +01:00
stefan schippers f4df48813f copy_hierarchy_data() initial implementation for future hierarchy cloning. Alt-Shift-E and Alt-Shift-I to edit schematic / symbol in a new xschem process. `xschem raw switch`: allow also integer index (as returned by `xschem raw info`) instead of `file type` to switch raw file 2023-11-13 18:00:30 +01:00
stefan schippers 0df3cfcc7b better recognize global nets in LCC schematics (translate(), @spice_get_voltage(..) ) 2023-11-12 13:43:31 +01:00
stefan schippers b63a70090a doc updates 2023-11-12 13:08:51 +01:00
stefan schippers 4426c41ef3 revert test changes on delta_sigma.sch 2023-11-12 13:02:30 +01:00
stefan schippers ecca0ba2be better swap_windows() function (used when closing a window in multi-window(non-tabbed) interface, resolved_net() recognize global nodes. remove static data from record_global_node(), put in xctx. Remove dead code from translate() (@spice_get_voltage) 2023-11-12 13:01:11 +01:00
Stefan Schippers 8c29d0e812 fix error in capa-2.sym and missing check for null xctx->inst[].instname in get_pin_attr() 2023-11-11 20:03:20 +01:00
stefan schippers 6bace90b41 revert test changes on cmos_example.sch 2023-11-11 00:09:05 +01:00
stefan schippers bdd641cad3 allow tcleval(xxxx) in % dataset specification on graph nodes 2023-11-11 00:03:22 +01:00
stefan schippers 769c7d4663 Add incremental_select tcl variable. It is normally set. If set show selected objects while dragging a selection rectangle. If unset show selection at end of drag operation. Fix possible endless loop whiel zooming on X axis if raw file has only one point (OP). Also if graph specifies custom plot switch to that raw file to get correct x range. 2023-11-09 16:41:53 +01:00
stefan schippers 1d59571e52 revert poweramp.sch changes for testing 2023-11-07 15:02:04 +01:00
stefan schippers 366fa86d57 do not sel tctc::*_simulation_id var if no process was started due to errors /missing command 2023-11-07 12:44:56 +01:00
stefan schippers 089592122d fix mis-interpretation of % as a dataset designator when present in wave alias names 2023-11-07 01:05:45 +01:00
stefan schippers 215412646a revert debug change in solar_panel.sch 2023-11-07 00:44:17 +01:00
stefan schippers a5b65ea494 add execute(win_path,$id) variable to keep track the tab/window subprocesses started from, for cleanup buttons 2023-11-07 00:40:57 +01:00
stefan schippers 0b93634fee Better Simulation->Graphs-> Load raw file (ask filename) 2023-11-03 23:37:09 +01:00
stefan schippers 52c65f9d34 update delta_sigma example ( Use different RUP/RDOWN resistances for inv / buf ) 2023-11-01 21:06:08 +01:00
stefan schippers 391a744302 xschem setprop command: redraw all viewport if show_pin_net_names is enabled 2023-10-29 22:22:05 +01:00
stefan schippers b680f5da20 redraw screen if executing `xschem raw_read` (and raw file already loaded, thus unloading waves) 2023-10-29 12:54:55 +01:00
stefan schippers bfc60add06 tab context menu: Do not use saved file to decide if symbol or schematic. Use netlist_type 2023-10-26 08:29:52 +02:00
stefan schippers 8c10ecb8b7 schematic example updates 2023-10-24 10:29:39 +02:00
stefan schippers 4beb2d08a6 update example schematics 2023-10-24 00:07:36 +02:00
stefan schippers a65cd534b7 update circuit examples 2023-10-23 18:41:13 +02:00
stefan schippers 2aeafac85c if selecting a waweform dataset with `t` key update text floaters that might contain the dataset information. When closing the process list dialog also close the process status sub-dialog. 2023-10-23 16:03:27 +02:00
stefan schippers 8f3fedab1f fix a bug when closing with ctrl-q (ie from callback(), calling proc quit_xschem) and there are multiple windows, some with changed data (switch_tab() was skipped due to xctx->semaphore). Process status dialog window will not be updated if vertical slider is not positioned to bottom 2023-10-22 02:53:03 +02:00
stefan schippers 109cef6c52 detect if program started in background and detach from console 2023-10-21 11:37:59 +02:00
stefan schippers 99f31e4535 periodic update of process status dialog, updated delta_sigma and rom8k examples for allowing batch mode ngspice run 2023-10-21 10:58:02 +02:00
stefan schippers e603a71651 fix typo 2023-10-21 10:07:31 +02:00
stefan schippers 2e4e754a3e add context menu entries for rotate and flip selection, add basic sub-process control in Simulation menu, enabled again Rotate and Flip from Edit menu, fix svg export from CLI (was resetting line width), add cascade menus in Simulation 2023-10-21 09:27:02 +02:00
stefan schippers 52572a6ca4 update cmos_example.sch 2023-10-17 18:16:48 +02:00
stefan schippers d41504011b revert solar_panel.sch changes for full y zoom tests 2023-10-17 16:42:35 +02:00
stefan schippers 025454e79e fix a regression in graph_fullyzoom() if graph contains more than one expression 2023-10-17 16:39:25 +02:00
stefan schippers 306c5d0d15 fix two small memory leaks, doc updates (xschem raw command) Raw.filename renamed to Raw.rawfile 2023-10-17 16:08:27 +02:00
stefan schippers b165720bc8 allow loading more and different analyses from the same raw file. Implied tcleval() in rawfile given in graphdialog, transform multiple saved OP sims into a dc sweep. 2023-10-17 14:00:43 +02:00
stefan schippers 745e3fc5f4 update cmos_example.sch 2023-10-17 00:56:49 +02:00
stefan schippers 8cfd51d8f9 add the ability to load multiple raw files with different analyses in a single schematic ( extra_rawfile() ) 2023-10-17 00:42:31 +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 53286346e1 doc updates, tcl rawfile variable in place for future per-graph raw file 2023-10-14 23:41:19 +02:00
stefan schippers 63bc486391 update test schematic with new dataset node plotting functions 2023-10-14 00:19:38 +02:00
stefan schippers 617e6b3b8d update live backannotation if "a" and "b" cursors are swapped, syntax node%n is now allowed to plot only dataset "n" of the node. Update html docs and example autozero_comp circuit 2023-10-13 15:51:51 +02:00
stefan schippers 94bccc08d9 do not duplicate empty strings as NULLs in hash tables 2023-10-09 12:49:11 +02:00
stefan schippers 6b00a88f28 fix xschem simulator "mux" operator (M) to handle unknown selector state 2023-10-08 11:45:22 +02:00
stefan schippers 58af2567e6 fix initialization of default value for "xschem get_logic_net" 2023-10-08 11:32:56 +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 ee67a23465 revert a change in example schematic pcb_test1.sch so xschemtest will not report a false error 2023-09-20 12:35:26 +02:00
stefan schippers 53207732b9 minor doc/man updates, typo cleanups 2023-09-19 23:59:01 +02:00
stefan schippers 75e99cae91 update tier.tcl generator to handle unresolvable parameters 2023-09-19 01:29:52 +02:00
stefan schippers fd2be4a599 update res.tcl generator to handle unresolvable parameters 2023-09-19 00:08:42 +02:00
stefan schippers bb6caaf501 update tier.tcl generator and testbench 2023-09-16 11:20:40 +02:00
stefan schippers 82f8afbb19 optimize select_dangling_nets() a bit 2023-09-15 11:01:33 +02:00
stefan schippers 19fbba5c60 update docs about parametrized subcircuits, add braces around parameters (some ngspice version require them, some other can live without for simple non expression params), Update text example comp_ngspice.sch 2023-07-13 21:13:56 +02:00
stefan schippers a329c18bfb (propdel) remove unneeded exec flags 2023-07-03 13:12:40 +02:00
stefan schippers f8f7c4f230 updated moude_bindings.tcl with Paul`s new version, updated noconn.sym (do not use *_ignore attributes, put comments in netlist about NC net) 2023-06-30 09:11:04 +02:00
stefan schippers 810b814211 added some comments in code / schematics 2023-06-18 23:44:52 +02:00
stefan schippers c97dfddd4e fix memory leak due to improper use of get_pin_and_attr() 2023-06-17 10:14:55 +02:00
stefan schippers 3c16c4bf20 separated @#pin:attr handling in translate() into *get_pin_attr(), replaced sscanf() with dedicated get_pin_and_attr() so we are able to handle stuff like "@#ADD[7:0]:net_name" 2023-06-16 10:55:22 +02:00
stefan schippers 01806eaa10 fix meaningless pin attributes on tier.tcl 2023-06-15 09:05:15 +02:00
stefan schippers eca52e1f4a added comp_65nm_read.sym example in inst_sch_select/inst_sch_select.sch, symbol with spice_sym_def attribute 2023-06-12 18:22:40 +02:00
stefan schippers 910235749b small updates to solar_panel.sch test schematic 2023-06-12 08:17:42 +02:00
stefan schippers d56e3939d5 updated xschem_library/examples/test_backannotated_subckt.sch; fix a potential segfault in proc fix_symbol 2023-06-08 01:08:05 +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 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 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 0244dc5e69 add command xschem tab_list, returns window pathname and associated filename loaded 2023-06-03 00:21:55 +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 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 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 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
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 cf61c253c5 fix a bug in my_mstrcat if an empty string is appended; add resolved_net(n) function that returns the top-most hierarchy name of the net mapping to upper level port connections if any; add xschem resolved_net comand that returns the resolved_net of selected wire/label/pin; add @#n:resolved_net pattern in symbol texts that uses resolved_net 2023-05-27 11:20:49 +02:00
stefan schippers c3d7780150 updated test_bus_tap.sch with more bus tapping cases 2023-05-25 09:51:17 +02:00
Stefan Schippers ba402e65c0 remove unneeded variable in create_new_tab() 2023-05-24 18:20:18 +02:00
stefan schippers d3b99d3a76 update n and p jfets, added pjfet simulation 2023-05-24 10:02:26 +02:00
stefan schippers 608a144dd1 fix tcl procedures using find_file to find a component: use find_file_first (return 1st match) , since find_file may return multiple matches; add njfet.sym, pjfet.sym and test_jfet.sch 2023-05-24 08:43:05 +02:00
Stefan Schippers 1774ff4e3a allow @#n:pin_attr or @#pin_name:pin_attr in spice format string (print_spice_element), in addition to @#n (convergence to translate() 2023-05-22 21:50:14 +02:00
stefan schippers 0f1bbd24c8 devices/bus_tap.sym: remove format attr in symbol 2023-05-22 11:52:51 +02:00
stefan schippers ade1aaf858 (3) update examples/test_bus_tap.sch 2023-05-22 08:51:23 +02:00
stefan schippers 6de12e5a0f (2) update examples/test_bus_tap.sch 2023-05-22 08:09:42 +02:00
stefan schippers 8f63560737 examples/test_bus_tap.sch: auto set show_pin_net_names=1 2023-05-22 08:05:37 +02:00
stefan schippers 9715cf4a5c update examples/test_bus_tap.sch 2023-05-22 07:45:23 +02:00
stefan schippers b68dd8c099 when a bus label is edited correctly propagate list of instances to be redrawn if show net names on components is enabled (ie: propagate thru bus taps) 2023-05-22 07:28:12 +02:00
stefan schippers a4d5ddb63f add examples/test_bus_tap.sch 2023-05-22 00:49:54 +02:00
stefan schippers ea533bd9e3 added bus_tap.sym 2023-05-21 23:59:50 +02:00
stefan schippers df2111c277 (2) update poweramp.sch floater attributes(floater->name) 2023-05-19 09:36:02 +02:00
stefan schippers f09731589b update poweramp.sch floater attributes(floater->name) 2023-05-19 09:28:17 +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 1a9fddba99 revert back space after $rout param in symbolgen.tcl (was removed for testing) 2023-05-16 14:50:41 +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 71c04ad071 fix unneeded there_are_floaters() call in callback.c 2023-05-16 09:52:23 +02:00
stefan schippers 70ea2bb7f1 for better consistency floater=... attribute for text floaters changed to name=... so token name matches instance refdes (name=...). Documentation added for netlist_dir (netlisting.html) and local_netlist_dir 2023-05-14 23:43:16 +02:00
stefan schippers 9d58f8cbbc clear text member `floater_ptr` when text is changed to force cache update 2023-05-14 02:45:56 +02:00
stefan schippers 1ea0516b55 if floaters are used to display simulation data (@spice_get_voltage) force update on floater text caches on `b` cursor move 2023-05-14 02:22:18 +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 f110e817ef ammeter.sym type set to "ammeter" instead of "probe", so will be greyed out if *_ignore attr is set 2023-05-11 00:47:59 +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 339c523f0b align symbol types, reducing number of different types (remove ngprobe, current_probe, differential_probe, raw_data_show --> probe 2023-05-10 17:46:16 +02:00
stefan schippers f8846ca969 use symbol_ignore=true attribute on some objects in mos_power_ampli.sch, so they disappear in poweramp_lcc.sch 2023-05-10 04:49:32 +02:00
stefan schippers 1e74b21c49 get_trailing_path(): do not confuse generator extension with schematic/symbol extension 2023-05-10 04:08:47 +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 9f50595455 mosgen has been changed to mosgen.tcl 2023-05-08 23:15:58 +02:00
stefan schippers 2a8197aa87 lvnot.sym/sch editing dor parametric lcc example 2023-05-08 15:40:08 +02:00
stefan schippers 98c8c1c460 more updates to test_symbolgen.sch to reflect renamed generators 2023-05-06 10:04:33 +02:00
stefan schippers a1c2ef5b54 add extension to generators in generator/ examples 2023-05-06 09:27:10 +02:00
stefan schippers b233963079 update xschem_library/Makefile to include generators in install 2023-05-06 09:04:06 +02:00
stefan schippers f282a96cec better output formatting in "xschem instance_list" command, fix test_mosgen.sch absolute paths in symbols 2023-05-04 01:59:17 +02:00
stefan schippers 36207ad12b update test_mosgen.sch 2023-05-03 00:28:55 +02:00
stefan schippers 5feb4539c7 updated test_mosgen.sch and mosgen examples 2023-05-02 18:39:14 +02:00
stefan schippers 4b9f61612b symbol generators may now take attributes like: "mosgen( @model )", with @model expanded to instance (or symbol template) value. update_symbol() updated to reflect this change. 2023-05-02 17:49:44 +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 6b857f7b7d switch_ngspice.sym: show (in very small font) @device_model (if given) 2023-04-30 10:37:45 +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 ce9accbe93 edits in schematicgen 2023-04-28 19:14:28 +02:00
stefan schippers b30eda3bb0 remove unused file 2023-04-28 17:58:35 +02:00
stefan schippers 8dde6c7ed3 remove unused xschemrc file 2023-04-28 17:17:00 +02:00
stefan schippers fc18a69109 ind.sym artwork 2023-04-28 11:23:06 +02:00
stefan schippers 26e088e729 add graph_linewidth_mult xschemrc variable to set default multiplier for graph line width w.r.t. xschem (current) line width. Add "Line width:" entry in graph_edit_properties dialog box 2023-04-28 10:45:56 +02:00
stefan schippers 410135cf44 align set_thick_waves() to comply with previous commit 2023-04-27 22:49:43 +02:00
stefan schippers 36f71708e6 added linewidth_mult=<double> attribute in graphs for per-graph line width adjustment 2023-04-27 20:55:17 +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 3142279d02 Add inst_sch_select/ example directory (instance based implementation selection) 2023-04-25 09:15:17 +02:00
stefan schippers 7eef033002 add missing symbol file 2023-04-25 01:41:20 +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
stefan schippers cd6ef78841 schematic generator netlisting seems to work. renamed is_symgen() -> is_generator() 2023-04-24 13:26:04 +02:00
stefan schippers 94d1865127 fix save_inst resetting all symbols EMBEDDED flags, not only the used symbols in current schematic. Created get_generator_command(), will be used also for schematic generators 2023-04-24 11:36:07 +02:00
stefan schippers 0d86960df0 add generators/test_symbolgen.sch and generators/symbolgen generator script 2023-04-23 10:14:23 +02:00
stefan schippers 3facbf6428 spice netlisting of schematics with parametrized symbol generators should work 2023-04-23 00:37:31 +02:00
stefan schippers f1ed2bf26f fixed is_symgen() regex, added stup for tutorial_symbol_generators.html 2023-04-22 11:29:44 +02:00
stefan schippers c4844ddd4c update poweramp.sch, remove obsolete comments 2023-04-18 00:35:23 +02:00
stefan schippers 7584a9b378 updates to ngspice/comp_65nm.* 2023-04-13 12:10:04 +02:00
stefan schippers da8a5c0c04 delete unused file 2023-04-01 00:15:27 +02:00
stefan schippers c9bc247111 fix a make uninstall issue prefenting deletion of some files 2023-04-01 00:09:49 +02:00
stefan schippers 96aa251ca0 fix execute tcl procedure (correctly handle exit status of subprocesses that write to stderr but not as a failure) 2023-03-25 02:00:50 +01:00
stefan schippers 2725e0c533 add exit code to xschem netlist command, add execute(error,last) and execute(exitcode,last) to inspect stderr and exit code of last simulation job 2023-03-23 18:34:14 +01:00
stefan schippers 832e89ce1b update test_ngspice.sch example circuit 2023-03-09 20:44:51 +01:00
stefan schippers 947406481a add Simulation->Monitor current simulation to display stdout of running simulation (to get simulation status / ETA and the like... ) 2023-03-05 00:44:56 +01:00
stefan schippers 01bc76955e fix simulator_commands_shown.sym (wrong and incompete quoting) 2023-02-13 19:15:35 +01:00
stefan schippers ede39991e9 improve solar panel example circuit 2023-02-11 11:36:08 +01:00
stefan schippers e5227d6a31 rename top_subckt to lvs_netlist (more appropriate), better tcp interface (redirect stdout to socket in addition to command return value) 2023-02-09 11:30:27 +01:00
stefan schippers baca559ffc refactor some code (use set_text_flags() to avoid repetitive code), add xschem setprop text and xschem getprop text commands to set/get text attributes 2023-02-01 00:23:33 +01:00
stefan schippers 48549f1212 update test schematics 2023-01-23 18:23:18 +01:00
stefan schippers 9b6b7bc19a Fix some compiler warnings and add a little optimization in ascii85 encoder 2023-01-23 11:49:08 +01:00
stefan schippers d3c6bf3c6e add postscript quality attrs to some example schematics 2023-01-21 23:47:43 +01:00
stefan schippers 6af6079084 set line buffering when stderr redirected to file 2023-01-20 18:25:43 +01:00
stefan schippers c8a60b4ee4 better image bbox calculation for svg and ps 2023-01-20 13:25:23 +01:00
stefan schippers 49135f3f2e added jpeg_quality attribute that can be used in images / graphs to specify the quality factor of jpg embedded images in ps export. If unspecified quality=100 is used. A value of 25 results in 6x smaller files and acceptable results, so it is worth using a quality factor less than 100 2023-01-18 04:09:30 +01:00
stefan schippers e06bfe5191 remove some debug changes 2023-01-18 01:17:46 +01:00
stefan schippers fba0db0c2d fix corrupted postscript generation on test_images3.sch. Need to investigate why fflush()es are needed. in psprint.c 2023-01-16 18:06:50 +01:00
stefan schippers 4c59008bc5 ps/pdf ecxport: dont print rectangle frames around images 2023-01-16 16:46:57 +01:00
stefan schippers 2d30755f79 doc/sch updates (.op backannotation) 2023-01-15 00:25:57 +01:00
stefan schippers af22c256b3 default to unlocked state (lock=false) at title 1st placement 2023-01-07 11:34:47 +01:00
stefan schippers 4c0d5023f5 allow 0 width lines (faster device dependent implementation) if user defined line width is set (to 0), add devices/title-3.sym 2023-01-07 11:28:28 +01:00
stefan schippers 709c37429d Add description for keybinding (Shift-B) of "Properties->Edit header/license text" 2023-01-03 18:27:11 +01:00
Stefan Schippers 479b8ef6e9 add accelerator Shift-B for edit schematic header/license 2023-01-02 19:34:27 +01:00
stefan schippers 19757ddd8a add menu properties -> Edit header/License text, to allow inserting header or license metadata into the sch/sym file. 2023-01-02 03:04:35 +01:00
stefan schippers 383dc03696 doc updates (dev info) 2022-12-21 23:07:30 +01:00
stefan schippers 745a8f25eb revert comp symbol attrs 2022-12-20 01:04:15 +01:00
stefan schippers 9fa05afad9 fix a bug when loading multiple AC sim datasets (wrong nvars calculation, has to be doubled due to Im/Re complex components) 2022-12-20 01:01:58 +01:00
stefan schippers 2cb58c5c5c added generators/ dir, removed redundant variable in load_schematic() 2022-12-19 23:05:09 +01:00
stefan schippers 1a76f89464 added xschem_library/generators directory for future schematic/symbol generator scripts. Handle empty XSCHEM_LIBRARY_PATH (use [pwd]). 2022-12-18 13:03:38 +01:00
stefan schippers b23988ccdf added commented lines for antialiasing; JL:cairo_set_line_width should only be called with has_x as xctx->cairo_ctx and xctx->cairo_save_ctx is NULL when run with -x; JL:XCopyArea must be called to draw correctly with Cairo on Windows 2022-12-02 16:43:01 +01:00
stefan schippers 609033e7ca fix regression (not allowing to change text size) 2022-11-23 16:57:21 +01:00
Stefan Schippers e7851d01db "xschem set format <fmt_attribute>" will change netlisting format attribute instead of default "format" (or verilog_format or vhdl_format), however fallback to default netlisting rule attribute if not defined in symbol. add tcl function "from_eng <n>" to convert spice formatted numbers to floating point 2022-11-23 16:16:38 +01:00
Stefan Frederik 6cd9d76f90 initial implementation of fetch schematics from web 2022-11-15 01:17:33 +01:00
Stefan Frederik 3d49ca63c9 avoid tcleval() of strings returned by translate2(), show currents of resistors and diodes when annotating. 2022-11-04 13:35:06 +01:00
Stefan Frederik b98d836be3 devices/simulator_commands.sym: avoid recursive @param substitution in spice commands 2022-11-03 11:00:15 +01:00
Stefan Frederik b36cd99e01 update simulator_commands.sym (missing close parenthesis at end, not causing any problem though) 2022-11-02 23:11:23 +01:00
Stefan Frederik 98d59cd8e9 better handle xyce nodes in ngspice:: functions 2022-11-02 11:17:22 +01:00
Stefan Frederik 666b0ebd5b show @path in title.sym 2022-11-01 13:26:22 +01:00
Stefan Frederik b1f011f933 clean up testing @path in symbols 2022-11-01 13:17:51 +01:00
Stefan Frederik b0a88325e7 "@path" will be expanded in symbols with the hierarchy path, so a fully qualified instance name is obtained with @path@name 2022-11-01 12:54:43 +01:00
Stefan Frederik 4f1d84054f update test schematic (better screen redraw if moving while simulating) 2022-10-27 10:09:19 +02:00
Stefan Frederik 4c43e77818 eliminated hide=true attribute for backannotation current/voltage texts (will be hidden anyway if no sim data is loaded) 2022-10-24 17:28:39 +02:00
Stefan Frederik 18044abb3e iopin.sym micro edit 2022-10-24 17:06:54 +02:00
Stefan Frederik b3832bbe56 doc updates (tutorial_use_existing_subckt.html) 2022-10-22 22:52:55 +02:00
Stefan Frederik bbf8d68681 example update for op backannotation 2022-10-22 11:05:30 +02:00
Stefan Frederik 8575859c63 doc updates (2) (op backannotation) 2022-10-22 11:03:40 +02:00
Stefan Frederik edf33192a2 doc updates (op backannotation) 2022-10-22 10:39:44 +02:00
Stefan Frederik a451179d05 test schematics update 2022-10-21 11:28:17 +02:00
Stefan Frederik e34211368f translate2() fix recursive param substitution 2022-10-20 23:31:02 +02:00
Stefan Frederik bc33261f90 better parsing xxx='<expr>' or xxx={expr} patterns in flatten.awk. Doc upcates, test circuit updates. 2022-10-20 20:25:49 +02:00
Stefan Frederik 77e4909ca4 example solar_panel.sch update 2022-10-19 23:59:11 +02:00
Stefan Frederik b8732f2321 ipin,iopin,opin reshaped to better show connection hotspot 2022-10-19 10:37:43 +02:00
Stefan Frederik dad83010f0 perf. improvements in plot_raw_custom_data() / ravg_store() 2022-10-17 15:17:47 +02:00
Stefan Frederik ea359b8c92 added poweramp_lcc 2022-10-17 13:35:01 +02:00
Stefan Frederik aa6b8f0123 Doc updates (sim_pinnumber), example circuits update 2022-10-17 12:45:48 +02:00
Stefan Frederik b0359d880a use sim_pinnumber for port ordering in simulation netlists and leave pinnumber for package pin position. These two collide, for example in spice port ordering vs (transistor problem) device package pinnumbers. Dont load graphs in lcc symbols 2022-10-17 12:05:54 +02:00
Stefan Frederik fc576f69ac sort symbol pins if key pinnumber is present on all of them 2022-10-16 16:18:38 +02:00
Stefan Frederik 91ba5fd1d3 annotation of voltage and currents in (nested) LCC instances 2022-10-16 13:08:52 +02:00
Stefan Frederik e14c8b9a11 wire labels: default name set to p1 instead of l1, so it will not clash with typical inductor names 2022-10-12 16:36:56 +02:00
Stefan Frederik a820cc2e3f removed (now) duplicated inst_hash_lookup: use int_hash_lookup. Search function does not highlight nets if searching for something that is not "lab" 2022-10-12 13:14:48 +02:00
Stefan Frederik 7a1fbb4809 better check_unique_names() and hash_all_names() implementation (do not skip label instances or instances with no format attr). Button click focuses main drawing window even if autofocus_mainwindow is set to 0, to avoid losing keyboard focus forever if TAB is pressed. 2022-10-12 11:56:02 +02:00
Stefan Frederik 7d016eab28 small netlist syntax fix in token.c (correctly skip VHDL time attributes), tedax backend: avoid printing mapping comments for duplicated pins 2022-10-12 09:32:37 +02:00
Stefan Frederik 662c14143d update xschemtest, more robust spice flatten.awk netlist flattener, specifically when translating expressions containing electrical nodes and parameters, all these need to be translated/substituted. 2022-10-12 01:16:23 +02:00
Stefan Frederik ce75ca2bbf make examples/test_doublepin.sch compile with no errors with ngspice, ghdl and iverilog, this is a test schematic to validate pass-through symbols 2022-10-11 14:25:58 +02:00
Stefan Frederik 3f627123b2 persists highlights on instances: remove highlighted instance from hash if user selects and presses ctrl-k as it is done for nets. Avoid instance highlight to also highlight net with identical name (example instance x1 and net x1). Verilog and Vhdl netlists handle duplicated (pass-through) pins 2022-10-11 13:12:17 +02:00
Stefan Frederik a0be0c31c1 fix LCC_instances.sch test schematic 2022-10-10 16:21:58 +02:00
Stefan Frederik 68bf5e4640 netlister code rewrite to allow any combination of pass-through symbols 2022-10-10 14:54:32 +02:00
Stefan Frederik 6be0fc392b refactoring of netlister code 2022-10-07 23:29:42 +02:00
Stefan Frederik 945a26c8f6 handle pass-through symbols chained with wires and no labels attached to wires 2022-10-06 11:48:22 +02:00