Live data from Hacker News

Julia receives DARPA award to accelerate electronics simulation

juliacomputing.com

31–40 of 175 posts

Re: Julia receives DARPA award to accelerate electronics simulation

#31
The section "SID Scalar and Vector Processor Synthesis" from https://en.wikipedia.org/wiki/VAX_9000 talks about this need to have better tools and even a bit about AI:

SID was an artificial intelligence rule-based system and expert system with over 1000 hand-written rules. In addition to logic gate creation, SID took the design to the wiring level, allocating loads to nets and providing parameters for place and route CAD tools. As the program ran, it generated and expanded its own rule-base to 384,000 low-level rules.[19][20] A complete synthesis run for the VAX 9000 took 3 hours.

Initially it was somewhat controversial but was accepted in order to reduce the overall VAX 9000 project budget. Some engineers refused to use it. Others compared their own gate-level designs to those created by SID, eventually accepting SID for the gate-level design job. Since SID rules were written by expert logic designers and with input from the best designers on the team, excellent results were achieved. As the project progressed and new rules were written, SID-generated results became equal to or better than manual results for both area and timing. For example, SID produced a 64-bit adder that was faster than the manually-designed one. Manually-designed areas averaged 1 bug per 200 gates, whereas SID-generated logic averaged 1 bug per 20,000 gates. After finding a bug, SID rules were corrected, resulting in 0 bugs on subsequent runs.[19] The SID-generated portion of the VAX 9000 was completed 2 years ahead of schedule, whereas other areas of the VAX 9000 development encountered implementation problems, resulting in a much delayed product release. Following the VAX 9000, SID was never used again. [Not sure why]

Re: Julia receives DARPA award to accelerate electronics simulation

#32
post #8

Is scientific computing getting some revival with the advent of quantum computers? From what I could see the niche is relatively small and not well paid, with most jobs somehow tied to the public sector. Not sure how Julia factors into all of this. I don't think the programming language makes that big of a difference, ultimately. Very interesting field at the intersection of all my skills, but I'm hesitant to get int…

> I don't think the programming language makes that big of a difference, ultimately I mean, it should be clear Julia is a much higher-performance method of crunching data than Python, which is unquestionably the king of the data science pile, and therefore it factors into performance & cost.

You can also look at it in terms of man hours with respect to how much time it takes to implement and how much time it takes for others to read it. Coming from a computational physics background, one of the main reasons I love programming in Julia is because it allows me to write code with syntax very close to the underlying mathematics.

Re: Julia receives DARPA award to accelerate electronics simulation

#33

This seems very promising to me One big part of circuit simulation is solving differential equations. That's the whole inducer, resistor, capacitor thing. Julia has hands down the best toolkit for differential equation solving. Most circuit simulators today are going to be using old methods invented in the 60's-80's. Neglecting the state of the art developments. Someone made a blog post recently comparing the time to…

The problem is a lot of the models you use are black box characterized models and not differential equations. I don't mean Julia won't speed things up a lot and won't be helpful but your point about modern sim tools using old techniques is not true. Simulation RCL in semiconductors is a huge business where customers have been paying a lot for faster solutions.

Re: Julia receives DARPA award to accelerate electronics simulation

#34

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

Because all modern computer chips and electronic systems (e.g. PCBs) rely on electrical simulation for design and build. Typically, these are SPICE based simulators, which are open source and quite old in their methods (you literally set convergence requirements and step times).

FPGAs are already digital... meaning that although they (FPGAs) have to be simulated when they are designed, their purpose is digital simulation. Programs are at their heart a discrete digital simplification of the underling electrical operation for the purpose of increasing reliability and allowing greater design complexity.

Re: Julia receives DARPA award to accelerate electronics simulation

#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.

Re: Julia receives DARPA award to accelerate electronics simulation

#36

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

Our particular project is about analog simulation, though DARPA is also funding surrogate modeling efforts in the digital domain. On analog in particular, one significant impetus is speeding up mixed signal simulations, since digital simulators (in terms of seconds of execution simulated per seconds of simulation time) are much faster than analog simulators, so if you want to do a mixed signal simulation, you're generally running it at the speed of analog simulators. For end-to-end simulation, it would be much nicer if you could bring up the speed of the analog simulators to be comparable to the digital simulators. Of course there is a question of how much accuracy you're paying (and we're still finding out what the tradeoff is), but in the kinds of simulations where this comes in, your actually often ok with losing some accuracy, since you can always get some noise coupled into the analog portion, so your control electronics should be robust to slightly weird analog signals anyway.

Re: Julia receives DARPA award to accelerate electronics simulation

#37
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.

Re: Julia receives DARPA award to accelerate electronics simulation

#38

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.

What was the technology replaced by Julia (i.e. the systems which were 100 or 1000 times slower)? Is the whole factor 1000 because of Julia/LLVM optimizations, or is there faster hardware, or was the old system an interpreter?

Re: Julia receives DARPA award to accelerate electronics simulation

#39
post #33

This seems very promising to me One big part of circuit simulation is solving differential equations. That's the whole inducer, resistor, capacitor thing. Julia has hands down the best toolkit for differential equation solving. Most circuit simulators today are going to be using old methods invented in the 60's-80's. Neglecting the state of the art developments. Someone made a blog post recently comparing the time to…

The problem is a lot of the models you use are black box characterized models and not differential equations. I don't mean Julia won't speed things up a lot and won't be helpful but your point about modern sim tools using old techniques is not true. Simulation RCL in semiconductors is a huge business where customers have been paying a lot for faster solutions.

fair enough. I can't say i've seen inside how things things are made. Julia definately has cutting edge for DEs. I doublt LTSpice does, but ORCAD etc might.

Re: Julia receives DARPA award to accelerate electronics simulation

#40

This seems very promising to me One big part of circuit simulation is solving differential equations. That's the whole inducer, resistor, capacitor thing. Julia has hands down the best toolkit for differential equation solving. Most circuit simulators today are going to be using old methods invented in the 60's-80's. Neglecting the state of the art developments. Someone made a blog post recently comparing the time to…

As someone that actually uses LTSpice I’ve never considered speed to be an issue. The main draws for it are

1. It’s free unlike Altium addons or orcad p-spice

2. Graphical, I’m happy to code things but code literacy varies widely among EEs. Much easier to share results when it looks like a schematic

3. Good enough component library. The time spent finding and inputting component parameters are gonna be way bigger than any savings on the actual computation

I mostly work on small embedded systems boards and use simulation to probe behavior of analog sub systems I’m concerned about, rather than simulating the whole board. Maybe more complex designs get more like CFD models where computation time is measured in hours or days. Would love to see someone use this as a backend for an alternative to the major spice programs, LTSpice UI isn’t exactly pleasant, and is unusable on Mac so it wouldn’t take a whole lot to get me to switch.

Post reply on HN