Electronics design and optimization's iterative process. How might AI impact it? - Page 1
Forum section: electronics / general

author: cdev
author_rank: Super Contributor
timestamp: October 04, 2017, 09:39:09 pm
content: Quite a few years ago I was sitting with a friend as she worked on a (multiplatform) software suite that was part of her company's flagship product, a expensive package of high end design tools for architects and builders.It helped lay out the floor plans and in particular the electrical, plumbing, control, elevator, heating, etc. aspects of large buildings.According to her, "all" of the software used by large design firms had these features, which effortlessly executed various parts of the process, made optimizations, made suggestions based on the site environment, estimated the heating and cooling which were to be expected from the sun in different latitudes and seasons, and even rendered out images and movies so people could do virtual walk throughs.They could also generate BOM-like documents for purchasing of materials and even order them based on rule-sets. Whenever a request for a change came in from the customer they would record it and offer proposals and the software ensured that the iterative process of design was extensively formalized and every change well documented, it also kept track of the time spent by individuals so they could bill for it.This program had a large number of pre-designed buildings which resided on the file server so she could literally pick a building and generate it without practically any work.It also had a parametric search for plans that had already been built and could with a few clicks adapt existing designs for a new site.I've never used any of the high end PCB design packages but I imagine they must be the electronics equivalent of these packages.How far has electronic design software come and how much of the iterative process of design is being automated?Do you think it results in better or worse hardware eventually being manufactured?Do software assisted designs have any consistent advantages or faults?How are they for serviceability?

author: tautech
author_rank: Super Contributor
timestamp: October 04, 2017, 09:46:01 pm
content: You'd have to wonder if Altiums CM with its cloud storage is busy collecting users work in an effort to implement such afeatureaddition into their flagship package sometime in the future.

author: Mr. Scram
author_rank: Super Contributor
timestamp: October 04, 2017, 09:59:46 pm
content: It might take a while to get there, but I think AI will be able to route and lay-out boards much more efficiently than humans can. The design focus will probably shift more towards setting the correct parameters and requirements.

author: Brumby
author_rank: Unknown
timestamp: October 04, 2017, 10:45:33 pm
content: My benchmark for this sort of thing in electronics design is autorouting - so I put the question: Is there anyone who has worked with software that has consistently achieved an optimal PCB layout? (Any missed routing or manual "tweaks" after the fact is cause for disqualification.)If the answer is "No" - does anyone have a feel when that might be on the cards ... and which S/W might be a candidate?

author: cdev
author_rank: Super Contributor
timestamp: October 05, 2017, 02:07:00 am
content: There are some really good things about automation. Things people do every day might become routine and mistakes might slip by them when if they could automate some of those things they could spend more time on improving the quality of the work they do. Very complex sequences of tasks seem to be good candidates for automation once the parameters are decided.. In my friend's software, every time she changed something the software had to chew on it for a long time recalulating everything, but a person would likely have had to spend a far longer time doing all that.Automating some complex, really boring set of recalculations people had to do when they changed something using AI would seem to make it less likely bored people would make stupid obvious mistakes. Not just routing, different design decisions could become much more fun perhaps if the various tradeoffs could be visualized.Imagine a VR electronics design space. Where you and your colleagues meet in a shared virtual space, while talking to one another and could grab and change things - then could see the effects of design decisions and manipulate the design with your hands in VR space. What if you could also walk into the equipment, virtually, see the results of simulations play out in 3d, and then move/change things?

author: Mr. Scram
author_rank: Super Contributor
timestamp: October 05, 2017, 02:26:55 am
content: Quote from: Brumby on October 04, 2017, 10:45:33 pmWhy would tweaks disqualify software? People always tend to think in extremes, while hybrid solutions are much more likely and practical.

author: Brumby
author_rank: Unknown
timestamp: October 05, 2017, 06:31:11 am
content: Quote from: Mr. Scram on October 05, 2017, 02:26:55 amThe key word here is "Intelligence".AI routing should have the intelligence to be able to perform the tweaks as part of the process. If not - it's no more than an automation "aid" to human effort.

author: Mr. Scram
author_rank: Super Contributor
timestamp: October 05, 2017, 06:49:01 am
content: Quote from: Brumby on October 05, 2017, 06:31:11 amAh. It's probably a bit risky to suppose a hard boundary between automation and intelligence. Even in the animal kingdom, biologists and neuroscientists aren't quite sure whether there is any distinct boundary between the two and if so, where that may be found.

