Are you able to accomplish this with prompt-engineering, or are you doing fine-tuning of LLMs / custom-trained models?
A lot of the netlists are electrically nonsense when it's doing synthesis for me. Have you found otherwise?
My impression is that synthetic datasets and finetuning will basically completely solve the problem, but eventually it’ll be available in general purpose models- so it’s not clear if its worth it to build a dedicated model.
Overall the article’s analysis is great. I’m very optimistic that this will be solved in the next 2 years.
Can you? Because last time I tried (probably about February) it still wasn’t a thing
I don’t think pedantry helps here, it doesn’t add to the conversation at all.
I agree that using llms for generating things like schemas, components, build scripts etc is a good use of the technology, but we’re no closer to saying “make a saas landing page for X using vercel” and having it ready to deploy, then we were a year ago
The industry does not like sharing, and the openly available datasets are full of mistakes. As a junior EE you learn quite quickly to never trust third-party symbols and footprints - if you can find them at all. Even when they come directly from the manufacturer there's a decent chance they don't 100% agree with the datasheet PDF. And good luck if that datasheet is locked behind a NDA!
If we can't even get basic stuff like that done properly, I don't think we can reasonably expect manufacturers to provide ready-to-use "building blocks" any time soon. It would require the manufacturers to invest a lot of engineer-hours into manually writing those, for essentially zero gain to them. After all, the information is already available to customers via the datasheet...
Datasheets get incredibly confusing incredibly fast, and every single detail is critical. It's quite common for one datasheet to describe multiple parts at the same time, even in the same tables and diagrams, and have contradictions between the two parts. You end up with pins labeled "EN/SET" where the xxx1 variant has the pin act as Enable and the xxx3 variant have the same pin act as Setpoint. If you don't generate two separate symbols for those, the symbols are essentially useless because they can't be trusted. And that's just about the easiest thing you're going to come across.
This isn't a problem which can be solved downstream. Even trained experts are often confused because the input data is just really bad. You can't throw garbage into AI and except diamonds to come out, the only way to solve it is to convince all the manufacturers to switch to a to-be-developed universal documentation protocol.
Most people are wrong that AI won't be able to do this soon. The same way you can't expect an AI to generate a website in assembly, but you CAN expect it to generate a website with React/tailwind, you can't expect an AI to generate circuits without having strong functional blocks to work with.
Great work from the author studying existing solutions/models- I'll post some of my findings soon as well! The more you play with it, the more inevitable it feels!