Live data from Hacker News

Julia receives DARPA award to accelerate electronics simulation

juliacomputing.com

71–80 of 175 posts

Re: Julia receives DARPA award to accelerate electronics simulation

#71
post #35
post #5

LT-Spice is absolute trash and basically why I decided to leave EE for CS in college... among many other reasons! Essentially, because after learning all kinds of math my linear systems prof basically said "yeah, at some point you just have to simulate everything because the math you learned only applies maybe 60% of the time". Granted, I do not think I was exactly destined to be a great electrical engineer. Electron…

I agree LT-Spice and many scientific software have terrible experience. There is a massive opportunity in designing better UI and UX in the modeling/simulation space (Julia's market). I can't wait for the web to clean this space. I believe modern JavaScript and more ergonomic low-level tech will help (i.e. Rust, better C#). I'm skeptic though.

You want the component parameters entered for you. A nice UI is secondary.

Also LT-Spice being native desktop is great. No way the lock it into the cloud now.

Re: Julia receives DARPA award to accelerate electronics simulation

#73

Can anyone explain the potential benefits of accelerating electronics simulation? Do they want to generate efficient FPGA programs?

Accelerate doesn't just mean 'run faster' but 'write models faster.' It's about reducing time to market and overhead for design verification, which is a massive time and money sink in the industry today.

Re: Julia receives DARPA award to accelerate electronics simulation

#74

Huh, did not expect our press release to end up on HN, but I'm the PI on this project, so AMA, I guess. Will jump into the questions already asked here and provide some context.

How was the process of applying to DARPA? What kind of effort was involved, and what was the experience like?

Re: Julia receives DARPA award to accelerate electronics simulation

#75
post #66

Earlier quoted context omitted.

Sure, you can always just run the baseline simulation and compare error rates. You can also do fancier analyses to get some rough idea of robustness and maximum error rates (over your particular parameter domain).

Would this integrate with e.g. Measurements.jl?

From an implementation perspective of course, so you can get error propagation on the baseline simulator. For the actual ML part, you'd get Measurements complaining that it doesn't know how to propagate bounds through the surrogate. You can do some estimation of what that propagation would look like, but it's a research project.

Re: Julia receives DARPA award to accelerate electronics simulation

#76
post #69

Earlier quoted context omitted.

I'm one of the main developers of BioJulia. I believe our main issue is lack of developer manpower, and not necessarily lack of funds. Of course, if we got enough money to actually employ a developer, that would be amazing. It's just not very realistic. Furthermore, having BioJulia be developed by working scientists has its advantages. If you, or anyone else, is interested in BioJulia, do think about making a contrib…

Can a programmer with zero knowledge of bioinformatics be of help too? Or do you need a bio background?

I'd like to second this question. I'm very interested in bioinformatics as a field, but no background. Would be happy to devote some free time but I wouldn't want to be counterproductive.

Re: Julia receives DARPA award to accelerate electronics simulation

#77

Huh, did not expect our press release to end up on HN, but I'm the PI on this project, so AMA, I guess. Will jump into the questions already asked here and provide some context.

How was the process of applying to DARPA? What kind of effort was involved, and what was the experience like?

We have a fairly academic background, so we know how to write these grant proposals and have been doing it for a while. It's definitely a specialized skill, but there's no magic to it. You have to know how to do the paperwork and budgets though. This particular one was an extreme fast track program, so there were 30 days between each of program announcement, proposal due date, performer selection and final contract negotiation date. Nothing in government usually happens that fast - I was quite shocked that it actually happened in the stated time frame.

Re: Julia receives DARPA award to accelerate electronics simulation

#78
post #66

Earlier quoted context omitted.

Sure, you can always just run the baseline simulation and compare error rates. You can also do fancier analyses to get some rough idea of robustness and maximum error rates (over your particular parameter domain).

Would this integrate with e.g. Measurements.jl?

The error propagation won't be through measurements, because that blows up linearly. There's other approaches which give much more promising results.

Re: Julia receives DARPA award to accelerate electronics simulation

#79

Huh, did not expect our press release to end up on HN, but I'm the PI on this project, so AMA, I guess. Will jump into the questions already asked here and provide some context.

A long long long time ago, I wrote this (currently very unmaintained, and I have no interest in maintaining) julia project, don't know if this is useful to you, but it's pretty clear that there is a LOT of potential for julia in this domain, though if I'm not mistaken, the HDL-stuff is one level above what you're doing in your project -- it would be nice if these sorts of things could be composable: https://github.co…

We're not doing design in Julia at the moment, just simulation of existing domains, so we're just reading in netlists from other tools. Eventually I do think Julia would be good at HDL, and I too have an abandoned HDL DSL (that I basically used for an FPGA demo and nothing else), but I don't think HDL is an area where Julia would be able to provide 100x improvements over existing tools (which is about where we want to be to start something new). Of course, if Julia takes over in the space, doing HDL in the same language as your simulations would have advantages :).

Re: Julia receives DARPA award to accelerate electronics simulation

#80

Huh, did not expect our press release to end up on HN, but I'm the PI on this project, so AMA, I guess. Will jump into the questions already asked here and provide some context.

I've been doing analog integrated circuit design for a decade and I'm somewhat skeptical that this is practical. I hope you can convince me otherwise because this would be great to avoid multi week simulations.

From your other comments, it seems that the general principle is to create a simple model that captures most of the behavior then apply corrections on top of that.

Can you elaborate on how the model is trained? Is it just from netlist/models? Or are you running a regular transient simulation? Or do you need a special transient setup?

What happens when your circuit's operating point varies wildly during operation? Presumably you'd have to train a larger model over the entire range of operating points but it seems to me that it would require extensive simulation to just collect the operating point data, which somewhat defeats the purpose. You've also got simulation corners, where you'd have another massive set of permutations to generate models for...

My other big concern is accuracy. Chris commented that you're achieving these speed ups at 99% accuracy. Does that mean your results are within 1% of the "full" simulation? Or that the intrinsic simulation error is 1%? For the former, that result is extremely dependent on the particular simulation and desired output. I'm curious if you have preliminary results on real circuits? If it's the latter... That's not enough. Even for mediocre circuits you're looking at >60dB relative accuracy requirements. Potentially >100dB for some high performance applications. The default relative tolerance is 1e-3 and we often reduce that by an order of magnitude or two...

There are certainly mixed signal simulations where we care more about functionality than performance, so it could help there. But as a matter of practice we usually already have verified verilog models for all analog blocks anyways.

And lastly, I'm curious how much does this have to do specifically with Julia the programming language? Is it just an "all part of the family" kind of thing? There's no claim that something intrinsic in the language is providing speed up, right? It's just a conveniently easy way to implement?

Post reply on HN