author: cdev
author_rank: Super Contributor
timestamp: October 05, 2017, 06:53:14 am
content: Who cares as long as the product works well and is affordable?

author: Mr. Scram
author_rank: Super Contributor
timestamp: October 05, 2017, 07:03:26 am
content: Quote from: cdev on October 05, 2017, 06:53:14 amEven if it is ridiculously expensive, it can make sense to pay for an automated solution instead of having even more expensive employees waste their hours doing relatively menial jobs.

author: station240
author_rank: Unknown
timestamp: October 05, 2017, 07:14:25 am
content: The issues I see hardest to solve, are where certain designs or components have their own PCB layout requirements.So things like Star Grounding in analogue circuits, equal length traces for High Speed Buses (RAM for instance), mosfet gates drive, etcSolving that requires teaching the software about the components datasheets and recommended layouts.

author: Mr. Scram
author_rank: Super Contributor
timestamp: October 05, 2017, 07:50:49 am
content: Quote from: station240 on October 05, 2017, 07:14:25 amI think they already did that with medical records. As long as the system has a large enough dataset, with the solutions humans came up with to compare, it should be able to learn to design something with approximate human quality.

author: Rerouter
author_rank: Super Contributor
timestamp: October 05, 2017, 08:07:23 am
content: As a knowledge set, having a massive number of human designs would likely make any AI approach quite robust, seeing as no 2 people approach things the same way.The thing is any approach would need most of the fundamentals hard coded in to its scoring function, as the amount of iterations required to begin producing similar output would be prone to over fitting.I would imagine the simplest some one could begin with would be an AI that has a few hundred random BGA's, and a few hundred random DDR2 / DDR3 memory chips to test under with a scoring function based upon the requirements of the chip, e.g. positioning the chips on an infinite board, length matching, crosstalk, impedance, ground return paths and netlist validation.Its a common structure that currently takes quite of lot of layout time to get right.

author: Mr. Scram
author_rank: Super Contributor
timestamp: October 05, 2017, 08:22:38 am
content: Quote from: Rerouter on October 05, 2017, 08:07:23 amIt doesn't need fundamentals or a scoring system. That's pretty much the point of current state AI. If humans tend to adhere closely to certain design rules for DDR3 memory, the system will learn to use something very similar. If looser design requirements show a wider variety of designs, the AI will use something in that range and with a bit of luck, one that fits reasonably well. By having a huge dataset, AI should be able to use design rules it was never taught.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: October 05, 2017, 08:38:37 am
content: Two fundamental problems:1. AI is expensive.2. AI is error-prone.You can use free frameworks right now, to put together a trial in a couple of hours, and start generating outputs. You get what you pay for. It'll perform significantly worse than human observations on the same data.Sadly, a lot of companies are already pushing immature AI into production: take YouTube's latest kerfuffle for instance.Engineering is a relatively small market. There are only a couple million EEs in the US, a fraction of which are doing real design and layout work.And remember the rules of business. The biggest players in EDA may develop such tools to undercut each other's market share; on the other hand, there simply may not be the money there to do so (is it worthwhile to spend $100M to develop a $100k product that might sell a thousand copies?). It may not even be in their interest to do so: both companies may make more money off licenses to current products, than by developing better products that cost less. Competitive game theory begins to fail, when oligopolies control the market (as we're seeing more and more, in most markets, today..).What's the market share, anyway? Are there even a thousand design houses out there, that are so big and service so many customers, that they can ultimately save costs with something so expensive?Most design companies I know of are much smaller than that, but I admit I'm hardly an expert on the demographics of electronic design!What is the future of human employment? It is in myriad niche industries, where even if an AI solution might be very easy -- even with today's tools -- it's just not a common enough problem to demand a special-case solution. There are zillions of these busy-work jobs.Likely, human EEs will be needed for quite some time.I have no doubt that EE can be largely replaced by AI. Probably, as AI development cost drops in the coming decades, the low hanging fruit will be taken over, accessible to mid or upscale customers. Probably, EE won't be completely taken over.(The same goes for most E's: ME, SE, CE. Together, that counts up a few more million jobs. Software is a particularly annoying one, because SEs are that much more inclined to automate their jobs, but they must do so in an extremely precise way. You can't simply get a neural net to write random C code, it has to be exact. One semicolon out of place and the whole thing falls apart -- a neural net CAN'T do that. A higher level approach is necessary.)Tim

