|
|
|
|
|
by oxinabox
1918 days ago
|
|
A modern circuit simulator, that has a fully featured programable API, that can be run from a real modern programming language, would be a dream.
Every simulator i have used has been pretty limited in that way, or at least those features were not well advertized.
Even the insanely expensive ones.
I mean the most expensive ones (like $100K liscense type deals, like Cadence) are if anything even less modern from a user interaction perspective. My first academic paper
(https://www.oxinabox.net/publications/White2015PsoTransistor...) was based on doing a search over parameters for the transistors being used in a circuit.
The way that whole thing work was by string mangling the netlist file to update the parameters.
Triggering the simulator on the commandline.
Getting it to output a CSV of the signals.
Parsing that CSV, and detecting edges and then measuring timing that way.
Then throwing it at a particle swarm optimizer to fine a new one.
That sucks from a user experience.
It's a super cool way to solve problems though.
that would be so easy with a real API. Further, with julia being a differnetiable programming language, rather than having to use a particular swarm optimizer to search, I could have been differentiating it, and using some sophisticated gradient descent like LBGFS etc. I hope that some of the general tools like this will be an outcome of this project. |
|
The EDA tools have no ecosystem you can hook into and they don't really care about the user trying to put the simulators into a flow to solve their problem. It is a bunch of point tools each with their own embedded interpreter that don't play together. I sure hope there is a plan to create a better set of tools so I can write custom netlist checks and do something novel (like get derivatives out of the simulator) and in-memory (no slow disks) and run custom Julia checks during simulation. Julia is a much better match because running Python or MATLAB code within the simulator is way too slow. I'll keep watch for sure.