3 ms·
For sure, we found that to start with something useful from day 0 we needed to be able to completely represent any possible circuit. Starting by just providing
by napowderly 3y ago
For sure, we found that to start with something useful from day 0 we needed to be able to completely represent any possible circuit. Starting by just providing a cleaner way to write out a netlist is just the beginning.
We are working to add an equations solver to our compiler over the next few weeks, which will allow you to do things like set the ratio of a divider and total resistance, then have the solver pick optimal values based on availability, cost etc.
I think that gets really exciting when you start to be able to link these together, its trivial from there to directly set the output voltage of a power supply in volts, which will internally configure the feedback resistor divider.
Also verified designs will be super important. Its a little crazy that the status quo is you will almost inevitably make a silly mistake on your first spin. I am imagining designers will go off, make a new circuit, build and test it then make a PR to merge it into main.
- addaon 3y agoGet even a basic equation solver in there and I'll be a user! Have it handle units properly and I'll be a happy user. Have it be able to handle both worst-case and RSS tolerance stackups and I'll be in love.
- napowderly 3y agoExcited to hear it! Our language already captures tolerances and the solver we are building does proper tolerances stackups. You specify the desired output with a tolerance, eg my_regulator.power_out.voltage = 4.75V to 5.25V and we will solve the stack up to get you there. Hang tight, its coming soon!
- bboygravity 3y agoWill it take into account temperature ranges and other parameters as well?
- mawildoer 3y agoIf we can build the equation solver our hearts are set on, you should be able to account for as many factors as your design requires - albeit with some performance limitations at some point. That is, assuming temperature can be factored into equations in the same manner as any other parameter or attribute
- mawildoer 3y agoWe're also super stoked about getting topology and equations together in the same file (and even code-base!) The equation solver is soon on our roadmap: https://atopile.io/roadmap/#language-features https://atopile.io/roadmap/#language-features
- phkahler 3y agoSolvespace has a nonlinear algebraic equation solver: https://solvespace.com/index.pl https://solvespace.com/index.pl It's what underlies the geometric constraint solver which you don't need for what you're doing. It's probably worth a look under the hood. You might also read this post from Michael-F-Bryan implementing something similar in Rust: https://users.rust-lang.org/t/geometric-constraint-solvers-part-1-algebraic-expressions/45818 https://users.rust-lang.org/t/geometric-constraint-solvers-p... He based his work on what he learned from Solvespace.
- Timot05 3y agoThanks for sharing! We will have a look