Commit Graph

687 Commits

Author SHA1 Message Date
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
Stefan Frederik 5fe2f1586b refactor str_hash_* and int_hash_* functions 2022-10-05 01:18:45 +02:00
Stefan Frederik 1c407e5dd6 faster implementation of name_pass_through_nets() so almost zero overhead when netlisting big circuits with no pass-thru symbols 2022-10-04 15:39:45 +02:00
Stefan Frederik 9c29324c8a allow nets with no label pass thru symbols with duplicated pins. named nets will propagate through duplicated pins 2022-10-04 12:34:09 +02:00
Stefan Frederik 4bbed85d23 faster jump table in plot_raw_custom_data(), added simulation->add waveform reload launcher 2022-10-03 11:15:14 +02:00
Stefan Frederik 6296bbc1c6 compile option for 2nd order 3-point backward derivative calculation formulaes for graph expressions 2022-09-29 18:22:55 +02:00
Stefan Frederik ae4b74f2d8 graph axes in engineering notation (20u, 10p, 3k), fix an issue in graph panning with button1 mouse; ngspice:: get_current, get_voltage, get_diff_voltage, get_node embedded into xschem.tcl, to_eng tcl procedure to convert number to engineering form. 2022-09-28 19:14:31 +02:00
Stefan Frederik 6d17797d0b add Highlight->Select overlapped instances command 2022-09-27 18:35:42 +02:00
Stefan Frederik 4e3f396da5 better pv_ngspice.sym i-v curve 2022-09-27 16:45:02 +02:00
Stefan Frederik 4fc9cb629b update solar_panel.sch 2022-09-23 02:47:55 +02:00
Stefan Frederik 314acbabda allow tabs and newlines in graph expressions in addition to spaces; updated example schematics 2022-09-23 02:18:51 +02:00
Stefan Frederik 48d1b44220 allow spice multipliers in numbers (20u, 10k, 20p) in graph expressions 2022-09-22 21:12:40 +02:00
Stefan Frederik 3e2bc9f95e added "Annotate operating point" into Simulation menu 2022-09-22 19:47:25 +02:00
Stefan Frederik e61ef2eabf fixed a potential parse error in edit_prop if list_tokens returns a non list due to malformed input. Added @spice_get_diff_voltage to get a voltage difference between 2 nodes. 2022-09-22 17:35:14 +02:00
Stefan Frederik 6f907b5430 updated test schematics to use new xschem annotate_op instead of ngspice::annotate 2022-09-21 18:38:53 +02:00
Stefan Frederik 9c89a08111 better backannotation info placement in net labels, fixes in translate() for @spice_get_voltage and @spice_get_current, fixes in ngspice_backannotate routines. 2022-09-21 17:24:16 +02:00
Stefan Frederik 931c1520e3 make op backannotation in schematic work also if raw file loaded at hierarchy level > 0 2022-09-21 13:58:01 +02:00
Stefan Frederik b542186ebd updated example schematics to new annotate / raw file loading methods 2022-09-20 18:25:31 +02:00
Stefan Frederik c695c435d2 move initialization of s=0 outside the loop in backannotate_at_cursor_b_pos(). If only_probes is set do not display graphs and images. 2022-09-20 17:59:01 +02:00
Stefan Frederik af475e00df xschem raw_read accepts an optional type argument after file name (tran, ac, dc, op, ...) to select type of simulation to load from raw file. New command xschem annotate_op will replace ngspice::annotate tcl procedure. 2022-09-20 16:49:42 +02:00
Stefan Frederik 8169196b35 bypass tcl for voltage and current backannotation in schematic from cursor b positon in graph 2022-09-20 03:12:46 +02:00
Stefan Frederik 7abceb3344 fix regression in ngspice::get_current, simplified voltage reporting in net label symbols 2022-09-20 00:12:27 +02:00
Stefan Frederik 73e8b440c8 if sweep variables are defined on X axis (instead of default index 0) use first sweep X-axis var in live cursor backannotation 2022-09-19 12:19:39 +02:00
Stefan Frederik 53dc7fe3bf add backannotation info (as hidden text) in lab_pin.sym, lab_wire.sym, transitioning example schematics from old (push) backannotation model to new pull model. 2022-09-19 11:22:04 +02:00
Stefan Frederik 3a10b39299 fixed current (also hierarchic) reporting in ammeter.sym and vsource.sym) 2022-09-19 09:45:35 +02:00
Stefan Frederik 7afbd6a51d various small fixes for cursor b backannotation, updated xschemtest netlist hashes 2022-09-18 12:25:09 +02:00
Stefan Frederik 96f80d1d33 Alt-a in graph annotates schematic with values at cursor b position. Simulation->Live annotate option to automatically update schematic probes if cursor moved. Some improvements and fixes in ngspice_annotate.tcl. Fix xschem setprobe command. Added missing housekeeping_ctx when a new tab is created. housekeeping_ctx: added more variables to sync. 2022-09-18 05:29:16 +02:00
Stefan Frederik 5dc0b14de4 fix a crash due to reentrant call of preview schematic drawing caused by an Expose event if an alert box is displayed due to errors in schematic to preview 2022-09-17 11:27:42 +02:00
Stefan Schippers 66bcc876a7 look for inutile stimuli files in schematic directory instead of in simulation directory 2022-09-13 18:53:17 +02:00
Stefan Frederik 6effda2bfc fix find_closest_dataset() if log scale axes are used 2022-09-13 13:39:25 +02:00
Stefan Frederik d4fe981525 ngspice_backannotate.tcl: handle Xyce operating point data, removed hspice_netlist (no more existent) 2022-09-13 12:01:58 +02:00
Stefan Frederik d0b02724cf simpler ngspice_probe.sym 2022-09-13 01:33:09 +02:00
Stefan Frederik b19a2126c3 graphs in solar_panel_xyce.sch 2022-09-13 01:08:42 +02:00
Stefan Frederik 835b420df1 tclpropeval2(): hierarchy separator replacement for Xyce no more necessary 2022-09-13 00:53:47 +02:00
Stefan Frederik 75db846e58 ask confirmation if pressing "s" for simulate; node lists in graph dialog box are returned as they are with no tcleval() resolution; poweramp.sch now can be simulated unchanged with Xyce 2022-09-13 00:31:20 +02:00
Stefan Frederik 923c066947 rom8k.sch update 2022-09-11 13:56:13 +02:00
Stefan Frederik cd083c91e8 improve xyce netlist processing hooks (save ammeter currents), cmos_example.sch can now be simulated in ngspice and xyce 2022-09-11 13:21:24 +02:00
Stefan Frederik 193cf397bd more Xyce integration, transform .save in .print tran, transform x1.x2.node to X1:X2:NODE in Xyce lookups, more checks for malformed raw files 2022-09-09 18:57:34 +02:00
Stefan Frederik 907315191d added "devices/simulator_commands*.sym" to conditionally include commands in the netlist depending on selected target simulator 2022-09-09 13:06:11 +02:00
Stefan Frederik 5da8f777b2 monospaced font in code_shown.sym 2022-08-30 15:54:18 +02:00
Stefan Frederik dffc266e0d improve test_backannotated_subckt.sch example, remove dbg messages 2022-08-23 10:44:00 +02:00
Stefan Frederik d86fed06de update cmos_example.sch 2022-08-15 10:53:16 +02:00
Stefan Frederik ce4bd4837a changed @schname to @schname_ext and added @schname that expands to the schematic name containing the instance, with no extension (no .sch) 2022-08-10 08:38:49 +02:00
Stefan Frederik 89afd902ea get_raw_value(): return plain value, no implicit log calculation if log scale on axis. Zoom full scale X and X axis pan: use 1st sweep X variable, do not assume spice sweep variable (idx==0) 2022-08-08 09:52:33 +02:00
Stefan Frederik 7a0b5f3589 fix ngspice_backannotate.tcl: correctly backannotate ammeter currents; correctly handle multipoint Operating point data in graphs 2022-08-04 11:39:41 +02:00
Stefan Frederik 3b0589d2d1 store just magnitude and phase of AC vectors instead of dB and phase. Add db20() function to get dB values from magnitude in graph RPN expressions. 2022-08-03 17:44:53 +02:00
Stefan Frederik aa63f0adab add devices/res3.sym for generic semiconductor resistance. User must provide a 3-terminal subcircuit for this 2022-07-29 09:40:17 +02:00
Stefan Frederik 56d3d8f5f3 recognize \r\n sequences on windows rawfiles in "Binary:" lines, just in case ngspice developers want to add it someday. Quote ROUT ('ROUT') values for output resistors in ngspice_logic gates 2022-07-28 00:36:09 +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 5b1489fd58 doc updates (slides for fsic2022) 2022-06-19 08:29:04 +02:00
Stefan Frederik f0e21f15bd revert testbench.sch changes 2022-06-14 10:27:30 +02:00
Stefan Frederik be43fe41b0 added bit blasting option (default: disabled) in menu for verilog netlists: group bit slices in instance net assignments. Doc updates (FSiC-2022) 2022-06-14 10:20:06 +02:00
Stefan Frederik 28cc187b56 when placing components with lock=true set in template attribute allow to move it to its final position like any other unlocked symbol. Code in place in verilog.awk to do bit unblasting in net-> port associations, but not enalbed it for now as icarus verilog does not handle some bus slices (for example if bus slice direction is different from declared bus direction) 2022-06-09 09:32:34 +02:00
Stefan Frederik 4cb0eb0491 better check for availability of -justify option in listboxes 2022-05-29 00:36:19 +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 eff273dd08 fix in spice.awk: do not clobber user or device format generated .save lines (no ?n tag); add devices/device_param_probe.sym 2022-04-30 10:58:15 +02:00
Stefan Frederik a2b0718a7a added some symbols 2022-04-10 09:05:17 +02:00
Stefan Frederik c1a92ab5dc revert pro floaters. black hole, wrong approach 2022-02-22 12:09:04 +01:00
Stefan Frederik 77be19bc6a ind.sym artwork 2022-02-21 00:20:21 +01:00
Stefan Frederik 492dd756ed updated test schematic 2022-02-18 15:35:37 +01:00
Stefan Frederik 1d8fe237ce add test_extracted_netlist circuit example 2022-02-18 15:11:44 +01:00
Stefan Frederik cca3f1cc05 add another missing symbol file in examples 2022-02-17 02:35:41 +01:00
Stefan Frederik c95efe3962 add missing symbol dile in examples 2022-02-17 02:32:01 +01:00
Stefan Frederik fc6268395b dedicated function for calculating y extent of custom wave equations 2022-02-17 01:22:15 +01:00
Stefan Frederik 798ecd74f3 running average ravg() wave processing operator 2022-02-16 20:24:22 +01:00
Stefan Frederik 841974d579 tuning delta sigma adc example circuit 2022-02-16 12:51:58 +01:00
Stefan Frederik bdd64336ff refactor example schematics 2022-02-16 02:48:39 +01:00
Stefan Frederik 71bc59bc91 add adc sigma delta example 2022-02-16 02:29:55 +01:00
Stefan Frederik fa3d97010c example schematics formatting 2022-02-16 01:08:16 +01:00
Stefan Frederik a9987b9be2 better y label alignment in digital graphs 2022-02-15 23:50:50 +01:00
Stefan Frederik f4f32c42ab class D example improvements II 2022-02-15 22:49:29 +01:00
Stefan Frederik cc9cfde771 class D example improvements 2022-02-15 19:30:20 +01:00
Stefan Frederik 1ba83016c6 better digital graph label positioning (margin to y axis) 2022-02-15 18:57:40 +01:00
Stefan Frederik fa4aeb607c better image in example circuit 2022-02-15 18:06:26 +01:00
Stefan Frederik b5eb8777c5 check for incomplete/missing/wrong attributes when drawing images 2022-02-15 17:59:45 +01:00
Stefan Frederik b50b8071c8 added comp_ngspice.* to ngspice/ 2022-02-15 17:33:32 +01:00
Stefan Frederik 699bd70a04 added class D amplifier example 2022-02-15 17:20:15 +01:00
Stefan Frederik 9dd68436cf Handling of duplicated pins in spice netlists, added test_doublepin.sch in examples/ 2022-02-15 12:28:23 +01:00
Stefan Frederik 4ebf3ea601 allow wave alias naming, fix off-by-one errors in plot_raw_custom_data() calls 2022-02-14 17:51:18 +01:00
Stefan Frederik c6a7d8f9bb optimize custom data plots and expression evaluation, added avg() 2022-02-12 13:20:24 +01:00
Stefan Frederik defd2a92a7 rpn expressions in graphs 2022-02-12 04:55:02 +01:00
Stefan Frederik 164ea94743 fix --rcfile and --no_readline options not working due to a refactoring mistake 2022-02-09 17:09:35 +01:00
Stefan Frederik 432db0799e revert lvnand2.sch 2022-02-05 14:38:27 +01:00
Stefan Frederik 798e4a20b2 removed event handling code repetitions 2022-02-05 14:35:33 +01:00
Stefan Frederik d7b45bfbf9 cleanup raw_query sub command, added "values" opcode, speedup some "xschem" subcommands 2022-02-04 17:35:07 +01:00
Stefan Frederik 1cb9645e9f xyce quircks/integration for ac analysis, refuse to stretch unscalable images, more example schematics 2022-02-03 00:40:59 +01:00
Stefan Frederik 008b289e4f ac analysis in graphs (mag + phase, log axis) 2022-02-02 18:33:16 +01:00
Stefan Frederik bc03dedbca fix a function pointer usage not accepted on some compilers 2022-02-01 12:30:10 +01:00
Stefan Frederik 2ca203cbae example schematics micro-changes 2022-01-31 00:52:39 +01:00
Stefan Frederik e7ebb2c2af Xyce support for node/current probing to graph 2022-01-31 00:14:34 +01:00
Stefan Frederik a79af0c7e5 send currents to graph 2022-01-30 14:39:11 +01:00
Stefan Frederik faa210fb2f code cleanup, removed code redundancy, itoa(), dtoa() functions, removed unnecessary tcl graph_* global vars, mstrcat function. 2022-01-30 03:10:09 +01:00
Stefan Frederik 552bfcac4e better label text size calculation in digital graphs 2022-01-29 02:52:26 +01:00
Stefan Frederik c083491738 probe nodes from xschem into its own wave viewer 2022-01-29 02:36:54 +01:00
Stefan Frederik 3724052e5a Graph UI: example circuit updates 2022-01-28 05:32:12 +01:00
Stefan Frederik 0b0e749801 Graph UI improvements. Persistent bold waves. Graph UI bug fixes 2022-01-28 04:44:07 +01:00
Stefan Frederik e6f3f9898d correct size calculation when inserting new unscaled image 2022-01-25 00:52:49 +01:00
Stefan Frederik b978bd90fa images (rotated,flipped as the symbol) in symbols 2022-01-24 22:58:30 +01:00
Stefan Frederik c8ec7a77f2 allow embedding all image formats if a xxx-->png filter shell command is provided as attribute 2022-01-23 04:51:41 +01:00
Stefan Frederik 81a612d5a3 menu entry for adding pictures, added alpha parameter for opacity 2022-01-22 04:55:59 +01:00
Stefan Frederik 320ad6e2aa embedded raw file storage 2022-01-21 19:17:43 +01:00
Stefan Frederik e66abe36fa fix wave panning if a non graph added, better error reporting in png writer function, better flags option names for special objejcts (image and graphs) 2022-01-21 02:16:51 +01:00
Stefan Frederik a3ccc094f5 handle errors in image data, modified base64 decode to handle white space 2022-01-20 18:28:29 +01:00