[Feature Request] Dynamically updated schematic simulation plots and analysis
Description
Before opening this feature request, I opened a thread in the forum: https://forum.kicad.info/t/idea-simulation-plots-on-schematic-ads-qucs-style/45587/4
What I proposed is to add some simulation features similar to QUCS-S or ADS. In this programs, it is possible to add customizable plots and simulation directives directly in the schematic as objects. The plots are automatically updated each time the simulations are ran. Examples from QUCS-S as a graphical aid:
Of course, this is not meant to be a replacement for the current waveform viewer (which I think it is great for playing with the simulation), but to complement its capabilities and strengthen Kicad as a powerful GUI for NGSpice.
I believe this is a great feature for documenting simulations. For example, very often it is needed to show a bode plot representing the frequency response of the system and also a fragment of the transient response. This system could be a power converter, where the plant response and the output voltage ripple would be liked to be plotted. Both of this could be represented as "outputs" of the simulation by adding the appropriate .tran, .bode and plot objects to the schematic.
This has several advantages:
- The expected simulation outputs are explicitly documented by the schematic plots and objects
- No need to tediously screenshot, crop and copypaste graphs from the simulation waveform viewer to update the pots
- Plot consistency
In my opinion, plotting windows in the style of LTSpice is great while doing some tinkering and testing, but not so great for documentation, specially when there are multiple plots you want to get as an output, and you need them to look exactly the same across multiple simulation runs. The QUCS style provides an overview of both the simulated circuit and all the results at a glance.
Some of the requirements:
- Be able to place simulation plots in the schematic.
- Be able to place analysis configuration as an object in the schematic.
- Each plot can be customized individually (axis formats, colors, plot data source: .tran, .ac, .bode..., title, etc.)
- Plots are regenerated every time the simulation is ran. If there are more than one type of analysis (.dc and .tran), they are ran separately and plots are updated.
- Support also parameter stepping as a simulation object and as a data source for the schematic plots
Steps to reproduce
- This is a feature request, no need to reproduce anything.
- Enjoy
KiCad Version
Application: KiCad x86_64 on x86_64
Version: 7.0.7-7.0.7~ubuntu22.04.1, release build
Libraries: wxWidgets 3.2.1 FreeType 2.11.1 HarfBuzz 6.0.0 FontConfig 2.13.1 libcurl/7.81.0 OpenSSL/3.0.2 zlib/1.2.11 brotli/1.0.9 zstd/1.4.8 libidn2/2.3.2 libpsl/0.21.0 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.43.0 librtmp/2.3 OpenLDAP/2.5.16
Platform: Pop!_OS 22.04 LTS, 64 bit, Little endian, wxGTK, pop, x11
Build Info: Date: Aug 13 2023 23:14:49 wxWidgets: 3.2.1 (wchar_t,wx containers) GTK+ 3.24 Boost: 1.74.0 OCC: 7.5.2 Curl: 7.88.1 ngspice: 38 Compiler: GCC 11.4.0 with C++ ABI 1016
Build settings: KICAD_SPICE=ON