Commit Graph

1095 Commits

Author SHA1 Message Date
Stefan Frederik bd5cb7b9df add license info on traversal.tcl 2022-08-21 13:35:37 +02:00
Stefan Frederik c99282e463 fix typo in src/Makefile.in 2022-08-21 13:21:31 +02:00
Stefan Frederik a14c541d9e allow "xschem descned -<n>" (n=number) to descend into nth rightmost instance; added traversal.awk script 2022-08-21 13:18:39 +02:00
Stefan Frederik 0dfbc9ded9 added return status from descend_schematic() 2022-08-21 12:24:26 +02:00
Stefan Frederik 20d1080171 improve uniqueness name checking (do not consider non netlist elements, like pins, title, etc) 2022-08-21 11:55:34 +02:00
Stefan Frederik ef2e059c59 instance names (refdes) are hashed as uppercase, so collision check will be case insensitive, if enabled 2022-08-21 10:22:56 +02:00
Stefan Frederik 9ed7d3b039 remove ## from netlist if "#@attribute\\#@name" is used in format string and "attribute" is undefined or empty 2022-08-20 13:51:20 +02:00
Stefan Frederik 2502208671 if a subcircuit has spiceprefix set in template string do not consider it as an attribute to dump in netlist as a subckt parameter (.subckt xxxx A B C spiceprefix=X) 2022-08-20 11:23:18 +02:00
Stefan Frederik 5df286bec5 spice netlister code was incorrectly resetting spiceprefix to 1 2022-08-20 09:23:38 +02:00
Stefan Frederik 6c8d20fdc2 better bbox hashing to avoid false overlap positives 2022-08-19 12:46:35 +02:00
Stefan Frederik c134175687 better overlap detection hash calculation 2022-08-19 12:00:02 +02:00
Stefan Frederik d3cc957fa3 warning and highlight perfectly overlapped symbols 2022-08-19 10:56:26 +02:00
Stefan Frederik 84f9497755 fix graph zoom by area with mouse drag and absolute x positioning of locked graphs that are not vertically aligned 2022-08-19 01:23:45 +02:00
Stefan Frederik 3419db3601 remove extra blank in .subckt spice netlist lines 2022-08-18 12:14:23 +02:00
Stefan Frederik 9b3251b85e clear "Simulate" button background if new window/tab is created while simulation running in original window 2022-08-18 11:26:41 +02:00
Stefan Frederik c1d229b917 better str_replace() implementation 2022-08-18 10:21:14 +02:00
Stefan Frederik a3828e6641 redo r2216 change in a different way to avoid regressions 2022-08-18 01:45:02 +02:00
Stefan Frederik 15d8b8f1c8 reverted 2216 changes as these cause regressions. token.c back to r2215 2022-08-17 20:37:29 +02:00
Stefan Frederik 6e8af5410b all get_tok_value() calls in netlisting code will do tcl substitution (if attributes wrapped into tcleval()) to allow full conditional symbol netlisting 2022-08-17 09:09:00 +02:00
Stefan Frederik cc49909282 better clip off-graph data 2022-08-14 15:05:08 +02:00
Stefan Frederik 2e37724959 add "Plotname: constants" to the list of recognized ngspice plots in raw file 2022-08-14 14:14:19 +02:00
Stefan Frederik 86311f8d47 focus main window when mouse leaves SNAP or GRID text entries 2022-08-14 08:17:44 +02:00
Stefan Frederik dda7cb40db better recognize Xyce plot headers (Plotname: lines) 2022-08-12 00:06:14 +02:00
Stefan Frederik fb8a1560c6 added xschemrc variable `autofocus_mainwindow` (default setting: enabled (1) ), if this variable is set moving the mouse to the main drawing area when a dialog box is open (typically while editing a component attribute list) will focus the main window, so user can move / zoom/pan the schematic using the usual commands, for example to look at a different part of the schematic while editing the component. If this variable is unset a click is needed to focus the main window. This will thus not allow to move / zoom, but allows to type into the dialog box if the mouse goes out of it. 2022-08-11 10:58:57 +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 0e25935254 added @topschname predefined attribute that expands to the toplevel schematic name (no path) with no .sch extension 2022-08-10 01:45:07 +02:00
Stefan Frederik bd35e177f1 unselect_all() before inserting wire label or text from the menu to avoid moving previously selected objects 2022-08-09 23:08:00 +02:00
Stefan Frederik ae0ffa926d set reasonable subdiv[xy] value when user switches from linear to log axis, as 8 subdivisions are used in log axes in 99.99% of the cases. 2022-08-08 12:37:44 +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 edf185616b Y log axis option in graphs 2022-08-08 01:18:42 +02:00
Stefan Frederik de5eb7446d scheduler.c "place_symbol" : analyze selected symbol and set INITIALINSTDIR before doing unselect_all() 2022-08-06 23:42:43 +02:00
Stefan Frederik 9177bcf8bc unselect objects when inserting a symbol using menu or toolbar to avoid moving them together with the inserted symbol 2022-08-06 23:19:26 +02:00
Stefan Frederik ecd006ad5d disable `Log Y scale` checkbutton in graph dialog box until function is implemented 2022-08-05 19:29:08 +02:00
Stefan Frederik 8383030afa remove printing `[Mag]` on wave labels in AC plots. 2022-08-05 19:07:42 +02:00
Stefan Frederik 15e367ba73 user selectable log X scale instead of assiming log X for AC analyses only 2022-08-05 00:57:03 +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 bd8c1fd6eb do not accept 0 in graph `X div` and `Y div` textboxes, as this will cause an endless loop 2022-08-03 10:44:34 +02:00
Stefan Frederik 9e888b8b44 Button 1 Double click does edit object attributes 2022-07-31 09:06:10 +02:00
Stefan Frederik 31646cf357 Windows fix: run ngspice in $netlist_dir; add res3.sym into Windows package, update instructions for compiling Cairo`s debug version 2022-07-29 23:00:34 +02:00
Stefan Frederik 62b4db861b rawtovcd.c: better description if -h is given 2022-07-29 14:31:54 +02:00
Stefan Frederik 83d44842cc remove COPYING (use LICENSE), do not install rawtovcd in SHAREDIR 2022-07-29 14:09:47 +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 5af2b8eb7a fix read_dataset() for windows 2022-07-27 11:06:54 +02:00
Stefan Frederik d86a422c59 do not segfault if reading ascii raw files. print error message and tell user to generate binary rawfile. 2022-07-26 12:05:28 +02:00
Stefan Frederik a7202ddee2 avoid panning interfere with constrained (horiz/vertical) copy or move 2022-07-25 10:09:35 +02:00
Stefan Frederik baabac5fb7 bump version to 3.1.0 (candidate #1) 2022-07-19 09:25:34 +02:00
Stefan Schippers b72d8387b2 fix xschemrc grid/snap variables 2022-07-16 18:26:43 +02:00
Stefan Frederik 7d971f1f6c remove dbg message 2022-07-16 08:24:49 +02:00
Stefan Frederik e7f31cf3ee allow each window (in tabbed or window interface) to run its own simulation, preventing spawning another simulation process for same tab/window if previous not finished 2022-07-15 12:32:57 +02:00
Stefan Frederik b5662fe551 Added sweep textbox (linked to graph sweep attribute) in graph edit attributes dialog box 2022-07-12 10:57:56 +02:00
Stefan Frederik c9d16d6008 use 5 significant digits in graph (time) measures 2022-06-29 11:47:10 +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 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 2f3d6e0c88 fix #if __unix__ --> #ifdef __unix 2022-05-21 07:13:13 +02:00
Stefan Frederik f2097bac0b Correct background color for monochrome svg exports, close stdin if xschem started with -b to avoid blocking when spawning ngspice batch tasks 2022-05-12 23:32:57 +02:00
Stefan Frederik 15e67e04b7 added missing (src/utile/) utile.bat and utile3.bat 2022-05-06 23:42:00 +02:00
Stefan Frederik d0b273c2c5 add "--command" command line option to execute commands after initialization (whereas "--tcl" executes commands before initialization) 2022-05-06 23:19:41 +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 f882918931 more conversion warnings suppressed 2022-04-28 10:12:16 +02:00
Stefan Frederik 97911fe9fc text routines: longest_line made double (from int) for consistency 2022-04-28 00:00:51 +02:00
Stefan Frederik 23102433c2 fixed lot of conversion warnings/ bugs (int/double/size_t) 2022-04-27 13:18:45 +02:00
Stefan Frederik 9b46db7341 module parameter declaration follow verilog2001 format if enabled ( #( parameter aaa=1, bbb=2, .... ) list before port list) 2022-04-25 11:23:28 +02:00
Stefan Frederik 89f538ffa1 added bindkey "s" for running simulation 2022-04-25 08:39:51 +02:00
Stefan Frederik bcb1f57b27 allow spiceprefix in subcircuit format strings 2022-04-24 13:59:35 +02:00
Stefan Frederik d57f8e60ee do not allow switching tabs if some editing operation ongoing to avoid incosistent states 2022-04-23 13:43:12 +02:00
Stefan Frederik eb6eeebe7f do not error out if netlisting for xyce simulator with hspice/ngspice syntax option turned off 2022-04-18 08:58:36 +02:00
Stefan Frederik 19d9d8a8f1 global Options menu "show hidden texts" to show or not show texts with attribute "hide=true" 2022-03-09 00:29:16 +01:00
Stefan Frederik a3b7ec1810 do not crash on malformed recent_files 2022-03-07 11:05:20 +01:00
Stefan Frederik 069017e07c recursively resolve parameter passing throughout hierarchy and show resolved value in leaf cells if possible 2022-03-07 01:42:53 +01:00
Stefan Frederik 00de54c582 Honor hide attribute for texts in ps/pdf and svg exports 2022-03-01 19:36:08 +01:00
Stefan Frederik c1a92ab5dc revert pro floaters. black hole, wrong approach 2022-02-22 12:09:04 +01:00
Stefan Frederik 2a205d298a TEXT_TRANSLATE flag: pro-floaters addition 2022-02-22 01:28:19 +01:00
Stefan Frederik 8be5ae7eb0 hide attribute for text items, not only if embedded in symbols 2022-02-21 10:53:06 +01:00
Stefan Frederik d457565c2d declared more functions static where possible and appropriate 2022-02-19 14:31:55 +01:00
Stefan Frederik 414cba1623 smaller threshold for minimum polygon size drawing 2022-02-19 03:59:00 +01:00
Stefan Frederik 1d8fe237ce add test_extracted_netlist circuit example 2022-02-18 15:11:44 +01:00
Stefan Frederik 609f216f8d avoid redundant cleanup call (ravg_store()) 2022-02-17 01:37:04 +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 f4ff14fbd8 fix bus msb nibble calculation in case of incomplete MSB nibble. Add sigma delta adc example 2022-02-16 02:27:57 +01:00
Stefan Frederik a9987b9be2 better y label alignment in digital graphs 2022-02-15 23:50:50 +01:00
Stefan Frederik 1ba83016c6 better digital graph label positioning (margin to y axis) 2022-02-15 18:57:40 +01:00
Stefan Frederik ce136d8f00 cleared some comments 2022-02-15 18:00:31 +01:00
Stefan Frederik b5eb8777c5 check for incomplete/missing/wrong attributes when drawing images 2022-02-15 17:59:45 +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 f66f81649d fix add nodes to graph (alt-G) if quoted nodes/expressions are in graph 2022-02-15 00:43:07 +01:00
Stefan Frederik e3fe1029cd switch statements vs if-else-if in plot_raw_custom_data(); do not try to measure non existing waveforms due to expression syntax errors 2022-02-14 22:32:45 +01:00
Stefan Frederik c08cc359f3 plot_raw_custom_data() returns idx or -1 in case of expr syntax errors to avoid plotting junk 2022-02-14 19:28:24 +01:00
Stefan Frederik 59fe63cb68 swap evaluation order in if() 2022-02-14 18:56:51 +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 b95d78734f allow ";" in addition to "," for separator in nodes to be plotted. ";" will be used for node alias. Fix potential uninitialzed data in get_bus_idx_array() 2022-02-13 22:54:28 +01:00
Stefan Frederik b697ec448d fix find_nth if multiple / leading separators are present 2022-02-13 12:12:37 +01:00
Stefan Frederik 13aca67a4d find_nth() generalized to accept multiple separators 2022-02-13 11:24:38 +01:00
Stefan Frederik 1a1c6371cc better bg selectcolor in graph editprop dialog textbox 2022-02-13 03:32:06 +01:00
Stefan Frederik a6b4d998d1 better node color tagging in graph edit property dialog 2022-02-13 02:51:14 +01:00
Stefan Frederik fbeae175dd refactor some variable usage in plot_raw_custom_data() 2022-02-12 13:29: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 c0d2951883 better expression parsing in plot_raw_custom_data() 2022-02-12 11:04:39 +01:00
Stefan Frederik defd2a92a7 rpn expressions in graphs 2022-02-12 04:55:02 +01:00
Stefan Frederik a24fbc3645 lock attribute for rect shapes 2022-02-10 11:28:47 +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 a0e7a9ed78 same refactoring for bus wave drawing (set_thick_waves()) 2022-02-07 16:21:06 +01:00
Stefan Frederik f08d980558 graph function refactoring (set_thick_waves()) 2022-02-07 16:14:52 +01:00
Stefan Frederik e37d5a28b8 more flexible my_strtok_r (handle quoting and escapes), allow quoted expressions in graphs for doing math on vectors 2022-02-07 03:52:42 +01:00
Stefan Frederik 798e4a20b2 removed event handling code repetitions 2022-02-05 14:35:33 +01:00
Stefan Frederik 62766fd618 cleanup test code for custom plots 2022-02-05 02:16:27 +01:00
Stefan Frederik 178d235de6 fix: check for empty xctx->graph_names 2022-02-05 00:38:05 +01:00
Stefan Frederik d6d932e730 fix save simconf (thanks mkk). put template code for custom function plots 2022-02-05 00:28:06 +01:00
Stefan Frederik d7c35a0a3d code comments added 2022-02-04 18:21:25 +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 6fb20b8c5e (only) on fat32 or similar case insensitive FS and if case_insensitive is set to 1 in xschemrc do not consider case in symbol lookup 2022-02-04 02:56:11 +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 5f82f63580 rename variable so tcc wont complain 2022-02-02 03:30:07 +01:00
Stefan Frederik 77b900569b correctly save embedded symbol attributes in embeeded symbols, do not save multiple times the same embedded symbol definition 2022-02-02 02:14:23 +01:00
Stefan Frederik a8e1a6c047 fix regression (tcl context was not saved/restored correctly) 2022-02-02 00:11:46 +01:00
Stefan Frederik 200f4210d0 renamed struct member function pointer to x_strcmp 2022-02-01 18:31:23 +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 83f745accd doc updates for viewing simulation data inside xschem 2022-01-31 17:48:02 +01:00
Stefan Frederik 7e78f0994e fixes in fullscreen code 2022-01-31 02:42:52 +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 4ec5d2ce9e send selected nets to last selected graph if graph configure dialog not open 2022-01-29 12:27:54 +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 4c174d2311 Graph UI: unlock X-axis checkbox 2022-01-28 05:25:50 +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 ee263197d8 bold clicked wave for better visibility if multiple waves 2022-01-27 21:14:52 +01:00
Stefan Frederik 038ef39bb5 UI improvements for graphs, change colors, insert waves etc 2022-01-27 20:47:27 +01:00
Stefan Frederik bf624cfc77 fix typos 2022-01-26 15:31:32 +01:00
Stefan Frederik f5fd1ef352 use cairo png export if Xrender extensions present (alpha), editprop code for graph node list 2022-01-26 15:20:00 +01:00
Stefan Frederik 904439d751 embedded raster images in symbols rendered to svg export with correct matrix transform 2022-01-25 11:14:19 +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 ff1888b207 alpha (opacity) setting in raster png/jpg within svg exports 2022-01-23 23:16:31 +01:00
Stefan Frederik 348802c655 fix clipping for image redraw speed-up, embedded raster png/jpg in svg exports 2022-01-23 22:41:24 +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 90f1a00a6f add filter_data() generic file conversion function 2022-01-23 01:21:36 +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 609d0d0fdf windows lack regexp search--> use substring search 2022-01-21 03:27:32 +01:00
Stefan Frederik 7ee2c1bbc9 protect more new cairo code with #if HAS_CAIRO==1 2022-01-21 03:00:23 +01:00
Stefan Frederik 694bda1250 protect new cairo code with #if HAS_CAIRO==1 2022-01-21 02:51:58 +01:00
Stefan Frederik 42703b020d 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:18:07 +01:00