author: Mr. Scram
author_rank: Super Contributor
timestamp: October 05, 2017, 08:57:19 am
content: Why do you suppose AI is expensive, error prone and worse performing than humans? Once a system has been properly tuned or trained, superhuman performance is very possible.

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: October 05, 2017, 09:38:57 am
content: Actually I somewhat doubt that the recently proclaimed progress in AI is for real. IMHO what happened is that the hardware for neuronal networks became cheaper so it became affordable to create networks with more simulated "neurons" (which is bold name for what they are compared to real neurons). And of course, training a neuronal network long enough will create a working solution if you only use input that is within certain tolerances.Still, these networks are just fast in recognizing patterns but they are completely brainless regarding reflecting about their output. What happens then extends from Google tagging black people as 'gorillas' to Teslas mistaking trucks for the "bright sky" or whatever. Well, and there was that thing with Microsoft's chat bot "Tay" which became a racist within hours.So what worries me is that people starting trusting in neuronal networks because they work in a limited field but are not aware that they are not really intelligent and will havoc once you give them input they were not trained for. What worries me even more is that once they fail, it's very hard to find out why and how to fix that. Like if you have a classic software based system, you can hunt down a bug to a certain sequence of instructions and fix it. In a neuronal network of higher complexity, it might be impossible to exactly understand why a wrong decision was made and as the issue is not a line of code but the conditioning of the network, you can't quickly fix that.So I guess there is a lot of progress needed until something could really be called an AI. As long as we only scratched the surface of understanding how our own brain works, it seems pretty much unlikely that this breakthrough in AI will happen soon. Maybe in a hundred years, but certainly not in ten.So honestly I think offshoring EE and software jobs to India and the like is something that will affect our jobs much more than AI in the years to come.

author: Rerouter
author_rank: Super Contributor
timestamp: October 05, 2017, 09:41:13 am
content: I guess there is this mixed message of what AI is, we don't have strong AI yet, something that learns as it goes, we have ones that are trained to a limited complexity to reduce the training time,In order to train an AI, you need a way of telling the feedback system what is correct and what is wrong, and by how much, without a scoring function you don't have a current generation AI, you can throw 10,000 examples at one of the many options out there, but without a way to say "this is similar" or "this is an error" the AI does not learn and will give garbage as the output. or over fit and throw you a carbon copy of the routing of the most common design even if it doesn't connect to the chip you use.I chose this particular example because it has clearly defined requirements, while being of a complexity that is high enough that throwing time expensive training at could be recouped,The hard part for a non corporation would be amassing the training data, As it requires both the netlist and an approximation of a gerber veiw where the traces are simplified back to a few characters of text.

author: Mr. Scram
author_rank: Super Contributor
timestamp: October 05, 2017, 10:08:50 am
content: Quote from: 0xdeadbeef on October 05, 2017, 09:38:57 amAgain, define "really intelligent" and how that differs from automation. There doesn't really seem to be a well defined border between the two. Even in biology, there is persistent debate whether a real difference exists and to which organisms what term applies to what degree. Our own intelligence, too, is nothing more than emergent behaviour from a huge jumble of neurons. We just happen to have a lot of them, and natural selection has shaped them beautifully into an effective design and system.If we look at the reverse, we see that our artificial neurons mostly exhibit the same responses as biological ones do. Tests with limited amounts of cells harvested from rats show that when rewarded and punished, the cells form networks that can learn tasks very similar to those that modern neural networks can perform. In larger numbers, these cells provide the hardware for the complex behaviours of a rat. Just adding more neurons seems a good recipe for getting complex tasks done and intelligence going. Obviously, our artificial "neurons" aren't the exact same as biological ones, which will inevitably lead to at least somewhat different properties and behaviours, but that doesn't negate the qualities they display.

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: October 05, 2017, 10:28:29 am
content: And still, in almost every real world use case, you need "strong" AI now and then - which is enough to make anything without it unusable for many things.Most people are not fully aware that evenweas human beings run in auto mode most of them time. Still, at some point where it's needed we can become fully conscious and reflect about what we are doing and how to proceed before going back into intellectual sleep mode.Now an autopilot for cars might monitor the street and work in 99% of all normal traffic situations perfectly fine. But what if there's roadworks or the road is damaged or an elephant crosses the road? A human being would re-evalute the situation and find a solution. An autopilot will either ignore the unknown situation or apply the emergency strategy (brake).Regarding autorouting (letting aside that i would assume that there are too many degrees of freedom to sensibly train a network) e.g. a human would decide at some point that components have to be repositioned or two pins on an MCU have to be swapped. Or maybe even that two layers aren't enough or the PCB size has to be increased. An algorithm won't have that idea. It will stick to its original job description and won't question it.

