Dear PLECS team,
First of all, thank you for the excellent simulation environment – I use PLECS regularly for power electronics design and really appreciate its capabilities.
I’m writing to suggest a feature that I believe would be highly valuable as AI and large language models (LLMs) become more integrated into engineering workflows: the ability to export a PLECS model into a clean, functional netlist that an LLM can easily understand and work with.
Currently, PLECS files are plain text, but they are designed to describe graphical connectivity, block placement, and configuration settings – not the underlying circuit function in a direct way. I recently tried to write a script (with the help of an LLM that had access to the PLECS manual) to extract a meaningful circuit representation, and I ran into a long list of obstacles:
- Port numbers vs. pin labels – Connections are stored as port numbers (1, 2, …), but there is no straightforward way to determine which physical pin each number corresponds to on a given component.
- Base64-encoded content – Some information is embedded as base64 blobs that require manual decoding just to see what they contain.
- Drop-down parameters stored as indices – When a component parameter is selected from a drop-down list, the file stores only the numeric index, not the functional text (e.g., a semiconductor type or modulation scheme).
- Hierarchy and “from”/“goto” tags – Manually parsing hierarchical designs with from/goto connections across different levels turned out to be extremely error-prone with a custom script.
- Non-functional clutter – Many blocks (e.g., Scopes, displays) contain a large amount of data that is irrelevant to the electrical function and only complicates parsing.
- Special components – Blocks like Model Reference, Cascaded Half-Bridge, C-Script, and State Machine are practically impossible to interpret correctly without the internal logic that PLECS uses when it opens a model.
- Some componets have multiple variants, makes it very hard to analyze. Like sum, product, logical operator
After a lot of trial and error, I’ve come to the conclusion that building a reliable user-side converter is unreasonably difficult. The root issue is that the file format describes the model in terms of its graphical editor representation, whereas the “functional essence” of the circuit only becomes clear after PLECS internally processes the schematic – resolving component types, pin names, parameter choices, and hierarchical connections.
My request:
Could the PLECS team consider adding an official feature (or a standalone command-line tool) that exports a model to a functional netlist format that is LLM-readable?
I imagine something like a SPICE-like netlist, or a structured JSON/YAML output, that contains:
· Component types with human-readable parameter values (not indices).
· Pins labelled with their functional names (e.g., “Drain”, “Gate”, “Source”, “+”, “-”).
· Clear connectivity information, properly handling hierarchy and busses.
· Only the information relevant to the circuit function, omitting Scope settings and GUI metadata.
With such an export, an AI assistant could genuinely understand the circuit topology and parameters, and could help with design reviews, modifications, or even automated code generation for custom components. Given the rapid adoption of AI-assisted engineering, I think this would be a very forward-looking addition that many users would eventually find indispensable.
Thank you for considering this suggestion. I’d be happy to provide concrete examples of the difficulties I encountered or to discuss possible output formats if that would be helpful.
if it would help the team understand the concrete pain points, I’d be very happy to share the current version of the parsing script I’ve been working on.
Best regards,
Yang