AI/ML in circuit design


(Rishubh Khurana) #1

Hi Guys,

I wanted to seek your guidance and opinion about the area that I want to target after graduating from this course. I work with Texas Instruments as Design Manager and have been working on analog circuit design for last 10+ years. I have been thinking for past few months if it is possible to leverage the ML tools for designing analog circuits or not. The most important aspect of that is to define and frame the problem statement. Circuit design is usually done on GUI tools where we instantiate the transistors, resistors and capacitors. Later, it is compiled into a text file and sent to simulator for the type of simulation specified by us. Based on the results of that simulation, we either change our circuit or optimize its parameters. Now this was a really simplistic view of the design world but in reality, it involves lot of mathematical calculations and iterations. I would say we spend only 10% on design and 90% time optimizing circuit parameters to achieve desired specifications. But most of the innovation happens only in the earlier 10% of time.

Generally, any product that we design uses hierarchical design technique where circuits are designed independently and then integrated with each other and next level of hierarchy is generated to work on. Whenever we start a design, we first derive the specifications for top level design and then propagate down to each sub design that will be required.

Now, coming back to the problem of leveraging AI/ML tools for design, I am not very clear on what exactly will be required but I have a given some thought on the architecture. Since all the transistors, resistors and capacitors are connected using wires, and every designer connects and combines them in one’s own unique way, I don’t think image classification could work here. Even if we have designs that functions exactly the same, we would find that they are drawn in extremely different way by designers. But I still think convolution can play a great role in defining since convolutions inherently look for localize patterns and that localized patterns are preserved in circuits using the wire connections between the components. So may be, we can’t work with images but can work with CNN on circuit/network with the network represented in a way that can help us extract localize features. Hence, I think some kind of representation is warranted for the network. We usually compile drawn circuits into a text file before simulation. I think from this file we can extract the connections between different components. Some ideas that I have are extracting connections and representing them like CountVectorizer for text documents. Essentially, the entire circuit is finally converted into a text file before simulating and that text file has it’s own syntax and language to express the network connections. So, I thought may be NLP is the way out here with convolutions. And since the designs are inherently hierarchical, may be some kind of hierarchical CNN.

There is one more problem that we might have to address – the training samples won’t be too large for each category of design. So, may be we will have to look at GANs for generating additional samples or may be GANs would be the final design.

I know I might have confused you along the post but I am not able to get my head around as to how to approach the problem. I simply want to get my foot in essentially in this domain with AI and then have a long term view to improve the design. For my first target, if I am able to represent circuit in a way that can classify it to a particular kind of function that it is performing would itself be great. Then, I plan to start modifying circuits using AI to add some functionality.
In addition, we have an extremely powerful simulator that we use which can really help us if we take the reinforcement learning path for optimizing or designing circuits. I will try to share some generic pics about circuits and the language it is expressed in text file.

I apologize for the long post and am extremely grateful for patience. Really looking forward to your insights and guidance on this.
Thanks much!!

Regards,
Rishubh


(Matty Lada) #2

Hello…Modern chips are so large that doing all the design by hand would be hopelessly slow. And verification is way too complex for doing it by hand. So, many tasks have been automated over the last 40 years, and additional tasks are being automated. Every time someone comes up with a new way to design chips (e.g., new interconnect fabrics, new combinations of memory and computation, etc), the design process needs to be automated. Intel and IBM have internal CAD organizations for these purposes. Several companies sell CAD tools, which can be viewed as applications of AI to chip design.

pcb assembly supplier


(Rishubh Khurana) #3

Hello

Yeah, I agree a lot of automation has happened. But most of it has happened in digital design where it is possible to abstract way the behavior of the standard cells. I am working towards using ML/DL to design analog circuits. Currently, every design in analog is done by hand in the industry. Since we have seen rapid progress in deep learning, there is no reason for not to look into the possibility of understanding ML’s application in analog design. In my 11 years of experience with analog design, I have seen that we have some set of rules that we follow to derive the correct course of action. Although we still do lots of calculations using linear algebra and calculus, we still have over the years solidified some heuristic methods of approaching problem solving in analog domain. So in my opinion, if we can come up heuristics, so can our ML algos. Only thing that is required is to break the design into subproblems that could be framed to be suitable for existing DL/ ML techniques.