author: Mr. Scram
author_rank: Super Contributor
timestamp: October 05, 2017, 10:43:37 am
content: Quote from: 0xdeadbeef on October 05, 2017, 10:28:29 amPin and component positioning, layer count and all those things can be done perfectly fine by AI. You just need to tell it what its reward is, i.e. smallest pcb area, lowest layer count, lowest cost et cetera, and train it properly and with enough information. The system can probably be significantly enhanced by using a number of optimizing strategies and technologies in conjunction. You don't need to rely just on the neural net.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: October 05, 2017, 11:53:50 am
content: Quote from: Mr. Scram on October 05, 2017, 08:57:19 amThat's the point, how long is it going to take to train it? Time is money!Does there even exist a large enough data set to train it on, to reach the desired level of accuracy? (That's another problem: only the largest design houses have a large database of past designs, but even that may not be sufficient here. A more efficient solution is needed.)Can a neural net ever achieve the accuracy required for writing code, or connecting nets in a schematic -- where one wrong connection dooms the entire operation?Tim

author: Gribo
author_rank: Frequent Contributor
timestamp: October 05, 2017, 12:27:33 pm
content: 20 years ago, I read an article on an 'Invention machine'. Basically, a genetic algorithm running on lots of PCs in parallel to optimize a design.It was given the following problem:With a given FPGA (some Xilinx part, I don't remember the exact number) distinguish between a 1KHz signal and a 10KHz signal. There were no other constraints on the design requirements, besides the signal not damaging that FPGA.Obviously, the first few generations of solutions were quite horrible, but after few iterations, the machine started producing working solutions.

author: Mr. Scram
author_rank: Super Contributor
timestamp: October 05, 2017, 12:47:18 pm
content: Quote from: T3sl4co1l on October 05, 2017, 11:53:50 amThey already did an experiment with Watson and medical data and the results were quite good. The point is, of course, that the process is more efficient in the end. Rather than having a design team spend months on every iteration, AI should be able to reduce that cycle and reduce costs. The initial investment is at that point pretty much moot.Regarding your last question: we currently have human neural nets working on it and there is a lot of room for improvement. No computer network is secure, every few lines of code contain a bug and you typically need a number of respins before a product becomes somewhat viable and without breaking flaws. It's not hard to improve on that.

author: cdev
author_rank: Super Contributor
timestamp: October 05, 2017, 02:17:31 pm
content: Eventually we may have whole islands that are covered by just factories and machines and a very highly skilled and versatile maintenance staff.Quote from: Mr. Scram on October 05, 2017, 07:03:26 am

author: cdev
author_rank: Super Contributor
timestamp: October 05, 2017, 02:57:18 pm
content: Also, there is almost no kind of work that cannot be done remotely. Near term, I expect we will soon have some relevatory news leak where it turns out that some company or companies that pretend some miraculous AI was doing some kinds of work - and then it turns out it is all actually being done by hardworking, dedicated professional people, just like we have here, elsewhere, over the Internet.Quote from: T3sl4co1l on October 05, 2017, 11:53:50 am

author: Galenbo
author_rank: Super Contributor
timestamp: October 05, 2017, 03:02:24 pm
content: Quote from: cdev on October 04, 2017, 09:39:09 pmThat's where it's real power is: Enhancing communication between multiple discisplines.Every one of them can do it's own job perfecly without paper/2D/3D/AI/ etc, but where it comes to executing it in accordance with unknown/unfamiliar fields, it goes wrong.What I see at the moment is the 3D rendering of a PCB. A gadget, a joke, a little accessory for the PCB designer, but a very important thing for the case designer, the only thing he's got.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: October 05, 2017, 05:17:30 pm
content: Quote from: cdev on October 05, 2017, 02:57:18 pmThey've got that, and it isn't scandalous. You can rent time on Amazon Mechanical Turk yourself.Tim